north-glass-erp/northglass-erp/package-lock.json
@@ -112,7 +112,7 @@ }, "node_modules/@element-plus/icons-vue": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", "peerDependencies": { "vue": "^3.2.0" @@ -1150,7 +1150,7 @@ }, "node_modules/dayjs": { "version": "1.11.13", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" }, "node_modules/debug": { @@ -1208,7 +1208,7 @@ }, "node_modules/element-plus": { "version": "2.9.3", "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.9.3.tgz", "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.9.3.tgz", "integrity": "sha512-6tSLp5XytDS4TMZ0P3aGZnr7MXTagfNycepNfIDitd9IgwM9y01+Ssu6mglNi8RiXYhek6LBWNOd/cvpIO12+w==", "dependencies": { "@ctrl/tinycolor": "^3.4.1", @@ -7356,7 +7356,7 @@ }, "@element-plus/icons-vue": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", "requires": {} }, @@ -8012,7 +8012,7 @@ }, "dayjs": { "version": "1.11.13", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" }, "debug": { @@ -8056,7 +8056,7 @@ }, "element-plus": { "version": "2.9.3", "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.9.3.tgz", "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.9.3.tgz", "integrity": "sha512-6tSLp5XytDS4TMZ0P3aGZnr7MXTagfNycepNfIDitd9IgwM9y01+Ssu6mglNi8RiXYhek6LBWNOd/cvpIO12+w==", "requires": { "@ctrl/tinycolor": "^3.4.1", north-glass-erp/northglass-erp/src/stores/sd/companySet/Ìì½ò±±²£.js
@@ -29,6 +29,7 @@ longSide:null,//订åå建æé¿è¾¹æç¤ºé¢è² nullä¸æç¤ºé¢è² showDeliveryCreator:true,//åè´§ååå»ºäººå æ¾ç¤ºæè åæ¾ç¤º falseåæ¾ç¤º deliveryRemark: ['夿³¨:æ¬æ¹ç»ç为ä¼çåæ ¼åï¼è¯·å¨å¸è´§æ¶,å½é¢æ¶ç¹éªæ¶ãå¦æè´¨éé®é¢å¨ä¸å¨å 䏿¬å ¬å¸èç³»,å¦åæ¦ä¸è´è´£ï¼'], deliveryOutbound: false,//åè´§é»è®¤åºåº //天津 printLabel: { custom: (item1) => { north-glass-erp/northglass-erp/src/stores/sd/companySet/³£ÖݼªÀû.js
@@ -29,6 +29,7 @@ longSide:6500,//订åå建æé¿è¾¹æç¤ºé¢è² showDeliveryCreator:true,//åè´§ååå»ºäººå æ¾ç¤ºæè åæ¾ç¤º falseåæ¾ç¤º deliveryRemark: ['夿³¨:æ¬æ¹ç»ç为ä¼çåæ ¼åï¼è¯·å¨å¸è´§æ¶,å½é¢æ¶ç¹éªæ¶ãå¦æè´¨éé®é¢å¨ä¸å¨å 䏿¬å ¬å¸èç³»,å¦åæ¦ä¸è´è´£ï¼'], deliveryOutbound: true,//åè´§é»è®¤åºåº //天津 printLabel: { custom: (item1) => { north-glass-erp/northglass-erp/src/stores/sd/companySet/н®ºãöÎ.js
@@ -1,5 +1,4 @@ import {defineStore} from "pinia"; import {filterChanged} from "@/hook"; export default defineStore('companyInfo', { @@ -30,6 +29,7 @@ longSide:null,//订åå建æé¿è¾¹æç¤ºé¢è² showDeliveryCreator:true,//åè´§ååå»ºäººå æ¾ç¤ºæè åæ¾ç¤º falseåæ¾ç¤º deliveryRemark: ['夿³¨:æ¬æ¹ç»ç为ä¼çåæ ¼åï¼è¯·å¨å¸è´§æ¶,å½é¢æ¶ç¹éªæ¶ãå¦æè´¨éé®é¢å¨ä¸å¨å 䏿¬å ¬å¸èç³»,å¦åæ¦ä¸è´è´£ï¼'], deliveryOutbound: false,//åè´§é»è®¤åºåº //天津 printLabel: { north-glass-erp/northglass-erp/src/stores/sd/companySet/½ð»ªÌì³É.js
@@ -31,6 +31,7 @@ deliveryRemark: ['温馨æç¤ºï¼è´§å°å·¥å°æå·¥ååï¼è¯·äºäºå¤©å å®è£ 宿¯ï¼å¦æªè½åæ¶å®è£ 宿¯ï¼è¯·æ¾ç½®äºé´åå¹²ç¥å¤ï¼å¹¶å好鲿鲿·çæªæ½ï¼é²æ¢ç»çåéï¼ææåçéèç»ç请å¿ç¨å¸¦é ¸æ§æç¢±æ§çæ¶²ä½æ¸ æ´èé¢ã', '声æï¼è´§å°å·¥å°æå·¥ååï¼å¦è¥è´µå¸ä¸åæ¶çå®è£ ææªå鲿鲿·æªæ½å¯¼è´çç»çåéï¼æå¸æ¦ä¸è´è´£ã', 'æ¶è´§æ¶ééªæ¶äº§åæ°éãè§æ ¼åææ ç ´æï¼å¦åç°é®é¢éäºæ¶è´§ä¸æ¥å ï¼ä»¥ä¹¦é¢éç¥å¹¶éä¸ç°åºè¯æææï¼å¦ç ´æç §ççï¼ï¼ç¸å ³è¯æèµæä¸è¶³ï¼æå¨ä¸è¿°æ¥æå æªæåºè´¨éå¼è®®çï¼é¾æè§ä¸ºäº§ååæ ¼ï¼æå¸å°ä¸äºæ¿æ ä»»ä½è´£ä»»ãæ¬è¯·çæï¼'], deliveryOutbound: false,//åè´§é»è®¤åºåº //天津 printLabel: { custom: (item1) => { north-glass-erp/northglass-erp/src/views/mm/productStock/ProductStock.vue
@@ -6,6 +6,7 @@ import {ElMessage} from "element-plus"; import {useRouter,useRoute,onBeforeRouteUpdate} from "vue-router"; import { useI18n } from 'vue-i18n' import companyInfo from "@/stores/sd/companyInfo"; //è¯è¨è·å const { t } = useI18n() @@ -13,6 +14,7 @@ const router = useRouter() const route = useRoute() const company = companyInfo() let indexFlag=$ref(1) function changeRouter(index){ indexFlag=index @@ -25,7 +27,7 @@ <el-breadcrumb :separator-icon="ArrowRight"> <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/productStock/productStockList' }" >{{$t('productStock.inventoryQuery')}}</el-breadcrumb-item> <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/productStock/createProductStock' }">{{$t('productStock.finishedProductWarehousing')}}</el-breadcrumb-item> <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/productStock/finishedProductOut' }">{{$t('productStock.finishedProductOutbound')}}</el-breadcrumb-item> <el-breadcrumb-item @click="changeRouter(3)" v-if="company.deliveryOutbound===false" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/productStock/finishedProductOut' }">{{$t('productStock.finishedProductOutbound')}}</el-breadcrumb-item> <!-- <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''" :to="{ path: '/main/productStock/FinishedProductReturn' }">{{$t('productStock.finishedProductOrderReturn')}}</el-breadcrumb-item>--> <el-breadcrumb-item v-show="false" :to="{ path: '/main/order/orderReport' }">{{$t('productStock.reportForms')}}</el-breadcrumb-item> <!-- <el-breadcrumb-item :to="{ path: '/main/productStock/OrderAllocation' }">订åè°æ¨</el-breadcrumb-item>--> north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue
@@ -213,8 +213,13 @@ titleUploadData.value=deepClone(res.data.delivery) titleUploadData.value.deliveryId=str //夿æ¯å¦åè´§åºåº if(!company.deliveryOutbound){ if(titleUploadData.value.stockState!==0){ gridOptions.toolbarConfig.buttons[2].disabled = true } } //æ ¹æ®å®¡æ ¸ç¶ææ¾ç¤ºå®¡æ ¸æé®æè æ¯å审æé® if(titleUploadData.value.deliveryState!==0){ gridOptions.toolbarConfig.buttons[1].disabled = true gridOptions.toolbarConfig.buttons[0].disabled = true @@ -222,9 +227,7 @@ if(titleUploadData.value.deliveryState===0){ gridOptions.toolbarConfig.buttons[2].disabled = true } if(titleUploadData.value.stockState!==0){ gridOptions.toolbarConfig.buttons[2].disabled = true } pageNum=1 produceList = deepClone(res.data.data) @@ -447,11 +450,12 @@ deliveryId: route.query.deliveryID, type: 2, userName:userStore.user.userName, userId:userStore.user.userId userId:userStore.user.userId, deliveryOutbound:company.deliveryOutbound }) request.post("/delivery/updateDeliveryToExamine", flowData.value).then((res) => { if (res.code == 200 && res.data===true) { if (res.code == 200 && res.data==="true") { ElMessage.success(t('basicData.msg.ReviewSuccess')) //router.push({path: '/main/delivery/selectDelivery', query:{random:Math.random()}}) router.push({path:'/main/delivery/createDelivery',query:{ @@ -471,11 +475,12 @@ deliveryId: route.query.deliveryID, type: 0, userName:userStore.user.userName, userId:userStore.user.userId userId:userStore.user.userId, deliveryOutbound:company.deliveryOutbound }) request.post("/delivery/updateDeliveryToExamine", flowData.value).then((res) => { if (res.code == 200 && res.data===true) { if (res.code == 200 && res.data==="true") { ElMessage.success(t('basicData.msg.cancelReviewSuccess')) //router.push({path: '/main/delivery/selectDelivery', query:{random:Math.random()}}) router.push({path:'/main/delivery/createDelivery',query:{ north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedGoodsInventoryMapper.java
@@ -96,6 +96,8 @@ @Param("pageSize") Integer pageSize, @Param("orderDetail") OrderDetail orderDetail); List<OrderDetail> getSelectDeliveryDetailDeliveryId(@Param("deliveryId") String deliveryId); Map<String,Integer> getSelectDeliveryDetailPageTotal(Integer offset, Integer pageSize,OrderDetail orderDetail); List<OrderDetail> getSelectAllocate(@Param("offset") Integer offset, north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedOperateLogMapper.java
@@ -64,6 +64,8 @@ @Param("pageSize") Integer pageSize,String startDate, String endDate,String type, @Param("finishedOperateLog") FinishedOperateLog finishedOperateLog); List<FinishedOperateLog> getSelectStorageRecordDeliveryId(@Param("deliveryId") String deliveryId,String type); Map<String,Integer> getSelectStorageRecordLogPageTotal(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize,String startDate, String endDate,String type, @Param("finishedOperateLog") FinishedOperateLog finishedOperateLog); north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java
@@ -207,67 +207,9 @@ //è·å对象éå循ç¯è¿è¡æ°å¢ä¿®æ¹ List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), OrderDetail.class); if (!orderDetaillist.isEmpty()){ for (OrderDetail orderDetail : orderDetaillist) { //è·ååå· String oddNumber= orderNumberSetting("åºåº"); OrderDetail orderDetailNew= finishedGoodsInventoryMapper.findOrderDetailNumberd(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber()); //æ·»å åºå ¥åºè®°å½ finishedOperateLogMapper.insertOutFinishedOperateLog(orderDetail,userName,oddNumber); Integer finishedGoodsInventorycount = finishedGoodsInventoryMapper.findOrderNumberdcount(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber()); Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(orderDetail.getDeliveryDetail().getOrderId()); Integer orderNumberdsum = finishedGoodsInventoryMapper.findOrderNumberdsum(orderDetail.getDeliveryDetail().getOrderId()); Integer deliverysum = finishedGoodsInventoryMapper.findDeliveryQuantity(orderDetail.getDeliveryDetail().getDeliveryId()); Integer deliverydetailsum = finishedGoodsInventoryMapper.findDeliverydetailsum(orderDetail.getDeliveryDetail().getDeliveryId(),0); if(deliverydetailsum==null){ deliverydetailsum=0; } DeliveryDetail deliveryDetail=finishedGoodsInventoryMapper.findDeliverydetail(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getDeliveryId()); /*System.out.println("è®¢åæ»æ°:" + ordersum + "订ååºåæ°ï¼" + orderNumberdsum + "åå¤åºåºæ°é" + orderDetail.getWarehouseNum()+ "åè´§æ°é" + orderDetail.getDeliveryDetail().getQuantity()+ "åè´§æ»æ°" + deliverysum+ "已忰é" + deliverydetailsum);*/ //夿åè´§åçåºåæ¯å¦åå¨ if (finishedGoodsInventorycount > 0) { //夿åè´§åæ¯å¦å·²åºåº if(deliveryDetail==null){ if(orderDetailNew.getWarehouseNum()>=orderDetail.getDeliveryDetail().getQuantity()){ //ä¿®æ¹åºå表åºåæ°é finishedGoodsInventoryMapper.updateInventoryInventoryOut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getQuantity()); //ä¿®æ¹åè´§æç»è¡¨ç¶æ 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.getDeliveryDetail().getQuantity()); //ä¿®æ¹è®¢å表åè´§ç¶æ finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),1); //å¤æè®¢åæ¯å¦å ¨é¨åè´§ if (orderNumberdsum == orderDetail.getWarehouseNum()) { //if (ordersum == (orderDeliveryQuantitySum + orderDetail.getWarehouseNum())) { //ä¿®æ¹è®¢å表åè´§ç¶æ finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),2); } if (deliverysum==deliverydetailsum+orderDetail.getDeliveryDetail().getQuantity()) { //ä¿®æ¹åè´§è¡¨ç¶æ finishedGoodsInventoryMapper.updateDeliveryDeliveryState(orderDetail.getDeliveryDetail().getDeliveryId(),2); } }else{ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); return "false3"; } }else{ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); return "false1"; } }else{ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); return "false2"; } if(!Objects.equals(deliveryDetailLogic(orderDetaillist, savePoint, userName), "true")) { return deliveryDetailLogic(orderDetaillist, savePoint, userName); } } @@ -691,69 +633,8 @@ //è·å对象éå循ç¯è¿è¡æ°å¢ä¿®æ¹ 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()); Integer deliverysum = finishedGoodsInventoryMapper.findDeliveryQuantity(finishedOperateLog.getOperationOrderNumber()); Integer deliverydetailsum = finishedGoodsInventoryMapper.findDeliverydetailsum(finishedOperateLog.getOperationOrderNumber(),1); if(Objects.equals(finishedOperateLog.getOperateType(), "å ¥åº")){ Delivery delivery = finishedGoodsInventoryMapper.findOrderDelivery(finishedOperateLog.getOrderId()); if(delivery==null){ //ä¿®æ¹è®°å½è¡¨ finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"å·²ä½åº"); //ä¿®æ¹åºåè¡¨å ¥åºæ°é finishedGoodsInventoryMapper.updateInventoryOut(finishedOperateLog); if(finishedOperateLog.getProcessId()!=null){ //ä¿®æ¹æµç¨å¡è¡¨å ¥åºæ°é 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); } log.setFunction("cancelFinishedGoodsInventoryStorageå ¥åº"); }else{ return "false1"; } }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(),1); //ä¿®æ¹è®¢åæç»è¡¨åºå æ°é finishedGoodsInventoryMapper.updateIntOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(), Long.valueOf(finishedOperateLog.getQuantity())); //ä¿®æ¹è®¢å表åè´§ç¶æ finishedGoodsInventoryMapper.updateOrderDeliveryState(finishedOperateLog.getOrderId(),1); //å¤æè®¢åæ¯å¦å ¨é¨åè´§ if (ordersum==finishedOperateLog.getQuantity()+ordernumbersum){ //ä¿®æ¹è®¢å表åè´§ç¶æ finishedGoodsInventoryMapper.updateOrderDeliveryState(finishedOperateLog.getOrderId(),0); } if (deliverysum==finishedOperateLog.getQuantity()+deliverydetailsum) { //ä¿®æ¹åè´§è¡¨ç¶æ finishedGoodsInventoryMapper.updateDeliveryDeliveryState(finishedOperateLog.getOperationOrderNumber(),0); } log.setFunction("cancelFinishedGoodsInventoryStorageåºåº"); } if(!Objects.equals(cancelDeliveryDetailLogic(finishedOperateLogslist, savePoint, object.get("userName").toString(), log), "true")){ return cancelDeliveryDetailLogic(finishedOperateLogslist,savePoint,object.get("userName").toString(),log); } } logService.saveLog(log); @@ -907,4 +788,139 @@ map.put("data", list); return map; } public String deliveryDetailLogic(List<OrderDetail> list,Object savePoint,String userName) { for (OrderDetail orderDetail : list) { //è·ååå· String oddNumber= orderNumberSetting("åºåº"); OrderDetail orderDetailNew= finishedGoodsInventoryMapper.findOrderDetailNumberd(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber()); //æ·»å åºå ¥åºè®°å½ finishedOperateLogMapper.insertOutFinishedOperateLog(orderDetail,userName,oddNumber); Integer finishedGoodsInventorycount = finishedGoodsInventoryMapper.findOrderNumberdcount(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber()); Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(orderDetail.getDeliveryDetail().getOrderId()); Integer orderNumberdsum = finishedGoodsInventoryMapper.findOrderNumberdsum(orderDetail.getDeliveryDetail().getOrderId()); Integer deliverysum = finishedGoodsInventoryMapper.findDeliveryQuantity(orderDetail.getDeliveryDetail().getDeliveryId()); Integer deliverydetailsum = finishedGoodsInventoryMapper.findDeliverydetailsum(orderDetail.getDeliveryDetail().getDeliveryId(),0); if(deliverydetailsum==null){ deliverydetailsum=0; } DeliveryDetail deliveryDetail=finishedGoodsInventoryMapper.findDeliverydetail(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getDeliveryId()); /*System.out.println("è®¢åæ»æ°:" + ordersum + "订ååºåæ°ï¼" + orderNumberdsum + "åå¤åºåºæ°é" + orderDetail.getWarehouseNum()+ "åè´§æ°é" + orderDetail.getDeliveryDetail().getQuantity()+ "åè´§æ»æ°" + deliverysum+ "已忰é" + deliverydetailsum);*/ //夿åè´§åçåºåæ¯å¦åå¨ if (finishedGoodsInventorycount > 0) { //夿åè´§åæ¯å¦å·²åºåº if(deliveryDetail==null){ if(orderDetailNew.getWarehouseNum()>=orderDetail.getDeliveryDetail().getQuantity()){ //ä¿®æ¹åºå表åºåæ°é finishedGoodsInventoryMapper.updateInventoryInventoryOut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getQuantity()); //ä¿®æ¹åè´§æç»è¡¨ç¶æ 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.getDeliveryDetail().getQuantity()); //ä¿®æ¹è®¢å表åè´§ç¶æ finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),1); //å¤æè®¢åæ¯å¦å ¨é¨åè´§ if (Objects.equals(orderNumberdsum, orderDetail.getWarehouseNum())) { //if (ordersum == (orderDeliveryQuantitySum + orderDetail.getWarehouseNum())) { //ä¿®æ¹è®¢å表åè´§ç¶æ finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),2); } if (deliverysum==deliverydetailsum+orderDetail.getDeliveryDetail().getQuantity()) { //ä¿®æ¹åè´§è¡¨ç¶æ finishedGoodsInventoryMapper.updateDeliveryDeliveryState(orderDetail.getDeliveryDetail().getDeliveryId(),2); } }else{ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); return "false3"; } }else{ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); return "false1"; } }else{ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); return "false2"; } } return "true"; } public String cancelDeliveryDetailLogic(List<FinishedOperateLog> finishedOperateLogslist,Object savePoint,String userName,Log log) { for (FinishedOperateLog finishedOperateLog : finishedOperateLogslist) { Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(finishedOperateLog.getOrderId()); Integer ordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(finishedOperateLog.getOrderId()); Integer deliverysum = finishedGoodsInventoryMapper.findDeliveryQuantity(finishedOperateLog.getOperationOrderNumber()); Integer deliverydetailsum = finishedGoodsInventoryMapper.findDeliverydetailsum(finishedOperateLog.getOperationOrderNumber(),1); if(Objects.equals(finishedOperateLog.getOperateType(), "å ¥åº")){ Delivery delivery = finishedGoodsInventoryMapper.findOrderDelivery(finishedOperateLog.getOrderId()); if(delivery==null){ //ä¿®æ¹è®°å½è¡¨ finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"å·²ä½åº"); //ä¿®æ¹åºåè¡¨å ¥åºæ°é finishedGoodsInventoryMapper.updateInventoryOut(finishedOperateLog); if(finishedOperateLog.getProcessId()!=null){ //ä¿®æ¹æµç¨å¡è¡¨å ¥åºæ°é 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); } log.setFunction("cancelFinishedGoodsInventoryStorageå ¥åº"); }else{ return "false1"; } }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(),1); //ä¿®æ¹è®¢åæç»è¡¨åºå æ°é finishedGoodsInventoryMapper.updateIntOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(), Long.valueOf(finishedOperateLog.getQuantity())); //ä¿®æ¹è®¢å表åè´§ç¶æ finishedGoodsInventoryMapper.updateOrderDeliveryState(finishedOperateLog.getOrderId(),1); //å¤æè®¢åæ¯å¦å ¨é¨åè´§ if (ordersum==finishedOperateLog.getQuantity()+ordernumbersum){ //ä¿®æ¹è®¢å表åè´§ç¶æ finishedGoodsInventoryMapper.updateOrderDeliveryState(finishedOperateLog.getOrderId(),0); } if (deliverysum==finishedOperateLog.getQuantity()+deliverydetailsum) { //ä¿®æ¹åè´§è¡¨ç¶æ finishedGoodsInventoryMapper.updateDeliveryDeliveryState(finishedOperateLog.getOperationOrderNumber(),0); } log.setFunction("cancelFinishedGoodsInventoryStorageåºåº"); } } return "true"; } } north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
@@ -9,11 +9,14 @@ import com.example.erp.dto.mm.FinishedOperateLogDTO; import com.example.erp.dto.sd.DeliveryDetailDTO; import com.example.erp.dto.sd.DeliveryDetailProductDTO; import com.example.erp.entity.mm.FinishedOperateLog; import com.example.erp.entity.sd.*; import com.example.erp.entity.userInfo.Log; import com.example.erp.entity.userInfo.SysError; import com.example.erp.mapper.mm.FinishedGoodsInventoryMapper; import com.example.erp.mapper.mm.FinishedOperateLogMapper; import com.example.erp.mapper.sd.*; import com.example.erp.service.mm.FinishedGoodsInventoryService; import com.example.erp.service.userInfo.LogService; import com.example.erp.service.userInfo.SysErrorService; import org.springframework.beans.factory.annotation.Autowired; @@ -44,11 +47,15 @@ @Autowired FinishedGoodsInventoryMapper finishedGoodsInventoryMapper; @Autowired FinishedOperateLogMapper finishedOperateLogMapper; @Autowired DeliveryOtherMoneyMapper deliveryOtherMoneyMapper; @Autowired LogService logService; @Autowired SysErrorService sysErrorService; @Autowired FinishedGoodsInventoryService finishedGoodsInventoryService; public Map<String, Object> getSelectShippingOrder(Integer pageNum, Integer pageSize,List<String> selectDate, Delivery delivery) { @@ -398,27 +405,57 @@ } public Boolean updateDeliveryToExamine(Map<String,Object> object) { Boolean isinsert=false; String deliveryId = ""; int type =3; if (object.get("deliveryId") != null) { deliveryId = object.get("deliveryId").toString(); public String updateDeliveryToExamine(Map<String,Object> object) { String saveState = "true"; //è®¾ç½®åæ»ç¹ Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); try { Log log = new Log(); String deliveryId = ""; int type =3; if (object.get("deliveryId") != null) { deliveryId = object.get("deliveryId").toString(); } if (object.get("type") != null) { type = Integer.parseInt(object.get("type").toString()); } if(Boolean.parseBoolean(object.get("deliveryOutbound").toString())){ if(type==2){ List<OrderDetail> orderDetaillist=finishedGoodsInventoryMapper.getSelectDeliveryDetailDeliveryId(deliveryId); if(!Objects.equals(finishedGoodsInventoryService.deliveryDetailLogic(orderDetaillist,savePoint,object.get("userName").toString()), "true")){ return finishedGoodsInventoryService.deliveryDetailLogic(orderDetaillist,savePoint,object.get("userName").toString()); } }else{ List<FinishedOperateLog> finishedOperateLogslist=finishedOperateLogMapper.getSelectStorageRecordDeliveryId(deliveryId,"åºåº"); if(!Objects.equals(finishedGoodsInventoryService.cancelDeliveryDetailLogic(finishedOperateLogslist,savePoint,object.get("userName").toString(),log), "true")){ return finishedGoodsInventoryService.cancelDeliveryDetailLogic(finishedOperateLogslist,savePoint,object.get("userName").toString(),log); } } } deliveryMapper.updateDeliveryToExamine(deliveryId,type); log.setOperatorId(object.get("userId").toString()); log.setOperator(object.get("userName").toString()); log.setContent(object.toString()); log.setFunction("updateDeliveryToExamineä¿®æ¹:"+deliveryId); logService.saveLog(log); } catch (Exception e) { TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); //å°å¼å¸¸ä¼ å ¥æ°æ®åº SysError sysError = new SysError(); sysError.setError(e+Arrays.toString(e.getStackTrace())); sysError.setFunc("addDeliveryDetail"); sysErrorService.insert(sysError); saveState = "false"; } if (object.get("type") != null) { type = Integer.parseInt(object.get("type").toString()); } deliveryMapper.updateDeliveryToExamine(deliveryId,type); Log log = new Log(); log.setOperatorId(object.get("userId").toString()); log.setOperator(object.get("userName").toString()); log.setContent(object.toString()); log.setFunction("updateDeliveryToExamineä¿®æ¹:"+deliveryId); logService.saveLog(log); return true; return saveState; @@ -607,6 +644,7 @@ private static final String[] NUMBERS = {"é¶", "壹", "è´°", "å", "è", "ä¼", "é", "æ", "æ", "ç"}; private static final String[] IUNIT = {"å ", "æ¾", "ä½°", "ä»", "ä¸", "æ¾", "ä½°", "ä»", "亿", "æ¾", "ä½°", "ä»"}; north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml
@@ -907,7 +907,32 @@ where order_number=#{orderNumber} and order_id=#{orderId} and delivery_id=#{deliveryId} and delivery_detail_state=0 </select> <select id="getSelectDeliveryDetailDeliveryId" resultMap="selectDelivery"> select dd.delivery_id, dd.order_number, dd.order_id, o.project, od.product_id, od.product_name, d.customer_name, od.width, od.height, dd.quantity as dd_quantity, od.warehouse_num, od.delivery_num, d.area, od.building_number, d.creator, dd.delivery_detail_remakes, dd.create_time from sd.delivery_detail dd left join sd.delivery d on dd.delivery_id = d.delivery_id left join sd.order_detail od on od.order_id = dd.order_id and dd.order_number = od.order_number left join sd.`order` o on o.order_id = dd.order_id where dd.delivery_id= #{deliveryId} </select> </mapper> north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
@@ -848,4 +848,31 @@ fol.operate_time DESC </select> <select id="getSelectStorageRecordDeliveryId" resultMap="selectFinishedGoodsInventory"> select fol.id, fol.operation_order_number, fol.order_id, fol.operate_type, fol.process_id, fol.operation_number, fol.quantity, fol.operator, od.product_id, od.product_name, od.width, od.height, fol.operate_time, fol.`status`, fol.is_state, fol.reviewed, fol.reviewed_time, fol.type, fol.remarks from (select * from mm.finished_operate_log aa where aa.operate_type = #{type} and aa.status!='å·²ä½åº') fol left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number left join sd.`order` o on o.order_id=fol.order_id where fol.operation_order_number=#{deliveryId} </select> </mapper>