From edca45e62b6bb47e51853c4168415f20c2f861cd Mon Sep 17 00:00:00 2001
From: CZT <czt18638530771@163.com>
Date: 星期三, 13 九月 2023 15:03:45 +0800
Subject: [PATCH] 调整出入库业务时间跟单号日期不统一的问题

---
 src/main/java/com/fzzy/api/utils/DateUtil.java               |  256 ++++++++++++++++++++++++++++++++++++
 src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1205.java |   35 ++--
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1202.java |   24 +-
 src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1202.java |   37 ++---
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java |   23 +-
 5 files changed, 309 insertions(+), 66 deletions(-)

diff --git a/src/main/java/com/fzzy/api/utils/DateUtil.java b/src/main/java/com/fzzy/api/utils/DateUtil.java
new file mode 100644
index 0000000..9078734
--- /dev/null
+++ b/src/main/java/com/fzzy/api/utils/DateUtil.java
@@ -0,0 +1,256 @@
+package com.fzzy.api.utils;
+
+import org.apache.commons.lang.time.DateUtils;
+
+import java.util.Calendar;
+import java.util.Date;
+
+/**
+ * 鏃堕棿鐩稿叧宸ュ叿绫�
+ *
+ * @author jiazx
+ */
+public class DateUtil {
+
+
+    /**
+     * 鏍规嵁褰撳墠鏃堕棿鑾峰彇鍙湁 yyyy-MM-dd鐨勬椂闂�
+     *
+     * @param date
+     * @return
+     */
+    public static Date getCurZero(Date date) {
+        //TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
+        date = DateUtils.setHours(date, 0);
+        date = DateUtils.setMinutes(date, 0);
+        date = DateUtils.setSeconds(date, 0);
+        date = DateUtils.setMilliseconds(date, 0);
+        return date;
+    }
+
+    /**
+     * 鑾峰彇褰撳墠鏃堕棿涓嬩竴澶╃殑闆剁偣闆跺垎闆剁
+     *
+     * @param date
+     * @return
+     */
+    public static Date getNextZero(Date date) {
+        //TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
+        date = DateUtils.addDays(date, 1);
+        date = DateUtils.setHours(date, 0);
+        date = DateUtils.setMinutes(date, 0);
+        date = DateUtils.setSeconds(date, 0);
+        date = DateUtils.setMilliseconds(date, 0);
+        return date;
+    }
+
+
+    /**
+     * 鑾峰彇褰撳墠鏃ユ湡鎵�鍦ㄦ湀鐨勭涓�澶╋紝鏁版嵁涓猴細:00:00:00
+     *
+     * @param date
+     * @return
+     */
+    public static Date getMonthFirst(Date date) {
+        if (null == date) date = new Date();
+        date = DateUtils.setDays(date, 1);
+        date = DateUtils.setHours(date, 0);
+        date = DateUtils.setMinutes(date, 0);
+        date = DateUtils.setSeconds(date, 0);
+        date = DateUtils.setMilliseconds(date, 0);
+        return date;
+    }
+
+    /**
+     * 鑾峰彇褰撳墠骞寸涓�澶�
+     *
+     * @param date
+     * @return
+     */
+    public static Date getYearFirst(Date date) {
+        if (null == date) date = new Date();
+        Calendar currCal = Calendar.getInstance();
+        currCal.setTime(date);
+        int currentYear = currCal.get(Calendar.YEAR);
+
+        Calendar calendar = Calendar.getInstance();
+        calendar.clear();
+        calendar.set(Calendar.YEAR, currentYear);
+        Date currYearFirst = calendar.getTime();
+        return currYearFirst;
+    }
+
+    /**
+     * 鑾峰彇褰撳墠鏃堕棿鐨勪笅涓湀1鍙�
+     *
+     * @param date
+     * @return
+     */
+    public static Date getNextMonthFirst(Date date) {
+        if (null == date) date = new Date();
+        date = DateUtils.addMonths(date, 1);
+        date = DateUtils.setDays(date, 1);
+        date = DateUtils.setHours(date, 0);
+        date = DateUtils.setMinutes(date, 0);
+        date = DateUtils.setSeconds(date, 0);
+        date = DateUtils.setMilliseconds(date, 0);
+        return date;
+    }
+
+    /**
+     * 鑾峰彇褰撳墠鏃堕棿鐨勪笂涓湀1鍙�
+     *
+     * @param date
+     * @return
+     */
+    public static Date getPreMonthFirst(Date date) {
+        if (null == date) date = new Date();
+        date = DateUtils.addMonths(date, -1);
+        date = DateUtils.setDays(date, 1);
+        date = DateUtils.setHours(date, 0);
+        date = DateUtils.setMinutes(date, 0);
+        date = DateUtils.setSeconds(date, 0);
+        date = DateUtils.setMilliseconds(date, 0);
+        return date;
+    }
+
+    /**
+     * 鏃堕棿锛屾牴鎹ぉ鏁� 娣诲姞鍑犲ぉ锛屾垨鑰呭噺鍘诲嚑澶�
+     *
+     * @param date 褰撳墠鏃堕棿
+     * @param num  姝f暟鎴栬�呰礋鏁�
+     * @return
+     */
+    public static Date getNewByDay(Date date, int num) {
+        if (null == date) date = new Date();
+        date = DateUtils.addDays(date, num);
+        date = DateUtils.setHours(date, 0);
+        date = DateUtils.setMinutes(date, 0);
+        date = DateUtils.setSeconds(date, 0);
+        date = DateUtils.setMilliseconds(date, 0);
+        return date;
+    }
+
+    /**
+     * 鏃堕棿锛屾牴鎹ぉ鏁� 娣诲姞鍑犲垎閽燂紝鎴栬�呭噺鍘诲嚑鍒�
+     *
+     * @param date 褰撳墠鏃堕棿
+     * @param num  姝f暟鎴栬�呰礋鏁�
+     * @return
+     */
+    public static Date getNewByMinute(Date date, int num) {
+        if (null == date) date = new Date();
+        date = DateUtils.addMinutes(date, num);
+        date = DateUtils.setHours(date, 0);
+        date = DateUtils.setMinutes(date, 0);
+        date = DateUtils.setSeconds(date, 0);
+        date = DateUtils.setMilliseconds(date, 0);
+        return date;
+    }
+
+    /**
+     * 鑾峰彇鏌愬勾绗竴澶╂棩鏈�
+     *
+     * @param year 骞翠唤
+     * @return Date
+     */
+    public static Date getCurrYearFirst(int year) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.clear();
+        calendar.set(Calendar.YEAR, year);
+        Date currYearFirst = calendar.getTime();
+        return currYearFirst;
+    }
+
+    /**
+     * 鑾峰彇娆″勾绗竴澶� 0鐐�
+     *
+     * @param year 骞翠唤
+     * @return Date
+     */
+    public static Date getNextYearFirst(int year) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.clear();
+        calendar.set(Calendar.YEAR, year);
+        calendar.roll(Calendar.DAY_OF_YEAR, -1);
+
+        Date currYearLast = calendar.getTime();
+
+        currYearLast = DateUtils.addDays(currYearLast, 1);
+
+        return currYearLast;
+    }
+
+
+    /**
+     * 璁$畻鏃堕棿1涓庢椂闂�2鐩存帴鐨勫垎閽熸暟锛�
+     *
+     * @param begin
+     * @param end
+     * @return
+     */
+    public static long difMin(Date begin, Date end) {
+        long between = (end.getTime() - begin.getTime()) / 1000;//闄や互1000鏄负浜嗚浆鎹㈡垚绉�
+        //long day1 = between / (24 * 3600);
+        // long hour1 = between % (24 * 3600) / 3600;
+        long minute1 = between % 3600 / 60;
+        // long second1 = between % 60 / 60;
+        return minute1;
+    }
+
+    /**
+     * 璁$畻鏃堕棿1涓庢椂闂�2鐩存帴鐨勫ぉ鏁帮紝
+     *
+     * @param begin
+     * @param end
+     * @return
+     */
+    public static int difDay(Date begin, Date end) {
+        return (int) ((end.getTime() - begin.getTime()) / (1000 * 3600 * 24));
+    }
+
+
+    /**
+     * 鑾峰彇褰撳墠鏃堕棿鐨� 灏忔椂,鏃堕棿浠�1-24
+     *
+     * @param date
+     * @return
+     */
+    public static int getHour(Date date) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        return calendar.get(Calendar.HOUR_OF_DAY);
+    }
+
+    /**
+     * 鑾峰彇褰撳墠鏃堕棿鐨� 鍒嗛挓 鏃堕棿浠�0 -59
+     *
+     * @param date
+     * @return
+     */
+    public static int getMinute(Date date) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        return calendar.get(Calendar.MINUTE);
+    }
+
+    /**
+     * 鑾峰彇褰撳墠鏃堕棿鍒扮浜屽ぉ鍑屾櫒鐨勬椂闂村樊绉掓暟
+     *
+     * @return
+     */
+    public static Long getNowToNextDaySeconds() {
+        Calendar cal = Calendar.getInstance();
+        cal.add(Calendar.DAY_OF_YEAR, 1);
+        cal.set(Calendar.HOUR_OF_DAY, 0);
+        cal.set(Calendar.SECOND, 0);
+        cal.set(Calendar.MINUTE, 0);
+        cal.set(Calendar.MILLISECOND, 0);
+        return (cal.getTimeInMillis() - System.currentTimeMillis()) / 1000;
+    }
+
+
+    public static void main(String[] args) {
+        System.out.println(getMinute(new Date()));
+    }
+}
diff --git a/src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1202.java b/src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1202.java
index 4fdc9f4..90d7b8f 100644
--- a/src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1202.java
+++ b/src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1202.java
@@ -3,11 +3,11 @@
 import com.fzzy.api.Constant;
 import com.fzzy.api.entity.Api1105;
 import com.fzzy.api.entity.Api1202;
