From 08cea428e888b6fdd2a3c3783e87e4f828385783 Mon Sep 17 00:00:00 2001
From: jiazx0107@163.com <jiazx0107@163.com>
Date: 星期四, 08 六月 2023 08:55:47 +0800
Subject: [PATCH] 出入库优化-提交优化

---
 igds-inout/src/main/java/com/ld/igds/timer/InoutScheduled.java |  290 ++++++++++++++++++++++++++++-----------------------------
 1 files changed, 141 insertions(+), 149 deletions(-)

diff --git a/igds-inout/src/main/java/com/ld/igds/timer/InoutScheduled.java b/igds-inout/src/main/java/com/ld/igds/timer/InoutScheduled.java
index 003eb33..11e9d06 100644
--- a/igds-inout/src/main/java/com/ld/igds/timer/InoutScheduled.java
+++ b/igds-inout/src/main/java/com/ld/igds/timer/InoutScheduled.java
@@ -23,9 +23,7 @@
 import java.util.Map;
 
 /**
- * @Desc: 鍑哄叆搴撳畾鏃朵换鍔°��
- * 1銆侀�氱煡鍗曞畬鎴愰噺缁熻
- * 2銆佸嚭鍏ュ簱搴撳瓨绠$悊缁熻
+ * @Desc: 鍑哄叆搴撳畾鏃朵换鍔°�� 1銆侀�氱煡鍗曞畬鎴愰噺缁熻 2銆佸嚭鍏ュ簱搴撳瓨绠$悊缁熻
  * @author: Andy
  * @update-time: 2022/11/22
  */
