diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/MaterialPlanController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/MaterialPlanController.java index 6fe280a6..b4b1f5c7 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/MaterialPlanController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/MaterialPlanController.java @@ -213,5 +213,11 @@ public class MaterialPlanController { PageResult pageResult = materialPlanService.getPartPurchasePages(pageReqVO); return success(pageResult); } + @PostMapping("/saveLog") + @Operation(summary = "库存补充") + @PreAuthorize("@ss.hasPermission('heli:process-bom:create')") + public CommonResult saveLog(@Valid @RequestBody TaskDispatchDetailDO detailDO) { + return success(materialPlanService.saveLog(detailDO)); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plansubdetail/PlanSubDetailController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plansubdetail/PlanSubDetailController.java new file mode 100644 index 00000000..548a24da --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plansubdetail/PlanSubDetailController.java @@ -0,0 +1,95 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.plansubdetail; + +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; +import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success; + +import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils; + +import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog; +import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*; + +import com.chanko.yunxi.mes.module.heli.controller.admin.plansubdetail.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.plansubdetail.PlanSubDetailDO; +import com.chanko.yunxi.mes.module.heli.service.plansubdetail.PlanSubDetailService; + +@Tag(name = "管理后台 - 生产计划子项目设计时间明细") +@RestController +@RequestMapping("/heli/plan-sub-detail") +@Validated +public class PlanSubDetailController { + + @Resource + private PlanSubDetailService planSubDetailService; + + @PostMapping("/create") + @Operation(summary = "创建生产计划子项目设计时间明细") + @PreAuthorize("@ss.hasPermission('heli:plan-sub-detail:create')") + public CommonResult createPlanSubDetail(@Valid @RequestBody PlanSubDetailSaveReqVO createReqVO) { + return success(planSubDetailService.createPlanSubDetail(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新生产计划子项目设计时间明细") + @PreAuthorize("@ss.hasPermission('heli:plan-sub-detail:update')") + public CommonResult updatePlanSubDetail(@Valid @RequestBody PlanSubDetailSaveReqVO updateReqVO) { + planSubDetailService.updatePlanSubDetail(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除生产计划子项目设计时间明细") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('heli:plan-sub-detail:delete')") + public CommonResult deletePlanSubDetail(@RequestParam("id") Long id) { + planSubDetailService.deletePlanSubDetail(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得生产计划子项目设计时间明细") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('heli:plan-sub-detail:query')") + public CommonResult getPlanSubDetail(@RequestParam("id") Long id) { + PlanSubDetailDO planSubDetail = planSubDetailService.getPlanSubDetail(id); + return success(BeanUtils.toBean(planSubDetail, PlanSubDetailRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得生产计划子项目设计时间明细分页") + @PreAuthorize("@ss.hasPermission('heli:plan-sub-detail:query')") + public CommonResult> getPlanSubDetailPage(@Valid PlanSubDetailPageReqVO pageReqVO) { + PageResult pageResult = planSubDetailService.getPlanSubDetailPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, PlanSubDetailRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出生产计划子项目设计时间明细 Excel") + @PreAuthorize("@ss.hasPermission('heli:plan-sub-detail:export')") + @OperateLog(type = EXPORT) + public void exportPlanSubDetailExcel(@Valid PlanSubDetailPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = planSubDetailService.getPlanSubDetailPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "生产计划子项目设计时间明细.xls", "数据", PlanSubDetailRespVO.class, + BeanUtils.toBean(list, PlanSubDetailRespVO.class)); + } + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plansubdetail/vo/PlanSubDetailPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plansubdetail/vo/PlanSubDetailPageReqVO.java new file mode 100644 index 00000000..7f370ad6 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plansubdetail/vo/PlanSubDetailPageReqVO.java @@ -0,0 +1,63 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.plansubdetail.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 生产计划子项目设计时间明细分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class PlanSubDetailPageReqVO extends PageParam { + + @Schema(description = "计划id", example = "13863") + private Long projectPlanId; + + @Schema(description = "项目id", example = "11384") + private Long projectId; + + @Schema(description = "子项目id", example = "26785") + private Long projectSubId; + + @Schema(description = "子项目编码") + private String projectSubCode; + + @Schema(description = "设计结束日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] twoDimDate; + + @Schema(description = "设计负责人") + private Long twoDimOwner; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "设计开始日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] startTwoDimDate; + + @Schema(description = "设计类型(BLUEPRINT_WORKBLANK-毛坯 BLUEPRINT_2D-2D BLUEPRINT_3D-3D)", example = "1") + private String subType; + + @Schema(description = "结束( 默认0 1结束)") + private Boolean isOverProcess; + + @Schema(description = "时间段顺序") + private Long seqNo; + + @Schema(description = "设计天数") + private Long designNum; + + @Schema(description = "项目编号,唯一") + private String code; + + @Schema(description = "子项目名称,唯一", example = "张三") + private String name; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plansubdetail/vo/PlanSubDetailRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plansubdetail/vo/PlanSubDetailRespVO.java new file mode 100644 index 00000000..e3723d27 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plansubdetail/vo/PlanSubDetailRespVO.java @@ -0,0 +1,76 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.plansubdetail.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 生产计划子项目设计时间明细 Response VO") +@Data +@ExcelIgnoreUnannotated +public class PlanSubDetailRespVO { + + @Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED, example = "6922") + @ExcelProperty("自增字段,唯一") + private Long id; + + @Schema(description = "计划id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13863") + @ExcelProperty("计划id") + private Long projectPlanId; + + @Schema(description = "项目id", requiredMode = Schema.RequiredMode.REQUIRED, example = "11384") + @ExcelProperty("项目id") + private Long projectId; + + @Schema(description = "子项目id", example = "26785") + @ExcelProperty("子项目id") + private Long projectSubId; + + @Schema(description = "子项目编码") + @ExcelProperty("子项目编码") + private String projectSubCode; + + @Schema(description = "设计结束日期") + @ExcelProperty("设计结束日期") + private LocalDateTime twoDimDate; + + @Schema(description = "设计负责人") + @ExcelProperty("设计负责人") + private Long twoDimOwner; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "设计开始日期") + @ExcelProperty("设计开始日期") + private LocalDateTime startTwoDimDate; + + @Schema(description = "设计类型(BLUEPRINT_WORKBLANK-毛坯 BLUEPRINT_2D-2D BLUEPRINT_3D-3D)", example = "1") + @ExcelProperty("设计类型(BLUEPRINT_WORKBLANK-毛坯 BLUEPRINT_2D-2D BLUEPRINT_3D-3D)") + private String subType; + + @Schema(description = "结束( 默认0 1结束)") + @ExcelProperty("结束( 默认0 1结束)") + private Boolean isOverProcess; + + @Schema(description = "时间段顺序") + @ExcelProperty("时间段顺序") + private Long seqNo; + + @Schema(description = "设计天数") + @ExcelProperty("设计天数") + private Long designNum; + + @Schema(description = "项目编号,唯一") + @ExcelProperty("项目编号,唯一") + private String code; + + @Schema(description = "子项目名称,唯一", example = "张三") + @ExcelProperty("子项目名称,唯一") + private String name; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plansubdetail/vo/PlanSubDetailSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plansubdetail/vo/PlanSubDetailSaveReqVO.java new file mode 100644 index 00000000..a3d9bfc7 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/plansubdetail/vo/PlanSubDetailSaveReqVO.java @@ -0,0 +1,59 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.plansubdetail.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 生产计划子项目设计时间明细新增/修改 Request VO") +@Data +public class PlanSubDetailSaveReqVO { + + @Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED, example = "6922") + private Long id; + + @Schema(description = "计划id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13863") + @NotNull(message = "计划id不能为空") + private Long projectPlanId; + + @Schema(description = "项目id", requiredMode = Schema.RequiredMode.REQUIRED, example = "11384") + @NotNull(message = "项目id不能为空") + private Long projectId; + + @Schema(description = "子项目id", example = "26785") + private Long projectSubId; + + @Schema(description = "子项目编码") + private String projectSubCode; + + @Schema(description = "设计结束日期") + private LocalDateTime twoDimDate; + + @Schema(description = "设计负责人") + private Long twoDimOwner; + + @Schema(description = "设计开始日期") + private LocalDateTime startTwoDimDate; + + @Schema(description = "设计类型(BLUEPRINT_WORKBLANK-毛坯 BLUEPRINT_2D-2D BLUEPRINT_3D-3D)", example = "1") + private String subType; + + @Schema(description = "结束( 默认0 1结束)") + private Boolean isOverProcess; + + @Schema(description = "时间段顺序") + private Long seqNo; + + @Schema(description = "设计天数") + private Long designNum; + + @Schema(description = "项目编号,唯一") + private String code; + + @Schema(description = "子项目名称,唯一", example = "张三") + private String name; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/ProcessBomController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/ProcessBomController.java index 33231183..c1351576 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/ProcessBomController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/ProcessBomController.java @@ -195,7 +195,7 @@ public class ProcessBomController { // vo.setUnit(processBomDO.getUnit() != null ? unitDictData.get(processBomDO.getUnit()) : ""); vo.setSpec(processBomDO.getSpec() != null ? processBomDO.getSpec() : ""); vo.setBlueprintNo(processBomDO.getBlueprintNo() != null ? processBomDO.getBlueprintNo() : ""); - vo.setAmount(processBomDO.getAmount() != null ? processBomDO.getAmount() : 0); // Assuming getAmount() returns Integer + vo.setAmount(processBomDO.getAmount() != null ? processBomDO.getAmount().toString() : "0"); // Assuming getAmount() returns Integer vo.setComposition(processBomDO.getCompositionName() != null ? processBomDO.getCompositionName() : ""); return vo; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/vo/ProcessBomImportExcelVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/vo/ProcessBomImportExcelVO.java index 06e7c7b0..6010c6d2 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/vo/ProcessBomImportExcelVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/vo/ProcessBomImportExcelVO.java @@ -44,7 +44,7 @@ public class ProcessBomImportExcelVO { private String blueprintNo; @ExcelProperty("*数量") - private Integer amount; + private String amount; @ExcelProperty("*系统单位") private String unit; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/TaskDispatchController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/TaskDispatchController.java index 61bdb373..812e6f6b 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/TaskDispatchController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/TaskDispatchController.java @@ -11,6 +11,7 @@ import com.chanko.yunxi.mes.framework.operatelog.core.service.OperateLogFramewor import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.*; import com.chanko.yunxi.mes.module.heli.dal.dataobject.fpuser.FpUserDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.fpuserdetail.FpUserDetailDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskreport.TaskReportDO; @@ -279,4 +280,16 @@ public class TaskDispatchController { List list= taskDispatchService.getListCl(id,projectSubId); return success( list); } + @GetMapping("/taskBbPage") + @Operation(summary = "获得外协零件分页") + @PreAuthorize("@ss.hasPermission('heli:task-dispatch:query')") + public CommonResult> taskBbPage(@Valid TaskPlanJDBaoBiaoPageReqVO pageReqVO) { + return success(taskDispatchService.taskBbPage(pageReqVO)); + } + @GetMapping("/taskPage") + @Operation(summary = "获得非外协零件分页") + @PreAuthorize("@ss.hasPermission('heli:task-dispatch:query')") + public CommonResult> taskPage(@Valid TaskPlanJDBaoBiaoPageReqVO pageReqVO) { + return success(taskDispatchService.taskPage(pageReqVO)); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/vo/TaskPlanJDBaoBiaoPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/vo/TaskPlanJDBaoBiaoPageReqVO.java index b7f94e19..60530243 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/vo/TaskPlanJDBaoBiaoPageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/vo/TaskPlanJDBaoBiaoPageReqVO.java @@ -24,6 +24,7 @@ public class TaskPlanJDBaoBiaoPageReqVO extends PageParam { private String projectName; + @Schema(description = "生产计划号") private String taskNo; @@ -61,4 +62,6 @@ public class TaskPlanJDBaoBiaoPageReqVO extends PageParam { private Long owner; @Schema(description = "子项目简码") private String projectSubCode; + @Schema(description = "子项目简码") + private String blueprintNo; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/orderysdetail/OrderYsDetailDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/orderysdetail/OrderYsDetailDO.java index 5d5f859c..509ddc0a 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/orderysdetail/OrderYsDetailDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/orderysdetail/OrderYsDetailDO.java @@ -41,7 +41,7 @@ public class OrderYsDetailDO extends BaseDO { /** * 回款日期 */ - private LocalDate paymentDate; + private Date paymentDate; /** * 回款类型 */ diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/plansubdetail/PlanSubDetailDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/plansubdetail/PlanSubDetailDO.java new file mode 100644 index 00000000..65565bb7 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/plansubdetail/PlanSubDetailDO.java @@ -0,0 +1,85 @@ +package com.chanko.yunxi.mes.module.heli.dal.dataobject.plansubdetail; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO; + +/** + * 生产计划子项目设计时间明细 DO + * + * @author 管理员 + */ +@TableName("project_plan_sub_detail") +@KeySequence("project_plan_sub_detail_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PlanSubDetailDO extends BaseDO { + + /** + * 自增字段,唯一 + */ + @TableId + private Long id; + /** + * 计划id + */ + private Long projectPlanId; + /** + * 项目id + */ + private Long projectId; + /** + * 子项目id + */ + private Long projectSubId; + /** + * 子项目编码 + */ + private String projectSubCode; + /** + * 设计结束日期 + */ + private LocalDateTime twoDimDate; + /** + * 设计负责人 + */ + private Long twoDimOwner; + /** + * 设计开始日期 + */ + private LocalDateTime startTwoDimDate; + /** + * 设计类型(BLUEPRINT_WORKBLANK-毛坯 BLUEPRINT_2D-2D BLUEPRINT_3D-3D) + */ + private String subType; + /** + * 结束( 默认0 1结束) + */ + private Boolean isOverProcess; + /** + * 时间段顺序 + */ + private Long seqNo; + /** + * 设计天数 + */ + private Long designNum; + /** + * 项目编号,唯一 + */ + private String code; + /** + * 子项目名称,唯一 + */ + private String name; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDetailDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDetailDO.java index 5223a19e..f49e80ee 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDetailDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDetailDO.java @@ -251,4 +251,12 @@ public class TaskDispatchDetailDO extends BaseDO { private Long users; @TableField(exist = false) private BigDecimal bgWorkTimes; + @TableField(exist = false) + private Integer dispatchStatus; + @TableField(exist = false) + private Integer pgType; + @TableField(exist = false) + private Integer receivingStatus; + @TableField(exist = false) + private Integer mplanStatus; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatchdetaillog/TaskDispatchDetailLogDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatchdetaillog/TaskDispatchDetailLogDO.java new file mode 100644 index 00000000..50972f7a --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatchdetaillog/TaskDispatchDetailLogDO.java @@ -0,0 +1,59 @@ +package com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatchdetaillog; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO; + +/** + * 派工明细 DO + * + * @author 管理员 + */ +@TableName("pro_task_dispatch_detail_log") +@KeySequence("pro_task_dispatch_detail_log_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class TaskDispatchDetailLogDO extends BaseDO { + + /** + * 自增字段,唯一 + */ + @TableId + private Long id; + /** + * 派工单明细id + */ + private Long dispatchDetailId; + /** + * 负责人 + */ + private Long owner; + /** + * 需求计划责任人 + */ + private Long duEmpId; + /** + * 订单子项目名称 + */ + private String projectSubName; + /** + * 零件号 + */ + private String blueprintNo; + /** + * 零件名称 + */ + private String boomName; + /** + * 工序名称 + */ + private String procedureName; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plansubdetail/PlanSubDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plansubdetail/PlanSubDetailMapper.java new file mode 100644 index 00000000..900da767 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/plansubdetail/PlanSubDetailMapper.java @@ -0,0 +1,39 @@ +package com.chanko.yunxi.mes.module.heli.dal.mysql.plansubdetail; + +import java.util.*; + +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.plansubdetail.PlanSubDetailDO; +import org.apache.ibatis.annotations.Mapper; +import com.chanko.yunxi.mes.module.heli.controller.admin.plansubdetail.vo.*; + +/** + * 生产计划子项目设计时间明细 Mapper + * + * @author 管理员 + */ +@Mapper +public interface PlanSubDetailMapper extends BaseMapperX { + + default PageResult selectPage(PlanSubDetailPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(PlanSubDetailDO::getProjectPlanId, reqVO.getProjectPlanId()) + .eqIfPresent(PlanSubDetailDO::getProjectId, reqVO.getProjectId()) + .eqIfPresent(PlanSubDetailDO::getProjectSubId, reqVO.getProjectSubId()) + .eqIfPresent(PlanSubDetailDO::getProjectSubCode, reqVO.getProjectSubCode()) + .betweenIfPresent(PlanSubDetailDO::getTwoDimDate, reqVO.getTwoDimDate()) + .eqIfPresent(PlanSubDetailDO::getTwoDimOwner, reqVO.getTwoDimOwner()) + .betweenIfPresent(PlanSubDetailDO::getCreateTime, reqVO.getCreateTime()) + .betweenIfPresent(PlanSubDetailDO::getStartTwoDimDate, reqVO.getStartTwoDimDate()) + .eqIfPresent(PlanSubDetailDO::getSubType, reqVO.getSubType()) + .eqIfPresent(PlanSubDetailDO::getIsOverProcess, reqVO.getIsOverProcess()) + .eqIfPresent(PlanSubDetailDO::getSeqNo, reqVO.getSeqNo()) + .eqIfPresent(PlanSubDetailDO::getDesignNum, reqVO.getDesignNum()) + .eqIfPresent(PlanSubDetailDO::getCode, reqVO.getCode()) + .likeIfPresent(PlanSubDetailDO::getName, reqVO.getName()) + .orderByDesc(PlanSubDetailDO::getId)); + } + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java index fe45d0c7..2505ecf4 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java @@ -30,6 +30,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatch import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatchdetailowner.TaskDispatchDetailOwnerDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskreport.TaskReportDO; +import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplanboom.MaterialPlanBoomMapper; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; @@ -797,4 +798,75 @@ public interface TaskDispatchDetailMapper extends BaseMapperX taskPage( TaskPlanJDBaoBiaoPageReqVO pageReqVO){ + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(TaskDispatchDetailDO.class) + .select("g.name as procedureName,d.material_name as materialName") + .select("a.dispatch_status as dispatchStatus") + .select("CASE " + + " WHEN pg.pg_Type = 1 THEN 2 " + // pg类型为1 + " WHEN MAX(CASE WHEN l.ent_time IS NOT NULL THEN 1 ELSE 0 END) = 1 THEN 1 " + // 只要有一条l.ent_time不为空就是1 + " ELSE 0 " + // 其他情况 + "END AS pgType") + .leftJoin(TaskDispatchDO.class, "a", TaskDispatchDO::getId, TaskDispatchDetailDO::getDispatchId) + .leftJoin(ProjectOrderDO.class, "b", ProjectOrderDO::getId, TaskDispatchDO::getProjectId) + .leftJoin(ProjectOrderSubDO.class, "c", ProjectOrderSubDO::getId, TaskDispatchDO::getProjectSubId) + .leftJoin(ProcessBomDetailDO.class, "d", ProcessBomDetailDO::getId, TaskDispatchDO::getBomDetailId) + .leftJoin(ProcessBomDO.class,"i",ProcessBomDO::getId,ProcessBomDetailDO::getBomId) + .leftJoin(ProcedureDO.class, "g", ProcedureDO::getId, TaskDispatchDetailDO::getProcedureId) + .leftJoin(PgMasterLineDO.class, "pg", PgMasterLineDO::getDispatchDetailId, TaskDispatchDetailDO::getId) + .leftJoin(BgMasterLineDO.class,"l",BgMasterLineDO::getZjMxId, PgMasterLineDO::getId) + .groupBy(TaskDispatchDetailDO::getId) + .disableSubLogicDel(); + query + .like(!StringUtils.isEmpty(pageReqVO.getProjectCode()), ProjectOrderDO::getCode, pageReqVO.getProjectCode()) + .like(!StringUtils.isEmpty(pageReqVO.getBlueprintNo()), ProcessBomDetailDO::getBlueprintNo, pageReqVO.getBlueprintNo()) + .like(!StringUtils.isEmpty(pageReqVO.getProjectName()), ProjectOrderDO::getProjectName, pageReqVO.getProjectName()) + .like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), ProjectOrderSubDO::getName, pageReqVO.getProjectSubName()) + .like(!StringUtils.isEmpty(pageReqVO.getMaterialName()), ProcessBomDetailDO::getMaterialName, pageReqVO.getMaterialName()) + .like(!StringUtils.isEmpty(pageReqVO.getProcdureName()), ProcedureDO::getName, pageReqVO.getProcdureName()) + .eq(TaskDispatchDO::getDispatchType, "PRODUCTION") + .eq( TaskDispatchDetailDO::getIsOutsourcing, "N"); + return selectPage(pageReqVO, query); + } + + default PageResult taskBbPage(TaskPlanJDBaoBiaoPageReqVO pageReqVO){ + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(TaskDispatchDetailDO.class) + .select("g.name as procedureName,d.material_name as materialName") + .select("a.dispatch_status as dispatchStatus") + .select("CASE " + + " WHEN pg.pg_Type = 1 THEN 2 " + // pg类型为1 + " WHEN MAX(CASE WHEN l.ent_time IS NOT NULL THEN 1 ELSE 0 END) = 1 THEN 1 " + // 只要有一条l.ent_time不为空就是1 + " ELSE 0 " + // 其他情况 + "END AS pgType") + .select("p.mplan_status as mplanStatus") + .select("n.receiving_status as receivingStatus") + .leftJoin(TaskDispatchDO.class, "a", TaskDispatchDO::getId, TaskDispatchDetailDO::getDispatchId) + .leftJoin(ProjectOrderDO.class, "b", ProjectOrderDO::getId, TaskDispatchDO::getProjectId) + .leftJoin(ProjectOrderSubDO.class, "c", ProjectOrderSubDO::getId, TaskDispatchDO::getProjectSubId) + .leftJoin(ProcessBomDetailDO.class, "d", ProcessBomDetailDO::getId, TaskDispatchDO::getBomDetailId) + .leftJoin(ProcessBomDO.class,"i",ProcessBomDO::getId,ProcessBomDetailDO::getBomId) + .leftJoin(ProcedureDO.class, "g", ProcedureDO::getId, TaskDispatchDetailDO::getProcedureId) + .leftJoin(PgMasterLineDO.class, "pg", PgMasterLineDO::getDispatchDetailId, TaskDispatchDetailDO::getId) + .leftJoin(BgMasterLineDO.class,"l",BgMasterLineDO::getZjMxId, PgMasterLineDO::getId) + .leftJoin(MaterialPlanBoomDO.class,"p",MaterialPlanBoomDO::getId,TaskDispatchDetailDO::getProjectMaterialPlanDetailId) + .leftJoin(PurchaseOrderMakeDetailDO.class,"m",PurchaseOrderMakeDetailDO::getId, MaterialPlanBoomDO::getProjectPurchaseOrderMakeDetailId) + .leftJoin(PurchaseOrderNoDetailDO.class,"n",PurchaseOrderNoDetailDO::getId, PurchaseOrderMakeDetailDO::getPurchaseOrderNoDetailId) + .groupBy(TaskDispatchDetailDO::getId) + .disableSubLogicDel(); + query + .like(!StringUtils.isEmpty(pageReqVO.getProjectCode()), ProjectOrderDO::getCode, pageReqVO.getProjectCode()) + .like(!StringUtils.isEmpty(pageReqVO.getBlueprintNo()), ProcessBomDetailDO::getBlueprintNo, pageReqVO.getBlueprintNo()) + .like(!StringUtils.isEmpty(pageReqVO.getProjectName()), ProjectOrderDO::getProjectName, pageReqVO.getProjectName()) + .like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), ProjectOrderSubDO::getName, pageReqVO.getProjectSubName()) + .like(!StringUtils.isEmpty(pageReqVO.getMaterialName()), ProcessBomDetailDO::getMaterialName, pageReqVO.getMaterialName()) + .like(!StringUtils.isEmpty(pageReqVO.getProcdureName()), ProcedureDO::getName, pageReqVO.getProcdureName()) + .eq(TaskDispatchDO::getDispatchType, "PRODUCTION") + .eq( TaskDispatchDetailDO::getIsOutsourcing, "Y"); + return selectPage(pageReqVO, query); + + + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatchdetaillog/TaskDispatchDetailLogMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatchdetaillog/TaskDispatchDetailLogMapper.java new file mode 100644 index 00000000..5b2ffce8 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatchdetaillog/TaskDispatchDetailLogMapper.java @@ -0,0 +1,19 @@ +package com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatchdetaillog; + + + + +import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatchdetaillog.TaskDispatchDetailLogDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 派工明细 Mapper + * + * @author 管理员 + */ +@Mapper +public interface TaskDispatchDetailLogMapper extends BaseMapperX { + + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/materialplan/MaterialPlanService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/materialplan/MaterialPlanService.java index 696dcca4..9872409c 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/materialplan/MaterialPlanService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/materialplan/MaterialPlanService.java @@ -84,4 +84,6 @@ public interface MaterialPlanService { PageResult getPartPurchasePages(MaterialPlanPageReqVO pageReqVO); CommonResult delMaterialPlanBoom(Long id, String projectMaterialPlanNo); + + Boolean saveLog(TaskDispatchDetailDO detailDO); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/materialplan/MaterialPlanServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/materialplan/MaterialPlanServiceImpl.java index 0014f9f9..71135155 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/materialplan/MaterialPlanServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/materialplan/MaterialPlanServiceImpl.java @@ -17,6 +17,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumber import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatchdetaillog.TaskDispatchDetailLogDO; import com.chanko.yunxi.mes.module.heli.dal.mysql.attentiontodo.AttentiontodoMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.material.MaterialMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplanboom.MaterialPlanBoomMapper; @@ -25,6 +26,7 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseorderno.PurchaseOrderNoMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatchdetaillog.TaskDispatchDetailLogMapper; import com.chanko.yunxi.mes.module.heli.service.attentiontodo.AttentiontodoService; import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService; import com.chanko.yunxi.mes.module.system.api.user.AdminUserApi; @@ -97,6 +99,8 @@ public class MaterialPlanServiceImpl implements MaterialPlanService { private MaterialMapper materialMapper; @Resource private ProcessBomMapper processBomMapper; + @Resource + private TaskDispatchDetailLogMapper taskDispatchDetailLogMapper; @Override public Long createMaterialPlan(MaterialPlanSaveReqVO createReqVO) { // 插入 @@ -338,6 +342,7 @@ public class MaterialPlanServiceImpl implements MaterialPlanService { taskDispatchDetailDO.setPlanStatus(1); taskDispatchDetailDO.setMatPlanProcess("Y"); taskDispatchDetailDO.setProjectMaterialPlanNo(planDO.getProjectMaterialPlanNo()); + saveLog(taskDispatchDetailDO); } // materialPlanBoomMapper.insertBatch(materialPlanBoomDOList); taskDispatchDetailMapper.insertOrUpdateBatch(list); @@ -553,10 +558,9 @@ public class MaterialPlanServiceImpl implements MaterialPlanService { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(MaterialPlanBoomDO::getBoomDetailId, taskDispatchDO.getBomDetailId()); queryWrapper.eq(MaterialPlanBoomDO::getProcedureId, taskDispatchDetailDO.getProcedureId()); - queryWrapper.in(MaterialPlanBoomDO::getMplanStatus,1,2,3); + queryWrapper.in(MaterialPlanBoomDO::getMplanStatus,1,2); if (materialPlanBoomMapper.selectCount(queryWrapper) > 0)return CommonResult.error(400,"该零件已送审,不允许删除,请确认!"); materialPlanMapper.delMaterialPlanBoom(taskDispatchDO.getBomDetailId(),taskDispatchDetailDO.getProcedureId()); - } LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); @@ -574,4 +578,18 @@ public class MaterialPlanServiceImpl implements MaterialPlanService { return CommonResult.error(400,"派工单明细不存在,请刷新页面"); } + @Override + public Boolean saveLog(TaskDispatchDetailDO detailDO) { + TaskDispatchDetailLogDO log = new TaskDispatchDetailLogDO(); + log.setDispatchDetailId(detailDO.getId()); + log.setOwner(detailDO.getOwner()); + log.setDuEmpId(detailDO.getDuEmpId()); + log.setBoomName(detailDO.getMaterialName()); + log.setBlueprintNo(detailDO.getBlueprintNo()); + log.setProcedureName(detailDO.getProcedureName()); + log.setProjectSubName(detailDO.getProjectSubName()); + taskDispatchDetailLogMapper.insert(log); + return true; + } + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plansubdetail/PlanSubDetailService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plansubdetail/PlanSubDetailService.java new file mode 100644 index 00000000..f2adba6b --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plansubdetail/PlanSubDetailService.java @@ -0,0 +1,55 @@ +package com.chanko.yunxi.mes.module.heli.service.plansubdetail; + +import java.util.*; +import javax.validation.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.plansubdetail.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.plansubdetail.PlanSubDetailDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; + +/** + * 生产计划子项目设计时间明细 Service 接口 + * + * @author 管理员 + */ +public interface PlanSubDetailService { + + /** + * 创建生产计划子项目设计时间明细 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createPlanSubDetail(@Valid PlanSubDetailSaveReqVO createReqVO); + + /** + * 更新生产计划子项目设计时间明细 + * + * @param updateReqVO 更新信息 + */ + void updatePlanSubDetail(@Valid PlanSubDetailSaveReqVO updateReqVO); + + /** + * 删除生产计划子项目设计时间明细 + * + * @param id 编号 + */ + void deletePlanSubDetail(Long id); + + /** + * 获得生产计划子项目设计时间明细 + * + * @param id 编号 + * @return 生产计划子项目设计时间明细 + */ + PlanSubDetailDO getPlanSubDetail(Long id); + + /** + * 获得生产计划子项目设计时间明细分页 + * + * @param pageReqVO 分页查询 + * @return 生产计划子项目设计时间明细分页 + */ + PageResult getPlanSubDetailPage(PlanSubDetailPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plansubdetail/PlanSubDetailServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plansubdetail/PlanSubDetailServiceImpl.java new file mode 100644 index 00000000..9f33a104 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/plansubdetail/PlanSubDetailServiceImpl.java @@ -0,0 +1,74 @@ +package com.chanko.yunxi.mes.module.heli.service.plansubdetail; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.plansubdetail.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.plansubdetail.PlanSubDetailDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; + +import com.chanko.yunxi.mes.module.heli.dal.mysql.plansubdetail.PlanSubDetailMapper; + +import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; + +/** + * 生产计划子项目设计时间明细 Service 实现类 + * + * @author 管理员 + */ +@Service +@Validated +public class PlanSubDetailServiceImpl implements PlanSubDetailService { + + @Resource + private PlanSubDetailMapper planSubDetailMapper; + + @Override + public Long createPlanSubDetail(PlanSubDetailSaveReqVO createReqVO) { + // 插入 + PlanSubDetailDO planSubDetail = BeanUtils.toBean(createReqVO, PlanSubDetailDO.class); + planSubDetailMapper.insert(planSubDetail); + // 返回 + return planSubDetail.getId(); + } + + @Override + public void updatePlanSubDetail(PlanSubDetailSaveReqVO updateReqVO) { + // 校验存在 + validatePlanSubDetailExists(updateReqVO.getId()); + // 更新 + PlanSubDetailDO updateObj = BeanUtils.toBean(updateReqVO, PlanSubDetailDO.class); + planSubDetailMapper.updateById(updateObj); + } + + @Override + public void deletePlanSubDetail(Long id) { + // 校验存在 + validatePlanSubDetailExists(id); + // 删除 + planSubDetailMapper.deleteById(id); + } + + private void validatePlanSubDetailExists(Long id) { + if (planSubDetailMapper.selectById(id) == null) { +// throw exception(PLAN_SUB_DETAIL_NOT_EXISTS); + } + } + + @Override + public PlanSubDetailDO getPlanSubDetail(Long id) { + return planSubDetailMapper.selectById(id); + } + + @Override + public PageResult getPlanSubDetailPage(PlanSubDetailPageReqVO pageReqVO) { + return planSubDetailMapper.selectPage(pageReqVO); + } + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java index 494fb9e7..aaaf5760 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java @@ -184,7 +184,7 @@ public class ProcessBomServiceImpl implements ProcessBomService { Map> groupedByBluePrintfNo = list.stream().collect(Collectors.groupingBy(vo -> vo.getBlueprintNo() == null ? "NULL" : vo.getBlueprintNo())); Map> groupedByMaterialName = list.stream().collect(Collectors.groupingBy(vo -> vo.getMaterialName() == null ? "NULL" : vo.getMaterialName())); Map> groupedByType = list.stream().collect(Collectors.groupingBy(vo -> vo.getType() == null ? "NULL" : vo.getType())); - Map> groupedByAmount = list.stream().collect(Collectors.groupingBy(vo -> vo.getAmount() == null ? "NULL" : vo.getAmount().toString())); + Map> groupedByAmount = list.stream().collect(Collectors.groupingBy(vo -> vo.getAmount() == null ? "NULL" : vo.getAmount())); Map> groupedByUnit = list.stream().collect(Collectors.groupingBy(vo -> vo.getUnit() == null ? "NULL" : vo.getUnit())); // if (CollUtil.isNotEmpty(groupedByCode.get("NULL"))) { @@ -207,7 +207,10 @@ public class ProcessBomServiceImpl implements ProcessBomService { } Map> groupedByAmounts = list.stream() .collect(Collectors.groupingBy(vo -> { - if (vo.getAmount() <= 0) { + if (!vo.getAmount().matches("[0-9]+")) { + throw new RuntimeException(vo.getAmount() + "不是数字类型"); + } + if (Integer.parseInt(vo.getAmount()) <= 0) { throw exception(PROCESS_BOM_DETAIL_AMOUNT); } return vo.getAmount().toString(); @@ -377,7 +380,7 @@ public class ProcessBomServiceImpl implements ProcessBomService { } catch (NumberFormatException e) { throw exception(PROCESS_BOM_DETAIL_MATERIAL_AMOUNT_ILLGAL); } - processBomDetailDO.setAmount(o.getAmount());//数量 + processBomDetailDO.setAmount(Integer.parseInt(o.getAmount()));//数量 processBomDetailDO.setBomType(1); processBomDetailDO.setUpdateTimes(LocalDateTime.now()); processBomDetailDO.setStatus(1);//状态-1:正常 diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processdesign/ProcessDesignServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processdesign/ProcessDesignServiceImpl.java index 47e68aa0..3b605ab9 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processdesign/ProcessDesignServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processdesign/ProcessDesignServiceImpl.java @@ -3,6 +3,7 @@ package com.chanko.yunxi.mes.module.heli.service.processdesign; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.generator.IFill; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; @@ -16,12 +17,14 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.processdesign.vo.Proces import com.chanko.yunxi.mes.module.heli.controller.admin.zjbgmasterline.vo.ZjBgMasterLinePageReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.attentiontodo.AttentiontodoDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.plansubdetail.PlanSubDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processdesign.ProcessDesignDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processdesignprogress.ProcessDesignProgressDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.zjbgmasterline.ZjBgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.mysql.attentiontodo.AttentiontodoMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.plansubdetail.PlanSubDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.processdesign.ProcessDesignMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.processdesign.ProcessDesignProgressMapper; import com.chanko.yunxi.mes.module.heli.enums.ProcessDesignTypeEnum; @@ -36,6 +39,7 @@ import org.springframework.validation.annotation.Validated; import org.yaml.snakeyaml.events.Event; import javax.annotation.Resource; +import javax.xml.ws.RequestWrapper; import java.math.BigDecimal; import java.text.DateFormat; import java.text.SimpleDateFormat; @@ -64,6 +68,8 @@ public class ProcessDesignServiceImpl implements ProcessDesignService { private bdgzsomthingMapper bdgzsomthingMapper; @Resource private AttentiontodoMapper attentiontodoMapper; + @Resource + private PlanSubDetailMapper planSubDetailMapper; @Override public PageResult getProcessPage(ProcessDesignProgressPageReqVO pageReqVO) { return processDesignProgressMapper.selectPage(pageReqVO); @@ -255,6 +261,13 @@ public class ProcessDesignServiceImpl implements ProcessDesignService { @Override public int over(Long id) { + ProcessDesignDO processDesignDO = processDesignMapper.selectById(id); + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(PlanSubDetailDO::getProjectId, processDesignDO.getProjectId()); + wrapper.eq(PlanSubDetailDO::getProjectSubId, processDesignDO.getProjectSubId()); + wrapper.eq(PlanSubDetailDO::getSubType, processDesignDO.getProcessDesignType()); + wrapper.set(PlanSubDetailDO::getIsOverProcess, 1); + planSubDetailMapper.update(wrapper); return processDesignMapper.over(id); } @@ -570,6 +583,13 @@ public class ProcessDesignServiceImpl implements ProcessDesignService { BdgzsomthingDO.setAttr13("1"); bdgzsomthingMapper.insert(BdgzsomthingDO); } + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(PlanSubDetailDO::getProjectId, processDesignDO.getProjectId()); + wrapper.eq(PlanSubDetailDO::getProjectSubId, processDesignDO.getProjectSubId()); + wrapper.eq(PlanSubDetailDO::getSubType, processDesignDO.getProcessDesignType()); + wrapper.set(PlanSubDetailDO::getIsOverProcess, 0); + planSubDetailMapper.update(wrapper); + } @Override diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatch/TaskDispatchService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatch/TaskDispatchService.java index bbf76e75..bdf56327 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatch/TaskDispatchService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatch/TaskDispatchService.java @@ -108,4 +108,8 @@ public interface TaskDispatchService { List getListCl(Long id, Long projectSubId); List> getOwners(Long id); + + PageResult taskPage( TaskPlanJDBaoBiaoPageReqVO pageReqVO); + + PageResult taskBbPage(TaskPlanJDBaoBiaoPageReqVO pageReqVO); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatch/TaskDispatchServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatch/TaskDispatchServiceImpl.java index 0e27af07..661983eb 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatch/TaskDispatchServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatch/TaskDispatchServiceImpl.java @@ -1213,6 +1213,16 @@ public class TaskDispatchServiceImpl implements TaskDispatchService { return fpUserMapList; } + @Override + public PageResult taskPage( TaskPlanJDBaoBiaoPageReqVO pageReqVO) { + return taskDispatchDetailMapper.taskPage(pageReqVO); + } + + @Override + public PageResult taskBbPage(TaskPlanJDBaoBiaoPageReqVO pageReqVO) { + return taskDispatchDetailMapper.taskBbPage(pageReqVO); + } + private void updateAssembleDetail(OperateTypeEnum operateTypeEnum,Long dispatchId, List list) { list.forEach(o -> o.setDispatchId(dispatchId)); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatchdetaillog/TaskDispatchDetailLogService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatchdetaillog/TaskDispatchDetailLogService.java new file mode 100644 index 00000000..2adbbe9e --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatchdetaillog/TaskDispatchDetailLogService.java @@ -0,0 +1,17 @@ +package com.chanko.yunxi.mes.module.heli.service.taskdispatchdetaillog; + +import java.util.*; +import javax.validation.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatchdetaillog.TaskDispatchDetailLogDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; + +/** + * 派工明细 Service 接口 + * + * @author 管理员 + */ +public interface TaskDispatchDetailLogService { + + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatchdetaillog/TaskDispatchDetailLogServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatchdetaillog/TaskDispatchDetailLogServiceImpl.java new file mode 100644 index 00000000..93b0b84b --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatchdetaillog/TaskDispatchDetailLogServiceImpl.java @@ -0,0 +1,16 @@ +package com.chanko.yunxi.mes.module.heli.service.taskdispatchdetaillog; + +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + + +/** + * 派工明细 Service 实现类 + * + * @author 管理员 + */ +@Service +@Validated +public class TaskDispatchDetailLogServiceImpl implements TaskDispatchDetailLogService { + +} diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/materialplan/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/materialplan/index.ts index 5fd22dad..117ff85a 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/materialplan/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/materialplan/index.ts @@ -103,3 +103,6 @@ export const getPartPurchasePages = async (params) => { export const delMaterialPlanBoom = async (id: number,projectMaterialPlanNo:string) => { return await request.delete({ url: `/heli/material-plan/delMaterialPlanBoom?id=` + id+"&projectMaterialPlanNo="+projectMaterialPlanNo}) } +export const saveLog = async (data) => { + return await request.post({ url: `/heli/material-plan/saveLog`, data }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/taskdispatch/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/taskdispatch/index.ts index c8205270..1f8ee6ec 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/taskdispatch/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/taskdispatch/index.ts @@ -94,3 +94,11 @@ export const getTaskDispatchDetailListByDispatchIdAssembly = async (dispatchId) export const getOwnerUserList = async(id:number,type:number)=>{ return await request.get({url:`/heli/task-dispatch/task-dispatch-detail/getOwnerUserList?id=`+id+`&type=`+type}) } +// 查询派工单分页 +export const taskBbPage = async (params) => { + return await request.get({ url: `/heli/task-dispatch/taskBbPage`, params }) +} +// 查询派工单分页 +export const taskPage = async (params) => { + return await request.get({ url: `/heli/task-dispatch/taskPage`, params }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/ShopCalendar/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/ShopCalendar/index.vue index 2b05ec23..9dcabef4 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/ShopCalendar/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/ShopCalendar/index.vue @@ -61,7 +61,7 @@ import * as ShopCalendarApi from '@/api/heli/shopCalendar' import * as UserApi from '@/api/system/user' defineOptions({ - name: 'MaterialPlan' + name: 'ShopCalendar' }) const router = useRouter() const message = useMessage() // 消息弹窗 @@ -123,14 +123,14 @@ const resetQuery = (dates) =>{ message.error("请选择年月后再进行重置") } else { //根据传入的年月调用接口更新表信息 - resetRl(dates) + resetRl(dates) } } const resetRl = async (dates: string) =>{ - + const data = await ShopCalendarApi.resetRl(dates); - + if(data){ ElMessage({ message: '重置成功', @@ -144,13 +144,13 @@ const resetRl = async (dates: string) =>{ /* 设置是否是节假日 */ const handleSwitchChange = (value,dates,times) =>{ var date = formatDate(dates, 'YYYY-MM'); - updateJir(value,date,times) + updateJir(value,date,times) } const updateJir = async (value: string,dates: string,times: string) =>{ console.log(value+":"+dates+":"+times) const data = await ShopCalendarApi.updateShopCalendarPlan(value,dates,times) - + if(data){ ElMessage({ message: '设置节假日成功', @@ -165,7 +165,7 @@ const updateJir = async (value: string,dates: string,times: string) =>{ duration: 2000, // 提示持续时间,单位为毫秒 }); } -} +} @@ -180,4 +180,4 @@ onMounted(() => { queryParams.dates = ''; getList() }) - \ No newline at end of file + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/attentiontodo/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/attentiontodo/index.vue index da87bdb6..d3fdb70e 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/attentiontodo/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/attentiontodo/index.vue @@ -123,7 +123,7 @@ @@ -327,11 +327,11 @@ const getList = async () => { formData.value.orderYsDetails= await OrderYsDetailApi.getOrderYsDetails(ids.value) formData.value.orderYsDetails.map(o=>{ o.cgType=Number( o.cgType) - let date = new Date(); - date.setFullYear(o.paymentDate[0]); - date.setMonth(o.paymentDate[1]-1); - date.setDate(o.paymentDate[2]); - o.paymentDate=date + // let date = new Date(); + // date.setFullYear(o.paymentDate[0]); + // date.setMonth(o.paymentDate[1]-1); + // date.setDate(o.paymentDate[2]); + // o.paymentDate=date }) } finally { formLoading.value = false @@ -416,24 +416,22 @@ const submitForm = async () => { // return false // } // } - + if (formData.value.cgYishou>formData.value.cgYs){ + message.error("已收金额大于应收金额,请确认") + return false + } if (formData.value.cgYishou!=''&&formData.value.cgYishou!=undefined&&formData.value.cgYishou!=null){ - // if (formData.value.cgYishou=formData.value.cgYs&&formData.value.cgTypee==2){ - // await message.confirm("已收金额大于等于应收金额,回款已完成,请确认") - // }else if (formData.value.cgTypee==3){ - // await message.confirm("已收金额不为0,不能选择未付款,请确认") - // } - if (formData.value.cgYishou>formData.value.cgYs){ - message.error("已收金额大于应收金额,请确认") - return false - + if (formData.value.cgYishou=formData.value.cgYs&&formData.value.cgTypee==2){ + await message.confirm("已收金额大于等于应收金额,回款已完成,请确认") + }else if (formData.value.cgTypee==3){ + await message.confirm("已收金额不为0,不能选择未付款,请确认") } }else { - // if (formData.value.cgTypee==2||formData.value.cgTypee==1){ - // await message.confirm("未输入已收金额,回款未完成,请确认") - // } + if (formData.value.cgTypee==2||formData.value.cgTypee==1){ + await message.confirm("未输入已收金额,回款未完成,请确认") + } } // 提交请求 formLoading.value = true diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/details.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/details.vue index 85c88ab6..63a7a114 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/details.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/details.vue @@ -79,7 +79,7 @@ import * as OrderYsApi from "@/api/heli/orderys"; import {dateFormatter2, dateFormatter3} from "@/utils/formatTime"; import dayjs from "dayjs"; -defineOptions({ name: 'UnqualifiedNotificationStatistic' }) +defineOptions({ name: 'orderysDetails' }) const message = useMessage() // 消息弹窗 const { t } = useI18n() // 国际化 diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/index.vue index 2a3ed76a..72d6c75f 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/index.vue @@ -183,7 +183,7 @@ import {DICT_TYPE, getIntDictOptions} from "@/utils/dict"; import Invoivce from "@/views/heli/orderys/invoivce.vue"; import {ref} from "vue"; -defineOptions({ name: 'OrderYs' }) +defineOptions({ name: 'orderys' }) const message = useMessage() // 消息弹窗 const { t } = useI18n() // 国际化 diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/invoivce.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/invoivce.vue index 78a5ab9d..e614f715 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/invoivce.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/orderys/invoivce.vue @@ -1,5 +1,5 @@ + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/workrecord/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/workrecord/index.vue index 0635fe21..bfb8986c 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/workrecord/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/workrecord/index.vue @@ -133,6 +133,7 @@ import {useUserStore} from "@/store/modules/user"; import * as BgMasterLineApi from "@/api/heli/bgmasterline"; import * as ZjBgMasterLineApi from '@/api/heli/zjbgmasterline' import dayjs from "dayjs"; +defineOptions({ name: 'workrecord' }) const message = useMessage() // 消息弹窗