From 7d1a449b1b41159626e049fd5eced7014de4e459 Mon Sep 17 00:00:00 2001 From: YYC <1833023622@qq.com> Date: 星期二, 08 七月 2025 17:47:52 +0800 Subject: [PATCH] 入库质检ID生成规则修改 --- src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1203.java | 213 ++++++++++++++++++++++++++++++++++------------------- 1 files changed, 137 insertions(+), 76 deletions(-) diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1203.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1203.java index 89e8a4f..c2c44b7 100644 --- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1203.java +++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1203.java @@ -4,19 +4,25 @@ import com.fzzy.api.entity.*; import com.fzzy.api.service.ApiTriggerService; import com.fzzy.api.utils.ContextUtil; +import com.fzzy.api.utils.DateUtil; import com.fzzy.api.view.repository.Api1202Rep; import com.fzzy.api.view.repository.Api1203Rep; import com.fzzy.api.view.repository.ApiLogRep; import com.fzzy.api.view.repository.GbCheckItemRep; import com.fzzy.async.fzzy40.entity.Fz40CheckItem; import com.fzzy.async.fzzy40.entity.Fz40InoutRecord; +import com.fzzy.async.fzzy40.entity.Fz40InoutRecordItem; import com.fzzy.async.fzzy40.repository.Fzzy40Sync1202Rep; import com.fzzy.async.fzzy40.repository.Fzzy40Sync1203Rep; +import com.fzzy.async.fzzy40.repository.Fzzy40SyncInoutRecordItemRep; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.time.DateFormatUtils; import org.apache.commons.lang.time.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; + +import java.text.SimpleDateFormat; import java.util.*; /** @@ -33,6 +39,8 @@ @Autowired private Fzzy40Sync1202Rep fzzySync1202Rep; + @Autowired + private Fzzy40SyncInoutRecordItemRep fzzy40SyncInoutRecordItemRep; @Autowired private Fzzy40Sync1203Rep fzzySync1203Rep; @Autowired @@ -83,11 +91,28 @@ String zkl; List<Api1203> api1203List; List<Api1202> api1102List; + List<Fz40InoutRecordItem> listInoutRecordItem; + List<String> listIds; for (Fz40InoutRecord sysData : list) { - //鏌ヨ绮鍏ュ簱淇℃伅锛岃嫢涓虹┖鍒欎笉杩涜鍚屾涓婁紶 - api1102List = api1202Rep.getDataByBizId(sysData.getId()); - if(null == api1102List || api1102List.isEmpty()){ - continue; + listIds = new ArrayList<>(); + //鍒ゆ柇鏄惁涓鸿埞杩� + if (StringUtils.isNotEmpty(sysData.getTransType()) && sysData.getTransType().equals("3")) { + listInoutRecordItem = fzzy40SyncInoutRecordItemRep.findDataByRecordId(sysData.getId()); + if (null != listInoutRecordItem && listInoutRecordItem.size() > 0) { + int idNum = Integer.valueOf(sysData.getId().substring(12)) * 100 + 10001; + + for (Fz40InoutRecordItem fz40InoutRecordItem : listInoutRecordItem) { + if ("DEL".equals(fz40InoutRecordItem.getRecordStatus())) { + continue; + } + listIds.add(Constant.INOUT_TYPE_14 + sysData.getId().substring(4, 10) + String.valueOf(idNum).substring(1)); + idNum++; + } + } else { + listIds.add(Constant.INOUT_TYPE_14 + sysData.getId().substring(4)); + } + } else { + listIds.add(Constant.INOUT_TYPE_14 + sysData.getId().substring(4)); } //鑾峰彇鍏ュ簱璐ㄦ淇℃伅 @@ -97,82 +122,118 @@ continue; } - apiData = new Api1203(); - - apiData.setRkjydh(api1102List.get(0).getRkywdh()); - //璐т綅浠g爜 - apiData.setHwdm(api1102List.get(0).getHwdm()); - apiData.setRkywdh(api1102List.get(0).getRkywdh()); - if(null == sysData.getFullWeightTime()){ - sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 5)); - } - apiData.setQysj(DateUtils.addMinutes(sysData.getRegisterTime(), 10)); - apiData.setQyrxm(sysData.getCheckUser()); - //鎵︽牱鏂瑰紡 2-鏅鸿兘闅忔満 - apiData.setQyfs("2"); - - //妫�娴嬮」锛屾娴嬪�硷紝澧炴墸浠峰強澧炴墸閲� - jyxm = ""; - jyz = ""; - zkj = ""; - zkl = ""; - for (Fz40CheckItem fz40CheckItem : fz40CheckItems) { - gbCheckList = gbCheckItemRep.findByBizCode(fz40CheckItem.getStandardId()); - - if (gbCheckList == null || gbCheckList.isEmpty()) { + for (String listId : listIds) { + //鏌ヨ绮鍏ュ簱淇℃伅锛岃嫢涓虹┖鍒欎笉杩涜鍚屾涓婁紶 + api1102List = api1202Rep.getDataById(listId); + if (null == api1102List || api1102List.isEmpty()) { continue; } - if (StringUtils.isEmpty(fz40CheckItem.getValue())) { - continue; + + apiData = new Api1203(); + + apiData.setRkjydh(api1102List.get(0).getRkywdh()); + //璐т綅浠g爜 + apiData.setHwdm(api1102List.get(0).getHwdm()); + apiData.setRkywdh(api1102List.get(0).getRkywdh()); + if (null == sysData.getFullWeightTime()) { + sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 5)); } - jyxm += gbCheckList.get(0).getCode() + ","; - jyz += fz40CheckItem.getValue() + ","; - zkj += ",0.0"; - zkl += ",0.0"; + + //鍒ゆ柇涓氬姟鏃堕棿涓庡崟鎹彿鏄惁鍖归厤锛岃嫢涓嶅尮閰嶏紝鍒欐洿鏀逛笟鍔℃椂闂翠负鍗曟嵁鍙锋墍鍦ㄧ殑鏃堕棿 + String time = apiData.getRkjydh().substring(2, 8); + if (sysData.getCheckTime() != null) { + String isCheckTime = DateFormatUtils.format(sysData.getCheckTime(), "yyMMdd"); + if (!isCheckTime.equals(time)) { + apiData.setRkjydh("14" + isCheckTime + "1" + api1102List.get(0).getRkywdh().substring(9)); + } + } + apiData.setQyrxm(sysData.getCheckUser()); + //鎵︽牱鏂瑰紡 2-鏅鸿兘闅忔満 + apiData.setQyfs("2"); + + //妫�娴嬮」锛屾娴嬪�硷紝澧炴墸浠峰強澧炴墸閲� + jyxm = ""; + jyz = ""; + zkj = ""; + zkl = ""; + for (Fz40CheckItem fz40CheckItem : fz40CheckItems) { + gbCheckList = gbCheckItemRep.findByBizCode(fz40CheckItem.getStandardId()); + + if (gbCheckList == null || gbCheckList.isEmpty()) { + continue; + } + if (StringUtils.isEmpty(fz40CheckItem.getValue())) { + continue; + } + jyxm += "," + gbCheckList.get(0).getCode(); + jyz += "," + fz40CheckItem.getValue(); + zkj += ",0.0"; + zkl += ",0.0"; + } + if (jyxm.length() > 0) { + jyxm = jyxm.substring(1); + } + if (jyz.length() > 0) { + jyz = jyz.substring(1); + } + apiData.setJyxm(jyxm); + apiData.setJyz(jyz); + apiData.setZkj(StringUtils.isEmpty(zkj) ? "" : zkj.substring(1)); + apiData.setZkl(StringUtils.isEmpty(zkl) ? "" : zkl.substring(1)); + if ("UNPASS".equals(sysData.getCheckStatus())) { + apiData.setJyjg("0"); + } else { + apiData.setJyjg("1"); + } + apiData.setJyrxm(sysData.getCheckUser()); + if (null == sysData.getCheckTime()) { + sysData.setCheckTime(DateUtils.addMinutes(sysData.getFullWeightTime(), -5)); + } + if (sysData.getCheckTime().after(sysData.getEmptyWeightTime())) { + sysData.setCheckTime(DateUtils.addMinutes(sysData.getFullWeightTime(), -5)); + } + apiData.setJysj(sysData.getCheckTime()); + if (null == sysData.getSampleTime()) { + sysData.setSampleTime(DateUtils.addMinutes(sysData.getCheckTime(), -1)); + } + if (sysData.getSampleTime().after(sysData.getCheckTime())) { + sysData.setSampleTime(DateUtils.addMinutes(sysData.getCheckTime(), -1)); + } + apiData.setQysj(sysData.getSampleTime()); + + //绮鍝佺 + String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety()); + if (StringUtils.isEmpty(mappingCode)) { + mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety().substring(0, 3)); + } + apiData.setLspzdm(mappingCode); + + //淇濈鍛樺鏍� + apiData.setBgyfh(apiData.getJyjg()); + apiData.setSpaqzbsfhg("1"); + + //绮绛夌骇 + mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSDJ, sysData.getFoodLevel()); + apiData.setLsdd(mappingCode); + + //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂� + apiData.setZhgxsj(sysData.getCompleteTime()); + + //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂� + apiData.setBizId(sysData.getId()); + apiData.setKqdm(kqdm); + apiData.setSyncTime(new Date()); + + api1203List = api1203Rep.getDataById(apiData.getRkjydh()); + if (null == api1203List || api1203List.isEmpty()) { + apiData.setCzbz(Constant.CZBZ_I); + } else { + apiData.setCzbz(api1203List.get(0).getCzbz()); + } + + api1203Rep.save(apiData); + log.info("1203---鍚屾鏁版嵁锛歿}", apiData.toString()); } - - apiData.setJyxm(jyxm); - apiData.setJyz(jyz); - apiData.setZkj(zkj.substring(1)); - apiData.setZkl(zkl.substring(1)); - if("UNPASS".equals(sysData.getCheckStatus())){ - apiData.setJyjg("0"); - } - if("PASS".equals(sysData.getCheckStatus())){ - apiData.setJyjg("1"); - } - apiData.setJyrxm(sysData.getCheckUser()); - apiData.setJysj(DateUtils.addMinutes(sysData.getRegisterTime(), 90)); - - //绮鍝佺 - String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety()); - apiData.setLspzdm(mappingCode); - - //淇濈鍛樺鏍� - apiData.setBgyfh(apiData.getJyjg()); - - //绮绛夌骇 - mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSDJ, sysData.getFoodLevel()); - apiData.setLsdd(mappingCode); - - //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂� - apiData.setZhgxsj(sysData.getCompleteTime()); - - //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂� - apiData.setBizId(sysData.getId()); - apiData.setKqdm(kqdm); - apiData.setSyncTime(new Date()); - - api1203List = api1203Rep.getDataById(apiData.getRkjydh()); - if(null == api1203List || api1203List.isEmpty()){ - apiData.setCzbz(Constant.CZBZ_I); - }else { - apiData.setCzbz(api1203List.get(0).getCzbz()); - } - - //淇濆瓨鏁版嵁 - api1203Rep.save(apiData); - log.info("1203---鍚屾鏁版嵁锛歿}", apiData.toString()); } } catch (Exception e) { log.error("---鍚屾澶辫触----{}", e); -- Gitblit v1.9.3