From fae4bd828a6b81b95f53e285fcb4749fbd80c7bf Mon Sep 17 00:00:00 2001 From: CZT <czt18638530771@163.com> Date: 星期一, 04 九月 2023 17:31:46 +0800 Subject: [PATCH] 增加粮情层行转换配置 --- igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java | 77 ++++++++++++++++++++++++++------------ 1 files changed, 53 insertions(+), 24 deletions(-) diff --git a/igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java b/igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java index 5762679..b54172e 100644 --- a/igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java +++ b/igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java @@ -1,7 +1,9 @@ package com.ld.igds.m.service; import com.bstek.bdf2.core.orm.hibernate.HibernateDao; +import com.bstek.dorado.data.entity.EntityUtils; import com.bstek.dorado.data.provider.Page; +import com.ld.igds.check.dto.CheckItemData; import com.ld.igds.check.mapper.CheckStandardMapper; import com.ld.igds.constant.RedisConst; import com.ld.igds.models.MQuality; @@ -10,12 +12,11 @@ import com.ld.igds.util.RedisUtil; import org.apache.commons.lang3.StringUtils; import org.hibernate.Session; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; + +import java.util.*; /** * @author chen @@ -28,8 +29,7 @@ private CheckStandardMapper checkStandardMapper; - - public void listQuality(Page<MQuality> page, Map<String, Object> param) throws Exception{ + public void listQuality(Page<MQuality> page, Map<String, Object> param) throws Exception { String hql = " from " + MQuality.class.getName() + " where companyId =:companyId and deptId =:deptId"; @@ -39,20 +39,20 @@ if (null != param) { String str = (String) param.get("depotId"); - if(StringUtils.isNotEmpty(str)){ + if (StringUtils.isNotEmpty(str)) { hql += " and depotId =:depotId"; - args.put("depotId", str ); + args.put("depotId", str); } str = (String) param.get("type"); - if(StringUtils.isNotEmpty(str)){ + if (StringUtils.isNotEmpty(str)) { hql += " and type =:type"; - args.put("type", str ); + args.put("type", str); } Date date = (Date) param.get("start"); - if(null != date) { + if (null != date) { hql += " and time >=:start"; args.put("start", DateUtil.getCurZero(date)); } @@ -72,12 +72,13 @@ /** * 鑾峰彇浠撳簱鏈�鏂颁竴鏉¤川妫�鏁版嵁 + * * @param depotId * @return * @throws Exception */ - public MQuality getLastData(String depotId){ - if(StringUtils.isEmpty(depotId)){ + public MQuality getLastData(String depotId) { + if (StringUtils.isEmpty(depotId)) { return null; } String hql = " from " + MQuality.class.getName() @@ -86,12 +87,12 @@ args.put("companyId", ContextUtil.getCompanyId()); hql += " and depotId =:depotId"; - args.put("depotId", depotId ); + args.put("depotId", depotId); hql += " order by time DESC"; - List<MQuality> list = this.query(hql,args); - if(list != null && list.size() > 0){ + List<MQuality> list = this.query(hql, args); + if (list != null && list.size() > 0) { MQuality quality = list.get(0); - quality.setCheckItems(checkStandardMapper.getCheckItemById(quality.getId(),ContextUtil.getCompanyId())); + quality.setCheckItems(checkStandardMapper.getCheckItemById(quality.getId(), ContextUtil.getCompanyId())); return list.get(0); } return null; @@ -99,23 +100,25 @@ /** * 浠庣紦瀛樿幏鍙栧綋鍓嶄粨搴撶殑鏈�鏂颁竴鏉¤川妫�鏁版嵁 + * * @param depotId * @return * @throws Exception */ public MQuality getCacheLastData(String depotId) { - if(StringUtils.isEmpty(depotId)){ + if (StringUtils.isEmpty(depotId)) { return null; } - MQuality quality = (MQuality) redisUtil.get(RedisConst.buildKey(ContextUtil.getCompanyId(),RedisConst.KEY_DEPOT_QUALITY,depotId)); - if(quality == null){ + MQuality quality = (MQuality) redisUtil.get(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, depotId)); + if (quality == null) { quality = this.getLastData(depotId); - if(quality != null ){ - redisUtil.set(RedisConst.buildKey(ContextUtil.getCompanyId(),RedisConst.KEY_DEPOT_QUALITY,depotId),quality,60 * 60 *24); + if (quality != null) { + redisUtil.set(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, depotId), quality, 60 * 60 * 24); } } return quality; } + public void saveQuality(String id, MQuality data) { if (null == data.getCompanyId()) { data.setCompanyId(ContextUtil.getCompanyId()); @@ -123,7 +126,21 @@ if (null == data.getDeptId()) { data.setDeptId(ContextUtil.subDeptId(null)); } + if (null != data.getZblb() || "" != data.getZblb()) { + String[] str = data.getZblb().split("#"); + //闃叉鍦ㄦ洿鏂版搷浣滄椂鍐嶆瀛樺叆鐩稿悓鐨勬暟鎹� + Set<String> metrics = new HashSet<>(); + for (int i = 0; i < str.length; i++) { + metrics.add(str[i].substring(0, 1)); + } + String value = ""; + for (String s : metrics) { + value = value + s + "#"; + } + data.setZblb(value.substring(0, value.length() - 1)); + } Session session = this.getSessionFactory().openSession(); + data.setUpdateTime(new Date()); try { if (null == data.getId()) { data.setId(id); @@ -131,9 +148,16 @@ } else { session.update(data); } - redisUtil.del(RedisConst.buildKey(ContextUtil.getCompanyId(),RedisConst.KEY_DEPOT_QUALITY,data.getDepotId())); + redisUtil.del(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId())); + MQuality newData; + if (EntityUtils.isEntity(data)) { + newData = new MQuality(); + BeanUtils.copyProperties(data, newData, new String[]{"checkItems"}); + } else { + newData = data; + } - redisUtil.set(RedisConst.buildKey(ContextUtil.getCompanyId(),RedisConst.KEY_DEPOT_QUALITY,data.getDepotId()),data,60 * 60 *24); + redisUtil.set(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId()), newData, 60 * 60 * 24); } catch (Exception e) { e.printStackTrace(); } finally { @@ -147,6 +171,11 @@ try { if (null != data.getId()) { session.delete(data); + CheckItemData checkItemData = new CheckItemData(); + checkItemData.setCompanyId(ContextUtil.getCompanyId()); + checkItemData.setCheckId(data.getId()); + checkStandardMapper.delCheckItemByParam(checkItemData); + redisUtil.del(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId())); } } catch (Exception e) { e.printStackTrace(); -- Gitblit v1.9.3