From 8a6e6f50fb68655f10d27933fdcb622976991330 Mon Sep 17 00:00:00 2001 From: 廖井涛 <2265517004@qq.com> Date: 星期五, 15 三月 2024 14:39:35 +0800 Subject: [PATCH] 添加出入库返库界面 --- north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 110 insertions(+), 8 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..cfc4f0f 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 @@ -94,6 +94,8 @@ finishedGoodsInventoryMapper.updateInventory(flowCard,storageRegion, remark); //淇敼娴佺▼鍗¤〃鍏ュ簱鏁伴噺 finishedGoodsInventoryMapper.updateflowcard(flowCard); + //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬� + finishedGoodsInventoryMapper.updateOrderWarehousingState(flowCard.getOrder().getOrderId(),1); //淇敼璁㈠崟鏄庣粏琛ㄥ叆搴撴暟閲� finishedGoodsInventoryMapper.updateIntOrderNumberConut(flowCard.getOrder().getOrderId(),flowCard.getOrderNumber(),flowCard.getInventoryQuantity()); //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍏ュ簱 @@ -175,19 +177,19 @@ deliverydetailsum=0; } - /*System.out.println("璁㈠崟鎬绘暟:" + ordersum + "璁㈠崟鍓╀綑鏁伴噺锛�" + ordernumbersum + "鍑嗗鍑哄簱鏁伴噺" + - orderDetail.getWarehouseNum()+ "鍙戣揣鏁伴噺" + orderDetail.getDeliveryNum()+ "鍙戣揣鎬绘暟" + - deliverysum+ "宸插彂鏁伴噺" + deliverydetailsum);*/ + System.out.println("璁㈠崟鎬绘暟:" + ordersum + "璁㈠崟鍓╀綑鏁伴噺锛�" + ordernumbersum + "鍑嗗鍑哄簱鏁伴噺" + + 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); //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍙戣揣 @@ -195,7 +197,7 @@ //淇敼璁㈠崟琛ㄥ彂璐х姸鎬� 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 +542,106 @@ } + 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 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()); + System.out.println(finishedOperateLog.getOperateType()); + 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; + + } + + -- Gitblit v1.8.0