north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheetMoney.vue
File was renamed from north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet1.vue @@ -260,7 +260,7 @@ </tr> <tr class="day-in"> <td style="text-align: left;border-width: 0 1px 0 0; border-style: solid; border-color: #d3dce6" colspan="4"> <div style="display: flex;font-size: 10px;text-align: center;"> <div style="display: flex;font-size: 14px;text-align: center;"> <span style="width: 25%;font-weight: bold;font-size: 12px">加工费用</span> <span style="width: 25%;font-weight: bold;font-size: 12px">单价</span> <span style="width: 25%;font-weight: bold;font-size: 12px">数量</span> @@ -271,7 +271,7 @@ </tr> <tr class="day-in"> <td style="text-align: left;border-width: 0 1px 0 0; border-style: solid; border-color: #d3dce6;" colspan="4" > <div style="display: flex;font-size: 10px;text-align: center" v-for="(item, index2) in itme1.otherMoney1" :key="index2"> <div style="display: flex;font-size: 14px;text-align: center" v-for="(item, index2) in itme1.otherMoney1" :key="index2"> <span style="width: 25%">{{item.DeliveryDetailOtherMoney.alias}}</span> <span style="width: 25%">{{item.DeliveryDetailOtherMoney.price}}</span> <span style="width: 25%">{{item.DeliveryDetailOtherMoney.count}}</span> north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheetNotMoney.vue
north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheetTwoColumn.vue
File was renamed from north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet3.vue @@ -283,7 +283,7 @@ </tr> <tr class="day-in"> <td style="text-align: left;border-width: 0 1px 0 0; border-style: solid; border-color: #d3dce6" colspan="7"> <div style="display: flex;font-size: 10px;text-align: center;"> <div style="display: flex;font-size: 14px;text-align: center;"> <span style="width: 25%;font-weight: bold;font-size: 12px">加工费用</span> <span style="width: 25%;font-weight: bold;font-size: 12px">单价</span> <span style="width: 25%;font-weight: bold;font-size: 12px">数量</span> @@ -294,7 +294,7 @@ </tr> <tr class="day-in"> <td style="text-align: left;border-width: 0 1px 0 0; border-style: solid; border-color: #d3dce6;" colspan="7" > <div style="display: flex;font-size: 10px;text-align: center" v-for="(item, index2) in itme1.otherMoney1" :key="index2"> <div style="display: flex;font-size: 14px;text-align: center" v-for="(item, index2) in itme1.otherMoney1" :key="index2"> <span style="width: 25%">{{item.DeliveryDetailOtherMoney.alias}}</span> <span style="width: 25%">{{item.DeliveryDetailOtherMoney.price}}</span> <span style="width: 25%">{{item.DeliveryDetailOtherMoney.count}}</span> north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheetTwoColumnNotMoney.vue
north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue
@@ -11,15 +11,15 @@ import DeliveryPrinting from "@/views/sd/delivery/DeliveryPrinting.vue"; import footSum from "@/hook/footSum" import {CircleCheck, Download, Printer} from "@element-plus/icons-vue/global"; import PrintSheet1 from "@/components/sd/delivery/PrintSheet1.vue"; import PrintSheet2 from "@/components/sd/delivery/PrintSheet2.vue"; import PrintSheetMoney from "@/components/sd/delivery/PrintSheetMoney.vue"; import PrintSheetNotMoney from "@/components/sd/delivery/PrintSheetNotMoney.vue"; import PrintSheetLuoyang from "@/components/sd/delivery/PrintSheetLuoyang.vue"; import PrintSheetLuoyangDetails from "@/components/sd/delivery/PrintSheetLuoyangDetails.vue"; import useOrderInfoStore from "@/stores/sd/order/orderInfo"; import { saveAs } from "file-saver" import companyInfo from "@/stores/sd/companyInfo"; import PrintSheet3 from "@/components/sd/delivery/PrintSheet3.vue"; import PrintSheet4 from "@/components/sd/delivery/PrintSheet4.vue"; import PrintSheetTwoColumn from "@/components/sd/delivery/PrintSheetTwoColumn.vue"; import PrintSheetTwoColumnNotMoney from "@/components/sd/delivery/PrintSheetTwoColumnNotMoney.vue"; import {addListener} from "@/hook/mouseMove"; import {copyTableCellValue} from "@/hook/copyTableCellValue"; @@ -787,14 +787,14 @@ /> </el-select> </template> <print-sheet1 id="child" v-if="sheetIndex===1" :deliveryId="flowData.delivery" /> <print-sheet2 id="child" v-if="sheetIndex===2" :deliveryId="flowData.delivery" /> <print-sheet-money id="child" v-if="sheetIndex===1" :deliveryId="flowData.delivery" /> <print-sheet-not-money id="child" v-if="sheetIndex===2" :deliveryId="flowData.delivery" /> <print-sheet-luoyang id="child" v-if="sheetIndex===3" :deliveryId="flowData.delivery" :type="1" :optionVal='optionVal'/> <print-sheet-luoyang id="child" v-if="sheetIndex===4" :deliveryId="flowData.delivery" :type="2" :optionVal='optionVal'/> <print-sheet-luoyang-details id="child" v-if="sheetIndex===5" :deliveryId="flowData.delivery" :type="3" :optionVal='optionVal'/> <print-sheet-luoyang-details id="child" v-if="sheetIndex===6" :deliveryId="flowData.delivery" :type="4" :optionVal='optionVal'/> <print-sheet3 id="child" v-if="sheetIndex===7" :deliveryId="flowData.delivery" /> <print-sheet4 id="child" v-if="sheetIndex===8" :deliveryId="flowData.delivery" /> <print-sheet-two-column id="child" v-if="sheetIndex===7" :deliveryId="flowData.delivery" /> <print-sheet-two-column-not-money id="child" v-if="sheetIndex===8" :deliveryId="flowData.delivery" /> </el-dialog> </div> north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java
@@ -765,14 +765,83 @@ if(order.getWarehousing()!=2){ List<OrderDetail> orderDetailList=finishedGoodsInventoryMapper.getSelectOrderDetail(orderId); for (OrderDetail orderDetail:orderDetailList){ FlowCard flowCard =flowCardMapper.selectOne( List<FlowCard> flowCards = flowCardMapper.selectList( new LambdaQueryWrapper<FlowCard>() .eq(FlowCard::getOrderId, orderDetail.getOrderId()) .eq(FlowCard::getOrderNumber, orderDetail.getOrderNumber()) .groupBy(FlowCard::getOrderId,FlowCard::getOrderNumber)); .groupBy(FlowCard::getOrderId, FlowCard::getOrderNumber,FlowCard::getProcessId)); if (flowCards.isEmpty()) { FinishedGoodsInventory finishedGoodsInventory = finishedGoodsInventoryMapper.findOrderNumberd(orderDetail.getOrderId(),orderDetail.getOrderNumber()); // 计算剩余数量 long quantity; quantity = orderDetail.getQuantity() - orderDetail.getWarehouseNum(); if (quantity <= 0) continue; int calculateType = order.getCalculateType(); double deliveryDetailMoney = 0.0; double deliveryDetailArea = 0.0; BigDecimal getComputeArea = BigDecimal.valueOf(orderDetail.getComputeArea()); BigDecimal getQuantity = BigDecimal.valueOf(quantity); BigDecimal getPrice = BigDecimal.valueOf(orderDetail.getPrice()); BigDecimal getWidth = BigDecimal.valueOf(orderDetail.getWidth()); BigDecimal getHeight = BigDecimal.valueOf(orderDetail.getHeight()); BigDecimal singlePieceArea = getComputeArea.multiply(getQuantity).setScale(2, RoundingMode.HALF_UP) .multiply(getPrice).setScale(2, RoundingMode.HALF_UP); //根据订单计算方式进行金额计算 if (calculateType == 1) { deliveryDetailMoney = singlePieceArea.doubleValue(); deliveryDetailArea = getComputeArea.multiply(getQuantity).doubleValue(); } else if (calculateType == 2) { //判断实际单片面积跟结算单片面积是否相等 结算总面积跟实际总面积是否相等 if (Objects.equals(orderDetail.getArea(), orderDetail.getComputeArea()) && Objects.equals(orderDetail.getGrossArea(), orderDetail.getComputeGrossArea())) { deliveryDetailMoney = getWidth.multiply(getHeight).multiply(getQuantity).divide(BigDecimal.valueOf(1000000), 2, RoundingMode.HALF_UP) .multiply(getPrice).setScale(2, RoundingMode.HALF_UP).doubleValue(); deliveryDetailArea = getWidth.multiply(getHeight).multiply(getQuantity).divide(BigDecimal.valueOf(1000000), 2, RoundingMode.HALF_UP).doubleValue(); } else { deliveryDetailMoney = singlePieceArea.doubleValue(); deliveryDetailArea = getComputeArea.multiply(getQuantity).doubleValue(); } } else if (calculateType == 3) { deliveryDetailMoney = getQuantity.multiply(getPrice).setScale(2, RoundingMode.HALF_UP).doubleValue(); deliveryDetailArea = getComputeArea.multiply(getQuantity).doubleValue(); } else if (calculateType == 4) { //判断实际单片面积跟结算单片面积是否相等 结算总面积跟实际总面积是否相等 if (Objects.equals(orderDetail.getArea(), orderDetail.getComputeArea()) && Objects.equals(orderDetail.getGrossArea(), orderDetail.getComputeGrossArea())) { deliveryDetailMoney = getWidth.multiply(getHeight).multiply(getQuantity).multiply(getPrice). divide(BigDecimal.valueOf(1000000), 2, RoundingMode.HALF_UP).doubleValue(); deliveryDetailArea = getWidth.multiply(getHeight).multiply(getQuantity).divide(BigDecimal.valueOf(1000000), 2, RoundingMode.HALF_UP).doubleValue(); } else { deliveryDetailMoney = getComputeArea.multiply(getQuantity).multiply(getPrice).setScale(2, RoundingMode.HALF_UP).doubleValue(); deliveryDetailArea = getComputeArea.multiply(getQuantity).doubleValue(); } } // 更新订单明细 orderDetail.setQuantity(quantity); orderDetail.setGrossAmount(deliveryDetailMoney); orderDetail.setComputeGrossArea(deliveryDetailArea); // 更新库存 if (finishedGoodsInventory != null) { finishedGoodsInventoryMapper.updateOrderInventory(orderDetail); } else { finishedGoodsInventoryMapper.insertOrderFinishedGoodsInventory(orderDetail); } // 记录操作日志 String processId = ""; finishedOperateLogMapper.insertOrderFinishedOperateLog(orderDetail, userName, oddNumber, processId); finishedGoodsInventoryMapper.updateOrderNumberConut(orderDetail.getOrderId(), orderDetail.getOrderNumber(), orderDetail.getQuantity()); }else{ for (FlowCard flowCard:flowCards){ FinishedGoodsInventory finishedGoodsInventory = finishedGoodsInventoryMapper.findOrderNumberd(orderDetail.getOrderId(), orderDetail.getOrderNumber()); // 计算剩余数量 long quantity; if (flowCard != null) { @@ -850,6 +919,8 @@ flowCard.setOrder(order1); finishedGoodsInventoryMapper.updateflowcard(flowCard); } } } } finishedGoodsInventoryMapper.updateOrderWarehousingState(orderId,2);