From 708dcd1acda341bc5dcf654e99fa86718fc12644 Mon Sep 17 00:00:00 2001 From: z Date: Tue, 14 Jan 2025 15:27:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=94=E6=94=B6=E7=AE=A1=E7=90=86=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../projectorder/ProjectOrderController.java | 10 +- .../heli/service/orderys/OrderYsService.java | 4 + .../service/orderys/OrderYsServiceImpl.java | 46 ++++++ .../projectorder/ProjectOrderServiceImpl.java | 137 ++++++------------ .../mes-ui-admin-vue3/src/utils/formatTime.ts | 18 ++- .../src/views/heli/orderys/OrderYsForm.vue | 18 ++- .../src/views/heli/orderys/index.vue | 24 +-- 7 files changed, 148 insertions(+), 109 deletions(-) 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 e9e18de..c46eebc 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 @@ -1,5 +1,6 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.projectorder; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; import com.chanko.yunxi.mes.framework.common.pojo.PageParam; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; @@ -9,10 +10,13 @@ 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.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.orderys.OrderYsService; import com.chanko.yunxi.mes.module.heli.service.projectorder.ProjectOrderService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -50,7 +54,8 @@ public class ProjectOrderController { @Resource private CrossOrderManager crossOrderManager; - + @Resource + private OrderYsService orderYsService; @PostMapping("/create") @Operation(summary = "创建项目订单") @PreAuthorize("@ss.hasPermission('heli:project-order:create')") @@ -86,11 +91,14 @@ public class ProjectOrderController { // 批准、终止记录快照 switch (OperateTypeEnum.valueOf(operateReqVO.getActive())){ case APPROVE: + //订单批准时创建或者更新应收记录数据 + orderYsService.createOrUpdate(operateReqVO); // 订单批准时创建或者更新生产计划数据 crossOrderManager.generatePlan(operateReqVO.getId()); projectOrderService.createProjectOrderSnapshot(operateReqVO); break; case TERMINATE: + orderYsService.delete(operateReqVO); // 订单终止时更新生产计划状态 crossOrderManager.updatePlanStatusToTerminate(operateReqVO.getId()); projectOrderService.createProjectOrderSnapshot(operateReqVO); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderys/OrderYsService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderys/OrderYsService.java index 58fc542..fe5fa4c 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderys/OrderYsService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderys/OrderYsService.java @@ -3,6 +3,7 @@ package com.chanko.yunxi.mes.module.heli.service.orderys; import java.util.*; import javax.validation.*; import com.chanko.yunxi.mes.module.heli.controller.admin.orderys.vo.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderSaveReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.orderys.OrderYsDO; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.common.pojo.PageParam; @@ -52,4 +53,7 @@ public interface OrderYsService { */ PageResult getOrderYsPage(OrderYsPageReqVO pageReqVO); + void createOrUpdate(ProjectOrderSaveReqVO operateReqVO); + + void delete(ProjectOrderSaveReqVO operateReqVO); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderys/OrderYsServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderys/OrderYsServiceImpl.java index 383fbad..ea05c88 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderys/OrderYsServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/orderys/OrderYsServiceImpl.java @@ -1,10 +1,16 @@ package com.chanko.yunxi.mes.module.heli.service.orderys; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderSaveReqVO; +import com.chanko.yunxi.mes.module.heli.service.customer.CustomerService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; +import java.time.LocalDateTime; import java.util.*; import com.chanko.yunxi.mes.module.heli.controller.admin.orderys.vo.*; import com.chanko.yunxi.mes.module.heli.dal.dataobject.orderys.OrderYsDO; @@ -28,6 +34,8 @@ public class OrderYsServiceImpl implements OrderYsService { @Resource private OrderYsMapper orderYsMapper; + @Resource + private CustomerService customerService; @Override public Integer createOrderYs(OrderYsSaveReqVO createReqVO) { @@ -74,4 +82,42 @@ public class OrderYsServiceImpl implements OrderYsService { return orderYsMapper.selectPage(pageReqVO); } + @Override + public void createOrUpdate(ProjectOrderSaveReqVO operateReqVO) { + if (operateReqVO.getHasPrice().equals(1)){ + OrderYsDO orderYsDO = new OrderYsDO(); + orderYsDO.setCode(operateReqVO.getCode()); + orderYsDO.setProjectName(operateReqVO.getProjectName()); + orderYsDO.setCgTime(LocalDateTime.now()); + orderYsDO.setCgKhname(customerService.getCustomer(operateReqVO.getCustomerId()).getName()); + if(operateReqVO.getPrice()==null){ + orderYsDO.setCgYs(new BigDecimal(0)); + }else { + orderYsDO.setCgYs(operateReqVO.getPrice()); + LocalDateTime[] paymentTimes = { + operateReqVO.getSixFuKuanTime(), + operateReqVO.getFiveFuKuanTime(), + operateReqVO.getFourFuKuanTime(), + operateReqVO.getThreeFuKuanTime(), + operateReqVO.getTwoFuKuanTime(), + operateReqVO.getShouFuKuanTime() + }; + for (LocalDateTime paymentTime : paymentTimes) { + if (!ObjectUtil.isEmpty(paymentTime)) { + orderYsDO.setPaymentDate(paymentTime); + break; + } + } + } + + orderYsMapper.insert(orderYsDO); + } + } + + @Override + public void delete(ProjectOrderSaveReqVO operateReqVO) { + LambdaQueryWrapper eq = new LambdaQueryWrapper().eq(OrderYsDO::getCode, operateReqVO.getCode()); + orderYsMapper.delete(eq); + } + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderServiceImpl.java index 5cd12bc..63c2ef5 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderServiceImpl.java @@ -191,6 +191,48 @@ public class ProjectOrderServiceImpl implements ProjectOrderService { // throw exception(INVALID_OPERATE); // } // 更新 + + LambdaQueryWrapper eq = new LambdaQueryWrapper().eq(OrderYsDO::getCode, updateReqVO.getCode()); + OrderYsDO orderYsDO = orderYsMapper.selectOne(eq); + if (ObjectUtil.isEmpty(orderYsDO)){ + orderYsDO = new OrderYsDO(); + orderYsDO.setCode(updateReqVO.getCode()); + orderYsDO.setProjectName(updateReqVO.getProjectName()); + orderYsDO.setCgTime(LocalDateTime.now()); + orderYsDO.setCgYs(updateReqVO.getPrice()); + LocalDateTime[] paymentTimes = { + updateReqVO.getSixFuKuanTime(), + updateReqVO.getFiveFuKuanTime(), + updateReqVO.getFourFuKuanTime(), + updateReqVO.getThreeFuKuanTime(), + updateReqVO.getTwoFuKuanTime(), + updateReqVO.getShouFuKuanTime() + }; + for (LocalDateTime paymentTime : paymentTimes) { + if (!ObjectUtil.isEmpty(paymentTime)) { + orderYsDO.setPaymentDate(paymentTime); + break; + } + } + orderYsMapper.insert(orderYsDO); + }else { + orderYsDO.setCgYs(updateReqVO.getPrice()); + LocalDateTime[] paymentTimes = { + updateReqVO.getSixFuKuanTime(), + updateReqVO.getFiveFuKuanTime(), + updateReqVO.getFourFuKuanTime(), + updateReqVO.getThreeFuKuanTime(), + updateReqVO.getTwoFuKuanTime(), + updateReqVO.getShouFuKuanTime() + }; + for (LocalDateTime paymentTime : paymentTimes) { + if (!ObjectUtil.isEmpty(paymentTime)) { + orderYsDO.setPaymentDate(paymentTime); + break; + } + } + orderYsMapper.updateById(orderYsDO); + } ProjectOrderDO updateObj = BeanUtils.toBean(updateReqVO, ProjectOrderDO.class); projectOrderMapper.updateById(updateObj); } @@ -388,16 +430,10 @@ public class ProjectOrderServiceImpl implements ProjectOrderService { public void operateProjectOrder(ProjectOrderSaveReqVO operateReqVO) { if(operateReqVO.getId() == null){ createProjectOrder(operateReqVO); - OrderYsDO orderYsDO = new OrderYsDO(); - orderYsDO.setCode(operateReqVO.getCode()); - orderYsDO.setProjectName(operateReqVO.getProjectName()); - orderYsDO.setCgTime(LocalDateTime.now()); - orderYsDO.setCgKhname(customerService.getCustomer(operateReqVO.getCustomerId()).getName()); if(operateReqVO.getHasPrice().equals(1)&&(operateReqVO.getPrice()==null)){ //订单有价格但是没录价格 String nickname = userApi.getUser( SecurityFrameworkUtils.getLoginUser().getId()).getNickname(); - orderYsDO.setCgYs(new BigDecimal(0)); List attentiontodook = attentiontodoService.getAttentiontodolist(1);//查找该类型的待办和关注人 改 AttentiontodoDO attentiontodoDO = attentiontodook.get(0); @@ -464,33 +500,12 @@ public class ProjectOrderServiceImpl implements ProjectOrderService { BdgzsomthingDO.setAttr3(operateReqVO.getId().toString());//获取数据当前表的id // BdgzsomthingDO.setShowname(operateReqVO.getCreateTime());//获取数据当前表的创建事件 改 bdgzsomthingMapper.insert(BdgzsomthingDO); - - - - // } } } - }else { - orderYsDO.setCgYs(operateReqVO.getPrice()); - LocalDateTime[] paymentTimes = { - operateReqVO.getSixFuKuanTime(), - operateReqVO.getFiveFuKuanTime(), - operateReqVO.getFourFuKuanTime(), - operateReqVO.getThreeFuKuanTime(), - operateReqVO.getTwoFuKuanTime(), - operateReqVO.getShouFuKuanTime() - }; - for (LocalDateTime paymentTime : paymentTimes) { - if (!ObjectUtil.isEmpty(paymentTime)) { - orderYsDO.setPaymentDate(paymentTime); - break; - } - } } - orderYsMapper.insert(orderYsDO); }else{ if ("PRICE".equals(operateReqVO.getActive())){ updateProjectOrderPrice(operateReqVO); @@ -498,79 +513,15 @@ public class ProjectOrderServiceImpl implements ProjectOrderService { updateProjectOrder(operateReqVO); } if(operateReqVO.getHasPrice().equals(1)&&(operateReqVO.getPrice()==null)){ - LambdaQueryWrapper eq = new LambdaQueryWrapper().eq(OrderYsDO::getCode, operateReqVO.getCode()); - OrderYsDO orderYsDO = orderYsMapper.selectOne(eq); - if (ObjectUtil.isEmpty(orderYsDO)) { - orderYsDO = new OrderYsDO(); - orderYsDO.setCode(operateReqVO.getCode()); - orderYsDO.setProjectName(operateReqVO.getProjectName()); - orderYsDO.setCgTime(LocalDateTime.now()); - orderYsDO.setCgYs(new BigDecimal(0)); - LocalDateTime[] paymentTimes = { - operateReqVO.getSixFuKuanTime(), - operateReqVO.getFiveFuKuanTime(), - operateReqVO.getFourFuKuanTime(), - operateReqVO.getThreeFuKuanTime(), - operateReqVO.getTwoFuKuanTime(), - operateReqVO.getShouFuKuanTime() - }; - for (LocalDateTime paymentTime : paymentTimes) { - if (!ObjectUtil.isEmpty(paymentTime)) { - orderYsDO.setPaymentDate(paymentTime); - break; - } - } - orderYsMapper.insert(orderYsDO); - } + }else{ bdgzsomthingDO abc= new bdgzsomthingDO(); abc.setThingname("订单有价格"); abc.setAttr12("0"); abc.setAttr3(operateReqVO.getId().toString()); bdgzsomthingMapper.updateok(abc); - LambdaQueryWrapper eq = new LambdaQueryWrapper().eq(OrderYsDO::getCode, operateReqVO.getCode()); - OrderYsDO orderYsDO = orderYsMapper.selectOne(eq); - if (ObjectUtil.isEmpty(orderYsDO)){ - orderYsDO = new OrderYsDO(); - orderYsDO.setCode(operateReqVO.getCode()); - orderYsDO.setProjectName(operateReqVO.getProjectName()); - orderYsDO.setCgTime(LocalDateTime.now()); - orderYsDO.setCgYs(operateReqVO.getPrice()); - LocalDateTime[] paymentTimes = { - operateReqVO.getSixFuKuanTime(), - operateReqVO.getFiveFuKuanTime(), - operateReqVO.getFourFuKuanTime(), - operateReqVO.getThreeFuKuanTime(), - operateReqVO.getTwoFuKuanTime(), - operateReqVO.getShouFuKuanTime() - }; - for (LocalDateTime paymentTime : paymentTimes) { - if (!ObjectUtil.isEmpty(paymentTime)) { - orderYsDO.setPaymentDate(paymentTime); - break; - } - } - orderYsMapper.insert(orderYsDO); - }else { - orderYsDO.setCgYs(operateReqVO.getPrice()); - LocalDateTime[] paymentTimes = { - operateReqVO.getSixFuKuanTime(), - operateReqVO.getFiveFuKuanTime(), - operateReqVO.getFourFuKuanTime(), - operateReqVO.getThreeFuKuanTime(), - operateReqVO.getTwoFuKuanTime(), - operateReqVO.getShouFuKuanTime() - }; - for (LocalDateTime paymentTime : paymentTimes) { - if (!ObjectUtil.isEmpty(paymentTime)) { - orderYsDO.setPaymentDate(paymentTime); - break; - } - } - orderYsMapper.updateById(orderYsDO); - } - } + } } diff --git a/mes-ui/mes-ui-admin-vue3/src/utils/formatTime.ts b/mes-ui/mes-ui-admin-vue3/src/utils/formatTime.ts index 092b75b..5eb31b3 100644 --- a/mes-ui/mes-ui-admin-vue3/src/utils/formatTime.ts +++ b/mes-ui/mes-ui-admin-vue3/src/utils/formatTime.ts @@ -73,6 +73,17 @@ export function formatDate(date: Date, format?: string): string { } return dayjs(date).format(format) } +export function formatDate1(date: Date, format?: string): string { + // 日期不存在,则返回空 + if (!date) { + return '' + } + // 日期存在,则进行格式化 + if (format === undefined) { + format = 'YYYY-MM-DD' + } + return dayjs(date).format(format) +} /** * 获取当前的日期+时间 @@ -206,7 +217,12 @@ export const dateFormatter = (row, column, cellValue): string => { } return formatDate(cellValue) } - +export const dateFormatter1 = (row, column, cellValue): string => { + if (!cellValue) { + return '' + } + return formatDate1(cellValue) +} /** * element plus 的时间 Formatter 实现,使用 YYYY-MM-DD 格式 * diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/OrderYsForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/OrderYsForm.vue index b5fad5b..f04105c 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/OrderYsForm.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/OrderYsForm.vue @@ -4,7 +4,7 @@ ref="formRef" :model="formData" :rules="formRules" - label-width="100px" + label-width="160px" v-loading="formLoading" > @@ -31,7 +31,20 @@ - + + + @@ -45,6 +58,7 @@