From 7a988c17fe25f18815889ff5221a5ebcf01fabdc Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期一, 13 十月 2025 18:15:59 +0800
Subject: [PATCH] 武汉黄陂军粮-质检报告共享接口同步及推送3
---
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java | 375 +++++++++++++++++++++++++++++++++--------------------
1 files changed, 233 insertions(+), 142 deletions(-)
diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java
index 1adbed9..6bec7ee 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java
@@ -1,15 +1,11 @@
package com.fzzy.async.fzzy40.impl;
import com.fzzy.api.Constant;
-import com.fzzy.api.entity.Api1105;
-import com.fzzy.api.entity.Api1205;
-import com.fzzy.api.entity.ApiLog;
+import com.fzzy.api.entity.*;
import com.fzzy.api.service.ApiCommonService;
import com.fzzy.api.service.ApiTriggerService;
import com.fzzy.api.utils.ContextUtil;
-import com.fzzy.api.utils.DateUtil;
-import com.fzzy.api.view.repository.Api1205Rep;
-import com.fzzy.api.view.repository.ApiLogRep;
+import com.fzzy.api.view.repository.*;
import com.fzzy.async.fzzy40.entity.Fz40InoutNoticeOut;
import com.fzzy.async.fzzy40.entity.Fz40InoutRecord;
import com.fzzy.async.fzzy40.entity.Fz40InoutRecordItem;
@@ -23,7 +19,6 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-import java.text.SimpleDateFormat;
import java.util.*;
/**
@@ -46,7 +41,15 @@
@Autowired
private ApiTriggerService apiTriggerService;
@Autowired
+ private Api1201Rep api1201Rep;
+ @Autowired
private Api1205Rep api1205Rep;
+ @Autowired
+ private Api1206Rep api1206Rep;
+ @Autowired
+ private Api1310Rep api1310Rep;
+ @Autowired
+ private Api1404Rep api1404Rep;
@Autowired
private ApiCommonService commonService;
@Autowired
@@ -72,148 +75,236 @@
apiLog.setStatus(99);
apiLog.setId(ContextUtil.getUUID());
try {
- //鑾峰彇绮鍑哄簱淇℃伅锛屾牴鎹祦绋嬪畬鎴愭椂闂磋幏鍙�
- List<Fz40InoutRecord> list = fzzySync1202Rep.listInoutRecord(deptId, INOUT_TYPE_OUT, start, end);
+ //鑾峰彇绮鍑哄簱淇℃伅锛屾牴鎹祦绋嬪畬鎴愭椂闂磋幏鍙�
+ List<Fz40InoutRecord> list = fzzySync1202Rep.listInoutRecord(deptId, INOUT_TYPE_OUT, start, end);
- if (null == list || list.isEmpty()) {
- log.info("-------------娌℃湁鑾峰彇鍒扮伯椋熷嚭搴撲俊鎭�------------------");
- return;
- }
-
- Api1205 apiData;
- Api1105 api1105;
- List<Fz40InoutNoticeOut> listInoutNotice;
- List<Api1205> api1205List;
- List<Fz40InoutRecordItem> listInoutRecordItem;
- for (Fz40InoutRecord sysData : list) {
- if(sysData.getRecordStatus().equals("DEL") || sysData.getRecordStatus().equals("ERROR")){
- continue;
- }
- if(null == sysData.getRecordWeight() || sysData.getRecordWeight() == 0){
- sysData.setRecordWeight(sysData.getSettleWeight());
- }
- //鍒ゆ柇鍑�閲嶆槸鍚﹀ぇ浜�0锛岀瓑浜�0琛ㄧず涓嶅悎鏍硷紝涓嶈繘琛屽悓姝ヤ笂浼�
- if(null == sysData.getRecordWeight() || sysData.getRecordWeight() == 0){
- continue;
- }
- //鑾峰彇璐т綅淇℃伅
- api1105 = commonService.getApi1105Cache(sysData.getDepotId());
- if(null == api1105){
- continue;
- }
- apiData = new Api1205();
- apiData.setCkywdh(Constant.INOUT_TYPE_15 + sysData.getId().substring(4));
-
- //璐т綅浠g爜
- apiData.setHwdm(api1105.getHwdm());
- apiData.setYwlx(Constant.INOUT_TYPE_1);
-
- //閫氱煡鍗曞彿
- apiData.setCktzdh(sysData.getNoticeId());
-
- apiData.setYwrq(DateUtils.parseDate(sysData.getId().substring(2, 10), new String[] { "yyyyMMdd" }));
-
- //鑾峰彇鍚堝悓鍙�
- listInoutNotice = fzzySyncNoticeOutRep.listInoutNoticeOutById(sysData.getNoticeId());
- if(null != listInoutNotice && listInoutNotice.size() >0){
- if(StringUtils.isNotEmpty(listInoutNotice.get(0).getContractId())){
- apiData.setHth(api1105.getHwdm().substring(0,18) + listInoutNotice.get(0).getContractId());
- }
- if(StringUtils.isNotEmpty(listInoutNotice.get(0).getPlanId())){
- apiData.setJhmxh(listInoutNotice.get(0).getPlanId());
- }
+ if (null == list || list.isEmpty()) {
+ log.info("-------------娌℃湁鑾峰彇鍒扮伯椋熷嚭搴撲俊鎭�------------------");
+ return;
}
- //杩愯緭宸ュ叿锛岃嫢涓虹┖锛屽垯榛樿缁�1-姹借溅
- apiData.setYsgj(StringUtils.isEmpty(sysData.getTransType()) ? "1":sysData.getTransType());
-
- //杞﹁埞鍙�
- apiData.setCch(sysData.getPlateNum());
- apiData.setDjsj(sysData.getRegisterTime());
-
- //绮鍝佺
- String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety().substring(0,3));
- apiData.setLspzdm(mappingCode);
-
- //绮绛夌骇
- mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSDJ, sysData.getFoodLevel());
- apiData.setLsdjdm(mappingCode);
-
- //绮鎬ц川
- mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSXZ, sysData.getFoodType());
- apiData.setLsxzdm(mappingCode);
-
- apiData.setShnd(StringUtils.isEmpty(sysData.getFoodYear())? DateFormatUtils.format(new Date(), "yyyy") :sysData.getFoodYear());
-
- //浜у湴浠g爜
- mappingCode = commonService.getFoodLocationIdFromCache(sysData.getFoodLocation());
- if(StringUtils.isEmpty(mappingCode)){
- mappingCode = apiData.getHwdm().substring(2,8);
- }
- apiData.setCddm(mappingCode);
-
- //鐨噸淇℃伅
- apiData.setPz(sysData.getEmptyWeight());
- if(!sysData.getEmptyWeightTime().after(sysData.getRegisterTime())){
- sysData.setEmptyWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 25));
- }
- apiData.setPzjlsj(sysData.getEmptyWeightTime());
- apiData.setPzjby(sysData.getEmptyWeightUser());
- apiData.setPzjly(sysData.getEmptyWeightUser());
-
- //姣涢噸淇℃伅
- apiData.setMz(sysData.getFullWeight());
- if(!sysData.getFullWeightTime().after(sysData.getEmptyWeightTime())){
- sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getEmptyWeightTime(), 60));
- }
- apiData.setMzjlsj(sysData.getFullWeightTime());
- apiData.setMzjby(sysData.getFullWeightUser());
- apiData.setMzjly(sysData.getFullWeightUser());
-
- //鍑�閲�
- apiData.setJz(sysData.getRecordWeight());
- if(!sysData.getCompleteTime().after(sysData.getFullWeightTime())){
- sysData.setCompleteTime(DateUtils.addMinutes(sysData.getFullWeightTime(), 10));
- }
- apiData.setCmsj(sysData.getCompleteTime());
-
- //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂�
- apiData.setZhgxsj(sysData.getUpdateTime());
-
- //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂�
- apiData.setBizId(sysData.getId());
- apiData.setKqdm(kqdm);
- apiData.setSyncTime(new Date());
- log.info("1201---鍚屾鏁版嵁锛歿}",apiData.toString());
-
- api1205List = api1205Rep.getDataById(apiData.getCkywdh());
- if(null == api1205List || api1205List.isEmpty()){
- apiData.setCzbz(Constant.CZBZ_I);
- }else {
- apiData.setCzbz(api1205List.get(0).getCzbz());
- }
- //鍒ゆ柇鏄惁涓鸿埞杩�
- if(StringUtils.isNotEmpty(sysData.getTransType()) && sysData.getTransType().equals("3")){
- listInoutRecordItem = fzzy40SyncInoutRecordItemRep.findDataByRecordId(sysData.getId());
- if(null == listInoutRecordItem || listInoutRecordItem.isEmpty()){
- api1205Rep.save(apiData);
+ Api1205 apiData;
+ Api1105 api1105;
+ List<Fz40InoutNoticeOut> listInoutNotice;
+ List<Api1205> api1205List;
+ List<Api1206> api1206List;
+ List<Fz40InoutRecordItem> listInoutRecordItem;
+ for (Fz40InoutRecord sysData : list) {
+ if (sysData.getRecordStatus().equals("DEL") || sysData.getRecordStatus().equals("ERROR")) {
continue;
}
-
- int idNum = Integer.valueOf(sysData.getId().substring(12))*100 + 10001;
- for (Fz40InoutRecordItem fz40InoutRecordItem : listInoutRecordItem) {
- apiData.setCkywdh(Constant.INOUT_TYPE_15 + sysData.getId().substring(4,10) + String.valueOf(idNum).substring(1));
- apiData.setMz(fz40InoutRecordItem.getFullWeight());
- apiData.setPz(fz40InoutRecordItem.getEmptyWeight());
- apiData.setJz(fz40InoutRecordItem.getSettleWeight());
- api1205Rep.save(apiData);
- idNum ++;
+ if (!sysData.getProgress().equals("RECORD")) {
+ continue;
}
- }else {
- //淇濆瓨鏁版嵁
- api1205Rep.save(apiData);
+ if (null == sysData.getRecordWeight() || sysData.getRecordWeight() == 0) {
+ sysData.setRecordWeight(sysData.getSettleWeight());
+ }
+ //鍒ゆ柇鍑�閲嶆槸鍚﹀ぇ浜�0锛岀瓑浜�0琛ㄧず涓嶅悎鏍硷紝涓嶈繘琛屽悓姝ヤ笂浼�
+ if (null == sysData.getRecordWeight() || sysData.getRecordWeight() == 0) {
+ continue;
+ }
+ //鑾峰彇璐т綅淇℃伅
+ api1105 = commonService.getApi1105Cache(sysData.getDepotId());
+ if (null == api1105) {
+ continue;
+ }
+ apiData = new Api1205();
+ apiData.setCkywdh(Constant.INOUT_TYPE_15 + sysData.getId().substring(4));
+
+ //璐т綅浠g爜
+ apiData.setHwdm(api1105.getHwdm());
+ apiData.setYwlx(Constant.INOUT_TYPE_1);
+ apiData.setYwrq(DateUtils.parseDate(sysData.getId().substring(2, 10), new String[]{"yyyyMMdd"}));
+
+ //榛樿涓�涓殢渚垮��
+ apiData.setLxdh(StringUtils.isEmpty(sysData.getUserContact()) ? "13012345678" : sysData.getUserContact().trim());
+
+ if (StringUtils.isEmpty(sysData.getUserId()) || sysData.getUserId().length() != 18) {
+ sysData.setUserId("410183199003187055");
+ }
+ apiData.setSfzh(sysData.getUserId());
+
+ //閫氱煡鍗曞彿
+ apiData.setCktzdh(sysData.getNoticeId());
+ //鑾峰彇鍚堝悓鍙�
+ listInoutNotice = fzzySyncNoticeOutRep.listInoutNoticeOutById(sysData.getNoticeId());
+ if (null != listInoutNotice && listInoutNotice.size() > 0) {
+ //鍚堝悓鍙�
+ if (StringUtils.isNotEmpty(listInoutNotice.get(0).getContractId())) {
+ List<Api1201> api1201List = api1201Rep.getDataByBizId(listInoutNotice.get(0).getContractId());
+ if (null != api1201List && api1201List.size() > 0) {
+ apiData.setHth(api1201List.get(0).getHth());
+ }
+ }
+ if (StringUtils.isNotEmpty(listInoutNotice.get(0).getPlanId())) {
+ List<Api1404> api1404List = api1404Rep.getDataByBizIdAndKqdm(listInoutNotice.get(0).getPlanId(), kqdm);
+ if (null != api1404List && api1404List.size() > 0) {
+ apiData.setJhmxh(api1404List.get(0).getJhmxdh());
+ if (StringUtils.isEmpty(sysData.getFoodYear())) {
+ sysData.setFoodYear(api1404List.get(0).getShnd());
+ }
+ }
+ }
+ }
+
+ //杩愯緭宸ュ叿锛岃嫢涓虹┖锛屽垯榛樿缁�1-姹借溅
+ apiData.setYsgj(StringUtils.isEmpty(sysData.getTransType()) ? "1" : sysData.getTransType());
+
+ //杞﹁埞鍙�
+ apiData.setCch(sysData.getPlateNum());
+ apiData.setDjsj(sysData.getRegisterTime());
+
+ //绮鍝佺
+ String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety());
+ apiData.setLspzdm(mappingCode);
+
+ //绮绛夌骇
+ mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSDJ, sysData.getFoodLevel());
+ apiData.setLsdjdm(mappingCode);
+
+ //璐ㄦ鎶ュ憡鍗曞彿
+ List<Api1310> dataByHwdm = api1310Rep.getDataByHwdm(apiData.getHwdm(), "02");
+ if (null != dataByHwdm && dataByHwdm.size() > 0) {
+ apiData.setZjbgdh(dataByHwdm.get(0).getZjbgdh());
+ }
+
+ //鐢熸垚鏂瑰紡
+ apiData.setScfs(1);
+ if (StringUtils.isNotEmpty(sysData.getRecordStatus()) && sysData.getRecordStatus().equals("ADD")) {
+ apiData.setScfs(2);
+ apiData.setSdblyy("搴撳尯鍋滅數瀵艰嚧鏃犳硶鎸夋祦绋嬭繘琛屽嚭搴�");
+ }
+
+ //绮鎬ц川
+ mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSXZ, sysData.getFoodType());
+ apiData.setLsxzdm(mappingCode);
+
+ apiData.setShnd(StringUtils.isEmpty(sysData.getFoodYear()) ? DateFormatUtils.format(sysData.getRegisterTime(), "yyyy") : sysData.getFoodYear());
+
+ //浜у湴浠g爜
+ mappingCode = commonService.getFoodLocationIdFromCache(sysData.getFoodLocation());
+ if (StringUtils.isEmpty(mappingCode)) {
+ mappingCode = apiData.getHwdm().substring(2, 8);
+ }
+ apiData.setCddm(mappingCode);
+
+ //鐨噸淇℃伅
+ apiData.setPz(sysData.getEmptyWeight());
+ if (null == sysData.getEmptyWeightTime()) {
+ sysData.setEmptyWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 25));
+ }
+ if (!sysData.getEmptyWeightTime().after(sysData.getRegisterTime())) {
+ sysData.setEmptyWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 25));
+ }
+ apiData.setPzjlsj(sysData.getEmptyWeightTime());
+ apiData.setPzjby(StringUtils.isEmpty(sysData.getEmptyWeightUser()) ? "鐩戠鍛�" : sysData.getEmptyWeightUser());
+ apiData.setPzjly(StringUtils.isEmpty(sysData.getEmptyWeightUser()) ? "璁¢噺鍛�" : sysData.getEmptyWeightUser());
+
+ //姣涢噸淇℃伅
+ apiData.setMz(sysData.getFullWeight());
+ apiData.setKzl(0 - sysData.getDeCheck() + sysData.getAddCheck() - sysData.getDeHandle() - sysData.getDePackage() - sysData.getDeOther());
+ if (null == sysData.getFullWeightTime()) {
+ sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getEmptyWeightTime(), 60));
+ }
+ if (!sysData.getFullWeightTime().after(sysData.getEmptyWeightTime())) {
+ sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getEmptyWeightTime(), 60));
+ }
+ apiData.setMzjlsj(sysData.getFullWeightTime());
+ apiData.setMzjby(StringUtils.isEmpty(sysData.getFullWeightUser()) ? "鐩戠鍛�" : sysData.getFullWeightUser());
+ apiData.setMzjly(StringUtils.isEmpty(sysData.getFullWeightUser()) ? "璁¢噺鍛�" : sysData.getFullWeightUser());
+
+ //鍑�閲�
+ apiData.setJz(sysData.getRecordWeight());
+ if (!sysData.getCompleteTime().after(sysData.getFullWeightTime())) {
+ sysData.setCompleteTime(DateUtils.addMinutes(sysData.getFullWeightTime(), 10));
+ }
+ apiData.setCmsj(sysData.getCompleteTime());
+ //缁撶畻鍗曞彿
+ if (StringUtils.isNotEmpty(sysData.getSettleId())) {
+ apiData.setCkjsdh(kqdm + sysData.getSettleId());
+ }
+ if (StringUtils.isNotEmpty(apiData.getHth())) {
+ api1206List = api1206Rep.getDataByHthAndHwdm(apiData.getHth(), apiData.getHwdm());
+ if (null == api1206List || api1206List.isEmpty()) {
+ api1206List = api1206Rep.getDataByHth(apiData.getHth());
+ if (null != api1206List && api1206List.size() > 0) {
+ apiData.setCkjsdh(api1206List.get(0).getCkjsdh());
+ }
+ } else {
+ apiData.setCkjsdh(api1206List.get(0).getCkjsdh());
+ }
+ }
+
+ apiData.setCchlx("01");
+ apiData.setXldd("搴撳唴");
+ apiData.setBz(StringUtils.isEmpty(sysData.getRemarks()) ? "鏆傛棤澶囨敞淇℃伅" : sysData.getRemarks());
+ apiData.setBzbdbz(sysData.getDbz() == null ? 25 : sysData.getDbz());
+ apiData.setBzbjs(sysData.getBzbjs());
+ apiData.setJjlx(sysData.getJjlx());
+ apiData.setBzw(StringUtils.isEmpty(sysData.getBzw()) ? "9" : sysData.getBzw());
+ apiData.setCmqrmgryxm(StringUtils.isEmpty(sysData.getRegisterUser()) ? "闂ㄥ矖浜�" : sysData.getRegisterUser());
+ apiData.setDjmgryxm(StringUtils.isEmpty(sysData.getRegisterUser()) ? "鐧昏浜�" : sysData.getRegisterUser());
+ apiData.setZcbgyxm(StringUtils.isEmpty(sysData.getHandleUser()) ? "鍊间粨鍛�" : sysData.getHandleUser());
+ apiData.setZxzydw("澶栬仒鍗曚綅");
+ apiData.setKzlyy("鎵o紙澧烇級閲忓師鍥�");
+
+ //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂�
+ apiData.setZhgxsj(sysData.getUpdateTime());
+
+ //鎵胯繍浜� 韬唤璇佸彿 鐢佃瘽
+ apiData.setSfzh(sysData.getUserId());
+ apiData.setCyr(sysData.getUserName().trim());
+ apiData.setLxdh(sysData.getUserContact());
+
+
+ //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂�
+ apiData.setBizId(sysData.getId());
+ apiData.setKqdm(kqdm);
+ apiData.setSyncTime(new Date());
+ log.info("1205---鍚屾鏁版嵁锛歿}", apiData.toString());
+ api1205List = api1205Rep.getDataById(apiData.getCkywdh());
+ if (null == api1205List || api1205List.isEmpty()) {
+ apiData.setCzbz(Constant.CZBZ_I);
+ } else {
+ apiData.setCzbz(api1205List.get(0).getCzbz());
+ }
+ //鍒ゆ柇鏄惁涓鸿埞杩�
+ if (StringUtils.isNotEmpty(sysData.getTransType()) && sysData.getTransType().equals("3")) {
+ listInoutRecordItem = fzzy40SyncInoutRecordItemRep.findDataByRecordId(sysData.getId());
+ if (null == listInoutRecordItem || listInoutRecordItem.isEmpty()) {
+ api1205Rep.save(apiData);
+ continue;
+ }
+
+ int idNum = Integer.valueOf(sysData.getId().substring(12)) * 100 + 10001;
+ for (Fz40InoutRecordItem fz40InoutRecordItem : listInoutRecordItem) {
+ if ("DEL".equals(fz40InoutRecordItem.getRecordStatus())) {
+ continue;
+ }
+ if (fz40InoutRecordItem.getSettleWeight() <= 0) {
+ continue;
+ }
+ apiData.setCkywdh(Constant.INOUT_TYPE_15 + sysData.getId().substring(4, 10) + String.valueOf(idNum).substring(1));
+ apiData.setMz(fz40InoutRecordItem.getFullWeight());
+ apiData.setPz(fz40InoutRecordItem.getEmptyWeight());
+ apiData.setJz(fz40InoutRecordItem.getSettleWeight());
+ apiData.setMzjlsj(fz40InoutRecordItem.getFullWeightTime());
+ apiData.setPzjlsj(fz40InoutRecordItem.getEmptyWeightTime());
+ apiData.setKzl(0 - fz40InoutRecordItem.getDe());
+ api1205List = api1205Rep.getDataById(apiData.getCkywdh());
+ if (null == api1205List || api1205List.isEmpty()) {
+ apiData.setCzbz(Constant.CZBZ_I);
+ } else {
+ apiData.setCzbz(api1205List.get(0).getCzbz());
+ }
+ api1205Rep.save(apiData);
+ idNum++;
+ }
+ } else {
+ //淇濆瓨鏁版嵁
+ api1205Rep.save(apiData);
+ }
}
- }
} catch (Exception e) {
log.error("---鍚屾澶辫触----{}", e);
apiLog.setResult("鍚屾澶辫触锛�" + e.getMessage());
--
Gitblit v1.9.3