From 2f640b1038fa331954f78ed1f4317212cf5bb34d Mon Sep 17 00:00:00 2001 From: chenlu <1320612696@qq.com> Date: 星期五, 07 六月 2024 16:56:06 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override --- north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java | 162 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 149 insertions(+), 13 deletions(-) diff --git a/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java b/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java index 35bb246..ac2f718 100644 --- a/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java +++ b/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java @@ -3,6 +3,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.dynamic.datasource.annotation.DS; +import com.example.erp.dto.mm.FinishedOperateLogDTO; import com.example.erp.entity.mm.FinishedGoodsInventory; import com.example.erp.entity.mm.FinishedOperateLog; import com.example.erp.entity.pp.FlowCard; @@ -88,12 +89,14 @@ Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(flowCard.getOrder().getOrderId()); Integer ordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(flowCard.getOrder().getOrderId()); - System.out.println("璁㈠崟鎬绘暟:" + ordersum + "宸插叆搴撴暟閲忥細" + ordernumbersum + "鍑嗗鍏ュ簱鏁伴噺" + flowCard.getInventoryQuantity()); + /*System.out.println("璁㈠崟鎬绘暟:" + ordersum + "宸插叆搴撴暟閲忥細" + ordernumbersum + "鍑嗗鍏ュ簱鏁伴噺" + flowCard.getInventoryQuantity());*/ if (finishedGoodsInventorycount > 0) { //淇敼搴撳瓨琛ㄥ叆搴撴暟閲� finishedGoodsInventoryMapper.updateInventory(flowCard,storageRegion, remark); //淇敼娴佺▼鍗¤〃鍏ュ簱鏁伴噺 finishedGoodsInventoryMapper.updateflowcard(flowCard); + //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬� + finishedGoodsInventoryMapper.updateOrderWarehousingState(flowCard.getOrder().getOrderId(),1); //淇敼璁㈠崟鏄庣粏琛ㄥ叆搴撴暟閲� finishedGoodsInventoryMapper.updateIntOrderNumberConut(flowCard.getOrder().getOrderId(),flowCard.getOrderNumber(),flowCard.getInventoryQuantity()); //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍏ュ簱 @@ -107,8 +110,14 @@ finishedGoodsInventoryMapper.updateflowcard(flowCard); //淇敼璁㈠崟鏄庣粏琛ㄥ叆搴撴暟閲� finishedGoodsInventoryMapper.updateIntOrderNumberConut(flowCard.getOrder().getOrderId(),flowCard.getOrderNumber(),flowCard.getInventoryQuantity()); - //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬� - finishedGoodsInventoryMapper.updateOrderWarehousingState(flowCard.getOrder().getOrderId(),1); + if (ordersum == (ordernumbersum + flowCard.getInventoryQuantity())) { + //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬� + finishedGoodsInventoryMapper.updateOrderWarehousingState(flowCard.getOrder().getOrderId(),2); + }else{ + //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬� + finishedGoodsInventoryMapper.updateOrderWarehousingState(flowCard.getOrder().getOrderId(),1); + } + } } @@ -165,9 +174,9 @@ finishedOperateLogMapper.insertOutFinishedOperateLog(orderDetail,userName,oddNumber); Integer finishedGoodsInventorycount = finishedGoodsInventoryMapper.findOrderNumberdcount(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber()); - Integer finishedGoodsInventorybycount=finishedGoodsInventoryMapper.finishedGoodsInventorybycount(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber()); + Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(orderDetail.getDeliveryDetail().getOrderId()); - Integer ordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(orderDetail.getDeliveryDetail().getOrderId()); + Integer orderDeliveryQuantitySum = finishedGoodsInventoryMapper.findOrderDeliveryQuantitySum(orderDetail.getDeliveryDetail().getOrderId()); Integer deliverysum = finishedGoodsInventoryMapper.findDeliveryQuantity(orderDetail.getDeliveryDetail().getDeliveryId()); Integer deliverydetailsum = finishedGoodsInventoryMapper.findDeliverydetailsum(orderDetail.getDeliveryDetail().getDeliveryId(),0); @@ -175,27 +184,27 @@ deliverydetailsum=0; } - /*System.out.println("璁㈠崟鎬绘暟:" + ordersum + "璁㈠崟鍓╀綑鏁伴噺锛�" + ordernumbersum + "鍑嗗鍑哄簱鏁伴噺" + - orderDetail.getWarehouseNum()+ "鍙戣揣鏁伴噺" + orderDetail.getDeliveryNum()+ "鍙戣揣鎬绘暟" + + /*System.out.println("璁㈠崟鎬绘暟:" + ordersum + "璁㈠崟宸插彂鏁伴噺锛�" + orderDeliveryQuantitySum + "鍑嗗鍑哄簱鏁伴噺" + + orderDetail.getWarehouseNum()+ "鍙戣揣鏁伴噺" + orderDetail.getDeliveryDetail().getQuantity()+ "鍙戣揣鎬绘暟" + deliverysum+ "宸插彂鏁伴噺" + deliverydetailsum);*/ if (finishedGoodsInventorycount > 0) { - if(orderDetail.getWarehouseNum()>=orderDetail.getDeliveryNum()){ + if(orderDetail.getWarehouseNum()>=orderDetail.getDeliveryDetail().getQuantity()){ //淇敼搴撳瓨琛ㄥ簱瀛樻暟閲� - finishedGoodsInventoryMapper.updateInventoryInventoryOut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryNum()); + finishedGoodsInventoryMapper.updateInventoryInventoryOut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getQuantity()); //淇敼鍙戣揣鏄庣粏琛ㄧ姸鎬� - finishedGoodsInventoryMapper.updateDeliveryDetailState(orderDetail,0); + finishedGoodsInventoryMapper.updateDeliveryDetailState(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getDeliveryId(),0); //淇敼鍙戣揣琛ㄧ姸鎬� finishedGoodsInventoryMapper.updateDeliveryDeliveryState(orderDetail.getDeliveryDetail().getDeliveryId(),1); //淇敼璁㈠崟鏄庣粏琛ㄥ彂璐ф暟閲� - finishedGoodsInventoryMapper.updateOutOrderNumberConut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryNum()); + finishedGoodsInventoryMapper.updateOutOrderNumberConut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getQuantity()); //淇敼璁㈠崟琛ㄥ彂璐х姸鎬� finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),1); //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍙戣揣 - if (0 == (ordernumbersum - orderDetail.getWarehouseNum())) { + if (ordersum == (orderDeliveryQuantitySum + orderDetail.getWarehouseNum())) { //淇敼璁㈠崟琛ㄥ彂璐х姸鎬� finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),2); } - if (deliverysum==deliverydetailsum+orderDetail.getDeliveryNum()) { + if (deliverysum==deliverydetailsum+orderDetail.getDeliveryDetail().getQuantity()) { //淇敼鍙戣揣琛ㄧ姸鎬� finishedGoodsInventoryMapper.updateDeliveryDeliveryState(orderDetail.getDeliveryDetail().getDeliveryId(),2); } @@ -540,6 +549,133 @@ } + public Map<String, Object> getSelectStorageRecord(Integer pageNum, Integer pageSize, List<String> selectDate,String type, FinishedOperateLog finishedOperateLog) { + Integer offset = (pageNum-1)*pageSize; + String endDate = LocalDate.now().toString(); + String startDate = LocalDate.now().minusDays(15).toString(); + if(selectDate !=null && selectDate.size()==2){ + if(!selectDate.get(0).isEmpty()){ + startDate = selectDate.get(0); + } + if(!selectDate.get(1).isEmpty()){ + endDate = selectDate.get(1); + } + } + + Map<String, Object> map = new HashMap<>(); + map.put("data", finishedOperateLogMapper.getSelectStorageRecord(offset, pageSize,startDate, endDate,type, finishedOperateLog)); + map.put("total", finishedOperateLogMapper.getSelectStorageRecordLogPageTotal(offset, pageSize,startDate, endDate,type, finishedOperateLog)); + List<String> list = new ArrayList<>(); + list.add(startDate); + list.add(endDate); + map.put("selectDate",list); + return map; + } + + public Map<String, Object> getSelectFinishedOperateLogReport(Integer pageNum, Integer pageSize, List<String> selectDate, FinishedOperateLog finishedOperateLog) { + Integer offset = (pageNum-1)*pageSize; + String endDate = LocalDate.now().toString(); + String startDate = LocalDate.now().minusDays(15).toString(); + if(selectDate !=null && selectDate.size()==2){ + if(!selectDate.get(0).isEmpty()){ + startDate = selectDate.get(0); + } + if(!selectDate.get(1).isEmpty()){ + endDate = selectDate.get(1); + } + } + + Map<String, Object> map = new HashMap<>(); + map.put("data", finishedOperateLogMapper.getSelectFinishedOperateLogReport(offset, pageSize,startDate, endDate, finishedOperateLog)); + map.put("total", finishedOperateLogMapper.getSelectFinishedOperateLogReportPageTotal(offset, pageSize,startDate, endDate, finishedOperateLog)); + List<String> list = new ArrayList<>(); + list.add(startDate); + list.add(endDate); + map.put("selectDate",list); + return map; + } + + + public Boolean cancelFinishedGoodsInventoryStorage(Map<String,Object> object) { + boolean saveState = true; + //璁剧疆鍥炴粴鐐� + Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); + try { + + //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼 + List<FinishedOperateLog> finishedOperateLogslist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), FinishedOperateLog.class); + if (!finishedOperateLogslist.isEmpty()){ + for (FinishedOperateLog finishedOperateLog : finishedOperateLogslist) { + Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(finishedOperateLog.getOrderId()); + Integer ordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(finishedOperateLog.getOrderId()); + + if(Objects.equals(finishedOperateLog.getOperateType(), "鍏ュ簱")){ + //淇敼璁板綍琛� + finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"宸蹭綔搴�"); + //淇敼搴撳瓨琛ㄥ叆搴撴暟閲� + finishedGoodsInventoryMapper.updateInventoryOut(finishedOperateLog); + //淇敼娴佺▼鍗¤〃鍏ュ簱鏁伴噺 + finishedGoodsInventoryMapper.updateflowcardOut(finishedOperateLog); + //淇敼璁㈠崟鏄庣粏琛ㄥ叆搴撴暟閲� + finishedGoodsInventoryMapper.updateOutOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getQuantity()); + //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍏ュ簱 + if (Objects.equals(ordersum, ordernumbersum)) { + //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬� + finishedGoodsInventoryMapper.updateOrderWarehousingState(finishedOperateLog.getOrderId(),1); + } + if (ordernumbersum-finishedOperateLog.getQuantity()==0) { + //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬� + finishedGoodsInventoryMapper.updateOrderWarehousingState(finishedOperateLog.getOrderId(),0); + } + + }else if(Objects.equals(finishedOperateLog.getOperateType(), "鍑哄簱")){ + //淇敼璁板綍琛� + finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"宸蹭綔搴�"); + //淇敼搴撳瓨琛ㄥ簱瀛樻暟閲� + finishedGoodsInventoryMapper.updateInventoryInventoryInt(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getQuantity()); + //淇敼鍙戣揣鏄庣粏琛ㄧ姸鎬� + finishedGoodsInventoryMapper.updateDeliveryDetailState(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getOperationOrderNumber(),1); + //淇敼鍙戣揣琛ㄧ姸鎬� + finishedGoodsInventoryMapper.updateDeliveryDeliveryState(finishedOperateLog.getOperationOrderNumber(),0); + //淇敼璁㈠崟鏄庣粏琛ㄥ簱鍐呮暟閲� + finishedGoodsInventoryMapper.updateIntOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getQuantity()); + //淇敼璁㈠崟琛ㄥ彂璐х姸鎬� + finishedGoodsInventoryMapper.updateDeliveryDeliveryState(finishedOperateLog.getOrderId(),1); + //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍙戣揣 + if (ordernumbersum-finishedOperateLog.getQuantity()==0) { + //淇敼璁㈠崟琛ㄥ彂璐х姸鎬� + finishedGoodsInventoryMapper.updateOrderDeliveryState(finishedOperateLog.getOrderId(),1); + + } + if (ordersum==finishedOperateLog.getQuantity()+ordernumbersum) { + //淇敼璁㈠崟琛ㄥ彂璐х姸鎬� + finishedGoodsInventoryMapper.updateOrderDeliveryState(finishedOperateLog.getOrderId(),0); + } + + } + + } + } + + } catch (Exception e) { + TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); + //灏嗗紓甯镐紶鍏ユ暟鎹簱 + SysError sysError = new SysError(); + sysError.setError(e.toString()); + sysError.setFunc("saveOrder"); + sysErrorService.insert(sysError); + saveState = false; + + } + return saveState; + + } + + public List<FinishedOperateLogDTO> exportFinishedOperateLogReport(List<LocalDate> dates) { + return finishedOperateLogMapper.exportFinishedOperateLogReport(dates); + } + + -- Gitblit v1.8.0