From a4bfed1ad2c160129807d546ff55f10695ff0a72 Mon Sep 17 00:00:00 2001 From: z Date: Tue, 4 Mar 2025 09:59:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=90=E8=B4=B9=E6=88=90=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../deliverorder/DeliverOrderController.java | 10 + .../projectorder/ProjectOrderController.java | 14 + .../vo/ProjectOrderCostRespVO.java | 5 +- .../deliverorder/DeliverOrderDO.java | 3 +- .../projectorder/ProjectOrderDO.java | 5 + .../MaterialPlanDetailMapper.java | 1 - .../projectorder/ProjectOrderMapper.java | 1 + .../deliverorder/DeliverOrderService.java | 4 +- .../deliverorder/DeliverOrderServiceImpl.java | 24 ++ .../src/api/heli/saleordercost/index.ts | 4 + .../src/views/heli/saleordercost/edit.vue | 300 +++++++++--------- .../src/views/heli/saleordercost/index.vue | 23 +- 12 files changed, 231 insertions(+), 163 deletions(-) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/deliverorder/DeliverOrderController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/deliverorder/DeliverOrderController.java index b5cb37f..cfd0b51 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/deliverorder/DeliverOrderController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/deliverorder/DeliverOrderController.java @@ -2,8 +2,10 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.deliverorder; import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum; import com.chanko.yunxi.mes.framework.operatelog.core.service.OperateLogFrameworkService; +import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderCostRespVO; import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderSaveReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.pgmaster.PgMasterLineDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO; import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum; import org.springframework.transaction.annotation.Transactional; @@ -178,4 +180,12 @@ public class DeliverOrderController { return success(deliverOrderService.getDeliverOrderSubListByDeliveryOrderId(deliveryOrderId)); } + @GetMapping("/getListYf") + @Operation(summary = "获得运费成本") + @PreAuthorize("@ss.hasPermission('heli:deliver-order:query')") + public CommonResult> getListYf(@RequestParam("id") Long id, @RequestParam("projectSubId") Long projectSubId ) { + List deliverOrderDO = deliverOrderService.getListYf(id,projectSubId); + return success( deliverOrderDO); + } + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/ProjectOrderController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/ProjectOrderController.java index 99306f8..5bbe87c 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/ProjectOrderController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/ProjectOrderController.java @@ -10,12 +10,14 @@ import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog; import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum; import com.chanko.yunxi.mes.framework.operatelog.core.service.OperateLogFrameworkService; import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.orderys.OrderYsDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO; import com.chanko.yunxi.mes.module.heli.dal.mysql.orderys.OrderYsMapper; import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum; import com.chanko.yunxi.mes.module.heli.manager.CrossOrderManager; +import com.chanko.yunxi.mes.module.heli.service.deliverorder.DeliverOrderService; import com.chanko.yunxi.mes.module.heli.service.orderys.OrderYsService; import com.chanko.yunxi.mes.module.heli.service.projectorder.ProjectOrderService; import io.swagger.v3.oas.annotations.Operation; @@ -31,6 +33,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.io.IOException; +import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; @@ -56,6 +59,8 @@ public class ProjectOrderController { private CrossOrderManager crossOrderManager; @Resource private OrderYsService orderYsService; + @Resource + private DeliverOrderService deliverOrderService; @PostMapping("/create") @Operation(summary = "创建项目订单") @PreAuthorize("@ss.hasPermission('heli:project-order:create')") @@ -137,6 +142,15 @@ public class ProjectOrderController { @PreAuthorize("@ss.hasPermission('heli:project-order:query')") public CommonResult> getProjectOrderCostPage(@Valid ProjectOrderCostPageReqVO pageReqVO) { PageResult pageResult = projectOrderService.getProjectOrderCostPage(pageReqVO); + for (ProjectOrderDO projectOrderDO :pageResult.getList()) { + List deliverOrderDO = deliverOrderService.getListYf(projectOrderDO.getId(),projectOrderDO.getProjectSubId()); + if (deliverOrderDO!=null&&deliverOrderDO.size()>0){ + BigDecimal totalAmount = deliverOrderDO.stream() + .map(deliverOrderSubDO -> deliverOrderSubDO.getYunFeiMoney() != null ? deliverOrderSubDO.getYunFeiMoney() : BigDecimal.ZERO) + .reduce(BigDecimal.ZERO, BigDecimal::add); + projectOrderDO.setYunFeiCost(totalAmount); + } + } return success(BeanUtils.toBean(pageResult, ProjectOrderCostRespVO.class)); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderCostRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderCostRespVO.java index 7bf17be..e7a5c82 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderCostRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderCostRespVO.java @@ -2,6 +2,7 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.TableField; import com.chanko.yunxi.mes.framework.excel.core.annotations.DictFormat; import com.chanko.yunxi.mes.framework.excel.core.convert.DictConvert; import io.swagger.v3.oas.annotations.media.Schema; @@ -61,7 +62,9 @@ public class ProjectOrderCostRespVO { @Schema(description = "加工工时换算成本") @ExcelProperty("加工工时换算成本") private BigDecimal jiaGongShiCost; - + @Schema(description = "运费成本") + @ExcelProperty("运费成本") + private BigDecimal yunFeiCost; @Schema(description = "合计成本") @ExcelProperty("合计成本") private BigDecimal sumCost; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/deliverorder/DeliverOrderDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/deliverorder/DeliverOrderDO.java index dee4682..5e15355 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/deliverorder/DeliverOrderDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/deliverorder/DeliverOrderDO.java @@ -115,7 +115,8 @@ public class DeliverOrderDO extends BaseDO { @TableField(exist = false) private String saleOrderCode; - + @TableField(exist = false) + private BigDecimal yunFeiMoney ; @TableField(exist = false) private String contractNo; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderDO.java index 7033379..c9ad9f2 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderDO.java @@ -276,6 +276,11 @@ public class ProjectOrderDO extends BaseDO { @TableField(exist = false) private String unitName; + /* + * 运费成本 + * */ + @TableField(exist = false) + private BigDecimal yunFeiCost; /** * 变更的字段列表 * */ diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplandetail/MaterialPlanDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplandetail/MaterialPlanDetailMapper.java index 6c1fbc2..213d530 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplandetail/MaterialPlanDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplandetail/MaterialPlanDetailMapper.java @@ -44,7 +44,6 @@ public interface MaterialPlanDetailMapper extends BaseMapperX { .like(!StringUtils.isEmpty(reqVO.getCustomerName()),"b.name",reqVO.getCustomerName()) .like(!StringUtils.isEmpty(reqVO.getProjectSubName()),"a.name",reqVO.getProjectSubName()) .eq(ProjectOrderDO::getOrderStatus,32) + .in(ProjectOrderDO::getIsSnapshot,0); ; return selectPage(reqVO, query); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/deliverorder/DeliverOrderService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/deliverorder/DeliverOrderService.java index d5b1d91..7ad3be7 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/deliverorder/DeliverOrderService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/deliverorder/DeliverOrderService.java @@ -6,7 +6,6 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.deliverorder.vo.*; import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderSubDO; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; -import com.chanko.yunxi.mes.framework.common.pojo.PageParam; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO; /** @@ -70,4 +69,7 @@ public interface DeliverOrderService { List operateProjectOrders(DeliverOrderSaveReqVO operateReqVO); + + + List getListYf(Long id, Long projectSubId); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/deliverorder/DeliverOrderServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/deliverorder/DeliverOrderServiceImpl.java index 68fda1f..9726411 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/deliverorder/DeliverOrderServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/deliverorder/DeliverOrderServiceImpl.java @@ -336,6 +336,30 @@ public class DeliverOrderServiceImpl implements DeliverOrderService { return storageMatDOS; } + @Override + public List getListYf(Long id, Long projectSubId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.like(DeliverOrderDO::getSaleOrderIds,id); + wrapper.eq(DeliverOrderDO::getDeliverStatus,2); + wrapper.orderByDesc(DeliverOrderDO::getDeliverDate); + List deliverOrderDOS = deliverOrderMapper.selectList(wrapper); + if (deliverOrderDOS!=null&&deliverOrderDOS.size()>0){ + for (DeliverOrderDO deliverOrderDO : deliverOrderDOS) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(DeliverOrderSubDO::getDeliveryOrderId,deliverOrderDO.getId()); + queryWrapper.eq(DeliverOrderSubDO::getSaleOrderSubId,projectSubId); + List deliverOrderSubDOS = deliverOrderSubMapper.selectList(queryWrapper); + BigDecimal totalAmount = deliverOrderSubDOS.stream() + .map(deliverOrderSubDO -> deliverOrderSubDO.getYunFei() != null ? deliverOrderSubDO.getYunFei() : BigDecimal.ZERO) + .reduce(BigDecimal.ZERO, BigDecimal::add); + deliverOrderDO.setYunFeiMoney(totalAmount); + } + return deliverOrderDOS; + } + return null; + } + + private void createDeliverOrderSubList(Long deliveryOrderId, List list) { list.forEach(o -> o.setDeliveryOrderId(deliveryOrderId)); diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/saleordercost/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/saleordercost/index.ts index 51bf199..dd96fed 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/saleordercost/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/saleordercost/index.ts @@ -23,3 +23,7 @@ export const getPlanCost = async (id: number,projectSubId: number) => { return await request.get({ url: `/heli/project-order/getCost?id=`+id+`&projectSubId=`+projectSubId }) } +//查询运费成本 +export const getListYf = async (id: number,projectSubId: number) => { + return await request.get({ url: `/heli/deliver-order/getListYf?id=`+id+`&projectSubId=`+projectSubId }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/saleordercost/edit.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/saleordercost/edit.vue index 429b550..0bcf963 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/saleordercost/edit.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/saleordercost/edit.vue @@ -9,16 +9,16 @@
基础信息 - + - + - + @@ -30,81 +30,80 @@ - + - - - - + + + + - - - + + + - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + - + + + - + - - - + - + - + - - + + - + - - + + - + @@ -115,24 +114,24 @@ - - + + - + - - + + - + @@ -143,60 +142,60 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -209,30 +208,30 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/saleordercost/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/saleordercost/index.vue index 57a675f..0cc7f25 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/saleordercost/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/saleordercost/index.vue @@ -65,11 +65,11 @@ - + - + @@ -77,10 +77,11 @@ - - - + + + + @@ -91,7 +92,7 @@ 编辑 - + @@ -110,14 +111,12 @@ - + \ No newline at end of file +