From 5a244958ec24b95c47e377607319c7503cddd6bb Mon Sep 17 00:00:00 2001
From: CZT <czt18638530771@163.com>
Date: 星期日, 05 十一月 2023 20:48:04 +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