@@ -33,187 +31,181 @@
 @Component(InoutScheduled.BEAN_ID)
 public class InoutScheduled {
 
-    public static final String BEAN_ID = "basic.inoutScheduled";
+	public static final String BEAN_ID = "basic.inoutScheduled";
 
-    @Resource
-    private InoutCommonService inoutCommonService;
+	@Resource
+	private InoutCommonService inoutCommonService;
 
-    @Resource
-    private InoutService inoutService;
+	@Resource
+	private InoutService inoutService;
 
-    @Resource
-    private CoreCommonService commonService;
+	@Resource
+	private CoreCommonService commonService;
 
+	/**
+	 * 姣忓ぉ鏅氫笂11鐐硅繘琛屾洿鏂版湭瀹屾垚鍑哄叆搴撻�氱煡鍗曠殑瀹屾垚閲�
+	 */
+	@Scheduled(cron = "0 0 23 * * ?")
+	public void scheduled1() {
 
-    /**
-     * 姣忓ぉ鏅氫笂11鐐硅繘琛屾洿鏂版湭瀹屾垚鍑哄叆搴撻�氱煡鍗曠殑瀹屾垚閲�
-     */
-    @Scheduled(cron = "0 0 23 * * ?")
-    public void scheduled1() {
+		List<DefaultCompany> listCompany = commonService.getCompanyList();
+		if (null == listCompany)
+			return;
 
-        List<DefaultCompany> listCompany = commonService.getCompanyList();
-        if (null == listCompany) return;
+		// 鑾峰彇3澶╁唴鐨勫嚭鍏ュ簱璁板綍锛屽鏋滄湁璁板綍鍒欐墽琛岋紝濡傛灉娌℃湁锛屽垯鏃犻渶鎵ц
+		Date start = DateUtil.getNewByDay(null, -3);
+		InoutParam param;
+		List<InoutData> listRecord;
+		for (DefaultCompany company : listCompany) {
+			param = new InoutParam();
+			param.setStart(start);
+			param.setCompanyId(company.getId());
+			listRecord = inoutService.listRecordData(param);
 
-        //鑾峰彇3澶╁唴鐨勫嚭鍏ュ簱璁板綍锛屽鏋滄湁璁板綍鍒欐墽琛岋紝濡傛灉娌℃湁锛屽垯鏃犻渶鎵ц
-        Date start = DateUtil.getNewByDay(null, -3);
-        InoutParam param;
-        List<InoutData> listRecord;
-        for (DefaultCompany company : listCompany) {
-            param = new InoutParam();
-            param.setStart(start);
-            param.setCompanyId(company.getId());
-            listRecord = inoutService.listRecordData(param);
+			noticeCompleteExe(company.getId(), listRecord);
 
-            noticeCompleteExe(company.getId(), listRecord);
+			sumDepotStoreExe(company.getId(), listRecord);
+		}
 
-            sumDepotStoreExe(company.getId(), listRecord);
-        }
+	}
 
-    }
+	/**
+	 * basic.inoutScheduled#sumDepotStoreExeByHand
+	 * <p>
+	 * <p>
+	 * 鎵嬪姩鎵ц鍑哄叆搴撳簱瀛樼粺璁″叆鍙�
+	 *
+	 * @param start
+	 * @return
+	 */
+	@Expose
+	public String sumDepotStoreExeByHand(Date start) {
 
+		if (null == start)
+			start = new Date();
 
-    /**
-     * basic.inoutScheduled#sumDepotStoreExeByHand
-     * <p>
-     * <p>
-     * 鎵嬪姩鎵ц鍑哄叆搴撳簱瀛樼粺璁″叆鍙�
-     *
-     * @param start
-     * @return
-     */
-    @Expose
-    public String sumDepotStoreExeByHand(Date start) {
+		start = DateUtil.getCurZero(start);
 
-        if (null == start) start = new Date();
+		// 鑾峰彇3澶╁唴鐨勫嚭鍏ュ簱璁板綍锛屽鏋滄湁璁板綍鍒欐墽琛岋紝濡傛灉娌℃湁锛屽垯鏃犻渶鎵ц
+		start = DateUtil.getNewByDay(null, -3);
+		String companyId = ContextUtil.getCompanyId();
 
-        start = DateUtil.getCurZero(start);
+		InoutParam param = new InoutParam();
+		param.setStart(start);
+		param.setCompanyId(companyId);
 
-        //鑾峰彇3澶╁唴鐨勫嚭鍏ュ簱璁板綍锛屽鏋滄湁璁板綍鍒欐墽琛岋紝濡傛灉娌℃湁锛屽垯鏃犻渶鎵ц
-        start = DateUtil.getNewByDay(null, -3);
-        String companyId = ContextUtil.getCompanyId();
+		List<InoutData> listRecord = inoutService.listRecordData(param);
 
-        InoutParam param = new InoutParam();
-        param.setStart(start);
-        param.setCompanyId(companyId);
+		sumDepotStoreExe(companyId, listRecord);
 
-        List<InoutData> listRecord = inoutService.listRecordData(param);
+		return "SUCCESS";
+	}
 
-        sumDepotStoreExe(companyId, listRecord);
+	/**
+	 * 鍚屾浠撳簱搴撳瓨锛屾牴鎹繎鏈熷嚭鍏ュ簱璁板綍锛屽鏋滄病鏈夎褰曞垯琛ㄧず鏃犲嚭鍏ュ簱鎿嶄綔锛屽彇娑堟墽琛�
+	 *
+	 * @param companyId
+	 * @param listRecord
+	 */
+	private void sumDepotStoreExe(String companyId, List<InoutData> listRecord) {
 
-        return "SUCCESS";
-    }
+		if (null == listRecord || listRecord.isEmpty()) {
+			log.info("-----------绯荤粺鑷姩鍚屾搴撳瓨锛岃繎鏈熸棤鍑哄叆搴撹褰曪紝鍙栨秷鍚屾浠撳簱搴撳瓨鈥︹�}", companyId);
+			return;
+		}
 
-    /**
-     * 鍚屾浠撳簱搴撳瓨锛屾牴鎹繎鏈熷嚭鍏ュ簱璁板綍锛屽鏋滄病鏈夎褰曞垯琛ㄧず鏃犲嚭鍏ュ簱鎿嶄綔锛屽彇娑堟墽琛�
-     *
-     * @param companyId
-     * @param listRecord
-     */
-    private void sumDepotStoreExe(String companyId, List<InoutData> listRecord) {
+		// 鑾峰彇鏈夊嚭鍏ュ簱璁板綍鐨勪粨搴�
+		Map<String, InoutRecord> map = new HashMap<>();
+		String key;
+		DepotStore lastStore;
+		double sumRecordWeight = 0.0;
+		InoutParam param;
+		for (InoutData data : listRecord) {
+			key = data.getDepotId() + "_" + data.getType();
+			if (null != map.get(key))
+				continue;
 
-        if (null == listRecord || listRecord.isEmpty()) {
-            log.info("-----------绯荤粺鑷姩鍚屾搴撳瓨锛岃繎鏈熸棤鍑哄叆搴撹褰曪紝鍙栨秷鍚屾浠撳簱搴撳瓨鈥︹�}", companyId);
-            return;
-        }
+			map.put(key, data);
 
-        //鑾峰彇鏈夊嚭鍏ュ簱璁板綍鐨勪粨搴�
-        Map<String, InoutRecord> map = new HashMap<>();
-        String key;
-        DepotStore lastStore;
-        double sumRecordWeight = 0.0;
-        InoutParam param;
-        for (InoutData data : listRecord) {
-            key = data.getDepotId() + "_" + data.getType();
-            if (null != map.get(key)) continue;
+			// 鏍规嵁鏈�鍚庝竴杞﹁繘琛屾眹鎬荤粺璁★紝寮�濮嬫椂闂存槸浠撳簱搴撳瓨鏈�鍚庝竴涓椂闂存埅姝㈠埌褰撳墠
+			lastStore = commonService.getLastDepotStore(data.getDepotId());
+			if (null == lastStore) {
+				log.error(
+						"--------鍑哄叆搴撳畾鏃朵换鍔�-----娌℃湁鑾峰彇鍒颁粨搴撴渶鍚庡簱瀛樹俊鎭紝鍙栨秷鑷姩缁熻锛岃鏍稿涓氬姟閫昏緫--浠撳簱-{}",
+						data.getDepotId());
+				continue;
+			}
 
+			// 鍙湁鍑哄叆搴撶姸鎬佺殑浠撳簱鎵嶈繘琛岀粺璁★紝鍏朵粬鐘舵�佽〃绀哄嚭鍏ュ簱浣滀笟瀹屾垚锛屼笉鍦ㄦ墽琛岀粺璁�
+			if (DepotStatus.STATUS_2.getCode().equals(
+					lastStore.getDepotStatus())
+					|| DepotStatus.STATUS_4.getCode().equals(
+							lastStore.getDepotStatus())) {
 
-            map.put(key, data);
+				param = new InoutParam();
+				// param.setStart(lastStore.getCreateDate());
+				param.setEnd(new Date());
+				param.setDeptId(data.getDeptId());
+				param.setDepotId(data.getDepotId());
+				param.setCompanyId(data.getCompanyId());
+				param.setType(data.getType());
 
-            //鏍规嵁鏈�鍚庝竴杞﹁繘琛屾眹鎬荤粺璁★紝寮�濮嬫椂闂存槸浠撳簱搴撳瓨鏈�鍚庝竴涓椂闂存埅姝㈠埌褰撳墠
-            lastStore = commonService.getLastDepotStore(data.getDepotId());
-            if (null == lastStore) {
-                log.error("--------鍑哄叆搴撳畾鏃朵换鍔�-----娌℃湁鑾峰彇鍒颁粨搴撴渶鍚庡簱瀛樹俊鎭紝鍙栨秷鑷姩缁熻锛岃鏍稿涓氬姟閫昏緫--浠撳簱-{}", data.getDepotId());
-                continue;
-            }
+				// 鍑哄叆搴撻噸閲忓悎璁�
+				sumRecordWeight = inoutService.sumRecordWeight(param);
 
+				// 鏂板涓�鏉″簱瀛樿褰�
+				lastStore.setRemark("绯荤粺瀹氭椂鐢熸垚璁板綍");
+				lastStore.setId(ContextUtil.getUUID());
+				lastStore.setUpdateUser(null);
+				lastStore.setUpdateDate(new Date());
+				// lastStore.setCreateDate(new Date());
 
-            //鍙湁鍑哄叆搴撶姸鎬佺殑浠撳簱鎵嶈繘琛岀粺璁★紝鍏朵粬鐘舵�佽〃绀哄嚭鍏ュ簱浣滀笟瀹屾垚锛屼笉鍦ㄦ墽琛岀粺璁�
-            if (DepotStatus.STATUS_2.getCode().equals(lastStore.getDepotStatus()) ||
-                    DepotStatus.STATUS_4.getCode().equals(lastStore.getDepotStatus())) {
+				if (InoutConstant.TYPE_IN.equals(data.getType())) {
+					lastStore.setStorageReal(lastStore.getStorageReal()
+							+ sumRecordWeight);
+				}
 
-                param = new InoutParam();
-                //param.setStart(lastStore.getCreateDate());
-                param.setEnd(new Date());
-                param.setDeptId(data.getDeptId());
-                param.setDepotId(data.getDepotId());
-                param.setCompanyId(data.getCompanyId());
-                param.setType(data.getType());
+				if (InoutConstant.TYPE_OUT.equals(data.getType())) {
+					lastStore.setStorageReal(lastStore.getStorageReal()
+							- sumRecordWeight);
+				}
 
-                //鍑哄叆搴撻噸閲忓悎璁�
-                sumRecordWeight = inoutService.sumRecordWeight(param);
+				commonService.addDepotStore(lastStore, true);
+			}
 
-                //鏂板涓�鏉″簱瀛樿褰�
-                lastStore.setRemark("绯荤粺瀹氭椂鐢熸垚璁板綍");
-                lastStore.setId(ContextUtil.getUUID());
-                lastStore.setUpdateUser(null);
-                lastStore.setUpdateDate(new Date());
-               // lastStore.setCreateDate(new Date());
+		}
+	}
 
-                if (InoutConstant.TYPE_IN.equals(data.getType())) {
-                    lastStore.setStorageReal(lastStore.getStorageReal() + sumRecordWeight);
-                }
+	/**
+	 * 鍚屾閫氱煡鍗曞畬鎴愰噺锛屾牴鎹繎鏈熷嚭鍏ュ簱璁板綍锛屽鏋滄棤杩戞湡鍑哄叆搴撹褰曪紝鍒欒〃绀烘棤鍑哄叆搴撲綔涓氾紝鍙栨秷鎵ц
+	 *
+	 * @param companyId
+	 * @param listRecord
+	 */
+	public void noticeCompleteExe(String companyId, List<InoutData> listRecord) {
+		log.info("----------绯荤粺瀹氭椂鏇存柊鍑哄叆搴撻�氱煡鍗曞畬鎴愰噺----------");
 
-                if (InoutConstant.TYPE_OUT.equals(data.getType())) {
-                    lastStore.setStorageReal(lastStore.getStorageReal() - sumRecordWeight);
-                }
+		if (null == listRecord || listRecord.isEmpty()) {
+			log.info("-----------绯荤粺鑷姩鍚屾搴撳瓨锛岃繎鏈熸棤鍑哄叆搴撹褰曪紝鍙栨秷鍚屾閫氱煡鍗曞畬鎴愰噺鈥︹�}", companyId);
+			return;
+		}
+		
+		//TODO 寰呬紭鍖�
 
-                commonService.addDepotStore(lastStore, true);
-            }
+		// 鑾峰彇鎵�鏈夋湭瀹屾垚鐘舵�佺殑鍑哄簱閫氱煡鍗�
+		List<InoutNoticeOut> noticeOutList = inoutCommonService.getUnComNoticeOut(companyId);
 
-        }
-    }
+		// 鑾峰彇鎵�鏈夋湭瀹屾垚鐘舵�佺殑鍏ュ簱閫氱煡鍗�
+		List<InoutNoticeIn> noticeInList = inoutCommonService.getUnComNoticeIn(companyId);
+		
+		String deptId  = noticeInList.get(0).getDeptId();
 
+		// 鏇存柊鍏ュ簱閫氱煡鍗曞畬鎴愰噺
+		inoutCommonService.updateSumNoticeIn(deptId,
+				noticeInList);
 
-    /**
-     * 鍚屾閫氱煡鍗曞畬鎴愰噺锛屾牴鎹繎鏈熷嚭鍏ュ簱璁板綍锛屽鏋滄棤杩戞湡鍑哄叆搴撹褰曪紝鍒欒〃绀烘棤鍑哄叆搴撲綔涓氾紝鍙栨秷鎵ц
-     *
-     * @param companyId
-     * @param listRecord
-     */
-    public void noticeCompleteExe(String companyId, List<InoutData> listRecord) {
-        log.info("----------绯荤粺瀹氭椂鏇存柊鍑哄叆搴撻�氱煡鍗曞畬鎴愰噺----------");
-
-        if (null == listRecord || listRecord.isEmpty()) {
-            log.info("-----------绯荤粺鑷姩鍚屾搴撳瓨锛岃繎鏈熸棤鍑哄叆搴撹褰曪紝鍙栨秷鍚屾閫氱煡鍗曞畬鎴愰噺鈥︹�}", companyId);
-            return;
-        }
-
-
-        List<InoutSysConf> inoutSysConfList = inoutCommonService.getCacheInoutSysConf(companyId);
-
-        //涓嶉厤缃鏄庢病鏈夊惎鍔ㄥ嚭鍏ュ簱
-        if (null == inoutSysConfList || inoutSysConfList.isEmpty()) {
-            return;
-        }
-
-        //鑾峰彇鎵�鏈夋湭瀹屾垚鐘舵�佺殑鍑哄簱閫氱煡鍗�
-        List<InoutNoticeOut> noticeOutList = inoutCommonService.getUnComNoticeOut(companyId);
-
-
-        //鑾峰彇鎵�鏈夋湭瀹屾垚鐘舵�佺殑鍏ュ簱閫氱煡鍗�
-        List<InoutNoticeIn> noticeInList = inoutCommonService.getUnComNoticeIn(companyId);
-
-
-        for (InoutSysConf inoutSysConf : inoutSysConfList) {
-
-            //  鍒ゆ柇鍏ュ簱閫氱煡鍗曟槸鍚﹀惎鐢�
-        	 //鏇存柊鍏ュ簱閫氱煡鍗曞畬鎴愰噺
-            inoutCommonService.updateSumNoticeIn(inoutSysConf.getDeptId(), noticeInList);
-
-            //  鍒ゆ柇鍑哄簱閫氱煡鍗曟槸鍚﹀惎鐢�
-            //鏇存柊鍑哄簱閫氱煡鍗曞畬鎴愰噺
-            inoutCommonService.updateSumNoticeOut(inoutSysConf.getDeptId(), noticeOutList);
-        }
-    }
+		// 鏇存柊鍑哄簱閫氱煡鍗曞畬鎴愰噺
+		inoutCommonService.updateSumNoticeOut(deptId,noticeOutList);
+	}
 
 }

--
Gitblit v1.9.3