north-glass-erp/northglass-erp/src/views/mm/mainProductStock/CreateProductStock.vue
@@ -280,9 +280,13 @@ }) request.post("/FinishedGoodsInventory/addSelectWarehousing",flowData.value).then((res) => { if(res.code==200 && res.data===true){ if(res.code==200 && res.data==="true"){ ElMessage.success(t('productStock.receivedSuccessfully')) router.push({path:'/main/productStock/CreateProductStock',query:{random:Math.random()}}) }else if(res.data==="false1"){ ElMessage.warning("库存数量不对请刷新界面") }else if(res.data==="false2"){ ElMessage.warning("数据不存在") }else{ ElMessage.warning(t('productStock.entryFailure')) } north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductOut.vue
@@ -286,9 +286,13 @@ orderDetail: selectRecords }) request.post("/FinishedGoodsInventory/addDeliveryDetail", orderDetailData.value).then((res) => { if (res.code == 200 && res.data===true) { if (res.code == 200 && res.data==="true") { ElMessage.success(t('productStock.deliverySuccessful')) router.push({path: '/main/productStock/FinishedProductOut', query: {random: Math.random()}}) }else if (res.data==="false1") { ElMessage.warning("发货单已出库请刷新界面") }else if (res.data==="false2") { ElMessage.warning("发货单库存数不存在") } else { ElMessage.warning(t('productStock.deliveryFailed')) } north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabel1.vue
@@ -65,17 +65,14 @@ list.value = deepClone(res.data.data) const data = produceList.value[0].value dataList = JSON.parse(`[${data}]`); console.log(switchType) if (switchType===true){ labelList = props.titleList }else { labelList = dataList[0] } for (let i = 0; i < list.value.length; i++) { let count = list.value[i].data.length for (let j = 0; j < count; j++) { for (let k = 0; k < list.value[i].data[j].quantity; k++) { props.lastList.push(list.value[i].data[j]) lastList.value.push(list.value[i].data[j]) } } } north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabelSemi1.vue
@@ -65,17 +65,14 @@ list.value = deepClone(res.data.data) const data = produceList.value[0].value dataList = JSON.parse(`[${data}]`); console.log(switchType) if (switchType===true){ labelList = props.titleList }else { labelList = dataList[0] } for (let i = 0; i < list.value.length; i++) { let count = list.value[i].data.length for (let j = 0; j < count; j++) { for (let k = 0; k < list.value[i].data[j].quantity; k++) { props.lastList.push(list.value[i].data[j]) lastList.value.push(list.value[i].data[j]) } } } north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue
@@ -411,7 +411,10 @@ id += selectRecords[i].id + "|" } } router.push({path: '/main/processCard/PrintLabel', query: {printList: JSON.stringify(selectRecords)}}) router.push({ path: '/main/processCard/PrintLabel', query: {printList: JSON.stringify(selectRecords),printType:2} }) break } @@ -431,7 +434,7 @@ } router.push({ path: '/main/processCard/PrintCustomLabelSemi2', query: {printList: JSON.stringify(selectRecords)} query: {printList: JSON.stringify(selectRecords),printType:2} }) break @@ -483,7 +486,7 @@ } } if (lableTypes == 1) { console.log(company.label) labelRow.value.list = JSON.stringify(selectRecords) labelRow.value.faceOrientation = faceOrientation labelRow.value.type = type @@ -493,12 +496,13 @@ dialogTableVisibleLabel.value = true } else if (company.label === 2) { router.push({ path: '/main/processCard/PrintCustomLabel', path: '/main/processCard/PrintCustomLabelCZ', query: { type: type, faceOrientation: faceOrientation, lableType: lableTypes, printList: JSON.stringify(selectRecords) printList: JSON.stringify(selectRecords), printType:2 } }) } @@ -513,12 +517,13 @@ dialogTableVisibleCustomLabel.value = true } else if (company.label === 2) { router.push({ path: '/main/processCard/PrintCustomLabelSemi', path: '/main/processCard/PrintCustomLabelSemiCZ', query: { type: type, faceOrientation: faceOrientation, lableType: lableTypes, printList: JSON.stringify(selectRecords) printList: JSON.stringify(selectRecords), printType:2 } }) } @@ -529,7 +534,8 @@ type: type, faceOrientation: faceOrientation, lableType: lableTypes, printList: JSON.stringify(selectRecords) printList: JSON.stringify(selectRecords), printType:2 } }) @@ -640,7 +646,7 @@ if (hidePrintLabels == 'true') { return button.code !== 'printLabel' && button.code !== 'printLabel2'; } else { return true && button.code !== 'printLike' && button.code !== 'printLabel3'; // 显示该按钮 return true && button.code !== 'printLike' && button.code !== 'printLabel3'&& button.code !== 'printTest'; // 显示该按钮 } }) } north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue
@@ -39,7 +39,7 @@ } }) }else{ console.log(printType) if (printType == 1) { data.value.printList = JSON.parse(route.query.printList) request.post(`/processCard/getSelectPrintLabel1`,data.value).then((res) => { @@ -61,6 +61,7 @@ } }) }else if(printType==2){ data.value.printList = JSON.parse(route.query.printList) request.post(`/processCard/getSelectPrintLabelDetails`, data.value).then((res) => { if (res.code == 200) { produceList.value = deepClone(res.data.data) north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel1.vue
@@ -64,17 +64,14 @@ list.value = deepClone(res.data.data) const data = produceList.value[0].value dataList = JSON.parse(`[${data}]`); console.log(switchType) if (switchType===true){ labelList = props.titleList }else { labelList = dataList[0] } for (let i = 0; i < list.value.length; i++) { let count = list.value[i].data.length for (let j = 0; j < count; j++) { for (let k = 0; k < list.value[i].data[j].quantity; k++) { props.lastList.push(list.value[i].data[j]) lastList.value.push(list.value[i].data[j]) } } } north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedGoodsInventoryMapper.java
@@ -3,6 +3,7 @@ import com.example.erp.entity.mm.FinishedGoodsInventory; import com.example.erp.entity.mm.FinishedOperateLog; import com.example.erp.entity.pp.FlowCard; import com.example.erp.entity.sd.DeliveryDetail; import com.example.erp.entity.sd.Order; import com.example.erp.entity.sd.OrderDetail; import com.example.erp.entity.sd.Product; @@ -128,6 +129,11 @@ Boolean updateOrderInventory(@Param("orderDetail") OrderDetail orderDetail); FlowCard findFlowCard(FlowCard flowCard); DeliveryDetail findDeliverydetail(@Param("orderId") String orderId, @Param("orderNumber") Integer orderNumber,@Param("deliveryId") String deliveryId); } north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java
@@ -8,6 +8,7 @@ import com.example.erp.entity.mm.FinishedGoodsInventory; import com.example.erp.entity.mm.FinishedOperateLog; import com.example.erp.entity.pp.FlowCard; import com.example.erp.entity.sd.DeliveryDetail; import com.example.erp.entity.sd.Order; import com.example.erp.entity.sd.OrderDetail; import com.example.erp.entity.userInfo.Log; @@ -66,8 +67,8 @@ return map; } public Boolean addSelectWarehousing(Map<String,Object> object) { boolean saveState = true; public String addSelectWarehousing(Map<String,Object> object) { String saveState = "true"; Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); try { //定义前端传输的数据 @@ -110,7 +111,9 @@ Integer finishedGoodsInventorycount = finishedGoodsInventoryMapper.findOrderNumberdcount(flowCard.getOrder().getOrderId(),flowCard.getOrderNumber()); Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(flowCard.getOrder().getOrderId()); Integer ordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(flowCard.getOrder().getOrderId()); FlowCard flowCard1=finishedGoodsInventoryMapper.findFlowCard(flowCard); //判断库存数是否大于未入库数 if(flowCard1.getReceivedQuantity()+flowCard.getInventoryQuantity()<=flowCard1.getInventoryQuantity()){ /*System.out.println("订单总数:" + ordersum + "已入库数量:" + ordernumbersum + "准备入库数量" + flowCard.getInventoryQuantity());*/ if (finishedGoodsInventorycount > 0) { //修改库存表入库数量 @@ -143,9 +146,16 @@ } } }else{ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); return "false1"; } } }else{ return false; TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); return "false2"; } } catch (Exception e) { @@ -155,7 +165,7 @@ sysError.setError(e+Arrays.toString(e.getStackTrace())); sysError.setFunc("addSelectWarehousing"); sysErrorService.insert(sysError); saveState = false; saveState = "false"; } @@ -173,8 +183,8 @@ } public Boolean addDeliveryDetail(Map<String,Object> object) { boolean saveState = true; public String addDeliveryDetail(Map<String,Object> object) { String saveState = "true"; //设置回滚点 Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); try { @@ -212,10 +222,14 @@ 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(orderDetail.getWarehouseNum()>=orderDetail.getDeliveryDetail().getQuantity()){ //修改库存表库存数量 finishedGoodsInventoryMapper.updateInventoryInventoryOut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getQuantity()); @@ -238,10 +252,15 @@ finishedGoodsInventoryMapper.updateDeliveryDeliveryState(orderDetail.getDeliveryDetail().getDeliveryId(),2); } } }else{ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); return "false1"; } }else{ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); saveState = false; return "false2"; } } } @@ -253,7 +272,7 @@ sysError.setError(e+Arrays.toString(e.getStackTrace())); sysError.setFunc("addDeliveryDetail"); sysErrorService.insert(sysError); saveState = false; saveState = "false"; } return saveState; north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml
@@ -885,6 +885,16 @@ where order_number=#{orderDetail.orderNumber} and order_id=#{orderDetail.orderId} </update> <select id="findFlowCard"> select * from pp.flow_card where order_number=#{orderNumber} and process_id=#{processId} and order_id=#{order.orderId} group by process_id </select> <select id="findDeliverydetail"> select * from sd.delivery_detail where order_number=#{orderNumber} and order_id=#{orderId} and delivery_id=#{deliveryId} and delivery_detail_state=0 </select>