diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/constant/BatchConstant.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/constant/BatchConstant.java new file mode 100644 index 000000000..2d9a9f67e --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/constant/BatchConstant.java @@ -0,0 +1,82 @@ +package org.springblade.desk.dashboard.constant; + +/** + * @author: liweidong + * @create: 2025-11-13 + */ +public interface BatchConstant { + /** 槽液类型*/ + /** + * 计划类 + */ + Integer PLAN = 1; + /** + * 累计类 + */ + Integer ACCUMULATE = 2; + /** + * 定期类-槽液 + */ + Integer REGULAR_BATH = 3; + /** + * 定期类-设备 + */ + Integer REGULAR_DEVICE = 4; + + + + /** 槽液检查任务状态*/ + /** + * 待维护 + */ + Integer TO_BE_MAINTAINED = 1; + + /** + * 待审核 + */ + Integer PENDING_REVIEW = 2; + + /** + * 审核通过 + */ + Integer AUDIT_PASS = 3; + + /** + * 审核不通过 + */ + Integer AUDIT_NO_PASS = 4; + + /** + * 过期未维护 + */ + Integer PAST_UNTOUCHED = 5; + + + + /** 槽液审批状态*/ + /** + * 待审核 + */ + Integer STATUS_NEW = 1; + /** + * 主任审核通过 + */ + Integer DIRECTOR_STATUS_RECEIPT = 2; + + /** + * 厂长审核通过 + */ + Integer FACTORY_STATUS_RECEIPT = 3; + + /** + * 主任审核未通过 + */ + Integer DIRECTOR_STATUS_ASSIGN = 4 ; + + /** + * 厂长审核未通过 + */ + Integer FACTORY_STATUS_ASSIGN = 5 ; + + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/constant/TaskingConstant.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/constant/TaskingConstant.java index c89c8c6d8..5b1807b53 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/constant/TaskingConstant.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/constant/TaskingConstant.java @@ -94,6 +94,11 @@ public interface TaskingConstant { */ String REWORK_PLAN_EDIT = "6"; + /** + * 维护任务 + */ + String MAINTAIN_TASK = "7"; + /** 零件工艺状态*/ /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/BsCraftAbilityController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/BsCraftAbilityController.java index ee86ee187..f9bdd25a5 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/BsCraftAbilityController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/BsCraftAbilityController.java @@ -158,4 +158,15 @@ public class BsCraftAbilityController extends BladeController { ExcelUtil.export(response, "工艺能力表数据" + DateUtil.time(), "工艺能力表数据表", list, BsCraftAbilityExcel.class); } + /** + * 获取所有工艺能力 + */ + @GetMapping("/getCraftAbilityList") + @ApiOperationSupport(order = 2) + @Operation(summary = "获取所有工艺能力", description = "传入bsCraftAbility") + public R> getCraftAbilityList() { + List craftAbilityList = bsCraftAbilityService.getCraftAbilityList(); + return R.data(craftAbilityList); + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/BsProcessSetController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/BsProcessSetController.java index ac56ce069..4f6ff504c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/BsProcessSetController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/BsProcessSetController.java @@ -35,6 +35,7 @@ import jakarta.annotation.Resource; import lombok.AllArgsConstructor; import jakarta.validation.Valid; +import org.apache.commons.lang3.StringUtils; import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.annotation.IsAdmin; import org.springblade.core.mp.support.Condition; @@ -44,15 +45,15 @@ import org.springblade.core.tool.utils.Func; import org.springblade.desk.dashboard.pojo.dto.BsTeamSetDTO; import org.springblade.desk.dashboard.pojo.entity.BsProcessSetEntity; import org.springblade.desk.dashboard.pojo.entity.BsTeamSetEntity; -import org.springblade.desk.dashboard.pojo.vo.BsProcessSetVO; +import org.springblade.desk.dashboard.pojo.vo.*; import org.springblade.desk.dashboard.excel.BsProcessSetExcel; -import org.springblade.desk.dashboard.pojo.vo.BsProcessTeamVO; -import org.springblade.desk.dashboard.pojo.vo.BsTeamProcessVO; -import org.springblade.desk.dashboard.pojo.vo.BsTeamSetEntityVO; import org.springblade.desk.dashboard.service.IBsProcessSetService; import org.springblade.desk.dashboard.service.IBsProcessTeamService; import org.springblade.desk.dashboard.service.IBsTeamSetService; import org.springblade.desk.dashboard.wrapper.BsProcessSetWrapper; +import org.springblade.desk.quality.util.ExcelExtUtil; +import org.springframework.http.ResponseEntity; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springblade.core.boot.ctrl.BladeController; @@ -62,9 +63,7 @@ import org.springblade.core.excel.util.ExcelUtil; import java.util.Map; import java.util.List; import jakarta.servlet.http.HttpServletResponse; - - - +import org.springframework.web.multipart.MultipartFile; /** @@ -215,5 +214,70 @@ public class BsProcessSetController extends BladeController { } + /** + * + * 导入模版 + */ + @GetMapping("/import-template") + @ApiOperationSupport(order = 9) + @Operation(summary = "下载Excel模板", description = "") + public ResponseEntity importTemplate() { + return ExcelExtUtil.downloadXlsTemplate( + "Excel/QA/工序导入模板.xls", + "导入模版-工序导入模板.xls"); + } + + + /** + * 导入Excel(简洁版) + */ + @PostMapping("/import-excel-processSet") + @ApiOperationSupport(order = 10) + @Transactional(rollbackFor = Exception.class) + public R importExcelProcessSet(@RequestParam("file") MultipartFile file) { + try { + // 1. 快速文件校验 + if (file.isEmpty() || !isValidExcelFile(file)) { + return R.fail("请上传有效的Excel文件"); + } + + // 2. 读取数据 + List list = ExcelUtil.read(file, 0, 1, BsProcessSetExcel.class); + + return R.status(bsProcessSetService.importExcelProcessSet(list)); + + } catch (Exception e) { + return R.fail("导入失败: " + e.getLocalizedMessage()); + } + } + + /** + * 快速文件校验 + */ + private boolean isValidExcelFile(MultipartFile file) { + if (file == null || file.isEmpty()) { + return false; + } + + String fileName = file.getOriginalFilename(); + if (StringUtils.isBlank(fileName)) { + return false; + } + + String lowerName = fileName.toLowerCase(); + return lowerName.endsWith(".xls") || lowerName.endsWith(".xlsx"); + } + + /** + * 获取所有工序 + */ + @GetMapping("/getProcessSetList") + @ApiOperationSupport(order = 3) + @Operation(summary = "获取所有工序", description = "传入bsProcessSet") + public R> getProcessSetList() { + List processSetList = bsProcessSetService.getProcessSetList(); + return R.data(processSetList); + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsBatchPreservePlanController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsBatchPreservePlanController.java index d8df9c270..00124b67f 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsBatchPreservePlanController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsBatchPreservePlanController.java @@ -38,6 +38,7 @@ import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; +import org.springblade.desk.dashboard.pojo.dto.DsBatchPreservePlanDTO; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -78,22 +79,12 @@ public class DsBatchPreservePlanController extends BladeController { DsBatchPreservePlanEntity detail = dsBatchPreservePlanService.getOne(Condition.getQueryWrapper(dsBatchPreservePlan)); return R.data(DsBatchPreservePlanWrapper.build().entityVO(detail)); } - /** - * 槽液维护计划表 分页 - */ - @GetMapping("/list") - @ApiOperationSupport(order = 2) - @Operation(summary = "分页", description = "传入dsBatchPreservePlan") - public R> list(@Parameter(hidden = true) @RequestParam Map dsBatchPreservePlan, Query query) { - IPage pages = dsBatchPreservePlanService.page(Condition.getPage(query), Condition.getQueryWrapper(dsBatchPreservePlan, DsBatchPreservePlanEntity.class)); - return R.data(DsBatchPreservePlanWrapper.build().pageVO(pages)); - } /** * 槽液维护计划表 自定义分页 */ - @GetMapping("/page") - @ApiOperationSupport(order = 3) + @GetMapping("/list") + @ApiOperationSupport(order = 2) @Operation(summary = "分页", description = "传入dsBatchPreservePlan") public R> page(DsBatchPreservePlanVO dsBatchPreservePlan, Query query) { IPage pages = dsBatchPreservePlanService.selectDsBatchPreservePlanPage(Condition.getPage(query), dsBatchPreservePlan); @@ -104,7 +95,7 @@ public class DsBatchPreservePlanController extends BladeController { * 槽液维护计划表 新增 */ @PostMapping("/save") - @ApiOperationSupport(order = 4) + @ApiOperationSupport(order = 3) @Operation(summary = "新增", description = "传入dsBatchPreservePlan") public R save(@Valid @RequestBody DsBatchPreservePlanEntity dsBatchPreservePlan) { return R.status(dsBatchPreservePlanService.save(dsBatchPreservePlan)); @@ -114,7 +105,7 @@ public class DsBatchPreservePlanController extends BladeController { * 槽液维护计划表 修改 */ @PostMapping("/update") - @ApiOperationSupport(order = 5) + @ApiOperationSupport(order = 4) @Operation(summary = "修改", description = "传入dsBatchPreservePlan") public R update(@Valid @RequestBody DsBatchPreservePlanEntity dsBatchPreservePlan) { return R.status(dsBatchPreservePlanService.updateById(dsBatchPreservePlan)); @@ -124,17 +115,17 @@ public class DsBatchPreservePlanController extends BladeController { * 槽液维护计划表 新增或修改 */ @PostMapping("/submit") - @ApiOperationSupport(order = 6) + @ApiOperationSupport(order = 5) @Operation(summary = "新增或修改", description = "传入dsBatchPreservePlan") - public R submit(@Valid @RequestBody DsBatchPreservePlanEntity dsBatchPreservePlan) { - return R.status(dsBatchPreservePlanService.saveOrUpdate(dsBatchPreservePlan)); + public R submit(@Valid @RequestBody List dsBatchPreservePlan) { + return R.status(dsBatchPreservePlanService.saveOrUpdateBatchPreservePlan(dsBatchPreservePlan)); } /** * 槽液维护计划表 删除 */ @PostMapping("/remove") - @ApiOperationSupport(order = 7) + @ApiOperationSupport(order = 6) @Operation(summary = "逻辑删除", description = "传入ids") public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { return R.status(dsBatchPreservePlanService.deleteLogic(Func.toLongList(ids))); @@ -146,7 +137,7 @@ public class DsBatchPreservePlanController extends BladeController { */ @IsAdmin @GetMapping("/export-dsBatchPreservePlan") - @ApiOperationSupport(order = 9) + @ApiOperationSupport(order = 7) @Operation(summary = "导出数据", description = "传入dsBatchPreservePlan") public void exportDsBatchPreservePlan(@Parameter(hidden = true) @RequestParam Map dsBatchPreservePlan, BladeUser bladeUser, HttpServletResponse response) { QueryWrapper queryWrapper = Condition.getQueryWrapper(dsBatchPreservePlan, DsBatchPreservePlanEntity.class); @@ -158,4 +149,43 @@ public class DsBatchPreservePlanController extends BladeController { ExcelUtil.export(response, "槽液维护计划表数据" + DateUtil.time(), "槽液维护计划表数据表", list, DsBatchPreservePlanExcel.class); } + + /** + * 主任审批 + */ + @PostMapping("/directorApproval") + @ApiOperationSupport(order = 8) + @Operation(summary = "审批", description = "传入dsBatchPreservePlan") + public R directorApproval( @RequestBody DsBatchPreservePlanDTO dsBatchPreservePlan) { + return R.status(dsBatchPreservePlanService.directorApproval(dsBatchPreservePlan)); + } + + /** + * 厂长审批 + */ + @PostMapping("/factoryApproval") + @ApiOperationSupport(order = 8) + @Operation(summary = "审批", description = "传入dsBatchPreservePlan") + public R factoryApproval( @RequestBody DsBatchPreservePlanDTO dsBatchPreservePlan) { + return R.status(dsBatchPreservePlanService.factoryApproval(dsBatchPreservePlan)); + } + + /** + * 模拟定时任务 + */ + @GetMapping("/test") + @ApiOperationSupport(order = 8) + @Operation(summary = "审批", description = "") + public R factoryApproval() { + //todo 新增时没有向任务表中增加任务状态 是否更改 + //todo 创建槽液精细化-计划类-任务发起任务定时器运行... + dsBatchPreservePlanService.createPlanClassTask(); + //todo 创建槽液精细化-定期类-任务发起任务定时器运行 + //todo 存在问题 查询3和4 没有时间限制 每天查询 每天新增 + dsBatchPreservePlanService.createPeriodicalClassTask(); + //todo 创建槽液精细化-累计类-任务发起任务定时器运行 + dsBatchPreservePlanService.createAccumulateClassTask(); + return R.status(true); + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsBatchPreserveTaskController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsBatchPreserveTaskController.java index 1ac6f49ba..04a7d23d3 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsBatchPreserveTaskController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsBatchPreserveTaskController.java @@ -25,6 +25,8 @@ */ package org.springblade.desk.dashboard.controller; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -38,6 +40,7 @@ import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; +import org.springblade.desk.dashboard.pojo.dto.DsBatchPreserveTaskDTO; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -50,6 +53,8 @@ import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.tool.constant.BladeConstant; + +import java.math.BigDecimal; import java.util.Map; import java.util.List; import jakarta.servlet.http.HttpServletResponse; @@ -78,21 +83,21 @@ public class DsBatchPreserveTaskController extends BladeController { DsBatchPreserveTaskEntity detail = dsBatchPreserveTaskService.getOne(Condition.getQueryWrapper(dsBatchPreserveTask)); return R.data(DsBatchPreserveTaskWrapper.build().entityVO(detail)); } - /** - * 槽液维护任务表 分页 - */ - @GetMapping("/list") - @ApiOperationSupport(order = 2) - @Operation(summary = "分页", description = "传入dsBatchPreserveTask") - public R> list(@Parameter(hidden = true) @RequestParam Map dsBatchPreserveTask, Query query) { - IPage pages = dsBatchPreserveTaskService.page(Condition.getPage(query), Condition.getQueryWrapper(dsBatchPreserveTask, DsBatchPreserveTaskEntity.class)); - return R.data(DsBatchPreserveTaskWrapper.build().pageVO(pages)); - } +// /** +// * 槽液维护任务表 分页 +// */ +// @GetMapping("/list") +// @ApiOperationSupport(order = 2) +// @Operation(summary = "分页", description = "传入dsBatchPreserveTask") +// public R> list(@Parameter(hidden = true) @RequestParam Map dsBatchPreserveTask, Query query) { +// IPage pages = dsBatchPreserveTaskService.page(Condition.getPage(query), Condition.getQueryWrapper(dsBatchPreserveTask, DsBatchPreserveTaskEntity.class)); +// return R.data(DsBatchPreserveTaskWrapper.build().pageVO(pages)); +// } /** * 槽液维护任务表 自定义分页 */ - @GetMapping("/page") + @GetMapping("/list") @ApiOperationSupport(order = 3) @Operation(summary = "分页", description = "传入dsBatchPreserveTask") public R> page(DsBatchPreserveTaskVO dsBatchPreserveTask, Query query) { @@ -158,4 +163,28 @@ public class DsBatchPreserveTaskController extends BladeController { ExcelUtil.export(response, "槽液维护任务表数据" + DateUtil.time(), "槽液维护任务表数据表", list, DsBatchPreserveTaskExcel.class); } + + /** + * 槽液维护任务表 批量维护 + */ + @PostMapping("/batchMaintain") + @ApiOperationSupport(order = 10) + @Operation(summary = "批量维护", description = "传入dsBatchPreserveTask") + public R batchMaintain(@Valid @RequestBody List dsBatchPreserveTaskEntityList) { + + return R.status(dsBatchPreserveTaskService.batchMaintain(dsBatchPreserveTaskEntityList)); + } + + + /** + * 槽液维护任务表 批量审批 + */ + @PostMapping("/batchApproval") + @ApiOperationSupport(order = 10) + @Operation(summary = "批量审批", description = "传入dsBatchPreserveTask") + public R batchApproval(@Valid @RequestBody List dsBatchPreserveTaskEntityList) { + + return R.status(dsBatchPreserveTaskService.batchApproval(dsBatchPreserveTaskEntityList)); + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsBatchWorkCenterSetController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsBatchWorkCenterSetController.java index 19d93040c..f2229a661 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsBatchWorkCenterSetController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsBatchWorkCenterSetController.java @@ -78,21 +78,21 @@ public class DsBatchWorkCenterSetController extends BladeController { DsBatchWorkCenterSetEntity detail = dsBatchWorkCenterSetService.getOne(Condition.getQueryWrapper(dsBatchWorkCenterSet)); return R.data(DsBatchWorkCenterSetWrapper.build().entityVO(detail)); } - /** - * 槽液作业中心配置 分页 - */ - @GetMapping("/list") - @ApiOperationSupport(order = 2) - @Operation(summary = "分页", description = "传入dsBatchWorkCenterSet") - public R> list(@Parameter(hidden = true) @RequestParam Map dsBatchWorkCenterSet, Query query) { - IPage pages = dsBatchWorkCenterSetService.page(Condition.getPage(query), Condition.getQueryWrapper(dsBatchWorkCenterSet, DsBatchWorkCenterSetEntity.class)); - return R.data(DsBatchWorkCenterSetWrapper.build().pageVO(pages)); - } +// /** +// * 槽液作业中心配置 分页 +// */ +// @GetMapping("/list") +// @ApiOperationSupport(order = 2) +// @Operation(summary = "分页", description = "传入dsBatchWorkCenterSet") +// public R> list(@Parameter(hidden = true) @RequestParam Map dsBatchWorkCenterSet, Query query) { +// IPage pages = dsBatchWorkCenterSetService.page(Condition.getPage(query), Condition.getQueryWrapper(dsBatchWorkCenterSet, DsBatchWorkCenterSetEntity.class)); +// return R.data(DsBatchWorkCenterSetWrapper.build().pageVO(pages)); +// } /** * 槽液作业中心配置 自定义分页 */ - @GetMapping("/page") + @GetMapping("/list") @ApiOperationSupport(order = 3) @Operation(summary = "分页", description = "传入dsBatchWorkCenterSet") public R> page(DsBatchWorkCenterSetVO dsBatchWorkCenterSet, Query query) { @@ -100,26 +100,6 @@ public class DsBatchWorkCenterSetController extends BladeController { return R.data(pages); } - /** - * 槽液作业中心配置 新增 - */ - @PostMapping("/save") - @ApiOperationSupport(order = 4) - @Operation(summary = "新增", description = "传入dsBatchWorkCenterSet") - public R save(@Valid @RequestBody DsBatchWorkCenterSetEntity dsBatchWorkCenterSet) { - return R.status(dsBatchWorkCenterSetService.save(dsBatchWorkCenterSet)); - } - - /** - * 槽液作业中心配置 修改 - */ - @PostMapping("/update") - @ApiOperationSupport(order = 5) - @Operation(summary = "修改", description = "传入dsBatchWorkCenterSet") - public R update(@Valid @RequestBody DsBatchWorkCenterSetEntity dsBatchWorkCenterSet) { - return R.status(dsBatchWorkCenterSetService.updateById(dsBatchWorkCenterSet)); - } - /** * 槽液作业中心配置 新增或修改 */ @@ -127,7 +107,7 @@ public class DsBatchWorkCenterSetController extends BladeController { @ApiOperationSupport(order = 6) @Operation(summary = "新增或修改", description = "传入dsBatchWorkCenterSet") public R submit(@Valid @RequestBody DsBatchWorkCenterSetEntity dsBatchWorkCenterSet) { - return R.status(dsBatchWorkCenterSetService.saveOrUpdate(dsBatchWorkCenterSet)); + return R.status(dsBatchWorkCenterSetService.saveBatchWorkCenterSet(dsBatchWorkCenterSet)); } /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsMainSaltAddQuantityController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsMainSaltAddQuantityController.java index f0dfee23f..d5f77877d 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsMainSaltAddQuantityController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsMainSaltAddQuantityController.java @@ -38,6 +38,8 @@ import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; +import org.springblade.desk.dashboard.pojo.dto.DsMainSaltAddQuantityDTO; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -78,21 +80,21 @@ public class DsMainSaltAddQuantityController extends BladeController { DsMainSaltAddQuantityEntity detail = dsMainSaltAddQuantityService.getOne(Condition.getQueryWrapper(dsMainSaltAddQuantity)); return R.data(DsMainSaltAddQuantityWrapper.build().entityVO(detail)); } - /** - * 主盐添加量表 分页 - */ - @GetMapping("/list") - @ApiOperationSupport(order = 2) - @Operation(summary = "分页", description = "传入dsMainSaltAddQuantity") - public R> list(@Parameter(hidden = true) @RequestParam Map dsMainSaltAddQuantity, Query query) { - IPage pages = dsMainSaltAddQuantityService.page(Condition.getPage(query), Condition.getQueryWrapper(dsMainSaltAddQuantity, DsMainSaltAddQuantityEntity.class)); - return R.data(DsMainSaltAddQuantityWrapper.build().pageVO(pages)); - } +// /** +// * 主盐添加量表 分页 +// */ +// @GetMapping("/list") +// @ApiOperationSupport(order = 2) +// @Operation(summary = "分页", description = "传入dsMainSaltAddQuantity") +// public R> list(@Parameter(hidden = true) @RequestParam Map dsMainSaltAddQuantity, Query query) { +// IPage pages = dsMainSaltAddQuantityService.page(Condition.getPage(query), Condition.getQueryWrapper(dsMainSaltAddQuantity, DsMainSaltAddQuantityEntity.class)); +// return R.data(DsMainSaltAddQuantityWrapper.build().pageVO(pages)); +// } /** * 主盐添加量表 自定义分页 */ - @GetMapping("/page") + @GetMapping("/list") @ApiOperationSupport(order = 3) @Operation(summary = "分页", description = "传入dsMainSaltAddQuantity") public R> page(DsMainSaltAddQuantityVO dsMainSaltAddQuantity, Query query) { @@ -126,8 +128,11 @@ public class DsMainSaltAddQuantityController extends BladeController { @PostMapping("/submit") @ApiOperationSupport(order = 6) @Operation(summary = "新增或修改", description = "传入dsMainSaltAddQuantity") - public R submit(@Valid @RequestBody DsMainSaltAddQuantityEntity dsMainSaltAddQuantity) { - return R.status(dsMainSaltAddQuantityService.saveOrUpdate(dsMainSaltAddQuantity)); + public R submit(@Valid @RequestBody List mainSaltAddQuantityList) { + if(CollectionUtils.isEmpty(mainSaltAddQuantityList)){ + return R.fail("数据为空"); + } + return R.status(dsMainSaltAddQuantityService.saveOrUpdateMainSaltAddQuantity(mainSaltAddQuantityList)); } /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsSimilarPartsController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsSimilarPartsController.java index 26c1ba3b4..e8cff7791 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsSimilarPartsController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsSimilarPartsController.java @@ -32,12 +32,22 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import lombok.AllArgsConstructor; import jakarta.validation.Valid; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springblade.core.log.exception.ServiceException; import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.annotation.IsAdmin; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; +import org.springblade.desk.quality.constant.ExcelConst; +import org.springblade.desk.quality.pojo.entity.CycleTestItem; +import org.springblade.desk.quality.util.ExcelExtUtil; +import org.springframework.core.io.Resource; +import org.springframework.http.ResponseEntity; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -52,7 +62,10 @@ import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.tool.constant.BladeConstant; import java.util.Map; import java.util.List; +import java.util.stream.Collectors; + import jakarta.servlet.http.HttpServletResponse; +import org.springframework.web.multipart.MultipartFile; /** * 相似零件表 控制器 @@ -60,6 +73,7 @@ import jakarta.servlet.http.HttpServletResponse; * @author BladeX * @since 2025-11-21 */ +@Slf4j @RestController @AllArgsConstructor @RequestMapping("/dsSimilarParts") @@ -158,4 +172,60 @@ public class DsSimilarPartsController extends BladeController { ExcelUtil.export(response, "相似零件表数据" + DateUtil.time(), "相似零件表数据表", list, DsSimilarPartsExcel.class); } + /** + * + * 导入模版 + */ + @GetMapping("/import-template") + @ApiOperationSupport(order = 9) + @Operation(summary = "下载Excel模板", description = "") + public ResponseEntity importTemplate() { + return ExcelExtUtil.downloadXlsTemplate( + "Excel/QA/相似零件导入模板.xls", + "导入模版-相似零件导入模板.xls"); + } + + + /** + * 导入Excel(简洁版) + */ + @PostMapping("/import-excel-simple") + @ApiOperationSupport(order = 10) + @Transactional(rollbackFor = Exception.class) + public R importExcelSimple(@RequestParam("file") MultipartFile file) { + try { + // 1. 快速文件校验 + if (file.isEmpty() || !isValidExcelFile(file)) { + return R.fail("请上传有效的Excel文件"); + } + + // 2. 读取数据 + List list = ExcelUtil.read(file, 0, 1, DsSimilarPartsVO.class); + + return R.status(dsSimilarPartsService.importExcelSimple(list)); + + } catch (Exception e) { + log.error("导入异常", e); + return R.fail("导入失败: " + e.getLocalizedMessage()); + } + } + + /** + * 快速文件校验 + */ + private boolean isValidExcelFile(MultipartFile file) { + if (file == null || file.isEmpty()) { + return false; + } + + String fileName = file.getOriginalFilename(); + if (StringUtils.isBlank(fileName)) { + return false; + } + + String lowerName = fileName.toLowerCase(); + return lowerName.endsWith(".xls") || lowerName.endsWith(".xlsx"); + } + + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsSpecialProController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsSpecialProController.java index 78b96af6b..827fd7ab8 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsSpecialProController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsSpecialProController.java @@ -32,12 +32,18 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import lombok.AllArgsConstructor; import jakarta.validation.Valid; +import org.apache.commons.lang3.StringUtils; import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.annotation.IsAdmin; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; +import org.springblade.desk.dashboard.excel.BsProcessSetExcel; +import org.springblade.desk.quality.util.ExcelExtUtil; +import org.springframework.core.io.Resource; +import org.springframework.http.ResponseEntity; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -53,6 +59,7 @@ import org.springblade.core.tool.constant.BladeConstant; import java.util.Map; import java.util.List; import jakarta.servlet.http.HttpServletResponse; +import org.springframework.web.multipart.MultipartFile; /** * 特殊过程表 控制器 @@ -158,4 +165,57 @@ public class DsSpecialProController extends BladeController { ExcelUtil.export(response, "特殊过程表数据" + DateUtil.time(), "特殊过程表数据表", list, DsSpecialProExcel.class); } + /** + * + * 导入模版 + */ + @GetMapping("/import-template") + @ApiOperationSupport(order = 10) + @Operation(summary = "下载Excel模板", description = "") + public ResponseEntity importTemplate() { + return ExcelExtUtil.downloadXlsTemplate( + "Excel/QA/工艺特殊过程项导入模板.xls", + "导入模版-工艺特殊过程项导入模板.xls"); + } + + /** + * 导入Excel(简洁版) + */ + @PostMapping("/import-excel-SpecialPro") + @ApiOperationSupport(order = 10) + @Transactional(rollbackFor = Exception.class) + public R importExcelSpecialPro(@RequestParam("file") MultipartFile file) { + try { + // 1. 快速文件校验 + if (file.isEmpty() || !isValidExcelFile(file)) { + return R.fail("请上传有效的Excel文件"); + } + + // 2. 读取数据 + List list = ExcelUtil.read(file, 0, 1, DsSpecialProExcel.class); + + return R.status(dsSpecialProService.importExcelSpecialPro(list)); + + } catch (Exception e) { + return R.fail("导入失败: " + e.getLocalizedMessage()); + } + } + + /** + * 快速文件校验 + */ + private boolean isValidExcelFile(MultipartFile file) { + if (file == null || file.isEmpty()) { + return false; + } + + String fileName = file.getOriginalFilename(); + if (StringUtils.isBlank(fileName)) { + return false; + } + + String lowerName = fileName.toLowerCase(); + return lowerName.endsWith(".xls") || lowerName.endsWith(".xlsx"); + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsTaskingController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsTaskingController.java index 605ffc5b4..1545210ed 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsTaskingController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsTaskingController.java @@ -195,18 +195,22 @@ public class DsTaskingController extends BladeController { @GetMapping("/taskComplete") @ApiOperationSupport(order = 4) @Operation(summary = "任务完成") - public R taskComplete( @RequestParam List taskIds) { - return R.status(dsTaskingService.taskComplete(taskIds)); + public R taskComplete( @RequestParam String taskIds) { + List longs = Func.toLongList(taskIds); + System.out.println(longs); + + return R.status(dsTaskingService.taskComplete(longs)); } /** * 任务接收 */ - @PostMapping("/taskReception") + @GetMapping("/taskReception") @ApiOperationSupport(order = 4) @Operation(summary = "任务接收") - public R taskReception( @RequestBody Long taskId) { - return R.status(dsTaskingService.taskReception(taskId)); + public R taskReception( @RequestParam String taskIds) { + Long Id = Long.valueOf(taskIds); + return R.status(dsTaskingService.taskReception(Id)); } @@ -238,11 +242,28 @@ public class DsTaskingController extends BladeController { @ApiOperationSupport(order = 1) @Operation(summary = "工艺编制", description = "传入dsCraft") public R processAuthorized(Long taskId, String rank) { + DsPartAuthorizedVO detail = dsTaskingService.processAuthorized(taskId,rank); return R.data(detail); } + /** + * 编制 - 零件 - 保存 + */ + @PostMapping("/authorizedPart") + @ApiOperationSupport(order = 1) + @Operation(summary = "工艺编制-零件-保存") + public R authorizedPart( + @RequestBody BsCompilationCompletedVO compilationCompleted + + ) { + DsPartEntity dsPart = compilationCompleted.getDsPart(); + List zPartList = compilationCompleted.getPartList(); + return R.status(dsTaskingService.authorizedPart(dsPart,zPartList)); + } + + /** * 编制 - 工艺编制 - 保存 */ @@ -253,12 +274,10 @@ public class DsTaskingController extends BladeController { @RequestBody BsCompilationCompletedVO compilationCompleted ) { - DsPartEntity dsPart = compilationCompleted.getDsPart(); - List zPartList = compilationCompleted.getPartList(); DsCraftEntity craft = compilationCompleted.getCraft(); List processList = compilationCompleted.getProcessList(); List deleteIds = compilationCompleted.getDeleteIds(); - return R.status(dsTaskingService.authorizedAccomplish(dsPart,zPartList,craft,processList,deleteIds)); + return R.status(dsTaskingService.authorizedAccomplish(craft,processList,deleteIds)); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/excel/BsProcessSetExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/excel/BsProcessSetExcel.java index 67c961ab8..5ec693232 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/excel/BsProcessSetExcel.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/excel/BsProcessSetExcel.java @@ -26,6 +26,7 @@ package org.springblade.desk.dashboard.excel; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; @@ -52,59 +53,37 @@ public class BsProcessSetExcel implements Serializable { @Serial private static final long serialVersionUID = 1L; - /** - * 主键 - */ - @ColumnWidth(20) - @ExcelProperty("主键") - private Short id; /** * 编码 */ @ColumnWidth(20) - @ExcelProperty("编码") + @ExcelProperty("工序编码") private String code; /** * 名称 */ @ColumnWidth(20) - @ExcelProperty("名称") + @ExcelProperty("工序名称") private String name; - /** - * 标准周期 - */ - @ColumnWidth(20) - @ExcelProperty("标准周期") - private BigDecimal cycle; - /** - * 是否主工序 - */ - @ColumnWidth(20) - @ExcelProperty("是否主工序") - private String isMain; - /** - * 是否特殊 - */ - @ColumnWidth(20) - @ExcelProperty("是否特殊") - private String isSpecial; + /** * 是否分派 */ @ColumnWidth(20) - @ExcelProperty("是否分派") + @ExcelProperty("不分派") private String isDispatch; + /** - * 备注 + * 是否特殊 */ @ColumnWidth(20) - @ExcelProperty("备注") - private String remarks; + @ExcelProperty("特殊") + private String isSpecial; + /** - * 是否删除 + * 是否主工序 */ @ColumnWidth(20) - @ExcelProperty("是否删除") - private Long isDeleted; - + @ExcelProperty("主工序") + private String isMain; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/excel/DsSimilarPartsExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/excel/DsSimilarPartsExcel.java index 5922348fc..2407c1549 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/excel/DsSimilarPartsExcel.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/excel/DsSimilarPartsExcel.java @@ -53,35 +53,35 @@ public class DsSimilarPartsExcel implements Serializable { @Serial private static final long serialVersionUID = 1L; - /** - * 主键ID - */ - @ColumnWidth(20) - @ExcelProperty("主键ID") - private BigDecimal id; +// /** +// * 主键ID +// */ +// @ColumnWidth(20) +// @ExcelProperty("主键ID") +// private BigDecimal id; /** * 零件号 */ - @ColumnWidth(20) - @ExcelProperty("零件号") - private BigDecimal partOne; + @ColumnWidth(30) + @ExcelProperty("零件工艺编码") + private String partOne; /** * 相似零件 */ - @ColumnWidth(20) - @ExcelProperty("相似零件") - private BigDecimal partTwo; - /** - * 备注 - */ - @ColumnWidth(20) - @ExcelProperty("备注") - private String remarks; - /** - * 删除标记 - */ - @ColumnWidth(20) - @ExcelProperty("删除标记") - private Long isDeleted; + @ColumnWidth(30) + @ExcelProperty("相似零件工艺编码") + private String partTwo; +// /** +// * 备注 +// */ +// @ColumnWidth(20) +// @ExcelProperty("备注") +// private String remarks; +// /** +// * 删除标记 +// */ +// @ColumnWidth(20) +// @ExcelProperty("删除标记") +// private Long isDeleted; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/excel/DsSpecialProExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/excel/DsSpecialProExcel.java index 7b6af892d..4d88adec0 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/excel/DsSpecialProExcel.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/excel/DsSpecialProExcel.java @@ -53,41 +53,38 @@ public class DsSpecialProExcel implements Serializable { @Serial private static final long serialVersionUID = 1L; + /** - * 主键ID + * 作业中心(外键) */ @ColumnWidth(20) - @ExcelProperty("主键ID") - private BigDecimal id; + @ExcelProperty("作业中心编码") + private String wcCode; + /** - * 作业中心(外键) + * 产线编码 */ @ColumnWidth(20) - @ExcelProperty("作业中心(外键)") - private BigDecimal wcId; + @ExcelProperty("产线编码") + private String equipmentCode; /** * 过程项 */ @ColumnWidth(20) - @ExcelProperty("过程项") + @ExcelProperty("确认名称") private String proItem; /** * 确认条件 */ @ColumnWidth(20) - @ExcelProperty("确认条件") + @ExcelProperty("确认编号") private String condition; - /** - * 周期天数 - */ - @ColumnWidth(20) - @ExcelProperty("周期天数") - private Long cycle; + /** * 上次确认日期 */ @ColumnWidth(20) - @ExcelProperty("上次确认日期") + @ExcelProperty("确认到期日期") private Date lastDueTime; /** * 提前提醒(天) @@ -99,12 +96,12 @@ public class DsSpecialProExcel implements Serializable { * 工艺员(外键-人员) */ @ColumnWidth(20) - @ExcelProperty("工艺员(外键-人员)") - private BigDecimal proMan; + @ExcelProperty("工艺员域账户") + private String proMan; /** * 备注 */ - @ColumnWidth(20) + @ColumnWidth(40) @ExcelProperty("备注") private String remarks; diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BatchPreservePlanMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BatchPreservePlanMapper.xml index 50880ffc5..ad4bf5267 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BatchPreservePlanMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BatchPreservePlanMapper.xml @@ -25,11 +25,34 @@ + + + + + - select * from DS_BATCH_PRESERVE_PLAN where is_deleted = 0 + + and BBP_TYPE = #{dsBatchPreservePlan.bbpType} + + + and APPROVAL_STATUS = #{dsBatchPreservePlan.approvalStatus} + + + and WC_ID = #{dsBatchPreservePlan.wcId} + + + AND BATCH_NO LIKE '%' || #{dsBatchPreservePlan.batchNo} || '%' + + + AND PRESERVE_CONTENT LIKE '%' || #{dsBatchPreservePlan.preserveContent} || '%' + + + and RULE_TYPE = #{dsBatchPreservePlan.ruleType} + @@ -37,4 +60,22 @@ SELECT * FROM DS_BATCH_PRESERVE_PLAN ${ew.customSqlSegment} + + + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BatchPreserveTaskMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BatchPreserveTaskMapper.xml index 5a68661b0..286bf5593 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BatchPreserveTaskMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BatchPreserveTaskMapper.xml @@ -27,8 +27,25 @@ - + select b.WC_ID,b.BATCH_NO,a.* from DS_BATCH_PRESERVE_TASK a + left join DS_BATCH_PRESERVE_PLAN b + on a.BPP_ID = b.ID where 1=1 + + and b.WC_ID = #{dsBatchPreserveTask.wcId} + + + and b.BATCH_NO = #{dsBatchPreserveTask.batchNo} + + + and a.TASK_STATUS = #{dsBatchPreserveTask.taskStatus} + + + and a.TASK_STATUS in + + #{taskStatus} + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BatchWorkCenterSetMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BatchWorkCenterSetMapper.xml index 757482f03..374fceb30 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BatchWorkCenterSetMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BatchWorkCenterSetMapper.xml @@ -21,8 +21,11 @@ - select * from DS_BATCH_WORK_CENTER_SET where is_deleted = 0 + + and WC_ID = #{dsBatchWorkCenterSet.wcId} + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BsCraftAbilityMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BsCraftAbilityMapper.java index 3f1a5bd3b..a63f39731 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BsCraftAbilityMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BsCraftAbilityMapper.java @@ -60,4 +60,5 @@ public interface BsCraftAbilityMapper extends BaseMapper { */ List exportBsCraftAbility(@Param("ew") Wrapper queryWrapper); + List selectAll(); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BsProcessSetMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BsProcessSetMapper.java index 26d450e4d..cc752b812 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BsProcessSetMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BsProcessSetMapper.java @@ -62,4 +62,6 @@ public interface BsProcessSetMapper extends BaseMapper { List exportBsProcessSet(@Param("ew") Wrapper queryWrapper); BsProcessSetEntity selectBsProcessSetByProcessCode(@Param("processCode")String processCode); + + List selectAll(); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BsWorkCenterMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BsWorkCenterMapper.java index 563af84f9..bb8370cae 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BsWorkCenterMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BsWorkCenterMapper.java @@ -61,4 +61,6 @@ public interface BsWorkCenterMapper extends BaseMapper { List exportBsWorkCenter(@Param("ew") Wrapper queryWrapper); List getList(); + + BsWorkCenterEntity selectBsWorkCenterByWcCode(@Param("wcCode")String wcCode); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/CraftAbilityMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/CraftAbilityMapper.xml index 8f8100eb1..0d8221492 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/CraftAbilityMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/CraftAbilityMapper.xml @@ -26,5 +26,8 @@ + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsBatchPreservePlanMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsBatchPreservePlanMapper.java index 03fe33202..dfe278ca9 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsBatchPreservePlanMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsBatchPreservePlanMapper.java @@ -32,6 +32,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; + +import java.util.Date; import java.util.List; /** @@ -49,7 +51,8 @@ public interface DsBatchPreservePlanMapper extends BaseMapper */ - List selectDsBatchPreservePlanPage(IPage page, DsBatchPreservePlanVO dsBatchPreservePlan); + List selectDsBatchPreservePlanPage(IPage page, + @Param("dsBatchPreservePlan")DsBatchPreservePlanVO dsBatchPreservePlan); /** @@ -60,4 +63,23 @@ public interface DsBatchPreservePlanMapper extends BaseMapper exportDsBatchPreservePlan(@Param("ew") Wrapper queryWrapper); + /** + * 查询今天要发起的计划类得任务 + * @param bbpType + * @param approvalStatus + * @param startTime + * @param endTime + * @return + */ + List queryTodayPlanData(@Param("bbpType")Integer bbpType, + @Param("approvalStatus")Integer approvalStatus, + @Param("startTime")Date startTime, + @Param("endTime")Date endTime); + + /** + * 查询今天要发起的定期类得任务 + * @param bbpTypeList + * @return + */ + List queryTodayPeriodicalData(@Param("bbpTypeList")List bbpTypeList); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsBatchPreserveTaskMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsBatchPreserveTaskMapper.java index f281dc4f6..d0db6b57f 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsBatchPreserveTaskMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsBatchPreserveTaskMapper.java @@ -47,9 +47,12 @@ public interface DsBatchPreserveTaskMapper extends BaseMapper */ - List selectDsBatchPreserveTaskPage(IPage page, DsBatchPreserveTaskVO dsBatchPreserveTask); + List selectDsBatchPreserveTaskPage(IPage page, + @Param("dsBatchPreserveTask")DsBatchPreserveTaskVO dsBatchPreserveTask, + @Param("taskStatusList")List taskStatusList); /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsBatchWorkCenterSetMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsBatchWorkCenterSetMapper.java index 88fe48e7c..6baa0eeb1 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsBatchWorkCenterSetMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsBatchWorkCenterSetMapper.java @@ -49,7 +49,8 @@ public interface DsBatchWorkCenterSetMapper extends BaseMapper */ - List selectDsBatchWorkCenterSetPage(IPage page, DsBatchWorkCenterSetVO dsBatchWorkCenterSet); + List selectDsBatchWorkCenterSetPage(IPage page, + @Param("dsBatchWorkCenterSet")DsBatchWorkCenterSetVO dsBatchWorkCenterSet); /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsMainSaltAddQuantityMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsMainSaltAddQuantityMapper.java index 7c1aff9de..5a334c70e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsMainSaltAddQuantityMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsMainSaltAddQuantityMapper.java @@ -49,7 +49,8 @@ public interface DsMainSaltAddQuantityMapper extends BaseMapper */ - List selectDsMainSaltAddQuantityPage(IPage page, DsMainSaltAddQuantityVO dsMainSaltAddQuantity); + List selectDsMainSaltAddQuantityPage(IPage page, + @Param("dsMainSaltAddQuantity")DsMainSaltAddQuantityVO dsMainSaltAddQuantity); /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/MainSaltAddQuantityMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/MainSaltAddQuantityMapper.xml index 7aef5cb48..db4790ed8 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/MainSaltAddQuantityMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/MainSaltAddQuantityMapper.xml @@ -23,8 +23,18 @@ - select * from DS_MAIN_SALT_ADD_QUANTITY where is_deleted = 0 + + and WC_ID = #{dsMainSaltAddQuantity.wcId} + + + AND BATCH_NO LIKE '%' || #{dsMainSaltAddQuantity.batchNo} || '%' + + + and ADD_TIME BETWEEN TO_DATE(#{dsMainSaltAddQuantity.startDate}, 'YYYY-MM-DD') + AND TO_DATE(#{dsMainSaltAddQuantity.endDate}, 'YYYY-MM-DD') + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ProcessSetMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ProcessSetMapper.xml index 85a685932..d303d1fdb 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ProcessSetMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ProcessSetMapper.xml @@ -23,7 +23,7 @@ - + @@ -44,5 +44,8 @@ select * from BS_PROCESS_SET where is_deleted = 0 and CODE = #{processCode} + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ReworkProcessMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ReworkProcessMapper.xml index 26930f13c..3f6090b86 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ReworkProcessMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ReworkProcessMapper.xml @@ -8,7 +8,6 @@ - @@ -30,6 +29,7 @@ + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/SpecialProMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/SpecialProMapper.xml index b2dcce66b..4c2dafc44 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/SpecialProMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/SpecialProMapper.xml @@ -21,6 +21,9 @@ + + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/TaskBillMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/TaskBillMapper.xml index 69c0f430d..33ae11c58 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/TaskBillMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/TaskBillMapper.xml @@ -23,6 +23,8 @@ + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/TaskingMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/TaskingMapper.xml index 8a90351fd..a27a26cd2 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/TaskingMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/TaskingMapper.xml @@ -45,7 +45,7 @@ and PART_CODE = #{dsTasking.partCode} - + ORDER BY CREATE_TIME DESC @@ -78,6 +78,7 @@ #{taskStatus} + ORDER BY CREATE_TIME DESC + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchPreservePlanDTO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchPreservePlanDTO.java index fdd36f67b..dcdef0d87 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchPreservePlanDTO.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchPreservePlanDTO.java @@ -25,6 +25,7 @@ */ package org.springblade.desk.dashboard.pojo.dto; +import io.swagger.v3.oas.annotations.media.Schema; import org.springblade.desk.dashboard.pojo.entity.DsBatchPreservePlanEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -42,4 +43,13 @@ public class DsBatchPreservePlanDTO extends DsBatchPreservePlanEntity { @Serial private static final long serialVersionUID = 1L; + /** + * 是否通过 + */ + @Schema(description = "是否通过") + private Boolean isPass; + + + + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchPreserveTaskDTO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchPreserveTaskDTO.java index afeb53a22..1872d27d9 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchPreserveTaskDTO.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchPreserveTaskDTO.java @@ -25,6 +25,8 @@ */ package org.springblade.desk.dashboard.pojo.dto; +import com.alibaba.fastjson.JSONArray; +import io.swagger.v3.oas.annotations.media.Schema; import org.springblade.desk.dashboard.pojo.entity.DsBatchPreserveTaskEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -42,4 +44,10 @@ public class DsBatchPreserveTaskDTO extends DsBatchPreserveTaskEntity { @Serial private static final long serialVersionUID = 1L; + /** + * 槽液任务ID + */ + @Schema(description = "槽液任务ID") + private String bptIdList; + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsMainSaltAddQuantityDTO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsMainSaltAddQuantityDTO.java index ca39a43f8..1ca2084b1 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsMainSaltAddQuantityDTO.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsMainSaltAddQuantityDTO.java @@ -28,7 +28,10 @@ package org.springblade.desk.dashboard.pojo.dto; import org.springblade.desk.dashboard.pojo.entity.DsMainSaltAddQuantityEntity; import lombok.Data; import lombok.EqualsAndHashCode; +import org.springblade.desk.dashboard.pojo.vo.DsMainSaltAddQuantityVO; + import java.io.Serial; +import java.util.List; /** * 主盐添加量表 数据传输对象实体类 @@ -42,4 +45,5 @@ public class DsMainSaltAddQuantityDTO extends DsMainSaltAddQuantityEntity { @Serial private static final long serialVersionUID = 1L; + private List mainSaltAddQuantityList; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsProcessSetEntity.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsProcessSetEntity.java index f71473d1b..324b3b005 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsProcessSetEntity.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsProcessSetEntity.java @@ -51,14 +51,14 @@ public class BsProcessSetEntity extends BaseEntity { private static final long serialVersionUID = 1L; /** - * 编码 + * 工序编码 */ - @Schema(description = "编码") + @Schema(description = "工序编码") private String code; /** - * 名称 + * 工序名称 */ - @Schema(description = "名称") + @Schema(description = "工序名称") private String name; /** * 标准周期 @@ -68,17 +68,17 @@ public class BsProcessSetEntity extends BaseEntity { /** * 是否主工序 */ - @Schema(description = "是否主工序") + @Schema(description = "主工序") private String isMain; /** * 是否特殊 */ - @Schema(description = "是否特殊") + @Schema(description = "特殊") private String isSpecial; /** * 是否分派 */ - @Schema(description = "是否分派") + @Schema(description = "不分派") private String isDispatch; /** * 备注 @@ -114,7 +114,7 @@ public class BsProcessSetEntity extends BaseEntity { * 转速/振频 */ @Schema(description = "转速/振频") - private String vSpeed; + private String viSpeed; /** * 整流机控制模式 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchPreservePlanEntity.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchPreservePlanEntity.java index c4e20ceb5..81f00c7e5 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchPreservePlanEntity.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchPreservePlanEntity.java @@ -69,7 +69,7 @@ public class DsBatchPreservePlanEntity extends BaseEntity { * 作业中心(外键) */ @Schema(description = "作业中心(外键)") - private BigDecimal wcId; + private Long wcId; /** * 维护时间 */ @@ -79,17 +79,17 @@ public class DsBatchPreservePlanEntity extends BaseEntity { * 维护人(外键-人员) */ @Schema(description = "维护人(外键-人员)") - private BigDecimal keepMan; + private Long keepMan; /** * 审批状态 */ @Schema(description = "审批状态") - private Long approvalStatus; + private Integer approvalStatus; /** * 任务类型 */ @Schema(description = "任务类型") - private Long bbpType; + private Integer bbpType; /** * 上次任务生产时间 */ @@ -121,4 +121,40 @@ public class DsBatchPreservePlanEntity extends BaseEntity { @Schema(description = "备注") private String remarks; + /** + * 添加量 + */ + @Schema(description = "添加量") + private Integer addQuantity; + + /** + * 添加量倍数 + */ + @Schema(description = "添加量倍数") + private Integer addQuantityMultiple; + + /** + * 累计触发值 + */ + @Schema(description = "累计触发值") + private Integer cumulativeTriggerValue; + + /** + * 当前值(累计) + */ + @Schema(description = "当前值(累计)") + private Integer currentValue; + + /** + * 累计初始值 + */ + @Schema(description = "累计初始值") + private Integer cumulativeInitialValue; + + /** + * 审核意见 + */ + @Schema(description = "审核意见") + private String approvalOpinion; + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchPreserveTaskEntity.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchPreserveTaskEntity.java index 2808866c4..b54875153 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchPreserveTaskEntity.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchPreserveTaskEntity.java @@ -50,21 +50,12 @@ public class DsBatchPreserveTaskEntity extends BaseEntity { @Serial private static final long serialVersionUID = 1L; - /** - * 备注 - */ - @Schema(description = "备注") - private String remarks; - /** - * 主键ID - */ - @Schema(description = "主键ID") - private BigDecimal bptId; + /** * 槽液维护计划(外键) */ @Schema(description = "槽液维护计划(外键)") - private BigDecimal bppId; + private Long bppId; /** * 任务产生时间 */ @@ -84,7 +75,7 @@ public class DsBatchPreserveTaskEntity extends BaseEntity { * 完成人(外键-人员) */ @Schema(description = "完成人(外键-人员)") - private BigDecimal finishMan; + private Long finishMan; /** * 完成时间 */ @@ -99,7 +90,7 @@ public class DsBatchPreserveTaskEntity extends BaseEntity { * 审核人(外键-人员) */ @Schema(description = "审核人(外键-人员)") - private BigDecimal auditMan; + private Long auditMan; /** * 审核时间 */ @@ -121,4 +112,10 @@ public class DsBatchPreserveTaskEntity extends BaseEntity { @Schema(description = "维护内容") private String preserveContent; + /** + * 备注 + */ + @Schema(description = "备注") + private String remarks; + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchWorkCenterSetEntity.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchWorkCenterSetEntity.java index 29dde9ccd..61316da87 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchWorkCenterSetEntity.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchWorkCenterSetEntity.java @@ -61,12 +61,12 @@ public class DsBatchWorkCenterSetEntity extends BaseEntity { @Schema(description = "设备(外键)") private Long device; /** - * 工艺id + * 工艺员 */ @Schema(description = "工艺id") private String craftManId; /** - * 工艺名称(工艺员) + * 工艺员名称(工艺员) */ @Schema(description = "工艺名称") private String craftManName; @@ -79,7 +79,7 @@ public class DsBatchWorkCenterSetEntity extends BaseEntity { * 维护人(外键-人员) */ @Schema(description = "维护人(外键-人员)") - private BigDecimal keepMan; + private Long keepMan; /** * 备注 */ diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsMainSaltAddQuantityEntity.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsMainSaltAddQuantityEntity.java index 5d69802c0..b8d5964d0 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsMainSaltAddQuantityEntity.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsMainSaltAddQuantityEntity.java @@ -54,7 +54,7 @@ public class DsMainSaltAddQuantityEntity extends BaseEntity { * 作业中心(外键) */ @Schema(description = "作业中心(外键)") - private BigDecimal wcId; + private Long wcId; /** * 槽号 */ @@ -79,7 +79,7 @@ public class DsMainSaltAddQuantityEntity extends BaseEntity { * 维护人(外键-人员) */ @Schema(description = "维护人(外键-人员)") - private BigDecimal keepMan; + private Long keepMan; /** * 类型(1-日常,2-累计) */ diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsSpecialProEntity.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsSpecialProEntity.java index 5eb30cdd5..3568d79a2 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsSpecialProEntity.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsSpecialProEntity.java @@ -25,12 +25,14 @@ */ package org.springblade.desk.dashboard.pojo.entity; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import io.swagger.v3.oas.annotations.media.Schema; import com.baomidou.mybatisplus.annotation.TableName; import java.math.BigDecimal; import java.util.Date; import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; import org.springblade.core.tenant.mp.TenantEntity; import java.io.Serial; @@ -44,7 +46,7 @@ import java.io.Serial; @TableName("DS_SPECIAL_PRO") @Schema(description = "DsSpecialPro对象") @EqualsAndHashCode(callSuper = true) -public class DsSpecialProEntity extends TenantEntity { +public class DsSpecialProEntity extends BaseEntity { @Serial private static final long serialVersionUID = 1L; @@ -53,7 +55,7 @@ public class DsSpecialProEntity extends TenantEntity { * 作业中心(外键) */ @Schema(description = "作业中心(外键)") - private BigDecimal wcId; + private Long wcId; /** * 过程项 */ @@ -72,6 +74,7 @@ public class DsSpecialProEntity extends TenantEntity { /** * 上次确认日期 */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @Schema(description = "上次确认日期") private Date lastDueTime; /** @@ -83,7 +86,7 @@ public class DsSpecialProEntity extends TenantEntity { * 工艺员(外键-人员) */ @Schema(description = "工艺员(外键-人员)") - private BigDecimal proMan; + private Long proMan; /** * 备注 */ @@ -101,4 +104,22 @@ public class DsSpecialProEntity extends TenantEntity { @Schema(description = "外协名称") private String ocName; + /** + * 产线编码 + */ + @Schema(description = "产线编码") + private String equipmentCode; + + /** + * 设备ID + */ + @Schema(description = "设备ID") + private Long equipmentId; + + /** + * 设备名称 + */ + @Schema(description = "设备名称") + private Long equipmentName; + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsTaskBillEntity.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsTaskBillEntity.java index 64e391b26..ff1dae9b2 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsTaskBillEntity.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsTaskBillEntity.java @@ -111,4 +111,16 @@ public class DsTaskBillEntity extends BaseEntity { @Schema(description = "备注") private String remarks; + /** + * 设备ID + */ + @Schema(description = "设备ID") + private Long equipmentId; + + /** + * 设备名称 + */ + @Schema(description = "设备名称") + private Long equipmentName; + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/PrReworkProcessEntity.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/PrReworkProcessEntity.java index 4e3b62f98..fd978f32a 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/PrReworkProcessEntity.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/PrReworkProcessEntity.java @@ -55,11 +55,7 @@ public class PrReworkProcessEntity extends BaseEntity { */ @Schema(description = "备注") private String remarks; - /** - * - */ - @Schema(description = "") - private BigDecimal newColumn; + /** * 返工单号 */ @@ -147,4 +143,10 @@ public class PrReworkProcessEntity extends BaseEntity { @Schema(description = "实验编号") private String trialNo; + /** + * 工序名称 + */ + @Schema(description = "工序名称") + private String ppsName; + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchPreservePlanVO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchPreservePlanVO.java index e788c243c..88d720e1c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchPreservePlanVO.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchPreservePlanVO.java @@ -25,6 +25,7 @@ */ package org.springblade.desk.dashboard.pojo.vo; +import io.swagger.v3.oas.annotations.media.Schema; import org.springblade.desk.dashboard.pojo.entity.DsBatchPreservePlanEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -42,4 +43,16 @@ public class DsBatchPreservePlanVO extends DsBatchPreservePlanEntity { @Serial private static final long serialVersionUID = 1L; + /** + * 作业中心 + */ + @Schema(description = "作业中心") + private String wcName; + + /** + * 维护人 + */ + @Schema(description = "维护人") + private String keepManStr; + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchPreserveTaskVO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchPreserveTaskVO.java index abac37113..6d84f647c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchPreserveTaskVO.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchPreserveTaskVO.java @@ -25,6 +25,7 @@ */ package org.springblade.desk.dashboard.pojo.vo; +import io.swagger.v3.oas.annotations.media.Schema; import org.springblade.desk.dashboard.pojo.entity.DsBatchPreserveTaskEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -42,4 +43,34 @@ public class DsBatchPreserveTaskVO extends DsBatchPreserveTaskEntity { @Serial private static final long serialVersionUID = 1L; + /** + * 维护内容 + */ + @Schema(description = "维护内容") + private String accumulateRelevantInfo; + + /** + * 作业中心ID + */ + @Schema(description = "作业中心ID") + private Long wcId; + + /** + * 作业中心名称 + */ + @Schema(description = "作业中心名称") + private String wcName; + + /** + * 槽号 + */ + @Schema(description = "槽号") + private String batchNo; + + /** + * 责任人 + */ + @Schema(description = "责任人") + private String finishManStr; + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchWorkCenterSetVO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchWorkCenterSetVO.java index 6ad71d166..e2e0836cf 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchWorkCenterSetVO.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchWorkCenterSetVO.java @@ -25,6 +25,7 @@ */ package org.springblade.desk.dashboard.pojo.vo; +import io.swagger.v3.oas.annotations.media.Schema; import org.springblade.desk.dashboard.pojo.entity.DsBatchWorkCenterSetEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -42,4 +43,16 @@ public class DsBatchWorkCenterSetVO extends DsBatchWorkCenterSetEntity { @Serial private static final long serialVersionUID = 1L; + /** + * 维护人(外键-人员) + */ + @Schema(description = "维护人") + private String keepManStr; + + /** + *作业中心名称 + */ + @Schema(description = "作业中心名称") + private String wcName; + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsMainSaltAddQuantityVO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsMainSaltAddQuantityVO.java index 0dc5c8080..bb2f83751 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsMainSaltAddQuantityVO.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsMainSaltAddQuantityVO.java @@ -25,6 +25,7 @@ */ package org.springblade.desk.dashboard.pojo.vo; +import io.swagger.v3.oas.annotations.media.Schema; import org.springblade.desk.dashboard.pojo.entity.DsMainSaltAddQuantityEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -42,4 +43,22 @@ public class DsMainSaltAddQuantityVO extends DsMainSaltAddQuantityEntity { @Serial private static final long serialVersionUID = 1L; + /** + * 开始时间 + */ + @Schema(description = "开始时间") + private String startDate; + + /** + * 结束时间 + */ + @Schema(description = "结束时间") + private String endDate; + + /** + * 作业中心名称 + */ + @Schema(description = "作业中心名称") + private String wcName; + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartSynthesisVO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartSynthesisVO.java index 84f818e93..ff239b9fb 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartSynthesisVO.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartSynthesisVO.java @@ -49,4 +49,9 @@ public class DsPartSynthesisVO{ */ private List dsPartEntities; + /** + * 零件版本号 + */ + private String partVersion; + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsSimilarPartsVO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsSimilarPartsVO.java index 9ff9e5ef7..58b864b60 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsSimilarPartsVO.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsSimilarPartsVO.java @@ -46,13 +46,13 @@ public class DsSimilarPartsVO extends DsSimilarPartsEntity { /** * 零件号 */ - @Schema(description = "零件号") + @Schema(description = "零件工艺编码") private String partOneCode; /** * 相似零件 */ - @Schema(description = "相似零件") + @Schema(description = "相似零件工艺编码") private String partTwoCode; diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IBsCraftAbilityService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IBsCraftAbilityService.java index 925896306..f5c93f83a 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IBsCraftAbilityService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IBsCraftAbilityService.java @@ -58,4 +58,9 @@ public interface IBsCraftAbilityService extends BaseService exportBsCraftAbility(Wrapper queryWrapper); + /** + * 获取所有工艺能力 + * @return + */ + List getCraftAbilityList(); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IBsProcessSetService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IBsProcessSetService.java index 745f8a11f..0f3f7e5eb 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IBsProcessSetService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IBsProcessSetService.java @@ -73,4 +73,17 @@ public interface IBsProcessSetService extends BaseService { * @return */ BsProcessSetEntity selectBsProcessSetByProcessCode(String processCode); + + /** + * 导入 + * @param list + * @return + */ + boolean importExcelProcessSet(List list); + + /** + * 获取所有工序 + * @return + */ + List getProcessSetList(); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IBsWorkCenterService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IBsWorkCenterService.java index dc97186c1..cf1dd8ac3 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IBsWorkCenterService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IBsWorkCenterService.java @@ -63,4 +63,11 @@ public interface IBsWorkCenterService extends BaseService { * @return */ List getList(); + + /** + * 根据作业中心编码查询作业中心 + * @param wcCode + * @return + */ + BsWorkCenterEntity selectBsWorkCenterByWcCode(String wcCode); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsBatchPreservePlanService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsBatchPreservePlanService.java index aedeaba47..12e7dd0fb 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsBatchPreservePlanService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsBatchPreservePlanService.java @@ -26,6 +26,7 @@ package org.springblade.desk.dashboard.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import org.springblade.desk.dashboard.pojo.dto.DsBatchPreservePlanDTO; import org.springblade.desk.dashboard.pojo.entity.DsBatchPreservePlanEntity; import org.springblade.desk.dashboard.pojo.vo.DsBatchPreservePlanVO; import org.springblade.desk.dashboard.excel.DsBatchPreservePlanExcel; @@ -58,4 +59,51 @@ public interface IDsBatchPreservePlanService extends BaseService exportDsBatchPreservePlan(Wrapper queryWrapper); + /** + * 新增和修改 + * @param dsBatchPreservePlan + * @return + */ + boolean saveOrUpdateBatchPreservePlan(List dsBatchPreservePlan); + + /** + * 主任审批 + * @param dsBatchPreservePlan + * @return + */ + boolean directorApproval(DsBatchPreservePlanDTO dsBatchPreservePlan); + + /** + * 厂长审核 + * @param dsBatchPreservePlan + * @return + */ + boolean factoryApproval(DsBatchPreservePlanDTO dsBatchPreservePlan); + + /** + *

方法描述: 槽液精细化-计划类-任务发起

+ *

方法名: createPlanClassTask

+ * + * @param + * @return void + */ + void createPlanClassTask(); + + /** + *

方法描述: 槽液精细化-定期类-任务发起

+ *

方法名: createPlanClassTask

+ * + * @param + * @return void + */ + void createPeriodicalClassTask(); + + /** + *

方法描述: 创建槽液精细化-累计类-任务发起

+ *

方法名: createAccumulateClassTask

+ * + * @param + * @return void + */ + void createAccumulateClassTask(); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsBatchPreserveTaskService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsBatchPreserveTaskService.java index 51c55389d..0280f7b36 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsBatchPreserveTaskService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsBatchPreserveTaskService.java @@ -31,6 +31,8 @@ import org.springblade.desk.dashboard.pojo.vo.DsBatchPreserveTaskVO; import org.springblade.desk.dashboard.excel.DsBatchPreserveTaskExcel; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; + +import java.math.BigDecimal; import java.util.List; /** @@ -58,4 +60,17 @@ public interface IDsBatchPreserveTaskService extends BaseService exportDsBatchPreserveTask(Wrapper queryWrapper); + /** + * 批量维护 + * @param dsBatchPreserveTaskEntityList + * @return + */ + boolean batchMaintain( List dsBatchPreserveTaskEntityList); + + /** + * 批量审核 + * @param dsBatchPreserveTaskEntityList + * @return + */ + boolean batchApproval(List dsBatchPreserveTaskEntityList); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsBatchWorkCenterSetService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsBatchWorkCenterSetService.java index 9fb3f51bf..7aabe82c2 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsBatchWorkCenterSetService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsBatchWorkCenterSetService.java @@ -58,4 +58,10 @@ public interface IDsBatchWorkCenterSetService extends BaseService exportDsBatchWorkCenterSet(Wrapper queryWrapper); + /** + * 新增修改 + * @param dsBatchWorkCenterSet + * @return + */ + boolean saveBatchWorkCenterSet(DsBatchWorkCenterSetEntity dsBatchWorkCenterSet); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsMainSaltAddQuantityService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsMainSaltAddQuantityService.java index 7a372f024..ab8c8ff70 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsMainSaltAddQuantityService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsMainSaltAddQuantityService.java @@ -26,6 +26,7 @@ package org.springblade.desk.dashboard.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import org.springblade.desk.dashboard.pojo.dto.DsMainSaltAddQuantityDTO; import org.springblade.desk.dashboard.pojo.entity.DsMainSaltAddQuantityEntity; import org.springblade.desk.dashboard.pojo.vo.DsMainSaltAddQuantityVO; import org.springblade.desk.dashboard.excel.DsMainSaltAddQuantityExcel; @@ -58,4 +59,10 @@ public interface IDsMainSaltAddQuantityService extends BaseService exportDsMainSaltAddQuantity(Wrapper queryWrapper); + /** + * 新增或修改 + * @param mainSaltAddQuantityList + * @return + */ + boolean saveOrUpdateMainSaltAddQuantity(List mainSaltAddQuantityList); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsSimilarPartsService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsSimilarPartsService.java index dc340640c..8c71be2e9 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsSimilarPartsService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsSimilarPartsService.java @@ -58,4 +58,10 @@ public interface IDsSimilarPartsService extends BaseService exportDsSimilarParts(Wrapper queryWrapper); + /** + * 导入 + * @param list + * @return + */ + boolean importExcelSimple(List list); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsSpecialProService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsSpecialProService.java index bfb09fcfc..20f44b3a5 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsSpecialProService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsSpecialProService.java @@ -58,4 +58,10 @@ public interface IDsSpecialProService extends BaseService { */ List exportDsSpecialPro(Wrapper queryWrapper); + /** + * 导入 + * @param list + * @return + */ + boolean importExcelSpecialPro(List list); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsTaskingService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsTaskingService.java index 36325dfff..2cc18e4ec 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsTaskingService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsTaskingService.java @@ -100,7 +100,7 @@ public interface IDsTaskingService extends BaseService { boolean timeoutUntreated(); /** - * 任务五处理列表 + * 任务处理列表 * @param page * @param dsTasking * @return @@ -152,14 +152,12 @@ public interface IDsTaskingService extends BaseService { /** * 工艺编制 完成 - * @param dsPart 零件 - * @param zPartList 子件集合 * @param craft 工艺 * @param processList 工序 * @param deleteIds 删除ID * @return */ - boolean authorizedAccomplish(DsPartEntity dsPart, List zPartList, DsCraftEntity craft, List processList, List deleteIds); + boolean authorizedAccomplish( DsCraftEntity craft, List processList, List deleteIds); /** * 任务处理 编制 项目保存 @@ -214,4 +212,12 @@ public interface IDsTaskingService extends BaseService { * @return */ DsPartAuthorizedVO craftDetail(Long partId, String partVersion, String rank); + + /** + * 零件保存 + * @param dsPart + * @param zPartList + * @return + */ + boolean authorizedPart(DsPartEntity dsPart, List zPartList); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/BsCraftAbilityServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/BsCraftAbilityServiceImpl.java index 7a9dc9d4c..8c0381744 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/BsCraftAbilityServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/BsCraftAbilityServiceImpl.java @@ -30,6 +30,7 @@ import org.springblade.desk.dashboard.pojo.vo.BsCraftAbilityVO; import org.springblade.desk.dashboard.excel.BsCraftAbilityExcel; import org.springblade.desk.dashboard.mapper.BsCraftAbilityMapper; import org.springblade.desk.dashboard.service.IBsCraftAbilityService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -45,6 +46,11 @@ import java.util.List; @Service public class BsCraftAbilityServiceImpl extends BaseServiceImpl implements IBsCraftAbilityService { + + @Autowired + BsCraftAbilityMapper craftAbilityMapper; + + @Override public IPage selectBsCraftAbilityPage(IPage page, BsCraftAbilityVO bsCraftAbility) { return page.setRecords(baseMapper.selectBsCraftAbilityPage(page, bsCraftAbility)); @@ -60,4 +66,9 @@ public class BsCraftAbilityServiceImpl extends BaseServiceImpl getCraftAbilityList() { + return craftAbilityMapper.selectAll(); + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/BsProcessSetServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/BsProcessSetServiceImpl.java index 250dd7c2f..96854756d 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/BsProcessSetServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/BsProcessSetServiceImpl.java @@ -42,8 +42,10 @@ import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springframework.util.CollectionUtils; + +import java.util.ArrayList; import java.util.List; -import java.util.Objects; /** * 工序设置表 服务实现类 @@ -135,4 +137,38 @@ public class BsProcessSetServiceImpl extends BaseServiceImpl list) { + if (CollectionUtils.isEmpty(list)) { + throw new ServiceException("Excel文件中没有数据"); + } + + List processSetList = new ArrayList<>(); + for (BsProcessSetExcel bsProcessSet : list) { + if(null == bsProcessSet.getCode() || null == bsProcessSet.getName()){ + throw new ServiceException("工序编码或工序名称不能为空"); + } + BsProcessSetEntity processSetEntity = bsProcessSetMapper.selectBsProcessSetByProcessCode(bsProcessSet.getCode()); + if(null != processSetEntity){ + throw new ServiceException("工序编码: "+bsProcessSet.getCode()+" 已存在不允许添加"); + } + BsProcessSetEntity process = new BsProcessSetEntity(); + process.setCode(bsProcessSet.getCode()); + process.setName(bsProcessSet.getName()); + process.setIsDispatch("是".equals(bsProcessSet.getIsDispatch())?"1":"2"); + process.setIsSpecial("是".equals(bsProcessSet.getIsSpecial())?"1":"2"); + process.setIsMain("是".equals(bsProcessSet.getIsMain())?"1":"2"); + processSetList.add(process); + } + + saveBatch(processSetList); + return true; + } + + @Override + public List getProcessSetList() { + List processSetVOList = bsProcessSetMapper.selectAll(); + return processSetVOList; + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/BsWorkCenterServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/BsWorkCenterServiceImpl.java index 2785c133d..1379628e9 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/BsWorkCenterServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/BsWorkCenterServiceImpl.java @@ -69,4 +69,9 @@ public class BsWorkCenterServiceImpl extends BaseServiceImpl implements IDsBatchPreservePlanService { + @Autowired + IBsWorkCenterService workCenterService; + + @Autowired + IUserClient userClient; + + @Autowired + DsBatchPreservePlanMapper batchPreservePlanMapper; + + @Autowired + @Lazy + IDsBatchPreserveTaskService batchPreserveTaskService; + @Override public IPage selectDsBatchPreservePlanPage(IPage page, DsBatchPreservePlanVO dsBatchPreservePlan) { - return page.setRecords(baseMapper.selectDsBatchPreservePlanPage(page, dsBatchPreservePlan)); + + List dsBatchPreservePlanVOS = baseMapper.selectDsBatchPreservePlanPage(page, dsBatchPreservePlan); + for (DsBatchPreservePlanVO dsBatchPreservePlanVO : dsBatchPreservePlanVOS) { + if(null != dsBatchPreservePlanVO.getWcId()){ + BsWorkCenterEntity workCenterEntity = workCenterService.getById(dsBatchPreservePlanVO.getWcId()); + dsBatchPreservePlanVO.setWcName(workCenterEntity.getWcName()); + } + if(null != dsBatchPreservePlanVO.getKeepMan()){ + String name = userClient.userInfo(dsBatchPreservePlanVO.getKeepMan()).getData().getUser().getName(); + dsBatchPreservePlanVO.setKeepManStr(name); + } + } + return page.setRecords(dsBatchPreservePlanVOS); } @@ -60,4 +98,119 @@ public class DsBatchPreservePlanServiceImpl extends BaseServiceImpl dsBatchPreservePlan) { + for (DsBatchPreservePlanEntity batchPreservePlan : dsBatchPreservePlan) { + Long userId = AuthUtil.getUser().getUserId(); + batchPreservePlan.setKeepMan(userId); + batchPreservePlan.setKeepTime(new Date()); + if(null != batchPreservePlan.getId()){ + updateById(batchPreservePlan); + }else { + if(BatchConstant.PLAN.equals(batchPreservePlan.getBbpType())){ + batchPreservePlan.setApprovalStatus(BatchConstant.STATUS_NEW); + } + batchPreservePlan.setLastTaskTime(new Date()); + save(batchPreservePlan); + } + } + return true; + } + + @Override + public boolean directorApproval(DsBatchPreservePlanDTO dsBatchPreservePlan) { + DsBatchPreservePlanEntity batchPreservePlanEntity = batchPreservePlanMapper.selectById(dsBatchPreservePlan.getId()); + if(dsBatchPreservePlan.getIsPass()){ + batchPreservePlanEntity.setApprovalStatus(BatchConstant.DIRECTOR_STATUS_RECEIPT); + + }else { + batchPreservePlanEntity.setApprovalStatus(BatchConstant.DIRECTOR_STATUS_ASSIGN); + } + batchPreservePlanEntity.setApprovalOpinion(dsBatchPreservePlan.getApprovalOpinion()); + updateById(batchPreservePlanEntity); + return true; + } + + @Override + public boolean factoryApproval(DsBatchPreservePlanDTO dsBatchPreservePlan) { + DsBatchPreservePlanEntity batchPreservePlanEntity = batchPreservePlanMapper.selectById(dsBatchPreservePlan.getId()); + if(dsBatchPreservePlan.getIsPass()){ + batchPreservePlanEntity.setApprovalStatus(BatchConstant.FACTORY_STATUS_RECEIPT); + + }else { + batchPreservePlanEntity.setApprovalStatus(BatchConstant.FACTORY_STATUS_ASSIGN); + } + batchPreservePlanEntity.setApprovalOpinion(dsBatchPreservePlan.getApprovalOpinion()); + updateById(batchPreservePlanEntity); + return true; + } + + @Override + public void createPlanClassTask() { + Date startTime = DateUtils.getStartTime(new Date()); + Date endTime = DateUtils.getEndTime(new Date()); + // 查询今天要发起的计划类得任务 + List batchPreservePlanList = batchPreservePlanMapper.queryTodayPlanData(BatchConstant.PLAN,BatchConstant.FACTORY_STATUS_RECEIPT,startTime,endTime); + if(!CollectionUtils.isEmpty(batchPreservePlanList)){ + for (DsBatchPreservePlanEntity batchPreservePlanEntity : batchPreservePlanList) { + DsBatchPreserveTaskEntity dsBatchPreserveTaskEntity = new DsBatchPreserveTaskEntity(); + dsBatchPreserveTaskEntity.setBppId(batchPreservePlanEntity.getId()); + dsBatchPreserveTaskEntity.setTaskCreateTime(new Date()); + dsBatchPreserveTaskEntity.setTaskStatus(BatchConstant.TO_BE_MAINTAINED.longValue()); + batchPreserveTaskService.save(dsBatchPreserveTaskEntity); + } + } + } + + @Override + public void createPeriodicalClassTask() { + List bbpTypeList = new ArrayList<>(Arrays.asList( + BatchConstant.REGULAR_BATH, + BatchConstant.REGULAR_DEVICE + )); + // 查询今天要发起的定期类得任务 + List batchPreservePlanList = batchPreservePlanMapper.queryTodayPeriodicalData(bbpTypeList); + if(!CollectionUtils.isEmpty(batchPreservePlanList)){ + for (DsBatchPreservePlanEntity batchPreservePlanEntity : batchPreservePlanList) { + DsBatchPreserveTaskEntity dsBatchPreserveTaskEntity = new DsBatchPreserveTaskEntity(); + dsBatchPreserveTaskEntity.setBppId(batchPreservePlanEntity.getId()); + dsBatchPreserveTaskEntity.setTaskCreateTime(new Date()); + dsBatchPreserveTaskEntity.setTaskStatus(BatchConstant.TO_BE_MAINTAINED.longValue()); + batchPreserveTaskService.save(dsBatchPreserveTaskEntity); + } + } + + } + + @Override + public void createAccumulateClassTask() { + List bbpTypeList = new ArrayList<>(Arrays.asList( + BatchConstant.ACCUMULATE + )); + List batchPreservePlanList = batchPreservePlanMapper.queryTodayPeriodicalData(bbpTypeList); + DsBatchPreserveTaskEntity dsBatchPreserveTask = null; + if(!CollectionUtils.isEmpty(batchPreservePlanList)){ + for (DsBatchPreservePlanEntity batchPreservePlan : batchPreservePlanList) { + // 先判断是否有上次触发时间 在判断是否符合触发条件, + if (batchPreservePlan.getLastTaskTime() != null) { + int days = (int) ((System.currentTimeMillis() - batchPreservePlan.getLastTaskTime().getTime()) / (1000 * 3600 * 24)); + if (days >= batchPreservePlan.getFrequency()) { + this.createTask(batchPreservePlan, dsBatchPreserveTask); + } + } + } + } + } + + /** + * 累计类 添加任务 计算逻辑 + * @param batchPreservePlan + * @param dsBatchPreserveTask + */ + private void createTask(DsBatchPreservePlanEntity batchPreservePlan, DsBatchPreserveTaskEntity dsBatchPreserveTask) { + + + } + + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsBatchPreserveTaskServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsBatchPreserveTaskServiceImpl.java index cc3d8379e..718c60ba3 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsBatchPreserveTaskServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsBatchPreserveTaskServiceImpl.java @@ -25,15 +25,34 @@ */ package org.springblade.desk.dashboard.service.impl; +import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.desk.dashboard.constant.BatchConstant; +import org.springblade.desk.dashboard.constant.TaskingConstant; +import org.springblade.desk.dashboard.pojo.entity.BsWorkCenterEntity; +import org.springblade.desk.dashboard.pojo.entity.DsBatchPreservePlanEntity; import org.springblade.desk.dashboard.pojo.entity.DsBatchPreserveTaskEntity; +import org.springblade.desk.dashboard.pojo.entity.DsBatchWorkCenterSetEntity; import org.springblade.desk.dashboard.pojo.vo.DsBatchPreserveTaskVO; import org.springblade.desk.dashboard.excel.DsBatchPreserveTaskExcel; import org.springblade.desk.dashboard.mapper.DsBatchPreserveTaskMapper; +import org.springblade.desk.dashboard.service.IBsWorkCenterService; +import org.springblade.desk.dashboard.service.IDsBatchPreservePlanService; import org.springblade.desk.dashboard.service.IDsBatchPreserveTaskService; +import org.springblade.desk.dashboard.service.IDsBatchWorkCenterSetService; +import org.springblade.system.feign.IUserClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springframework.util.CollectionUtils; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; import java.util.List; /** @@ -45,9 +64,45 @@ import java.util.List; @Service public class DsBatchPreserveTaskServiceImpl extends BaseServiceImpl implements IDsBatchPreserveTaskService { + @Autowired + @Lazy + IDsBatchPreservePlanService batchPreservePlanService; + + @Autowired + IBsWorkCenterService workCenterService; + + @Autowired + DsBatchPreserveTaskMapper batchPreserveTaskMapper; + + @Autowired + IUserClient userClient; + @Override public IPage selectDsBatchPreserveTaskPage(IPage page, DsBatchPreserveTaskVO dsBatchPreserveTask) { - return page.setRecords(baseMapper.selectDsBatchPreserveTaskPage(page, dsBatchPreserveTask)); + List taskStatusList = new ArrayList<>(Arrays.asList( + BatchConstant.TO_BE_MAINTAINED, + BatchConstant.PENDING_REVIEW, + BatchConstant.AUDIT_NO_PASS + )); + + List dsBatchPreserveTaskVOS = baseMapper.selectDsBatchPreserveTaskPage(page, dsBatchPreserveTask,taskStatusList); + for (DsBatchPreserveTaskVO dsBatchPreserveTaskVO : dsBatchPreserveTaskVOS) { + if(null != dsBatchPreserveTaskVO.getBppId()){ + DsBatchPreservePlanEntity batchPreservePlan = batchPreservePlanService.getById(dsBatchPreserveTaskVO.getBppId()); + if(null != batchPreservePlan){ + dsBatchPreserveTaskVO.setAccumulateRelevantInfo(batchPreservePlan.getPreserveContent()); + } + } + if(null != dsBatchPreserveTaskVO.getWcId()){ + BsWorkCenterEntity workCenterEntity = workCenterService.getById(dsBatchPreserveTaskVO.getWcId()); + dsBatchPreserveTaskVO.setWcName(workCenterEntity.getWcName()); + } + if(null != dsBatchPreserveTaskVO.getFinishMan()){ + dsBatchPreserveTaskVO.setFinishManStr(userClient.userInfo(Func.toLong(dsBatchPreserveTaskVO.getFinishMan())).getData().getUser().getName()); + } + } + + return page.setRecords(dsBatchPreserveTaskVOS); } @@ -60,4 +115,39 @@ public class DsBatchPreserveTaskServiceImpl extends BaseServiceImpl dsBatchPreserveTaskEntityList) { + + if(!CollectionUtils.isEmpty(dsBatchPreserveTaskEntityList)){ + for (DsBatchPreserveTaskEntity dsBatchPreserveTask : dsBatchPreserveTaskEntityList) { + DsBatchPreserveTaskEntity dsBatchPreserveTaskEntity = batchPreserveTaskMapper.selectById(dsBatchPreserveTask.getId()); + dsBatchPreserveTaskEntity.setTaskStatus(BatchConstant.PENDING_REVIEW.longValue()); + Long userId = AuthUtil.getUser().getUserId(); + dsBatchPreserveTaskEntity.setFinishMan(userId); + dsBatchPreserveTaskEntity.setFinishTime(new Date()); + dsBatchPreserveTaskEntity.setIsQualified(dsBatchPreserveTask.getIsQualified()); + dsBatchPreserveTaskEntity.setActualValue(dsBatchPreserveTask.getActualValue()); + batchPreserveTaskMapper.updateById(dsBatchPreserveTaskEntity); + } + } + + return true; + } + + @Override + public boolean batchApproval(List dsBatchPreserveTaskEntityList) { + if(!CollectionUtils.isEmpty(dsBatchPreserveTaskEntityList)){ + for (DsBatchPreserveTaskEntity dsBatchPreserveTaskEntity : dsBatchPreserveTaskEntityList) { + DsBatchPreserveTaskEntity dsBatchPreserveTask = batchPreserveTaskMapper.selectById(dsBatchPreserveTaskEntity.getId()); + dsBatchPreserveTask.setAuditStatus(dsBatchPreserveTaskEntity.getAuditStatus()); + Long userId = AuthUtil.getUser().getUserId(); + dsBatchPreserveTask.setAuditMan(userId); + dsBatchPreserveTask.setAuditTime(new Date()); + dsBatchPreserveTask.setAuditDescribe(dsBatchPreserveTaskEntity.getAuditDescribe()); + batchPreserveTaskMapper.updateById(dsBatchPreserveTask); + } + } + return true; + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsBatchWorkCenterSetServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsBatchWorkCenterSetServiceImpl.java index dc171a61a..7739a0763 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsBatchWorkCenterSetServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsBatchWorkCenterSetServiceImpl.java @@ -25,15 +25,26 @@ */ package org.springblade.desk.dashboard.service.impl; +import org.springblade.core.log.exception.ServiceException; +import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.desk.dashboard.pojo.entity.BsWorkCenterEntity; import org.springblade.desk.dashboard.pojo.entity.DsBatchWorkCenterSetEntity; import org.springblade.desk.dashboard.pojo.vo.DsBatchWorkCenterSetVO; import org.springblade.desk.dashboard.excel.DsBatchWorkCenterSetExcel; import org.springblade.desk.dashboard.mapper.DsBatchWorkCenterSetMapper; +import org.springblade.desk.dashboard.service.IBsWorkCenterService; import org.springblade.desk.dashboard.service.IDsBatchWorkCenterSetService; +import org.springblade.system.feign.IUserClient; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; + +import java.util.Date; import java.util.List; /** @@ -45,9 +56,34 @@ import java.util.List; @Service public class DsBatchWorkCenterSetServiceImpl extends BaseServiceImpl implements IDsBatchWorkCenterSetService { + @Autowired + IUserClient userClient; + + @Autowired + DsBatchWorkCenterSetMapper batchWorkCenterSetMapper; + + @Autowired + IBsWorkCenterService workCenterService; + @Override public IPage selectDsBatchWorkCenterSetPage(IPage page, DsBatchWorkCenterSetVO dsBatchWorkCenterSet) { - return page.setRecords(baseMapper.selectDsBatchWorkCenterSetPage(page, dsBatchWorkCenterSet)); + + List dsBatchWorkCenterSetVOS = baseMapper.selectDsBatchWorkCenterSetPage(page, dsBatchWorkCenterSet); + if(!CollectionUtils.isEmpty(dsBatchWorkCenterSetVOS)){ + for (DsBatchWorkCenterSetVO dsBatchWorkCenterSetVO : dsBatchWorkCenterSetVOS) { + if(null != dsBatchWorkCenterSetVO.getKeepMan()){ + String name = userClient.userInfo(dsBatchWorkCenterSetVO.getKeepMan()).getData().getUser().getName(); + dsBatchWorkCenterSetVO.setKeepManStr(name); + } + if(null != dsBatchWorkCenterSetVO.getWcId()){ + BsWorkCenterEntity workCenter = workCenterService.getById(dsBatchWorkCenterSetVO.getWcId()); + if(null != workCenter.getWcName()){ + dsBatchWorkCenterSetVO.setWcName(workCenter.getWcName()); + } + } + } + } + return page.setRecords(dsBatchWorkCenterSetVOS); } @@ -60,4 +96,42 @@ public class DsBatchWorkCenterSetServiceImpl extends BaseServiceImpl 0) { + // 查询单个用户信息 + String name = userClient.userInfo(userId).getData().getUser().getName(); + if (userNameBuilder.length() > 0) { + userNameBuilder.append(","); + } + userNameBuilder.append(name); + } + } + } + + dsBatchWorkCenterSet.setCraftManName(userNameBuilder.toString()); + } + Long userId = AuthUtil.getUser().getUserId(); + dsBatchWorkCenterSet.setKeepMan(userId); + dsBatchWorkCenterSet.setKeepTime(new Date()); + if(null != dsBatchWorkCenterSet.getId()){ + updateById(dsBatchWorkCenterSet); + }else { + save(dsBatchWorkCenterSet); + } + return true; + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsMainSaltAddQuantityServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsMainSaltAddQuantityServiceImpl.java index 412d398cd..64625c855 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsMainSaltAddQuantityServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsMainSaltAddQuantityServiceImpl.java @@ -25,15 +25,21 @@ */ package org.springblade.desk.dashboard.service.impl; +import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.desk.dashboard.pojo.entity.BsWorkCenterEntity; import org.springblade.desk.dashboard.pojo.entity.DsMainSaltAddQuantityEntity; import org.springblade.desk.dashboard.pojo.vo.DsMainSaltAddQuantityVO; import org.springblade.desk.dashboard.excel.DsMainSaltAddQuantityExcel; import org.springblade.desk.dashboard.mapper.DsMainSaltAddQuantityMapper; +import org.springblade.desk.dashboard.service.IBsWorkCenterService; import org.springblade.desk.dashboard.service.IDsMainSaltAddQuantityService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseServiceImpl; + +import java.util.Date; import java.util.List; /** @@ -45,9 +51,22 @@ import java.util.List; @Service public class DsMainSaltAddQuantityServiceImpl extends BaseServiceImpl implements IDsMainSaltAddQuantityService { + + @Autowired + IBsWorkCenterService workCenterService; + @Override public IPage selectDsMainSaltAddQuantityPage(IPage page, DsMainSaltAddQuantityVO dsMainSaltAddQuantity) { - return page.setRecords(baseMapper.selectDsMainSaltAddQuantityPage(page, dsMainSaltAddQuantity)); + List dsMainSaltAddQuantityVOS = baseMapper.selectDsMainSaltAddQuantityPage(page, dsMainSaltAddQuantity); + for (DsMainSaltAddQuantityVO dsMainSaltAddQuantityVO : dsMainSaltAddQuantityVOS) { + if(null != dsMainSaltAddQuantityVO.getWcId()){ + BsWorkCenterEntity workCenterEntity = workCenterService.getById(dsMainSaltAddQuantityVO.getWcId()); + if(null != workCenterEntity){ + dsMainSaltAddQuantityVO.setWcName(workCenterEntity.getWcName()); + } + } + } + return page.setRecords(dsMainSaltAddQuantityVOS); } @@ -60,4 +79,21 @@ public class DsMainSaltAddQuantityServiceImpl extends BaseServiceImpl mainSaltAddQuantityList) { + Long userId = AuthUtil.getUser().getUserId(); + for (DsMainSaltAddQuantityVO dsMainSaltAddQuantityVO : mainSaltAddQuantityList) { + if(null != dsMainSaltAddQuantityVO.getId()){ + dsMainSaltAddQuantityVO.setKeepMan(userId); + dsMainSaltAddQuantityVO.setKeepTime(new Date()); + updateById(dsMainSaltAddQuantityVO); + }else { + dsMainSaltAddQuantityVO.setKeepMan(userId); + dsMainSaltAddQuantityVO.setAddTime(new Date()); + save(dsMainSaltAddQuantityVO); + } + } + return true; + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsSimilarPartsServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsSimilarPartsServiceImpl.java index 89d5a9929..1803c1d9e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsSimilarPartsServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsSimilarPartsServiceImpl.java @@ -25,6 +25,9 @@ */ package org.springblade.desk.dashboard.service.impl; +import org.apache.commons.lang3.StringUtils; +import org.springblade.core.log.exception.ServiceException; +import org.springblade.core.tool.api.R; import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; import org.springblade.desk.dashboard.pojo.entity.DsSimilarPartsEntity; import org.springblade.desk.dashboard.pojo.vo.DsSimilarPartsVO; @@ -37,7 +40,11 @@ import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springframework.util.CollectionUtils; + +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * 相似零件表 服务实现类 @@ -51,6 +58,9 @@ public class DsSimilarPartsServiceImpl extends BaseServiceImpl selectDsSimilarPartsPage(IPage page, DsSimilarPartsVO dsSimilarParts) { List dsSimilarPartsList = baseMapper.selectDsSimilarPartsPage(page, dsSimilarParts); @@ -75,4 +85,31 @@ public class DsSimilarPartsServiceImpl extends BaseServiceImpl list) { + if (CollectionUtils.isEmpty(list)) { + throw new ServiceException("Excel文件中没有数据"); + } + + List similarPartsList = new ArrayList<>(); + for (DsSimilarPartsVO dsSimilarPartsVO : list) { + DsPartEntity partOne = partService.selectDsPartByPatCode(dsSimilarPartsVO.getPartOneCode()); + DsPartEntity partTwo = partService.selectDsPartByPatCode(dsSimilarPartsVO.getPartTwoCode()); + if(null != partOne && null != partTwo){ + DsSimilarPartsEntity dsSimilarPartsEntity = new DsSimilarPartsEntity(); + dsSimilarPartsEntity.setPartOne(partOne.getId()); + dsSimilarPartsEntity.setPartTwo(partTwo.getId()); + similarPartsList.add(dsSimilarPartsEntity); + }else { + throw new ServiceException("请检查零件号: "+dsSimilarPartsVO.getPartOneCode()+" 或 "+dsSimilarPartsVO.getPartTwoCode()); + } + } + // 4. 批量保存 + saveBatch(similarPartsList); + return true; + } + + + + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsSpecialProServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsSpecialProServiceImpl.java index d2a769c4e..176b9ba29 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsSpecialProServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsSpecialProServiceImpl.java @@ -25,16 +25,28 @@ */ package org.springblade.desk.dashboard.service.impl; +import cn.hutool.core.stream.CollectorUtil; +import org.springblade.core.log.exception.ServiceException; +import org.springblade.core.tool.utils.Func; +import org.springblade.desk.dashboard.pojo.entity.BsWorkCenterEntity; import org.springblade.desk.dashboard.pojo.entity.DsSpecialProEntity; import org.springblade.desk.dashboard.pojo.vo.DsSpecialProVO; import org.springblade.desk.dashboard.excel.DsSpecialProExcel; import org.springblade.desk.dashboard.mapper.DsSpecialProMapper; +import org.springblade.desk.dashboard.service.IBsWorkCenterService; import org.springblade.desk.dashboard.service.IDsSpecialProService; +import org.springblade.system.feign.IUserClient; +import org.springblade.system.pojo.entity.User; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springframework.util.CollectionUtils; + +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * 特殊过程表 服务实现类 @@ -45,6 +57,12 @@ import java.util.List; @Service public class DsSpecialProServiceImpl extends BaseServiceImpl implements IDsSpecialProService { + @Autowired + IBsWorkCenterService workCenterService; + + @Autowired + IUserClient userClient; + @Override public IPage selectDsSpecialProPage(IPage page, DsSpecialProVO dsSpecialPro) { return page.setRecords(baseMapper.selectDsSpecialProPage(page, dsSpecialPro)); @@ -60,4 +78,42 @@ public class DsSpecialProServiceImpl extends BaseServiceImpl list) { + if(CollectionUtils.isEmpty(list)){ + throw new ServiceException("Excel文件中没有数据"); + } + List specialProList = new ArrayList<>(); + for (DsSpecialProExcel dsSpecialProExcel : list) { + if(null == dsSpecialProExcel.getWcCode() || null == dsSpecialProExcel.getEquipmentCode()){ + throw new ServiceException("作业中心编码或产线编码不允许为空"); + } + BsWorkCenterEntity workCenterEntity = workCenterService.selectBsWorkCenterByWcCode(dsSpecialProExcel.getWcCode()); + if(null == workCenterEntity){ + throw new ServiceException("作业中心编码: "+dsSpecialProExcel.getWcCode()+"不存在"); + } + if(null == dsSpecialProExcel.getProMan()){ + throw new ServiceException("工艺员不能为空"); + } + User user = userClient.userInfo(Func.toLong(dsSpecialProExcel.getProMan())).getData().getUser(); + if(null == user){ + throw new ServiceException("工艺员: "+dsSpecialProExcel.getProMan()+" 不存在"); + } + + //todo 验证产线是否存在 + DsSpecialProEntity dsSpecialProEntity = new DsSpecialProEntity(); + dsSpecialProEntity.setWcId(workCenterEntity.getId()); + dsSpecialProEntity.setEquipmentCode(dsSpecialProExcel.getEquipmentCode()); + dsSpecialProEntity.setProItem(dsSpecialProExcel.getProItem()); + dsSpecialProEntity.setCondition(dsSpecialProExcel.getCondition()); + dsSpecialProEntity.setLastDueTime(dsSpecialProExcel.getLastDueTime()); + dsSpecialProEntity.setRemDays(dsSpecialProExcel.getRemDays()); + dsSpecialProEntity.setProMan(user.getId()); + dsSpecialProEntity.setRemarks(dsSpecialProExcel.getRemarks()); + specialProList.add(dsSpecialProEntity); + } + saveBatch(specialProList); + return true; + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java index 9de92186f..e57b7e291 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java @@ -27,7 +27,6 @@ package org.springblade.desk.dashboard.service.impl; import com.alibaba.fastjson2.JSONObject; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.math3.random.ValueServer; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; @@ -50,8 +49,6 @@ import org.springblade.core.mp.base.BaseServiceImpl; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; -import javax.xml.crypto.Data; -import java.net.DatagramSocket; import java.sql.Connection; import java.sql.SQLException; import java.util.*; @@ -409,6 +406,8 @@ public class DsTaskingServiceImpl extends BaseServiceImpl idList = partRelationEntityList.stream() .map(DsPartRelationEntity::getChildPartId) .collect(Collectors.toList()); - List dsPartEntityList = partService.selectDsPartByIds(idList); - dsPartSynthesisVO.setDsPartEntities(dsPartEntityList); + if(!CollectionUtils.isEmpty(idList)){ + List dsPartEntityList = partService.selectDsPartByIds(idList); + dsPartSynthesisVO.setDsPartEntities(dsPartEntityList); + } } dsPartSynthesisVO.setDsPartEntity(partEntity); + dsPartSynthesisVO.setPartVersion(dsTaskingEntity.getVersion()); return dsPartSynthesisVO; } @@ -585,10 +587,8 @@ public class DsTaskingServiceImpl extends BaseServiceImpl zPartList, DsCraftEntity craft, List processList, List deleteIds) { + public boolean authorizedAccomplish( DsCraftEntity craft, List processList, List deleteIds) { - //零件 - partService.updateDsPart(dsPart,zPartList); //工艺 craftService.addOrEdit(craft); //工序 @@ -600,21 +600,27 @@ public class DsTaskingServiceImpl extends BaseServiceImpl processProjectEntityList, List deleteIds) { processProjectService.saveProcessProjectSave(processEntity,processProjectEntityList); - processProjectService.deleteLogic(deleteIds); + if(!CollectionUtils.isEmpty(deleteIds)){ + processProjectService.deleteLogic(deleteIds); + } return true; } @Override public boolean saveProcessMeasuringTool(DsProcessEntity processEntity, List processMeasuringToolEntities, List deleteIds) { processMeasuringToolService.saveProcessMeasuringTool(processEntity,processMeasuringToolEntities); - processMeasuringToolService.deleteLogic(deleteIds); + if(!CollectionUtils.isEmpty(deleteIds)){ + processProjectService.deleteLogic(deleteIds); + } return true; } @Override public boolean saveProcessMoldTool(DsProcessEntity processEntity, List processMoldToolEntities, List deleteIds) { processMoldToolService.saveProcessMoldTool(processEntity,processMoldToolEntities); - processMoldToolService.deleteLogic(deleteIds); + if(!CollectionUtils.isEmpty(deleteIds)){ + processProjectService.deleteLogic(deleteIds); + } return true; } @@ -724,6 +730,14 @@ public class DsTaskingServiceImpl extends BaseServiceImpl zPartList) { + + //零件 + partService.updateDsPart(dsPart,zPartList); + return true; + } + /** * 处理单个返工任务 * 对应: loop 循环内的处理逻辑 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/utils/DateUtils.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/utils/DateUtils.java new file mode 100644 index 000000000..cec40ce09 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/utils/DateUtils.java @@ -0,0 +1,266 @@ +package org.springblade.desk.dashboard.utils; + +import org.apache.commons.lang3.time.DateFormatUtils; + +import java.lang.management.ManagementFactory; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.*; +import java.util.Calendar; +import java.util.Date; + +/** + * 时间工具类 + * + * @author ruoyi + */ +public class DateUtils extends org.apache.commons.lang3.time.DateUtils +{ + public static String YYYY = "yyyy"; + + public static String YYYY_MM = "yyyy-MM"; + + public static String YYYY_MM_DD = "yyyy-MM-dd"; + + public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss"; + + public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; + + private static String[] parsePatterns = { + "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", + "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM", + "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"}; + + /** + * 获取当前Date型日期 + * + * @return Date() 当前日期 + */ + public static Date getNowDate() + { + return new Date(); + } + + /** + * 获取当前日期, 默认格式为yyyy-MM-dd + * + * @return String + */ + public static String getDate() + { + return dateTimeNow(YYYY_MM_DD); + } + + public static final String getTime() + { + return dateTimeNow(YYYY_MM_DD_HH_MM_SS); + } + + public static final String dateTimeNow() + { + return dateTimeNow(YYYYMMDDHHMMSS); + } + + public static final String dateTimeNow(final String format) + { + return parseDateToStr(format, new Date()); + } + + public static final String dateTime(final Date date) + { + return parseDateToStr(YYYY_MM_DD, date); + } + + public static final String parseDateToStr(final String format, final Date date) + { + return new SimpleDateFormat(format).format(date); + } + + public static final Date dateTime(final String format, final String ts) + { + try + { + return new SimpleDateFormat(format).parse(ts); + } + catch (ParseException e) + { + throw new RuntimeException(e); + } + } + + /** + * 日期路径 即年/月/日 如2018/08/08 + */ + public static final String datePath() + { + Date now = new Date(); + return DateFormatUtils.format(now, "yyyy/MM/dd"); + } + + /** + * 日期路径 即年/月/日 如20180808 + */ + public static final String dateTime() + { + Date now = new Date(); + return DateFormatUtils.format(now, "yyyyMMdd"); + } + + /** + * 日期型字符串转化为日期 格式 + */ + public static Date parseDate(Object str) + { + if (str == null) + { + return null; + } + try + { + return parseDate(str.toString(), parsePatterns); + } + catch (ParseException e) + { + return null; + } + } + + /** + * 获取服务器启动时间 + */ + public static Date getServerStartDate() + { + long time = ManagementFactory.getRuntimeMXBean().getStartTime(); + return new Date(time); + } + + /** + * 计算相差天数 + */ + public static int differentDaysByMillisecond(Date date1, Date date2) + { + return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24))); + } + + /** + * 计算相差天数 分钟 + */ + public static int differentDaysByMin(Date date1, Date date2) + { + return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 60 ))); + } + + + /** + * 计算时间差 + * + * @param endDate 最后时间 + * @param startTime 开始时间 + * @return 时间差(天/小时/分钟) + */ + public static String timeDistance(Date endDate, Date startTime) + { + long nd = 1000 * 24 * 60 * 60; + long nh = 1000 * 60 * 60; + long nm = 1000 * 60; + // long ns = 1000; + // 获得两个时间的毫秒时间差异 + long diff = endDate.getTime() - startTime.getTime(); + // 计算差多少天 + long day = diff / nd; + // 计算差多少小时 + long hour = diff % nd / nh; + // 计算差多少分钟 + long min = diff % nd % nh / nm; + // 计算差多少秒//输出结果 + // long sec = diff % nd % nh % nm / ns; + return day + "天" + hour + "小时" + min + "分钟"; + } + + /** + * 增加 LocalDateTime ==> Date + */ + public static Date toDate(LocalDateTime temporalAccessor) + { + ZonedDateTime zdt = temporalAccessor.atZone(ZoneId.systemDefault()); + return Date.from(zdt.toInstant()); + } + + /** + * 增加 LocalDate ==> Date + */ + public static Date toDate(LocalDate temporalAccessor) + { + LocalDateTime localDateTime = LocalDateTime.of(temporalAccessor, LocalTime.of(0, 0, 0)); + ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault()); + return Date.from(zdt.toInstant()); + } + + /** + * 当前时刻在两个时间之间 + * + * @param beginDate 开始时间 2018-05-10 00:00:00 + * @param endDate 结束时间 2019-05-10 00:00:00 + * @return 是否在这两个时间之内 + */ + public static boolean nowIsBetween(Date beginDate, Date endDate) { + if (beginDate == null || endDate == null) { + return false; + } + + LocalDateTime begin = beginDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); + LocalDateTime end = endDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); + + LocalDateTime now = LocalDateTime.now(); + if (begin.isBefore(now) && end.isAfter(now)) { + return true; + } + return false; + } + + public static Date getStartTime(Date date) { + if(date == null){ + return null; + } + Calendar c = Calendar.getInstance(); + c.setTime(date); + c.set(Calendar.HOUR_OF_DAY, 0); + c.set(Calendar.MINUTE, 0); + c.set(Calendar.SECOND, 0); + c.set(Calendar.MILLISECOND, 0); + return c.getTime(); + } + + /** + * 获取时间的最后一刻 + * + * @param date 时间 + * @return 时间的最后一刻 + */ + public static Date getEndTime(Date date) { + if(date == null){ + return null; + } + Calendar c = Calendar.getInstance(); + c.setTime(date); + c.set(Calendar.HOUR_OF_DAY, 23); + c.set(Calendar.MINUTE, 59); + c.set(Calendar.SECOND, 59); + return c.getTime(); + } + + //比较两个时间 取其大 + public static Date compareDates(Date date1, Date date2) { + if (date1.before(date2)) { + // date1在date2之前 + return date2; + } else if (date1.after(date2)) { + // date1在date2之后 + return date1; + } else { + // date1和date2相等 + return date1; + } + } + +} diff --git a/blade-service/blade-desk/src/main/resources/Excel/QA/ImportTemplate-CycleTestItem.xls b/blade-service/blade-desk/src/main/resources/Excel/QA/ImportTemplate-CycleTestItem.xls index d2a6afaa8..7f9c5c83c 100644 Binary files a/blade-service/blade-desk/src/main/resources/Excel/QA/ImportTemplate-CycleTestItem.xls and b/blade-service/blade-desk/src/main/resources/Excel/QA/ImportTemplate-CycleTestItem.xls differ diff --git a/blade-service/blade-desk/src/main/resources/Excel/QA/工序导入模板.xls b/blade-service/blade-desk/src/main/resources/Excel/QA/工序导入模板.xls new file mode 100644 index 000000000..d27448bc3 Binary files /dev/null and b/blade-service/blade-desk/src/main/resources/Excel/QA/工序导入模板.xls differ diff --git a/blade-service/blade-desk/src/main/resources/Excel/QA/工艺特殊过程项导入模板.xls b/blade-service/blade-desk/src/main/resources/Excel/QA/工艺特殊过程项导入模板.xls new file mode 100644 index 000000000..20d8d47dd Binary files /dev/null and b/blade-service/blade-desk/src/main/resources/Excel/QA/工艺特殊过程项导入模板.xls differ diff --git a/blade-service/blade-desk/src/main/resources/Excel/QA/相似零件导入模板.xls b/blade-service/blade-desk/src/main/resources/Excel/QA/相似零件导入模板.xls new file mode 100644 index 000000000..4ee9eaf77 Binary files /dev/null and b/blade-service/blade-desk/src/main/resources/Excel/QA/相似零件导入模板.xls differ