-import com.fzzy.api.entity.Api1208;
 import com.fzzy.api.entity.ApiLog;
 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.Api1202Rep;
 import com.fzzy.api.view.repository.ApiLogRep;
 import com.fzzy.async.fzzy35.entity.Fz35InoutNoticeIn;
@@ -17,9 +17,10 @@
 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.*;
 
 /**
@@ -78,10 +79,6 @@
             Api1105 api1105;
             List<Fz35InoutNoticeIn> listInoutNotice;
             List<Api1202> api1202List;
-            Calendar c = Calendar.getInstance();
-            String ywsj = "";
-            String num = "";
-            Map<String, Integer> map = new HashMap<>();
             for (Fz35InoutRecord sysData : list) {
                 if(null == sysData.getRecordWeight() || sysData.getRecordWeight() == 0){
                     sysData.setRecordWeight(sysData.getSettleWeight());
@@ -98,15 +95,15 @@
                 apiData = new Api1202();
 
                 apiData.setRkywdh(Constant.INOUT_TYPE_14 + 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.setRkywdh(Constant.INOUT_TYPE_14 + ywsj + num);
-                    map.put(ywsj, map.get(ywsj) + 1);
+
+                //鍒ゆ柇涓氬姟鏃堕棿涓庡崟鎹彿鏄惁鍖归厤锛岃嫢涓嶅尮閰嶏紝鍒欐洿鏀逛笟鍔℃椂闂翠负鍗曟嵁鍙锋墍鍦ㄧ殑鏃堕棿
+                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
+                Date time = dateFormat.parse(sysData.getId().substring(2, 10));
+                int numDay = DateUtil.difDay(sysData.getCompleteTime(), time);
+                if(numDay != 0){
+                    sysData.setFullWeightTime(DateUtils.addDays(sysData.getFullWeightTime(), numDay));
+                    sysData.setEmptyWeightTime(DateUtils.addDays(sysData.getEmptyWeightTime(), numDay));
+                    sysData.setCompleteTime(DateUtils.addDays(sysData.getCompleteTime(), numDay));
                 }
 
                 //璐т綅浠g爜
@@ -135,9 +132,7 @@
 
                 //杞﹁埞鍙�
                 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());
@@ -183,15 +178,13 @@
                 apiData.setXckl( 0 - sysData.getDeHandle());
 
                 apiData.setJz(sysData.getRecordWeight());
-                c.setTime(sysData.getCompleteTime());
-                c.add(Calendar.MINUTE,3);
-                apiData.setCmsj(c.getTime());
+                apiData.setCmsj(sysData.getCompleteTime());
 
                 //鍏ュ簱缁撶畻鍗曞彿,榛樿缁熶竴缁撶畻锛屼笉璁剧疆缁撶畻鍗曞彿
                 //apiData.setRkjsdh(kqdm + sysData.getId().substring(2));
 
                 //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂�
-                apiData.setZhgxsj(c.getTime());
+                apiData.setZhgxsj(sysData.getCompleteTime());
 
                 //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂�
                 apiData.setBizId(sysData.getId());
diff --git a/src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1205.java b/src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1205.java
index 6cddd0d..4476f2a 100644
--- a/src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1205.java
+++ b/src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1205.java
@@ -7,6 +7,7 @@
 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.async.fzzy35.entity.Fz35InoutNoticeOut;
@@ -16,9 +17,11 @@
 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.*;
 
 /**
@@ -77,10 +80,6 @@
         Api1105 api1105;
         List<Fz35InoutNoticeOut> listInoutNotice;
         List<Api1205> api1205List;
-        Calendar c = Calendar.getInstance();
-            String ywsj = "";
-            String num = "";
-            Map<String, Integer> map = new HashMap<>();
         for (Fz35InoutRecord sysData : list) {
             if(null == sysData.getRecordWeight() || sysData.getRecordWeight() == 0){
                 sysData.setRecordWeight(sysData.getSettleWeight());
@@ -96,15 +95,15 @@
             }
             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);
+
+            //鍒ゆ柇涓氬姟鏃堕棿涓庡崟鎹彿鏄惁鍖归厤锛岃嫢涓嶅尮閰嶏紝鍒欐洿鏀逛笟鍔℃椂闂翠负鍗曟嵁鍙锋墍鍦ㄧ殑鏃堕棿
+            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
+            Date time = dateFormat.parse(sysData.getId().substring(2, 10));
+            int numDay = DateUtil.difDay(sysData.getCompleteTime(), time);
+            if(numDay != 0){
+                sysData.setFullWeightTime(DateUtils.addDays(sysData.getFullWeightTime(), numDay));
+                sysData.setEmptyWeightTime(DateUtils.addDays(sysData.getEmptyWeightTime(), numDay));
+                sysData.setCompleteTime(DateUtils.addDays(sysData.getCompleteTime(), numDay));
             }
 
             //璐т綅浠g爜
@@ -130,9 +129,7 @@
 
             //杞﹁埞鍙�
             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());
@@ -166,12 +163,10 @@
 
             //鍑�閲�
             apiData.setJz(sysData.getRecordWeight());
-            c.setTime(sysData.getCompleteTime());
-            c.add(Calendar.MINUTE,3);
-            apiData.setCmsj(c.getTime());
+            apiData.setCmsj(sysData.getCompleteTime());
 
             //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂�
-            apiData.setZhgxsj(c.getTime());
+            apiData.setZhgxsj(sysData.getCompleteTime());
 
             //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂�
             apiData.setBizId(sysData.getId());
diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1202.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1202.java
index 9ed94d8..fb5fbdc 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1202.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1202.java
@@ -7,6 +7,7 @@
 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.Api1202Rep;
 import com.fzzy.api.view.repository.ApiLogRep;
 import com.fzzy.async.fzzy40.entity.Fz40InoutNoticeIn;
@@ -16,9 +17,11 @@
 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.*;
 
 /**
@@ -77,9 +80,6 @@
             Api1105 api1105;
             List<Fz40InoutNoticeIn> listInoutNotice;
             List<Api1202> api1202List;
-            String ywsj = "";
-            String num = "";
-            Map<String, Integer> map = new HashMap<>();
             for (Fz40InoutRecord sysData : list) {
                 if(null == sysData.getRecordWeight() || sysData.getRecordWeight() == 0){
                     sysData.setRecordWeight(sysData.getSettleWeight());
@@ -96,15 +96,15 @@
                 apiData = new Api1202();
 
                 apiData.setRkywdh(Constant.INOUT_TYPE_14 + 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.setRkywdh(Constant.INOUT_TYPE_14 + ywsj + num);
-                    map.put(ywsj, map.get(ywsj) + 1);
+
+                //鍒ゆ柇涓氬姟鏃堕棿涓庡崟鎹彿鏄惁鍖归厤锛岃嫢涓嶅尮閰嶏紝鍒欐洿鏀逛笟鍔℃椂闂翠负鍗曟嵁鍙锋墍鍦ㄧ殑鏃堕棿
+                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
+                Date time = dateFormat.parse(sysData.getId().substring(2, 10));
+                int numDay = DateUtil.difDay(sysData.getCompleteTime(), time);
+                if(numDay != 0){
+                    sysData.setFullWeightTime(DateUtils.addDays(sysData.getFullWeightTime(), numDay));
+                    sysData.setEmptyWeightTime(DateUtils.addDays(sysData.getEmptyWeightTime(), numDay));
+                    sysData.setCompleteTime(DateUtils.addDays(sysData.getCompleteTime(), numDay));
                 }
 
                 //璐т綅浠g爜
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 86a9d16..36241be 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java
@@ -7,6 +7,7 @@
 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.async.fzzy40.entity.Fz40InoutNoticeOut;
@@ -16,9 +17,11 @@
 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.*;
 
 /**
@@ -77,9 +80,6 @@
         Api1105 api1105;
         List<Fz40InoutNoticeOut> listInoutNotice;
         List<Api1205> api1205List;
-        String ywsj = "";
-        String num = "";
-        Map<String, Integer> map = new HashMap<>();
         for (Fz40InoutRecord sysData : list) {
             if(null == sysData.getRecordWeight() || sysData.getRecordWeight() == 0){
                 sysData.setRecordWeight(sysData.getSettleWeight());
@@ -95,15 +95,14 @@
             }
             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);
+            //鍒ゆ柇涓氬姟鏃堕棿涓庡崟鎹彿鏄惁鍖归厤锛岃嫢涓嶅尮閰嶏紝鍒欐洿鏀逛笟鍔℃椂闂翠负鍗曟嵁鍙锋墍鍦ㄧ殑鏃堕棿
+            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
+            Date time = dateFormat.parse(sysData.getId().substring(2, 10));
+            int numDay = DateUtil.difDay(sysData.getCompleteTime(), time);
+            if(numDay != 0){
+                sysData.setFullWeightTime(DateUtils.addDays(sysData.getFullWeightTime(), numDay));
+                sysData.setEmptyWeightTime(DateUtils.addDays(sysData.getEmptyWeightTime(), numDay));
+                sysData.setCompleteTime(DateUtils.addDays(sysData.getCompleteTime(), numDay));
             }
 
             //璐т綅浠g爜

--
Gitblit v1.9.3