From 7fff423ea251afed364dc523fb5be4d0b23f39b1 Mon Sep 17 00:00:00 2001 From: YYC <1833023622@qq.com> Date: 星期三, 05 七月 2023 09:13:12 +0800 Subject: [PATCH] 出库登记 --- igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java | 152 +++++++++++++++++--------------------------------- 1 files changed, 53 insertions(+), 99 deletions(-) diff --git a/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java b/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java index 864fa2a..73cbf90 100644 --- a/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java +++ b/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java @@ -1,8 +1,6 @@ package com.ld.igds.inout.service.impl; import com.bstek.dorado.data.entity.EntityUtils; -import com.ld.igds.common.CoreCommonService; -import com.ld.igds.constant.BizType; import com.ld.igds.constant.Constant; import com.ld.igds.constant.RedisConst; import com.ld.igds.data.CommonData; @@ -15,12 +13,10 @@ import com.ld.igds.inout.mapper.InoutCheckMapper; import com.ld.igds.inout.mapper.InoutRecordMapper; import com.ld.igds.inout.service.InoutService; -import com.ld.igds.models.Depot; import com.ld.igds.models.InoutPrice; import com.ld.igds.util.ContextUtil; import com.ld.igds.util.DateUtil; import com.ld.igds.util.RedisUtil; -import com.ld.igds.websocket.WebSocketServer; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateFormatUtils; @@ -29,9 +25,6 @@ import javax.annotation.Resource; import java.util.*; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.FutureTask; @Slf4j @Component @@ -43,8 +36,6 @@ private InoutCheckMapper inoutCheckMapper; @Resource private RedisUtil redisUtil; - @Resource - private CoreCommonService commonService; @Override public InoutData inoutProgressQuery(InoutParam param) throws Exception { @@ -57,8 +48,6 @@ if (null != result) { return result; } - - List<InoutData> list = inoutMapper.inoutProgressQuery(param); if (null == list || list.size() == 0) return null; @@ -106,16 +95,18 @@ } @Override - public String inoutStop(InoutParam param) { + public String inoutStop(InoutParam param) throws Exception { if (StringUtils.isEmpty(param.getCompanyId())) { - param.setCompanyId(ContextUtil.getCompanyId()); + param.setCompanyId(ContextUtil.getDefaultCompanyId()); } + + + param.setProgress(InoutConstant.PROGRESS_RECORD); + param.setRecordStatus(InoutConstant.RECORD_STATUS_DEL); + // 缂撳瓨涓垹闄� delFromCache(param.getDeptId(), param.getType(), param.getId()); - - param.setProgress(InoutConstant.PROGRESS_RECORD); - param.setRecordStatus(InoutConstant.RECORD_STATUS_ERROR); inoutMapper.inoutStop(param); @@ -153,9 +144,18 @@ data.setUserName(""); } - inoutMapper.insertData(data); + InoutData newData; + if (EntityUtils.isEntity(data)) { + newData = new InoutData(); + BeanUtils.copyProperties(data, newData, new String[]{"checkItems", "files"}); + } else { + newData = data; + } - updateInoutCache(data); + inoutMapper.insertData(newData); + + + updateInoutCache(newData); } catch (Exception e) { log.error("------------鍑哄叆搴撴墽琛屼繚瀛樺嚭閿�---{}", e); @@ -208,7 +208,7 @@ //鏇存柊缂撳瓨 updateInoutCache(newData); - + return null; } @@ -237,6 +237,10 @@ // 璁剧疆韬唤璇佸彿鐨勬ā绯婃煡璇㈡潯浠� if (null != param.getUserId()) { param.setUserId("%" + param.getUserId() + "%"); + } + + if (null != param.getRecordStatus() && InoutConstant.RECORD_STATUS_NORMAL.equals(param.getRecordStatus())) { + param.setRecordStatus(null); } List<InoutData> records = inoutMapper.pageRecordData(page, param); @@ -281,12 +285,15 @@ @Override public String toComplete(InoutParam param) throws Exception { + param.setUpdateTime(new Date()); + if (null == param.getCompanyId()) { param.setCompanyId(ContextUtil.getDefaultCompanyId()); } // 娓呴櫎缂撳瓨 this.delFromCache(param.getDeptId(), param.getType(), param.getId()); + inoutMapper.toComplete(param); @@ -296,7 +303,7 @@ @Override public String quickComplete(InoutData data) throws Exception { if (null == data.getCompanyId()) { - data.setCompanyId(ContextUtil.getCompanyId()); + data.setCompanyId(ContextUtil.getDefaultCompanyId()); } if (null == data.getCompleteTime()) { data.setCompleteTime(new Date()); @@ -307,7 +314,6 @@ if (null == data.getEmptyWeightTime()) { data.setEmptyWeightTime(new Date()); } - //璋冩暣鏃堕棿宸� if (InoutConstant.TYPE_IN.equals(data.getType())) { @@ -336,15 +342,10 @@ // 璁剧疆娴佺▼缁撴潫 data.setProgress(InoutConstant.PROGRESS_RECORD); - - if (null == data.getFoodType()) { - // 鏍规嵁浠撳簱淇℃伅鑾峰彇缂撳瓨 - Depot depot = commonService.getCacheDepot(data.getCompanyId(), data.getDepotId()); - data.setFoodType(depot.getFoodType()); - } - + //鎵ц鏇存柊 inoutMapper.updateData(data); + //鏇存柊缂撳瓨 updateInoutCache(data); return null; @@ -365,8 +366,6 @@ } else { setInoutCache(data.getDeptId(), data); } - //鎺ㄩ�佸ぇ灞� - notifyToScreen(data.getCompanyId(), data.getDeptId(), data.getProgress()); } @@ -487,7 +486,7 @@ public String addInoutDataByLossOver(InoutData data) { // 鑾峰彇涓婁竴杞︾殑娴佹按鏁版嵁 - // InoutData inoutData = this.getLastRecord(data.getCompanyId(), data.getDepotId()); + // InoutData inoutData = this.getLastRecord(data.getCompanyId(), data.getDepotId()); // // 璁剧疆娴佹按鐨勫簱瀛� // if (InoutConstant.TYPE_IN.equals(inoutData.getType())) { @@ -508,16 +507,6 @@ public void delInoutDataByLossOver(InoutParam param) { inoutMapper.deleteData(param); } - - @Override - public void setCheckCache(InoutData data) { - - String cacheKey = RedisConst.buildKey(data.getCompanyId(), data.getCheckId()); - - //鍖栭獙缁撴灉瀛樺叆缂撳瓨3澶� - redisUtil.set(cacheKey, data.getCheckItems(), 60 * 60 * 24 * 3); - } - /** * 鍑哄叆搴撴祦绋婭D鍒涘缓 202001030001 202001030001 @@ -622,53 +611,6 @@ } /** - * 鎺ㄩ�佸埌澶у睆锛屽垽鏂彧鏈夊綋澶у睆鍦ㄧ嚎鏃跺�欐墠澶勭悊褰撳墠閫昏緫锛岄伩鍏嶉〉闈㈠崱椤匡紝璋冪敤瀛愪换鍔″畬鎴愭帹閫� - * - * @param companyId 缁勭粐缂栧彿 - * @param deptId 鍒嗗簱缂栧彿 - * @param progress 娴佽浆鑺傜偣 - */ - public void notifyToScreen(String companyId, String deptId, String progress) { - - // 鎺ㄩ�佸埌澶у睆 - List<InoutData> curList = this.getListInoutCache(deptId); - - List<InoutData> completeList = this.getCompleteListInoutCache(deptId); - - - if (null == WebSocketServer.contextOnLineMap.get(BizType.SCREEN - .getCode())) { - WebSocketServer.contextOnLineMap.put(BizType.SCREEN.getCode(), - false); - } - if (null == WebSocketServer.contextOnLineMap.get(BizType.SCREEN_INOUT - .getCode())) { - WebSocketServer.contextOnLineMap.put( - BizType.SCREEN_INOUT.getCode(), false); - } - if (null == WebSocketServer.contextOnLineMap.get(BizType.SCREEN_CHECK - .getCode())) { - WebSocketServer.contextOnLineMap.put( - BizType.SCREEN_CHECK.getCode(), false); - } - - if (WebSocketServer.contextOnLineMap.get(BizType.SCREEN.getCode()) - || WebSocketServer.contextOnLineMap.get(BizType.SCREEN_INOUT - .getCode()) - || WebSocketServer.contextOnLineMap.get(BizType.SCREEN_CHECK - .getCode())) { - - - // 鍒涘缓涓�涓瓙浠诲姟杩涜鎺ㄩ�佷俊鎭� - FutureTask<String> futureTask = new FutureTask<>(new NotifyScreenTask(curList, completeList, deptId)); - - ExecutorService executorService = Executors.newCachedThreadPool(); - executorService.submit(futureTask); - executorService.shutdown(); - } - } - - /** * 鍒涘缓鍑哄叆搴搆ey * * @param deptId @@ -718,7 +660,8 @@ data.setCompanyId(ContextUtil.subDeptId(null)); } - int num = inoutCheckMapper.updateSampleData(data); + inoutCheckMapper.updateSampleData(data); + return null; } @@ -748,26 +691,37 @@ } @Override - public String updateCheckData(InoutCheckData data) { - if (StringUtils.isEmpty(data.getCompanyId())) { - data.setCompanyId(ContextUtil.getCompanyId()); - } - if (StringUtils.isEmpty(data.getDeptId())) { - data.setCompanyId(ContextUtil.subDeptId(null)); - } + public String updateCheckData(InoutData data) { + data.setUpdateTime(new Date()); - int num = inoutCheckMapper.updateCheckData(data); + inoutCheckMapper.updateCheckData(data); + + //鏇存柊缂撳瓨 + updateInoutCache(data); + return null; } @Override public List<InoutPrice> getPrice(InoutCheckParam param) { - if(null == param.getStart()){ + if (null == param.getStart()) { param.setStart(new Date()); } - if(null == param.getEnd()){ + if (null == param.getEnd()) { param.setEnd(new Date()); } return inoutCheckMapper.getPrice(param); } + + @Override + public InoutCheckData inoutDataByCheckId(InoutCheckParam param) throws Exception { + List<InoutCheckData> list = inoutCheckMapper.inoutDataByCheckId(param); + if (null == list || list.size() == 0) + return null; + if (list.size() == 1) { + return list.get(0); + } else { + throw new Exception("褰撳墠鏉′欢涓嬪瓨鍦ㄥ涓弧瓒虫潯浠剁殑鏁版嵁锛岃鏍告煡锛侊紒"); + } + } } -- Gitblit v1.9.3