From 3473ebe6988483ba15f4061fddd55624bd22a305 Mon Sep 17 00:00:00 2001
From: CZT <czt18638530771@163.com>
Date: 星期二, 05 十二月 2023 10:58:13 +0800
Subject: [PATCH] 更新同步计划时,不区分类型,统一更新为轮换计划
---
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java | 139 ++++++++++++++++++++++++++++++++--------------
1 files changed, 96 insertions(+), 43 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 f74319e..3af09f4 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java
@@ -1,24 +1,23 @@
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.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;
import com.fzzy.async.fzzy40.repository.Fzzy40Sync1202Rep;
+import com.fzzy.async.fzzy40.repository.Fzzy40SyncInoutRecordItemRep;
import com.fzzy.async.fzzy40.repository.Fzzy40SyncNoticeOutRep;
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.util.*;
/**
@@ -35,11 +34,17 @@
@Autowired
private Fzzy40Sync1202Rep fzzySync1202Rep;
@Autowired
+ private Fzzy40SyncInoutRecordItemRep fzzy40SyncInoutRecordItemRep;
+ @Autowired
private Fzzy40SyncNoticeOutRep fzzySyncNoticeOutRep;
@Autowired
private ApiTriggerService apiTriggerService;
@Autowired
+ private Api1201Rep api1201Rep;
+ @Autowired
private Api1205Rep api1205Rep;
+ @Autowired
+ private Api1404Rep api1404Rep;
@Autowired
private ApiCommonService commonService;
@Autowired
@@ -52,7 +57,7 @@
* @param start
* @param end
*/
- public void syncData(String kqdm, String deptId, Date start, Date end) {
+ public void syncData(String kqdm, String deptId, Date start, Date end) {
log.info("-------------1205鎺ュ彛鏁版嵁寮�濮嬪悓姝�------------------");
@@ -77,11 +82,11 @@
Api1105 api1105;
List<Fz40InoutNoticeOut> listInoutNotice;
List<Api1205> api1205List;
- Calendar c = Calendar.getInstance();
- String ywsj = "";
- String num = "";
- Map<String, Integer> map = new HashMap<>();
+ 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());
}
@@ -96,16 +101,6 @@
}
apiData = new Api1205();
apiData.setCkywdh(Constant.INOUT_TYPE_15 + sysData.getId().substring(4));
- //鍒ゆ柇涓氬姟鏃堕棿涓庡崟鎹彿鏄惁鍖归厤
- ywsj = DateFormatUtils.format(sysData.getCompleteTime(),"yyMMdd");
- if(!ywsj.equals(sysData.getId().substring(4, 10))){
- if(null == map.get(ywsj)){
- map.put(ywsj, 10201);
- }
- num = String.valueOf(map.get(ywsj)).substring(1);
- apiData.setCkywdh(Constant.INOUT_TYPE_15 + ywsj + num);
- map.put(ywsj, map.get(ywsj) + 1);
- }
//璐т綅浠g爜
apiData.setHwdm(api1105.getHwdm());
@@ -114,28 +109,35 @@
//閫氱煡鍗曞彿
apiData.setCktzdh(sysData.getNoticeId());
- apiData.setYwrq(sysData.getRegisterTime());
+ apiData.setYwrq(DateUtils.parseDate(sysData.getId().substring(2, 10), new String[] { "yyyyMMdd" }));
//鑾峰彇鍚堝悓鍙�
listInoutNotice = fzzySyncNoticeOutRep.listInoutNoticeOutById(sysData.getNoticeId());
- if(null != listInoutNotice && listInoutNotice.size() >0){
- apiData.setHth(api1105.getHwdm().substring(0,18) + listInoutNotice.get(0).getContractId());
- }else {
- apiData.setHth(api1105.getHwdm().substring(0,18) + apiData.getCkywdh());
+ 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.getDataByBizId(listInoutNotice.get(0).getPlanId());
+ if(null != api1404List && api1404List.size() > 0){
+ apiData.setJhmxh(api1404List.get(0).getJhmxdh());
+ }
+ }
}
-
//杩愯緭宸ュ叿锛岃嫢涓虹┖锛屽垯榛樿缁�1-姹借溅
apiData.setYsgj(StringUtils.isEmpty(sysData.getTransType()) ? "1":sysData.getTransType());
//杞﹁埞鍙�
apiData.setCch(sysData.getPlateNum());
- c.setTime(sysData.getRegisterTime());
- c.add(Calendar.MINUTE,-3);
- apiData.setDjsj(c.getTime());
+ apiData.setDjsj(sysData.getRegisterTime());
//绮鍝佺
- String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety());
+ String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety().substring(0, 3));
apiData.setLspzdm(mappingCode);
//绮绛夌骇
@@ -149,29 +151,48 @@
apiData.setShnd(StringUtils.isEmpty(sysData.getFoodYear())? DateFormatUtils.format(new Date(), "yyyy") :sysData.getFoodYear());
//浜у湴浠g爜
- String cddm = commonService.getFoodLocationIdFromCache(sysData.getFoodLocation());
- apiData.setCddm(cddm);
+ 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(sysData.getEmptyWeightUser());
apiData.setPzjly(sysData.getEmptyWeightUser());
//姣涢噸淇℃伅
apiData.setMz(sysData.getFullWeight());
+ 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(sysData.getFullWeightUser());
apiData.setMzjly(sysData.getFullWeightUser());
//鍑�閲�
apiData.setJz(sysData.getRecordWeight());
- c.setTime(sysData.getCompleteTime());
- c.add(Calendar.MINUTE,3);
- apiData.setCmsj(c.getTime());
+ 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());
+ }
//鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂�
- apiData.setZhgxsj(c.getTime());
+ apiData.setZhgxsj(sysData.getUpdateTime());
//涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂�
apiData.setBizId(sysData.getId());
@@ -179,14 +200,46 @@
apiData.setSyncTime(new Date());
log.info("1201---鍚屾鏁版嵁锛歿}",apiData.toString());
- api1205List = api1205Rep.getDataById(apiData.getCkywdh());
- if(null == api1205List || api1205List.isEmpty()){
- apiData.setCzbz(Constant.CZBZ_I);
+ //鍒ゆ柇鏄惁涓鸿埞杩�
+ 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());
+
+ 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 {
- apiData.setCzbz(api1205List.get(0).getCzbz());
+ 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);
}
- //淇濆瓨鏁版嵁
- api1205Rep.save(apiData);
}
} catch (Exception e) {
log.error("---鍚屾澶辫触----{}", e);
--
Gitblit v1.9.3