From 393373d73eec22302ce9a008f5e7815abcc44df3 Mon Sep 17 00:00:00 2001 From: zengchenxi Date: Fri, 19 Jan 2024 17:04:48 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E9=9C=80=E6=B1=82=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E3=80=91=E8=AE=A2=E5=8D=95=E5=BD=92=E6=A1=A3=E6=97=A5=E5=BF=97?= =?UTF-8?q?=20=E5=9F=BA=E7=A1=80=E5=8A=9F=E8=83=BD=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/heli/enums/BusinesTypeEnum.java | 3 +- .../projectorder/ProjectOrderController.java | 10 + .../vo/ProjectOrderPageReqVO.java | 17 + .../projectorder/vo/ProjectOrderRespVO.java | 21 ++ .../vo/ProjectOrderSaveReqVO.java | 15 + .../projectorder/ProjectOrderDO.java | 22 ++ .../projectorder/ProjectOrderMapper.java | 5 +- .../projectorder/ProjectOrderService.java | 6 + .../projectorder/ProjectOrderServiceImpl.java | 30 +- .../serialnumber/SerialNumberServiceImpl.java | 2 +- .../src/api/heli/projectorder/index.ts | 6 +- mes-ui/mes-ui-admin-vue3/src/locales/en.ts | 1 + mes-ui/mes-ui-admin-vue3/src/locales/zh-CN.ts | 1 + mes-ui/mes-ui-admin-vue3/src/utils/dict.ts | 1 + .../src/views/heli/projectorder/approve.vue | 7 +- .../src/views/heli/projectorder/archive.vue | 337 ++++++++++++++++++ .../src/views/heli/projectorder/audit.vue | 7 +- .../src/views/heli/projectorder/detail.vue | 10 +- .../src/views/heli/projectorder/index.vue | 23 +- sql/v1.1.0/heli.sql | 7 +- 20 files changed, 516 insertions(+), 15 deletions(-) create mode 100644 mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/archive.vue diff --git a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/BusinesTypeEnum.java b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/BusinesTypeEnum.java index d8650bfb..9bb966ae 100644 --- a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/BusinesTypeEnum.java +++ b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/BusinesTypeEnum.java @@ -10,7 +10,8 @@ import lombok.Getter; @Getter public enum BusinesTypeEnum { - PROJECT_ORDER("销售订单"); + PROJECT_ORDER("销售订单"), + PROJECT_ORDER_SNAPSHOT("销售订单快照"); private String description; 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 6424d4e9..0b502e34 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 @@ -19,6 +19,7 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -67,6 +68,7 @@ public class ProjectOrderController { @Operation(summary = "操作项目订单") @PreAuthorize("@ss.hasPermission('heli:project-order:update')") @OperateLog(enable = false) + @Transactional(rollbackFor = Exception.class) public CommonResult operateProjectOrder(@Valid @RequestBody ProjectOrderSaveReqVO operateReqVO) { LocalDateTime startTime = LocalDateTime.now(); projectOrderService.operateProjectOrder(operateReqVO); @@ -78,6 +80,14 @@ public class ProjectOrderController { operateReqVO.getId(), OperateTypeEnum.valueOf(operateReqVO.getActive()).getType(), operateReqVO.getActiveOpinion()); + + // 批准、终止记录快照 + switch (OperateTypeEnum.valueOf(operateReqVO.getActive())){ + case APPROVE: + case TERMINATE: + projectOrderService.createProjectOrderSnapshot(operateReqVO); + break; + } return success(operateReqVO.getId()); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderPageReqVO.java index 636198f6..bfadefcf 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderPageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderPageReqVO.java @@ -113,4 +113,21 @@ public class ProjectOrderPageReqVO extends PageParam { @Schema(description = "客户名称") private String businessManName; + @Schema(description = "是否快照") + private Integer isSnapshot; + + @Schema(description = "快照原始id", example = "19436") + private Long snapshotId; + + @Schema(description = "快照原始单据号") + private String snapshotCode; + + @Schema(description = "单据日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] orderTime; + + @Schema(description = "快照原始单据日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] snapshotOrderTime; + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderRespVO.java index 84ed2ae3..a072dda7 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderRespVO.java @@ -152,4 +152,25 @@ public class ProjectOrderRespVO { @ExcelProperty("合同编号") private String contractNo; + @Schema(description = "是否快照", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty(value = "是否快照", converter = DictConvert.class) + @DictFormat("heli_common_is_or_not") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + private Integer isSnapshot; + + @Schema(description = "快照原始id", example = "19436") + @ExcelProperty("快照原始id") + private Long snapshotId; + + @Schema(description = "快照原始单据号") + @ExcelProperty("快照原始单据号") + private String snapshotCode; + + @Schema(description = "单据日期", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("单据日期") + private LocalDateTime orderTime; + + @Schema(description = "快照原始单据日期") + @ExcelProperty("快照原始单据日期") + private LocalDateTime snapshotOrderTime; + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderSaveReqVO.java index 6cac2174..ea069491 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderSaveReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderSaveReqVO.java @@ -126,4 +126,19 @@ public class ProjectOrderSaveReqVO { @Schema(description = "项目订单子项目列表") private List projectOrderSubs; + @Schema(description = "是否快照", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer isSnapshot; + + @Schema(description = "快照原始id", example = "19436") + private Long snapshotId; + + @Schema(description = "快照原始单据号") + private String snapshotCode; + + @Schema(description = "单据日期", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime orderTime; + + @Schema(description = "快照原始单据日期") + private LocalDateTime snapshotOrderTime; + } 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 68af5f91..40893aa1 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 @@ -164,6 +164,28 @@ public class ProjectOrderDO extends BaseDO { * 合同编号 */ private String contractNo; + /** + * 是否快照 + * + * 枚举 {@link TODO heli_common_is_or_not 对应的类} + */ + private Integer isSnapshot; + /** + * 快照原始id + */ + private Long snapshotId; + /** + * 快照原始单据号 + */ + private String snapshotCode; + /** + * 单据日期 + */ + private LocalDateTime orderTime; + /** + * 快照原始单据日期 + */ + private LocalDateTime snapshotOrderTime; @TableField(exist = false) private String businessDeptName; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderMapper.java index 59cf77b2..a7ed8141 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderMapper.java @@ -35,7 +35,10 @@ public interface ProjectOrderMapper extends BaseMapperX { .eq(reqVO.getHasPrice() != null, ProjectOrderDO::getHasPrice, reqVO.getHasPrice()) .eq(reqVO.getOrderStatus() != null, ProjectOrderDO::getOrderStatus, reqVO.getOrderStatus()) .eq(reqVO.getDeliveryStatus() != null, ProjectOrderDO::getDeliveryStatus, reqVO.getDeliveryStatus()) - .in(reqVO.getOrderStatusList() != null && !reqVO.getOrderStatusList().isEmpty(), ProjectOrderDO::getOrderStatus, reqVO.getOrderStatusList()); + .in(reqVO.getOrderStatusList() != null && !reqVO.getOrderStatusList().isEmpty(), ProjectOrderDO::getOrderStatus, reqVO.getOrderStatusList()) + .eq(reqVO.getIsSnapshot() != null, ProjectOrderDO::getIsSnapshot, reqVO.getIsSnapshot()) + .like(!StringUtils.isEmpty(reqVO.getSnapshotCode()), ProjectOrderDO::getSnapshotCode, reqVO.getSnapshotCode()); + ; return selectPage(reqVO, query); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderService.java index 0951e1de..5d53d67c 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderService.java @@ -68,4 +68,10 @@ public interface ProjectOrderService { * @param operateReqVO */ void operateProjectOrder(ProjectOrderSaveReqVO operateReqVO); + + /** + * 记录快照 + * @param operateReqVO + */ + void createProjectOrderSnapshot(ProjectOrderSaveReqVO operateReqVO); } 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 5be8ba0b..3161c82e 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 @@ -14,6 +14,7 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderMappe import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderSubMapper; import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum; import com.chanko.yunxi.mes.module.heli.enums.ProjectOrderStatusEnum; +import com.chanko.yunxi.mes.module.heli.enums.YesOrNoEnum; import com.chanko.yunxi.mes.module.heli.service.customer.CustomerService; import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService; import org.springframework.stereotype.Service; @@ -22,6 +23,7 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import java.text.SimpleDateFormat; +import java.time.LocalDateTime; import java.util.Date; import java.util.List; @@ -54,6 +56,7 @@ public class ProjectOrderServiceImpl implements ProjectOrderService { @Transactional(rollbackFor = Exception.class) public Long createProjectOrder(ProjectOrderSaveReqVO createReqVO) { // 插入 + createReqVO.setOrderTime(LocalDateTime.now()); ProjectOrderDO projectOrder = BeanUtils.toBean(createReqVO, ProjectOrderDO.class); // 月度流水号 SerialNumberDO serialNumberDO = serialNumberService.getSerialNumber(BusinesTypeEnum.PROJECT_ORDER.name(), new SimpleDateFormat("yyyyMM").format(new Date())); @@ -65,7 +68,7 @@ public class ProjectOrderServiceImpl implements ProjectOrderService { // 插入子表 createProjectOrderSubList(projectOrder.getId(), createReqVO.getProjectOrderSubs()); - createReqVO.setId(projectOrder.getId()); + createReqVO.setId(projectOrder.getId()).setCode(projectOrder.getCode()); // 回写序列记录 serialNumberService.updateSerialNumber(serialNumberDO); @@ -73,6 +76,28 @@ public class ProjectOrderServiceImpl implements ProjectOrderService { return projectOrder.getId(); } + @Override + @Transactional(rollbackFor = Exception.class) + public void createProjectOrderSnapshot(ProjectOrderSaveReqVO createReqVO) { + ProjectOrderDO projectOrder = BeanUtils.toBean(createReqVO, ProjectOrderDO.class); + // 快照流水号 + SerialNumberDO serialNumberDO = serialNumberService.getSerialNumber(BusinesTypeEnum.PROJECT_ORDER_SNAPSHOT.name(), projectOrder.getCode()); + serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1); + projectOrder.setId(null) + .setIsSnapshot(YesOrNoEnum.YES.getCode()) + .setSnapshotId(createReqVO.getId()) + .setSnapshotCode(createReqVO.getCode()) + .setSnapshotOrderTime(createReqVO.getOrderTime()) + .setCode(String.format("%s-%s", createReqVO.getCode(), serialNumberDO.getSerialNumber().intValue())) + .setOrderTime(LocalDateTime.now()) + ; + projectOrderMapper.insert(projectOrder); + + createProjectOrderSubList(projectOrder.getId(), createReqVO.getProjectOrderSubs()); + // 回写序列记录 + serialNumberService.updateSerialNumber(serialNumberDO); + } + @Override @Transactional(rollbackFor = Exception.class) public void updateProjectOrder(ProjectOrderSaveReqVO updateReqVO) { @@ -85,6 +110,7 @@ public class ProjectOrderServiceImpl implements ProjectOrderService { ProjectOrderDO updateObj = BeanUtils.toBean(updateReqVO, ProjectOrderDO.class); updateObj.setOrderStatus(ProjectOrderStatusEnum.valueOf(updateReqVO.getActive()).getCode()); projectOrderMapper.updateById(updateObj); + updateReqVO.setOrderStatus(updateObj.getOrderStatus()); // 更新子表 updateProjectOrderSubList(updateReqVO.getId(), updateReqVO.getProjectOrderSubs()); @@ -144,7 +170,7 @@ public class ProjectOrderServiceImpl implements ProjectOrderService { } private void createProjectOrderSubList(Long projectOrderId, List list) { - list.forEach(o -> o.setProjectOrderId(projectOrderId)); + list.forEach(o -> o.setId(null).setProjectOrderId(projectOrderId)); projectOrderSubMapper.insertBatch(list); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/serialnumber/SerialNumberServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/serialnumber/SerialNumberServiceImpl.java index eed81ac9..b8d68ced 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/serialnumber/SerialNumberServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/serialnumber/SerialNumberServiceImpl.java @@ -83,7 +83,7 @@ public class SerialNumberServiceImpl implements SerialNumberService { @Transactional(rollbackFor = Exception.class) public SerialNumberDO getSerialNumber(String businessType, String segment) { LambdaQueryWrapperX query = new LambdaQueryWrapperX() {{ - eq(SerialNumberDO::getBusinessType, BusinesTypeEnum.PROJECT_ORDER.name()); + eq(SerialNumberDO::getBusinessType, businessType); eq(SerialNumberDO::getSegment, segment); last("LIMIT 1 FOR UPDATE"); }}; diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/projectorder/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/projectorder/index.ts index c7c13d71..b95f811e 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/projectorder/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/projectorder/index.ts @@ -32,7 +32,11 @@ export interface ProjectOrderVO { active: string activeOpinion: string projectOrderSubs: any - + isSnapshot: number + snapshotId: number + snapshotCode: string + orderTime: Date + snapshotOrderTime: Date } // 查询项目订单分页 diff --git a/mes-ui/mes-ui-admin-vue3/src/locales/en.ts b/mes-ui/mes-ui-admin-vue3/src/locales/en.ts index 9b62d174..72cad6b5 100644 --- a/mes-ui/mes-ui-admin-vue3/src/locales/en.ts +++ b/mes-ui/mes-ui-admin-vue3/src/locales/en.ts @@ -300,6 +300,7 @@ export default { audit: 'Audit', approve: 'Approve', terminate: 'Terminate', + detailArchive: 'Detail', typeCreate: 'Dict Type Create', typeUpdate: 'Dict Type Eidt', dataCreate: 'Dict Data Create', diff --git a/mes-ui/mes-ui-admin-vue3/src/locales/zh-CN.ts b/mes-ui/mes-ui-admin-vue3/src/locales/zh-CN.ts index e9267503..aef93cd5 100644 --- a/mes-ui/mes-ui-admin-vue3/src/locales/zh-CN.ts +++ b/mes-ui/mes-ui-admin-vue3/src/locales/zh-CN.ts @@ -301,6 +301,7 @@ export default { audit: '审核', approve: '批准', terminate: '终止', + detailArchive: '详情', typeCreate: '字典类型新增', typeUpdate: '字典类型编辑', dataCreate: '字典数据新增', diff --git a/mes-ui/mes-ui-admin-vue3/src/utils/dict.ts b/mes-ui/mes-ui-admin-vue3/src/utils/dict.ts index 8e1e5b29..9807eddb 100644 --- a/mes-ui/mes-ui-admin-vue3/src/utils/dict.ts +++ b/mes-ui/mes-ui-admin-vue3/src/utils/dict.ts @@ -232,4 +232,5 @@ export enum DICT_TYPE { HELI_PROJECT_ORDER_SUB_UNIT = 'heli_project_order_sub_unit', // 子项目单位 HELI_PROJECT_ORDER_AUDIT_STATUS = 'heli_project_order_audit_status', // 项目单据审核页状态 HELI_PROJECT_ORDER_APPROVE_STATUS = 'heli_project_order_approve_status', // 项目单据批准页状态 + HELI_PROJECT_ORDER_ALTER_STATUS = 'heli_project_order_alter_status', // 项目单据变更页状态 } diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/approve.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/approve.vue index 567a9bc5..9429104f 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/approve.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/approve.vue @@ -123,7 +123,7 @@ fixed label="订单日期" align="center" - prop="createTime" + prop="orderTime" :formatter="dateFormatter2" width="180" /> @@ -263,6 +263,11 @@ const queryParams = reactive({ status: undefined, createTime: [], businessManName: undefined, + isSnapshot: 0, + snapshotId: undefined, + snapshotCode: undefined, + orderTime: [], + snapshotOrderTime: [], }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/archive.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/archive.vue new file mode 100644 index 00000000..ac43d702 --- /dev/null +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/archive.vue @@ -0,0 +1,337 @@ + + + + + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/audit.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/audit.vue index 1c769661..c07f0a80 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/audit.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/audit.vue @@ -123,7 +123,7 @@ fixed label="订单日期" align="center" - prop="createTime" + prop="orderTime" :formatter="dateFormatter2" width="180" /> @@ -255,6 +255,11 @@ const queryParams = reactive({ status: undefined, createTime: [], businessManName: undefined, + isSnapshot: 0, + snapshotId: undefined, + snapshotCode: undefined, + orderTime: [], + snapshotOrderTime: [], }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/detail.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/detail.vue index 71e34072..11f9d085 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/detail.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/detail.vue @@ -493,7 +493,7 @@ - + @@ -536,7 +536,7 @@ >批 准 确定变更发起变更 打 回 { // 子项列表 formData.value.projectOrderSubs = await ProjectOrderApi.getProjectOrderSubListByProjectOrderId(id); + // 如为归档日志 + if(type == 'detailArchive'){ + id = formData.value.snapshotId + } // 操作日志 let logParams = { pageNo: 1, @@ -1019,7 +1023,7 @@ onMounted(() => { if(query.active == 'alter'){ alterDisabled.value = true; } - if('detail,audit,approve,terminate'.indexOf(query.active) > -1){ + if('detail,audit,approve,terminate,detailArchive'.indexOf(query.active) > -1){ detailDisabled.value = true; } queryData(query.active, query.id); diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/index.vue index a2827d9c..3761a9ba 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/index.vue @@ -123,7 +123,7 @@ fixed label="订单日期" align="center" - prop="createTime" + prop="orderTime" :formatter="dateFormatter2" width="180" /> @@ -205,9 +205,9 @@ @@ -271,6 +271,11 @@ const queryParams = reactive({ status: undefined, createTime: [], businessManName: undefined, + isSnapshot: 0, + snapshotId: undefined, + snapshotCode: undefined, + orderTime: [], + snapshotOrderTime: [], }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 @@ -343,6 +348,18 @@ const handleCommand = async (command, id) => { case 'detail': openDetail('detail', id); break; + case 'printProject': + // TODO + break; + case 'alter': + openDetail('alter', id); + break; + case 'viewAlter': + // TODO + break; + case 'delivery': + // TODO + break; } } diff --git a/sql/v1.1.0/heli.sql b/sql/v1.1.0/heli.sql index e7e08261..ce0e4d78 100644 --- a/sql/v1.1.0/heli.sql +++ b/sql/v1.1.0/heli.sql @@ -118,12 +118,17 @@ CREATE TABLE `project_order_sub` ( ALTER TABLE project_order ADD COLUMN `contract_no` VARCHAR ( 128 ) COMMENT '模具名称' AFTER customer_id; ALTER TABLE project_order_sub ADD COLUMN `unit` CHAR ( 1 ) NOT NULL COMMENT '单位' AFTER amount; +ALTER TABLE project_order ADD COLUMN `order_time` datetime NOT NULL COMMENT '单据日期' AFTER order_status; +ALTER TABLE project_order ADD COLUMN `snapshot_order_time` datetime COMMENT '快照原始单据日期' AFTER blueprint_remark; +ALTER TABLE project_order ADD COLUMN `snapshot_code` VARCHAR ( 64 ) COMMENT '快照原始单据号' AFTER blueprint_remark; +ALTER TABLE project_order ADD COLUMN `snapshot_id` BIGINT ( 20 ) COMMENT '快照原始id' AFTER blueprint_remark; +ALTER TABLE project_order ADD COLUMN `is_snapshot` TINYINT ( 1 ) NOT NULL DEFAULT '0' COMMENT '是否快照' AFTER blueprint_remark; DROP TABLE IF EXISTS `base_serial_number`; CREATE TABLE `base_serial_number` ( `id` BIGINT ( 20 ) NOT NULL AUTO_INCREMENT COMMENT '自增字段,唯一', `business_type` VARCHAR ( 32 ) NOT NULL COMMENT '业务类型 用于业务关联', - `segment` VARCHAR ( 16 ) NOT NULL COMMENT '序列参考段', + `segment` VARCHAR ( 64 ) NOT NULL COMMENT '序列参考段', `serial_number` BIGINT ( 20 ) NOT NULL DEFAULT '0' COMMENT '序列号', `status` TINYINT ( 1 ) NOT NULL DEFAULT '1' COMMENT '状态,1表示正常,2表示禁用', `creator` VARCHAR ( 64 ) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',