diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat + org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat + org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat + org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat + org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat + org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat + org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat + org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat + org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat + org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat + org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat
+ org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - + @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat
+ org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - + @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml new file mode 100644 index 0000000..c8d1d4f --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, supplier_id, standard_equipment_id + + + diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat
+ org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - + @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml new file mode 100644 index 0000000..c8d1d4f --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, supplier_id, standard_equipment_id + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index c4b3d7a..364eb36 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -18,7 +18,7 @@ - + diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat
+ org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - + @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml new file mode 100644 index 0000000..c8d1d4f --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, supplier_id, standard_equipment_id + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index c4b3d7a..364eb36 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -18,7 +18,7 @@ - + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 39f461c..3b34857 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -116,4 +116,8 @@ String CALIBRATION_MAJOR= "calibrationMajor"; + /** + * 工作台 + */ + String MESSAGE_TYPE = "messageType"; } diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat
+ org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - + @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml new file mode 100644 index 0000000..c8d1d4f --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, supplier_id, standard_equipment_id + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index c4b3d7a..364eb36 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -18,7 +18,7 @@ - + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 39f461c..3b34857 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -116,4 +116,8 @@ String CALIBRATION_MAJOR= "calibrationMajor"; + /** + * 工作台 + */ + String MESSAGE_TYPE = "messageType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index cd1066f..4f8424a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -85,6 +85,12 @@ private String createUser; /** + * 创建人 + */ + @ApiModelProperty(value = "创建人id", dataType = "String") + private Long createUserId; + + /** * 创建时间 */ @ApiModelProperty(value = "创建时间", dataType = "String") diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat
+ org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - + @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml new file mode 100644 index 0000000..c8d1d4f --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, supplier_id, standard_equipment_id + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index c4b3d7a..364eb36 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -18,7 +18,7 @@ - + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 39f461c..3b34857 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -116,4 +116,8 @@ String CALIBRATION_MAJOR= "calibrationMajor"; + /** + * 工作台 + */ + String MESSAGE_TYPE = "messageType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index cd1066f..4f8424a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -85,6 +85,12 @@ private String createUser; /** + * 创建人 + */ + @ApiModelProperty(value = "创建人id", dataType = "String") + private Long createUserId; + + /** * 创建时间 */ @ApiModelProperty(value = "创建时间", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java new file mode 100644 index 0000000..053ba74 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java @@ -0,0 +1,29 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/2 16:43 + */ +@ApiModel +@Data +public class RemindMessageRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; + + @ApiModelProperty(value = "消息提醒开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "消息提醒结束", dataType = "String") + private String endTime; + + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + private String messageType; +} diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat
+ org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - + @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml new file mode 100644 index 0000000..c8d1d4f --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, supplier_id, standard_equipment_id + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index c4b3d7a..364eb36 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -18,7 +18,7 @@ - + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 39f461c..3b34857 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -116,4 +116,8 @@ String CALIBRATION_MAJOR= "calibrationMajor"; + /** + * 工作台 + */ + String MESSAGE_TYPE = "messageType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index cd1066f..4f8424a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -85,6 +85,12 @@ private String createUser; /** + * 创建人 + */ + @ApiModelProperty(value = "创建人id", dataType = "String") + private Long createUserId; + + /** * 创建时间 */ @ApiModelProperty(value = "创建时间", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java new file mode 100644 index 0000000..053ba74 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java @@ -0,0 +1,29 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/2 16:43 + */ +@ApiModel +@Data +public class RemindMessageRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; + + @ApiModelProperty(value = "消息提醒开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "消息提醒结束", dataType = "String") + private String endTime; + + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + private String messageType; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java new file mode 100644 index 0000000..553914c --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/3 16:43 + */ +@ApiModel +@Data +public class RemindMessageUpdateRequest { + @NotNull(message = "id不能为空") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + @NotNull(message = "更新状态不能为空") + @ApiModelProperty(value = "状态(1已读0未读)", dataType = "Integer") + private Integer status; +} diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat
+ org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - + @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml new file mode 100644 index 0000000..c8d1d4f --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, supplier_id, standard_equipment_id + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index c4b3d7a..364eb36 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -18,7 +18,7 @@ - + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 39f461c..3b34857 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -116,4 +116,8 @@ String CALIBRATION_MAJOR= "calibrationMajor"; + /** + * 工作台 + */ + String MESSAGE_TYPE = "messageType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index cd1066f..4f8424a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -85,6 +85,12 @@ private String createUser; /** + * 创建人 + */ + @ApiModelProperty(value = "创建人id", dataType = "String") + private Long createUserId; + + /** * 创建时间 */ @ApiModelProperty(value = "创建时间", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java new file mode 100644 index 0000000..053ba74 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java @@ -0,0 +1,29 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/2 16:43 + */ +@ApiModel +@Data +public class RemindMessageRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; + + @ApiModelProperty(value = "消息提醒开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "消息提醒结束", dataType = "String") + private String endTime; + + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + private String messageType; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java new file mode 100644 index 0000000..553914c --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/3 16:43 + */ +@ApiModel +@Data +public class RemindMessageUpdateRequest { + @NotNull(message = "id不能为空") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + @NotNull(message = "更新状态不能为空") + @ApiModelProperty(value = "状态(1已读0未读)", dataType = "Integer") + private Integer status; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java index 7dad6fa..6f28e4d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java @@ -333,4 +333,7 @@ @TableField(exist = false) private List traceSupplierPersonList; + @TableField(exist = false) + private List standardEquipmentIds; + } diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat
+ org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - + @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml new file mode 100644 index 0000000..c8d1d4f --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, supplier_id, standard_equipment_id + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index c4b3d7a..364eb36 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -18,7 +18,7 @@ - + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 39f461c..3b34857 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -116,4 +116,8 @@ String CALIBRATION_MAJOR= "calibrationMajor"; + /** + * 工作台 + */ + String MESSAGE_TYPE = "messageType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index cd1066f..4f8424a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -85,6 +85,12 @@ private String createUser; /** + * 创建人 + */ + @ApiModelProperty(value = "创建人id", dataType = "String") + private Long createUserId; + + /** * 创建时间 */ @ApiModelProperty(value = "创建时间", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java new file mode 100644 index 0000000..053ba74 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java @@ -0,0 +1,29 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/2 16:43 + */ +@ApiModel +@Data +public class RemindMessageRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; + + @ApiModelProperty(value = "消息提醒开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "消息提醒结束", dataType = "String") + private String endTime; + + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + private String messageType; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java new file mode 100644 index 0000000..553914c --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/3 16:43 + */ +@ApiModel +@Data +public class RemindMessageUpdateRequest { + @NotNull(message = "id不能为空") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + @NotNull(message = "更新状态不能为空") + @ApiModelProperty(value = "状态(1已读0未读)", dataType = "Integer") + private Integer status; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java index 7dad6fa..6f28e4d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java @@ -333,4 +333,7 @@ @TableField(exist = false) private List traceSupplierPersonList; + @TableField(exist = false) + private List standardEquipmentIds; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java index b21763c..9ead45d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat
+ org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - + @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml new file mode 100644 index 0000000..c8d1d4f --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, supplier_id, standard_equipment_id + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index c4b3d7a..364eb36 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -18,7 +18,7 @@ - + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 39f461c..3b34857 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -116,4 +116,8 @@ String CALIBRATION_MAJOR= "calibrationMajor"; + /** + * 工作台 + */ + String MESSAGE_TYPE = "messageType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index cd1066f..4f8424a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -85,6 +85,12 @@ private String createUser; /** + * 创建人 + */ + @ApiModelProperty(value = "创建人id", dataType = "String") + private Long createUserId; + + /** * 创建时间 */ @ApiModelProperty(value = "创建时间", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java new file mode 100644 index 0000000..053ba74 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java @@ -0,0 +1,29 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/2 16:43 + */ +@ApiModel +@Data +public class RemindMessageRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; + + @ApiModelProperty(value = "消息提醒开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "消息提醒结束", dataType = "String") + private String endTime; + + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + private String messageType; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java new file mode 100644 index 0000000..553914c --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/3 16:43 + */ +@ApiModel +@Data +public class RemindMessageUpdateRequest { + @NotNull(message = "id不能为空") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + @NotNull(message = "更新状态不能为空") + @ApiModelProperty(value = "状态(1已读0未读)", dataType = "Integer") + private Integer status; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java index 7dad6fa..6f28e4d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java @@ -333,4 +333,7 @@ @TableField(exist = false) private List traceSupplierPersonList; + @TableField(exist = false) + private List standardEquipmentIds; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java index b21763c..9ead45d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java new file mode 100644 index 0000000..7969af7 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java @@ -0,0 +1,40 @@ +package com.casic.missiles.model.meter; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +@Data +@TableName("meter_trace_supplier_standard_equipment") +public class MeterTraceSupplierStandardEquipment implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 溯源供方表id + */ + @TableField("supplier_id") + private Long supplierId; + + /** + * 标准装置id + */ + @TableField("standard_equipment_id") + private Long standardEquipmentId; + + +} diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat
+ org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - + @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml new file mode 100644 index 0000000..c8d1d4f --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, supplier_id, standard_equipment_id + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index c4b3d7a..364eb36 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -18,7 +18,7 @@ - + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 39f461c..3b34857 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -116,4 +116,8 @@ String CALIBRATION_MAJOR= "calibrationMajor"; + /** + * 工作台 + */ + String MESSAGE_TYPE = "messageType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index cd1066f..4f8424a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -85,6 +85,12 @@ private String createUser; /** + * 创建人 + */ + @ApiModelProperty(value = "创建人id", dataType = "String") + private Long createUserId; + + /** * 创建时间 */ @ApiModelProperty(value = "创建时间", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java new file mode 100644 index 0000000..053ba74 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java @@ -0,0 +1,29 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/2 16:43 + */ +@ApiModel +@Data +public class RemindMessageRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; + + @ApiModelProperty(value = "消息提醒开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "消息提醒结束", dataType = "String") + private String endTime; + + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + private String messageType; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java new file mode 100644 index 0000000..553914c --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/3 16:43 + */ +@ApiModel +@Data +public class RemindMessageUpdateRequest { + @NotNull(message = "id不能为空") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + @NotNull(message = "更新状态不能为空") + @ApiModelProperty(value = "状态(1已读0未读)", dataType = "Integer") + private Integer status; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java index 7dad6fa..6f28e4d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java @@ -333,4 +333,7 @@ @TableField(exist = false) private List traceSupplierPersonList; + @TableField(exist = false) + private List standardEquipmentIds; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java index b21763c..9ead45d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java new file mode 100644 index 0000000..7969af7 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java @@ -0,0 +1,40 @@ +package com.casic.missiles.model.meter; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +@Data +@TableName("meter_trace_supplier_standard_equipment") +public class MeterTraceSupplierStandardEquipment implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 溯源供方表id + */ + @TableField("supplier_id") + private Long supplierId; + + /** + * 标准装置id + */ + @TableField("standard_equipment_id") + private Long standardEquipmentId; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java index b80b637..20ce80d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat
+ org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - + @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml new file mode 100644 index 0000000..c8d1d4f --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, supplier_id, standard_equipment_id + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index c4b3d7a..364eb36 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -18,7 +18,7 @@ - + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 39f461c..3b34857 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -116,4 +116,8 @@ String CALIBRATION_MAJOR= "calibrationMajor"; + /** + * 工作台 + */ + String MESSAGE_TYPE = "messageType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index cd1066f..4f8424a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -85,6 +85,12 @@ private String createUser; /** + * 创建人 + */ + @ApiModelProperty(value = "创建人id", dataType = "String") + private Long createUserId; + + /** * 创建时间 */ @ApiModelProperty(value = "创建时间", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java new file mode 100644 index 0000000..053ba74 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java @@ -0,0 +1,29 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/2 16:43 + */ +@ApiModel +@Data +public class RemindMessageRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; + + @ApiModelProperty(value = "消息提醒开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "消息提醒结束", dataType = "String") + private String endTime; + + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + private String messageType; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java new file mode 100644 index 0000000..553914c --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/3 16:43 + */ +@ApiModel +@Data +public class RemindMessageUpdateRequest { + @NotNull(message = "id不能为空") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + @NotNull(message = "更新状态不能为空") + @ApiModelProperty(value = "状态(1已读0未读)", dataType = "Integer") + private Integer status; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java index 7dad6fa..6f28e4d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java @@ -333,4 +333,7 @@ @TableField(exist = false) private List traceSupplierPersonList; + @TableField(exist = false) + private List standardEquipmentIds; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java index b21763c..9ead45d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java new file mode 100644 index 0000000..7969af7 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java @@ -0,0 +1,40 @@ +package com.casic.missiles.model.meter; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +@Data +@TableName("meter_trace_supplier_standard_equipment") +public class MeterTraceSupplierStandardEquipment implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 溯源供方表id + */ + @TableField("supplier_id") + private Long supplierId; + + /** + * 标准装置id + */ + @TableField("standard_equipment_id") + private Long standardEquipmentId; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java index b80b637..20ce80d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java index 11942ff..32d90c0 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java @@ -3,6 +3,10 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @@ -15,6 +19,7 @@ * @author wangpeng * @since 2023-02-23 */ +@ApiModel @Data @TableName("workbench_remind_message") public class WorkbenchRemindMessage implements Serializable { @@ -22,77 +27,95 @@ private static final long serialVersionUID = 1L; @TableId("id") + @ApiModelProperty(value = "主键id", dataType = "Long") private Long id; /** * 消息提醒的用户id */ + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") @TableField("remind_id") private Long remindId; /** * 消息提醒的用户部门id */ + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") @TableField("remind_dept_id") private Long remindDeptId; /** * 消息提醒的业务表id */ + @ApiModelProperty(value = "消息提醒的业务表id", dataType = "Long") @TableField("business_id") private Long businessId; /** * 消息提醒的业务内容编码 */ + @ApiModelProperty(value = "消息提醒的业务内容编码", dataType = "String") @TableField("business_code") private String businessCode; /** * 消息提醒的业务类型 */ + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + @DictCodeField(message = "消息提醒的业务类型不合法", cacheName = MeterDictCode.MESSAGE_TYPE) @TableField("message_type") private String messageType; + @ApiModelProperty(value = "消息提醒的业务类型(字典value)", dataType = "String") + @TableField(exist = false) + private String messageTypeName; + /** * 消息主题(冗余) */ + @ApiModelProperty(value = "消息主题(冗余)", dataType = "String") @TableField("message_title") private String messageTitle; /** * 消息内容(消息提醒的业务内容名称) */ + @ApiModelProperty(value = "消息内容(消息提醒的业务内容名称)", dataType = "String") @TableField("message_content") private String messageContent; /** * 1已读0未读 */ + @ApiModelProperty(value = "1已读0未读", dataType = "Integer") @TableField("status") private Integer status; /** * 发起提醒人id */ + @ApiModelProperty(value = "发起提醒人id", dataType = "Long") @TableField("create_user") private Long createUser; /** * 发起提醒人名字 */ + @ApiModelProperty(value = "发起提醒人名字", dataType = "String") @TableField("create_user_name") private String createUserName; /** * 发起时间 */ + @ApiModelProperty(value = "发起时间", dataType = "String") @TableField("create_time") private String createTime; /** * 更新时间 */ + @ApiModelProperty(value = "更新时间", dataType = "String") @TableField("update_time") private String updateTime; diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat
+ org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - + @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml new file mode 100644 index 0000000..c8d1d4f --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, supplier_id, standard_equipment_id + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index c4b3d7a..364eb36 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -18,7 +18,7 @@ - + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 39f461c..3b34857 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -116,4 +116,8 @@ String CALIBRATION_MAJOR= "calibrationMajor"; + /** + * 工作台 + */ + String MESSAGE_TYPE = "messageType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index cd1066f..4f8424a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -85,6 +85,12 @@ private String createUser; /** + * 创建人 + */ + @ApiModelProperty(value = "创建人id", dataType = "String") + private Long createUserId; + + /** * 创建时间 */ @ApiModelProperty(value = "创建时间", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java new file mode 100644 index 0000000..053ba74 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java @@ -0,0 +1,29 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/2 16:43 + */ +@ApiModel +@Data +public class RemindMessageRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; + + @ApiModelProperty(value = "消息提醒开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "消息提醒结束", dataType = "String") + private String endTime; + + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + private String messageType; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java new file mode 100644 index 0000000..553914c --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/3 16:43 + */ +@ApiModel +@Data +public class RemindMessageUpdateRequest { + @NotNull(message = "id不能为空") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + @NotNull(message = "更新状态不能为空") + @ApiModelProperty(value = "状态(1已读0未读)", dataType = "Integer") + private Integer status; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java index 7dad6fa..6f28e4d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java @@ -333,4 +333,7 @@ @TableField(exist = false) private List traceSupplierPersonList; + @TableField(exist = false) + private List standardEquipmentIds; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java index b21763c..9ead45d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java new file mode 100644 index 0000000..7969af7 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java @@ -0,0 +1,40 @@ +package com.casic.missiles.model.meter; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +@Data +@TableName("meter_trace_supplier_standard_equipment") +public class MeterTraceSupplierStandardEquipment implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 溯源供方表id + */ + @TableField("supplier_id") + private Long supplierId; + + /** + * 标准装置id + */ + @TableField("standard_equipment_id") + private Long standardEquipmentId; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java index b80b637..20ce80d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java index 11942ff..32d90c0 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java @@ -3,6 +3,10 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @@ -15,6 +19,7 @@ * @author wangpeng * @since 2023-02-23 */ +@ApiModel @Data @TableName("workbench_remind_message") public class WorkbenchRemindMessage implements Serializable { @@ -22,77 +27,95 @@ private static final long serialVersionUID = 1L; @TableId("id") + @ApiModelProperty(value = "主键id", dataType = "Long") private Long id; /** * 消息提醒的用户id */ + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") @TableField("remind_id") private Long remindId; /** * 消息提醒的用户部门id */ + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") @TableField("remind_dept_id") private Long remindDeptId; /** * 消息提醒的业务表id */ + @ApiModelProperty(value = "消息提醒的业务表id", dataType = "Long") @TableField("business_id") private Long businessId; /** * 消息提醒的业务内容编码 */ + @ApiModelProperty(value = "消息提醒的业务内容编码", dataType = "String") @TableField("business_code") private String businessCode; /** * 消息提醒的业务类型 */ + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + @DictCodeField(message = "消息提醒的业务类型不合法", cacheName = MeterDictCode.MESSAGE_TYPE) @TableField("message_type") private String messageType; + @ApiModelProperty(value = "消息提醒的业务类型(字典value)", dataType = "String") + @TableField(exist = false) + private String messageTypeName; + /** * 消息主题(冗余) */ + @ApiModelProperty(value = "消息主题(冗余)", dataType = "String") @TableField("message_title") private String messageTitle; /** * 消息内容(消息提醒的业务内容名称) */ + @ApiModelProperty(value = "消息内容(消息提醒的业务内容名称)", dataType = "String") @TableField("message_content") private String messageContent; /** * 1已读0未读 */ + @ApiModelProperty(value = "1已读0未读", dataType = "Integer") @TableField("status") private Integer status; /** * 发起提醒人id */ + @ApiModelProperty(value = "发起提醒人id", dataType = "Long") @TableField("create_user") private Long createUser; /** * 发起提醒人名字 */ + @ApiModelProperty(value = "发起提醒人名字", dataType = "String") @TableField("create_user_name") private String createUserName; /** * 发起时间 */ + @ApiModelProperty(value = "发起时间", dataType = "String") @TableField("create_time") private String createTime; /** * 更新时间 */ + @ApiModelProperty(value = "更新时间", dataType = "String") @TableField("update_time") private String updateTime; diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index dd8c1da..6847052 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -30,27 +30,14 @@ casic-metering-common 2.0.0
- - - - - - - - - - - - - - - - - - - - - + + org.springframework.boot + spring-boot-starter-test + + + junit + junit + \ No newline at end of file diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat + org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - + @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml new file mode 100644 index 0000000..c8d1d4f --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, supplier_id, standard_equipment_id + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index c4b3d7a..364eb36 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -18,7 +18,7 @@ - + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 39f461c..3b34857 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -116,4 +116,8 @@ String CALIBRATION_MAJOR= "calibrationMajor"; + /** + * 工作台 + */ + String MESSAGE_TYPE = "messageType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index cd1066f..4f8424a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -85,6 +85,12 @@ private String createUser; /** + * 创建人 + */ + @ApiModelProperty(value = "创建人id", dataType = "String") + private Long createUserId; + + /** * 创建时间 */ @ApiModelProperty(value = "创建时间", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java new file mode 100644 index 0000000..053ba74 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java @@ -0,0 +1,29 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/2 16:43 + */ +@ApiModel +@Data +public class RemindMessageRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; + + @ApiModelProperty(value = "消息提醒开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "消息提醒结束", dataType = "String") + private String endTime; + + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + private String messageType; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java new file mode 100644 index 0000000..553914c --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/3 16:43 + */ +@ApiModel +@Data +public class RemindMessageUpdateRequest { + @NotNull(message = "id不能为空") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + @NotNull(message = "更新状态不能为空") + @ApiModelProperty(value = "状态(1已读0未读)", dataType = "Integer") + private Integer status; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java index 7dad6fa..6f28e4d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java @@ -333,4 +333,7 @@ @TableField(exist = false) private List traceSupplierPersonList; + @TableField(exist = false) + private List standardEquipmentIds; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java index b21763c..9ead45d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java new file mode 100644 index 0000000..7969af7 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java @@ -0,0 +1,40 @@ +package com.casic.missiles.model.meter; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +@Data +@TableName("meter_trace_supplier_standard_equipment") +public class MeterTraceSupplierStandardEquipment implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 溯源供方表id + */ + @TableField("supplier_id") + private Long supplierId; + + /** + * 标准装置id + */ + @TableField("standard_equipment_id") + private Long standardEquipmentId; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java index b80b637..20ce80d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java index 11942ff..32d90c0 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java @@ -3,6 +3,10 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @@ -15,6 +19,7 @@ * @author wangpeng * @since 2023-02-23 */ +@ApiModel @Data @TableName("workbench_remind_message") public class WorkbenchRemindMessage implements Serializable { @@ -22,77 +27,95 @@ private static final long serialVersionUID = 1L; @TableId("id") + @ApiModelProperty(value = "主键id", dataType = "Long") private Long id; /** * 消息提醒的用户id */ + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") @TableField("remind_id") private Long remindId; /** * 消息提醒的用户部门id */ + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") @TableField("remind_dept_id") private Long remindDeptId; /** * 消息提醒的业务表id */ + @ApiModelProperty(value = "消息提醒的业务表id", dataType = "Long") @TableField("business_id") private Long businessId; /** * 消息提醒的业务内容编码 */ + @ApiModelProperty(value = "消息提醒的业务内容编码", dataType = "String") @TableField("business_code") private String businessCode; /** * 消息提醒的业务类型 */ + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + @DictCodeField(message = "消息提醒的业务类型不合法", cacheName = MeterDictCode.MESSAGE_TYPE) @TableField("message_type") private String messageType; + @ApiModelProperty(value = "消息提醒的业务类型(字典value)", dataType = "String") + @TableField(exist = false) + private String messageTypeName; + /** * 消息主题(冗余) */ + @ApiModelProperty(value = "消息主题(冗余)", dataType = "String") @TableField("message_title") private String messageTitle; /** * 消息内容(消息提醒的业务内容名称) */ + @ApiModelProperty(value = "消息内容(消息提醒的业务内容名称)", dataType = "String") @TableField("message_content") private String messageContent; /** * 1已读0未读 */ + @ApiModelProperty(value = "1已读0未读", dataType = "Integer") @TableField("status") private Integer status; /** * 发起提醒人id */ + @ApiModelProperty(value = "发起提醒人id", dataType = "Long") @TableField("create_user") private Long createUser; /** * 发起提醒人名字 */ + @ApiModelProperty(value = "发起提醒人名字", dataType = "String") @TableField("create_user_name") private String createUserName; /** * 发起时间 */ + @ApiModelProperty(value = "发起时间", dataType = "String") @TableField("create_time") private String createTime; /** * 更新时间 */ + @ApiModelProperty(value = "更新时间", dataType = "String") @TableField("update_time") private String updateTime; diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index dd8c1da..6847052 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -30,27 +30,14 @@ casic-metering-common 2.0.0
- - - - - - - - - - - - - - - - - - - - - + + org.springframework.boot + spring-boot-starter-test + + + junit + junit + \ No newline at end of file diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index c0e00ab..ecf1fc3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -99,6 +99,7 @@ throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); file.setCreateUserId(ShiroKit.getUser().getId()); //登录者用户id + file.setCreateUser(ShiroKit.getUser().getName()); int row = meterFileMapper.insert(file); if (row <= 0) { diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat + org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - + @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml new file mode 100644 index 0000000..c8d1d4f --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, supplier_id, standard_equipment_id + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index c4b3d7a..364eb36 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -18,7 +18,7 @@ - + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 39f461c..3b34857 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -116,4 +116,8 @@ String CALIBRATION_MAJOR= "calibrationMajor"; + /** + * 工作台 + */ + String MESSAGE_TYPE = "messageType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index cd1066f..4f8424a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -85,6 +85,12 @@ private String createUser; /** + * 创建人 + */ + @ApiModelProperty(value = "创建人id", dataType = "String") + private Long createUserId; + + /** * 创建时间 */ @ApiModelProperty(value = "创建时间", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java new file mode 100644 index 0000000..053ba74 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java @@ -0,0 +1,29 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/2 16:43 + */ +@ApiModel +@Data +public class RemindMessageRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; + + @ApiModelProperty(value = "消息提醒开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "消息提醒结束", dataType = "String") + private String endTime; + + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + private String messageType; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java new file mode 100644 index 0000000..553914c --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/3 16:43 + */ +@ApiModel +@Data +public class RemindMessageUpdateRequest { + @NotNull(message = "id不能为空") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + @NotNull(message = "更新状态不能为空") + @ApiModelProperty(value = "状态(1已读0未读)", dataType = "Integer") + private Integer status; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java index 7dad6fa..6f28e4d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java @@ -333,4 +333,7 @@ @TableField(exist = false) private List traceSupplierPersonList; + @TableField(exist = false) + private List standardEquipmentIds; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java index b21763c..9ead45d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java new file mode 100644 index 0000000..7969af7 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java @@ -0,0 +1,40 @@ +package com.casic.missiles.model.meter; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +@Data +@TableName("meter_trace_supplier_standard_equipment") +public class MeterTraceSupplierStandardEquipment implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 溯源供方表id + */ + @TableField("supplier_id") + private Long supplierId; + + /** + * 标准装置id + */ + @TableField("standard_equipment_id") + private Long standardEquipmentId; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java index b80b637..20ce80d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java index 11942ff..32d90c0 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java @@ -3,6 +3,10 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @@ -15,6 +19,7 @@ * @author wangpeng * @since 2023-02-23 */ +@ApiModel @Data @TableName("workbench_remind_message") public class WorkbenchRemindMessage implements Serializable { @@ -22,77 +27,95 @@ private static final long serialVersionUID = 1L; @TableId("id") + @ApiModelProperty(value = "主键id", dataType = "Long") private Long id; /** * 消息提醒的用户id */ + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") @TableField("remind_id") private Long remindId; /** * 消息提醒的用户部门id */ + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") @TableField("remind_dept_id") private Long remindDeptId; /** * 消息提醒的业务表id */ + @ApiModelProperty(value = "消息提醒的业务表id", dataType = "Long") @TableField("business_id") private Long businessId; /** * 消息提醒的业务内容编码 */ + @ApiModelProperty(value = "消息提醒的业务内容编码", dataType = "String") @TableField("business_code") private String businessCode; /** * 消息提醒的业务类型 */ + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + @DictCodeField(message = "消息提醒的业务类型不合法", cacheName = MeterDictCode.MESSAGE_TYPE) @TableField("message_type") private String messageType; + @ApiModelProperty(value = "消息提醒的业务类型(字典value)", dataType = "String") + @TableField(exist = false) + private String messageTypeName; + /** * 消息主题(冗余) */ + @ApiModelProperty(value = "消息主题(冗余)", dataType = "String") @TableField("message_title") private String messageTitle; /** * 消息内容(消息提醒的业务内容名称) */ + @ApiModelProperty(value = "消息内容(消息提醒的业务内容名称)", dataType = "String") @TableField("message_content") private String messageContent; /** * 1已读0未读 */ + @ApiModelProperty(value = "1已读0未读", dataType = "Integer") @TableField("status") private Integer status; /** * 发起提醒人id */ + @ApiModelProperty(value = "发起提醒人id", dataType = "Long") @TableField("create_user") private Long createUser; /** * 发起提醒人名字 */ + @ApiModelProperty(value = "发起提醒人名字", dataType = "String") @TableField("create_user_name") private String createUserName; /** * 发起时间 */ + @ApiModelProperty(value = "发起时间", dataType = "String") @TableField("create_time") private String createTime; /** * 更新时间 */ + @ApiModelProperty(value = "更新时间", dataType = "String") @TableField("update_time") private String updateTime; diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index dd8c1da..6847052 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -30,27 +30,14 @@ casic-metering-common 2.0.0
- - - - - - - - - - - - - - - - - - - - - + + org.springframework.boot + spring-boot-starter-test + + + junit + junit + \ No newline at end of file diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index c0e00ab..ecf1fc3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -99,6 +99,7 @@ throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); file.setCreateUserId(ShiroKit.getUser().getId()); //登录者用户id + file.setCreateUser(ShiroKit.getUser().getName()); int row = meterFileMapper.insert(file); if (row <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 321321b..535581f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -21,11 +21,13 @@ import com.casic.missiles.mapper.meter.MeterTraceSupplierMapper; import com.casic.missiles.model.meter.MeterTraceSupplier; import com.casic.missiles.model.meter.MeterTraceSupplierPerson; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.service.meter.IMeterTraceSupplierPersonService; import com.casic.missiles.service.meter.IMeterTraceSupplierService; +import com.casic.missiles.service.meter.IMeterTraceSupplierStandardEquipmentService; import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import org.apache.commons.lang3.StringUtils; @@ -66,6 +68,8 @@ private TaskService taskService; @Resource private RuntimeService runtimeService; + @Autowired + private IMeterTraceSupplierStandardEquipmentService meterTraceSupplierStandardEquipmentService; @Override public Page listPage(Page page, TraceSupplierListRequest request) { @@ -112,9 +116,24 @@ throw new BusinessException(BusinessExceptionEnum.TRACE_SUPPLIER_SAVE_FAILED); }); - //todo:存储溯源供方业务记录 + //存储溯源供方标准装置信息 + boolean saveBatchFlag2 = true; + List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); + if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + List equipmentList = new ArrayList<>(); + standardEquipmentIds.forEach(id -> { + MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); + equipment.setStandardEquipmentId(id); + equipment.setSupplierId(traceSupplier.getId()); + equipmentList.add(equipment); + }); + saveBatchFlag2 = meterTraceSupplierStandardEquipmentService.saveBatch(equipmentList); + } + Assert.isFalse(!saveBatchFlag2, () -> { + throw new BusinessException(BusinessExceptionEnum.TRACE_SUPPLIER_SAVE_FAILED); + }); - //todo:存储溯源供方标准装置信息 + //todo:存储溯源供方业务记录,待合同模块 TraceSupplierSaveResponse traceSupplierSaveResponse = new TraceSupplierSaveResponse(); traceSupplierSaveResponse.setId(traceSupplier.getId()); @@ -126,12 +145,44 @@ @Transactional public ReturnDTO draftUpdate(MeterTraceSupplier traceSupplier) { int updateFlag = traceSupplierMapper.updateById(traceSupplier); - boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); - //todo:更新溯源供方业务记录 + //更新溯源供方人员信息 + List traceSupplierPersonList = traceSupplier.getTraceSupplierPersonList(); + //先删除 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("supplier_id", traceSupplier.getId()); + //存在无可删除溯源供方人员情况,无需校验删除成功 + traceSupplierPersonService.remove(wrapper); + boolean saveFlag = true; + //溯源供方人员可能为空 + if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + //再增加 + traceSupplierPersonList.forEach(person -> { + person.setSupplierId(traceSupplier.getId()); + }); + saveFlag = traceSupplierPersonService.saveBatch(traceSupplierPersonList); + } - //todo:更新溯源供方标准装置信息 + //更新溯源供方标准装置信息 + //先删除再增加 + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("supplier_id", traceSupplier.getId()); + meterTraceSupplierStandardEquipmentService.remove(wrapper1); + boolean saveBatchFlag2 = true; + List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); + if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + List equipmentList = new ArrayList<>(); + standardEquipmentIds.forEach(id -> { + MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); + equipment.setStandardEquipmentId(id); + equipment.setSupplierId(traceSupplier.getId()); + equipmentList.add(equipment); + }); + saveBatchFlag2 = meterTraceSupplierStandardEquipmentService.saveBatch(equipmentList); + } - if (updateFlag > 0) { + //todo:更新溯源供方业务记录,待合同模块 + + if (updateFlag > 0 && saveFlag && saveBatchFlag2) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -307,12 +358,13 @@ @Override @Transactional public ReturnDTO updateTraceSupplier(MeterTraceSupplier traceSupplier) { - int updateFlag = traceSupplierMapper.updateById(traceSupplier); - boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); - if (updateFlag > 0 && saveOrUpdateFlag) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// int updateFlag = traceSupplierMapper.updateById(traceSupplier); +// boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); +// if (updateFlag > 0 && saveOrUpdateFlag) { +// return ReturnUtil.success(); +// } +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + return null; } @Override diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat + org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - + @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml new file mode 100644 index 0000000..c8d1d4f --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, supplier_id, standard_equipment_id + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index c4b3d7a..364eb36 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -18,7 +18,7 @@ - + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 39f461c..3b34857 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -116,4 +116,8 @@ String CALIBRATION_MAJOR= "calibrationMajor"; + /** + * 工作台 + */ + String MESSAGE_TYPE = "messageType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index cd1066f..4f8424a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -85,6 +85,12 @@ private String createUser; /** + * 创建人 + */ + @ApiModelProperty(value = "创建人id", dataType = "String") + private Long createUserId; + + /** * 创建时间 */ @ApiModelProperty(value = "创建时间", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java new file mode 100644 index 0000000..053ba74 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java @@ -0,0 +1,29 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/2 16:43 + */ +@ApiModel +@Data +public class RemindMessageRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; + + @ApiModelProperty(value = "消息提醒开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "消息提醒结束", dataType = "String") + private String endTime; + + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + private String messageType; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java new file mode 100644 index 0000000..553914c --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/3 16:43 + */ +@ApiModel +@Data +public class RemindMessageUpdateRequest { + @NotNull(message = "id不能为空") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + @NotNull(message = "更新状态不能为空") + @ApiModelProperty(value = "状态(1已读0未读)", dataType = "Integer") + private Integer status; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java index 7dad6fa..6f28e4d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java @@ -333,4 +333,7 @@ @TableField(exist = false) private List traceSupplierPersonList; + @TableField(exist = false) + private List standardEquipmentIds; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java index b21763c..9ead45d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java new file mode 100644 index 0000000..7969af7 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java @@ -0,0 +1,40 @@ +package com.casic.missiles.model.meter; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +@Data +@TableName("meter_trace_supplier_standard_equipment") +public class MeterTraceSupplierStandardEquipment implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 溯源供方表id + */ + @TableField("supplier_id") + private Long supplierId; + + /** + * 标准装置id + */ + @TableField("standard_equipment_id") + private Long standardEquipmentId; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java index b80b637..20ce80d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java index 11942ff..32d90c0 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java @@ -3,6 +3,10 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @@ -15,6 +19,7 @@ * @author wangpeng * @since 2023-02-23 */ +@ApiModel @Data @TableName("workbench_remind_message") public class WorkbenchRemindMessage implements Serializable { @@ -22,77 +27,95 @@ private static final long serialVersionUID = 1L; @TableId("id") + @ApiModelProperty(value = "主键id", dataType = "Long") private Long id; /** * 消息提醒的用户id */ + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") @TableField("remind_id") private Long remindId; /** * 消息提醒的用户部门id */ + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") @TableField("remind_dept_id") private Long remindDeptId; /** * 消息提醒的业务表id */ + @ApiModelProperty(value = "消息提醒的业务表id", dataType = "Long") @TableField("business_id") private Long businessId; /** * 消息提醒的业务内容编码 */ + @ApiModelProperty(value = "消息提醒的业务内容编码", dataType = "String") @TableField("business_code") private String businessCode; /** * 消息提醒的业务类型 */ + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + @DictCodeField(message = "消息提醒的业务类型不合法", cacheName = MeterDictCode.MESSAGE_TYPE) @TableField("message_type") private String messageType; + @ApiModelProperty(value = "消息提醒的业务类型(字典value)", dataType = "String") + @TableField(exist = false) + private String messageTypeName; + /** * 消息主题(冗余) */ + @ApiModelProperty(value = "消息主题(冗余)", dataType = "String") @TableField("message_title") private String messageTitle; /** * 消息内容(消息提醒的业务内容名称) */ + @ApiModelProperty(value = "消息内容(消息提醒的业务内容名称)", dataType = "String") @TableField("message_content") private String messageContent; /** * 1已读0未读 */ + @ApiModelProperty(value = "1已读0未读", dataType = "Integer") @TableField("status") private Integer status; /** * 发起提醒人id */ + @ApiModelProperty(value = "发起提醒人id", dataType = "Long") @TableField("create_user") private Long createUser; /** * 发起提醒人名字 */ + @ApiModelProperty(value = "发起提醒人名字", dataType = "String") @TableField("create_user_name") private String createUserName; /** * 发起时间 */ + @ApiModelProperty(value = "发起时间", dataType = "String") @TableField("create_time") private String createTime; /** * 更新时间 */ + @ApiModelProperty(value = "更新时间", dataType = "String") @TableField("update_time") private String updateTime; diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index dd8c1da..6847052 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -30,27 +30,14 @@ casic-metering-common 2.0.0
- - - - - - - - - - - - - - - - - - - - - + + org.springframework.boot + spring-boot-starter-test + + + junit + junit + \ No newline at end of file diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index c0e00ab..ecf1fc3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -99,6 +99,7 @@ throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); file.setCreateUserId(ShiroKit.getUser().getId()); //登录者用户id + file.setCreateUser(ShiroKit.getUser().getName()); int row = meterFileMapper.insert(file); if (row <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 321321b..535581f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -21,11 +21,13 @@ import com.casic.missiles.mapper.meter.MeterTraceSupplierMapper; import com.casic.missiles.model.meter.MeterTraceSupplier; import com.casic.missiles.model.meter.MeterTraceSupplierPerson; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.service.meter.IMeterTraceSupplierPersonService; import com.casic.missiles.service.meter.IMeterTraceSupplierService; +import com.casic.missiles.service.meter.IMeterTraceSupplierStandardEquipmentService; import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import org.apache.commons.lang3.StringUtils; @@ -66,6 +68,8 @@ private TaskService taskService; @Resource private RuntimeService runtimeService; + @Autowired + private IMeterTraceSupplierStandardEquipmentService meterTraceSupplierStandardEquipmentService; @Override public Page listPage(Page page, TraceSupplierListRequest request) { @@ -112,9 +116,24 @@ throw new BusinessException(BusinessExceptionEnum.TRACE_SUPPLIER_SAVE_FAILED); }); - //todo:存储溯源供方业务记录 + //存储溯源供方标准装置信息 + boolean saveBatchFlag2 = true; + List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); + if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + List equipmentList = new ArrayList<>(); + standardEquipmentIds.forEach(id -> { + MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); + equipment.setStandardEquipmentId(id); + equipment.setSupplierId(traceSupplier.getId()); + equipmentList.add(equipment); + }); + saveBatchFlag2 = meterTraceSupplierStandardEquipmentService.saveBatch(equipmentList); + } + Assert.isFalse(!saveBatchFlag2, () -> { + throw new BusinessException(BusinessExceptionEnum.TRACE_SUPPLIER_SAVE_FAILED); + }); - //todo:存储溯源供方标准装置信息 + //todo:存储溯源供方业务记录,待合同模块 TraceSupplierSaveResponse traceSupplierSaveResponse = new TraceSupplierSaveResponse(); traceSupplierSaveResponse.setId(traceSupplier.getId()); @@ -126,12 +145,44 @@ @Transactional public ReturnDTO draftUpdate(MeterTraceSupplier traceSupplier) { int updateFlag = traceSupplierMapper.updateById(traceSupplier); - boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); - //todo:更新溯源供方业务记录 + //更新溯源供方人员信息 + List traceSupplierPersonList = traceSupplier.getTraceSupplierPersonList(); + //先删除 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("supplier_id", traceSupplier.getId()); + //存在无可删除溯源供方人员情况,无需校验删除成功 + traceSupplierPersonService.remove(wrapper); + boolean saveFlag = true; + //溯源供方人员可能为空 + if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + //再增加 + traceSupplierPersonList.forEach(person -> { + person.setSupplierId(traceSupplier.getId()); + }); + saveFlag = traceSupplierPersonService.saveBatch(traceSupplierPersonList); + } - //todo:更新溯源供方标准装置信息 + //更新溯源供方标准装置信息 + //先删除再增加 + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("supplier_id", traceSupplier.getId()); + meterTraceSupplierStandardEquipmentService.remove(wrapper1); + boolean saveBatchFlag2 = true; + List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); + if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + List equipmentList = new ArrayList<>(); + standardEquipmentIds.forEach(id -> { + MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); + equipment.setStandardEquipmentId(id); + equipment.setSupplierId(traceSupplier.getId()); + equipmentList.add(equipment); + }); + saveBatchFlag2 = meterTraceSupplierStandardEquipmentService.saveBatch(equipmentList); + } - if (updateFlag > 0) { + //todo:更新溯源供方业务记录,待合同模块 + + if (updateFlag > 0 && saveFlag && saveBatchFlag2) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -307,12 +358,13 @@ @Override @Transactional public ReturnDTO updateTraceSupplier(MeterTraceSupplier traceSupplier) { - int updateFlag = traceSupplierMapper.updateById(traceSupplier); - boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); - if (updateFlag > 0 && saveOrUpdateFlag) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// int updateFlag = traceSupplierMapper.updateById(traceSupplier); +// boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); +// if (updateFlag > 0 && saveOrUpdateFlag) { +// return ReturnUtil.success(); +// } +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + return null; } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierStandardEquipmentServiceImpl.java new file mode 100644 index 0000000..83a2b45 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierStandardEquipmentServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.service.Impl.meter; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.meter.MeterTraceSupplierStandardEquipmentMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; +import com.casic.missiles.service.meter.IMeterTraceSupplierStandardEquipmentService; +import org.springframework.stereotype.Service; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 服务实现类 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +@Service +public class MeterTraceSupplierStandardEquipmentServiceImpl extends ServiceImpl implements IMeterTraceSupplierStandardEquipmentService { + +} diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat + org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - + @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml new file mode 100644 index 0000000..c8d1d4f --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, supplier_id, standard_equipment_id + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index c4b3d7a..364eb36 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -18,7 +18,7 @@ - + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 39f461c..3b34857 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -116,4 +116,8 @@ String CALIBRATION_MAJOR= "calibrationMajor"; + /** + * 工作台 + */ + String MESSAGE_TYPE = "messageType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index cd1066f..4f8424a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -85,6 +85,12 @@ private String createUser; /** + * 创建人 + */ + @ApiModelProperty(value = "创建人id", dataType = "String") + private Long createUserId; + + /** * 创建时间 */ @ApiModelProperty(value = "创建时间", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java new file mode 100644 index 0000000..053ba74 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java @@ -0,0 +1,29 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/2 16:43 + */ +@ApiModel +@Data +public class RemindMessageRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; + + @ApiModelProperty(value = "消息提醒开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "消息提醒结束", dataType = "String") + private String endTime; + + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + private String messageType; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java new file mode 100644 index 0000000..553914c --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/3 16:43 + */ +@ApiModel +@Data +public class RemindMessageUpdateRequest { + @NotNull(message = "id不能为空") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + @NotNull(message = "更新状态不能为空") + @ApiModelProperty(value = "状态(1已读0未读)", dataType = "Integer") + private Integer status; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java index 7dad6fa..6f28e4d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java @@ -333,4 +333,7 @@ @TableField(exist = false) private List traceSupplierPersonList; + @TableField(exist = false) + private List standardEquipmentIds; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java index b21763c..9ead45d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java new file mode 100644 index 0000000..7969af7 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java @@ -0,0 +1,40 @@ +package com.casic.missiles.model.meter; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +@Data +@TableName("meter_trace_supplier_standard_equipment") +public class MeterTraceSupplierStandardEquipment implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 溯源供方表id + */ + @TableField("supplier_id") + private Long supplierId; + + /** + * 标准装置id + */ + @TableField("standard_equipment_id") + private Long standardEquipmentId; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java index b80b637..20ce80d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java index 11942ff..32d90c0 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java @@ -3,6 +3,10 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @@ -15,6 +19,7 @@ * @author wangpeng * @since 2023-02-23 */ +@ApiModel @Data @TableName("workbench_remind_message") public class WorkbenchRemindMessage implements Serializable { @@ -22,77 +27,95 @@ private static final long serialVersionUID = 1L; @TableId("id") + @ApiModelProperty(value = "主键id", dataType = "Long") private Long id; /** * 消息提醒的用户id */ + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") @TableField("remind_id") private Long remindId; /** * 消息提醒的用户部门id */ + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") @TableField("remind_dept_id") private Long remindDeptId; /** * 消息提醒的业务表id */ + @ApiModelProperty(value = "消息提醒的业务表id", dataType = "Long") @TableField("business_id") private Long businessId; /** * 消息提醒的业务内容编码 */ + @ApiModelProperty(value = "消息提醒的业务内容编码", dataType = "String") @TableField("business_code") private String businessCode; /** * 消息提醒的业务类型 */ + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + @DictCodeField(message = "消息提醒的业务类型不合法", cacheName = MeterDictCode.MESSAGE_TYPE) @TableField("message_type") private String messageType; + @ApiModelProperty(value = "消息提醒的业务类型(字典value)", dataType = "String") + @TableField(exist = false) + private String messageTypeName; + /** * 消息主题(冗余) */ + @ApiModelProperty(value = "消息主题(冗余)", dataType = "String") @TableField("message_title") private String messageTitle; /** * 消息内容(消息提醒的业务内容名称) */ + @ApiModelProperty(value = "消息内容(消息提醒的业务内容名称)", dataType = "String") @TableField("message_content") private String messageContent; /** * 1已读0未读 */ + @ApiModelProperty(value = "1已读0未读", dataType = "Integer") @TableField("status") private Integer status; /** * 发起提醒人id */ + @ApiModelProperty(value = "发起提醒人id", dataType = "Long") @TableField("create_user") private Long createUser; /** * 发起提醒人名字 */ + @ApiModelProperty(value = "发起提醒人名字", dataType = "String") @TableField("create_user_name") private String createUserName; /** * 发起时间 */ + @ApiModelProperty(value = "发起时间", dataType = "String") @TableField("create_time") private String createTime; /** * 更新时间 */ + @ApiModelProperty(value = "更新时间", dataType = "String") @TableField("update_time") private String updateTime; diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index dd8c1da..6847052 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -30,27 +30,14 @@ casic-metering-common 2.0.0
- - - - - - - - - - - - - - - - - - - - - + + org.springframework.boot + spring-boot-starter-test + + + junit + junit + \ No newline at end of file diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index c0e00ab..ecf1fc3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -99,6 +99,7 @@ throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); file.setCreateUserId(ShiroKit.getUser().getId()); //登录者用户id + file.setCreateUser(ShiroKit.getUser().getName()); int row = meterFileMapper.insert(file); if (row <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 321321b..535581f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -21,11 +21,13 @@ import com.casic.missiles.mapper.meter.MeterTraceSupplierMapper; import com.casic.missiles.model.meter.MeterTraceSupplier; import com.casic.missiles.model.meter.MeterTraceSupplierPerson; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.service.meter.IMeterTraceSupplierPersonService; import com.casic.missiles.service.meter.IMeterTraceSupplierService; +import com.casic.missiles.service.meter.IMeterTraceSupplierStandardEquipmentService; import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import org.apache.commons.lang3.StringUtils; @@ -66,6 +68,8 @@ private TaskService taskService; @Resource private RuntimeService runtimeService; + @Autowired + private IMeterTraceSupplierStandardEquipmentService meterTraceSupplierStandardEquipmentService; @Override public Page listPage(Page page, TraceSupplierListRequest request) { @@ -112,9 +116,24 @@ throw new BusinessException(BusinessExceptionEnum.TRACE_SUPPLIER_SAVE_FAILED); }); - //todo:存储溯源供方业务记录 + //存储溯源供方标准装置信息 + boolean saveBatchFlag2 = true; + List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); + if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + List equipmentList = new ArrayList<>(); + standardEquipmentIds.forEach(id -> { + MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); + equipment.setStandardEquipmentId(id); + equipment.setSupplierId(traceSupplier.getId()); + equipmentList.add(equipment); + }); + saveBatchFlag2 = meterTraceSupplierStandardEquipmentService.saveBatch(equipmentList); + } + Assert.isFalse(!saveBatchFlag2, () -> { + throw new BusinessException(BusinessExceptionEnum.TRACE_SUPPLIER_SAVE_FAILED); + }); - //todo:存储溯源供方标准装置信息 + //todo:存储溯源供方业务记录,待合同模块 TraceSupplierSaveResponse traceSupplierSaveResponse = new TraceSupplierSaveResponse(); traceSupplierSaveResponse.setId(traceSupplier.getId()); @@ -126,12 +145,44 @@ @Transactional public ReturnDTO draftUpdate(MeterTraceSupplier traceSupplier) { int updateFlag = traceSupplierMapper.updateById(traceSupplier); - boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); - //todo:更新溯源供方业务记录 + //更新溯源供方人员信息 + List traceSupplierPersonList = traceSupplier.getTraceSupplierPersonList(); + //先删除 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("supplier_id", traceSupplier.getId()); + //存在无可删除溯源供方人员情况,无需校验删除成功 + traceSupplierPersonService.remove(wrapper); + boolean saveFlag = true; + //溯源供方人员可能为空 + if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + //再增加 + traceSupplierPersonList.forEach(person -> { + person.setSupplierId(traceSupplier.getId()); + }); + saveFlag = traceSupplierPersonService.saveBatch(traceSupplierPersonList); + } - //todo:更新溯源供方标准装置信息 + //更新溯源供方标准装置信息 + //先删除再增加 + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("supplier_id", traceSupplier.getId()); + meterTraceSupplierStandardEquipmentService.remove(wrapper1); + boolean saveBatchFlag2 = true; + List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); + if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + List equipmentList = new ArrayList<>(); + standardEquipmentIds.forEach(id -> { + MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); + equipment.setStandardEquipmentId(id); + equipment.setSupplierId(traceSupplier.getId()); + equipmentList.add(equipment); + }); + saveBatchFlag2 = meterTraceSupplierStandardEquipmentService.saveBatch(equipmentList); + } - if (updateFlag > 0) { + //todo:更新溯源供方业务记录,待合同模块 + + if (updateFlag > 0 && saveFlag && saveBatchFlag2) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -307,12 +358,13 @@ @Override @Transactional public ReturnDTO updateTraceSupplier(MeterTraceSupplier traceSupplier) { - int updateFlag = traceSupplierMapper.updateById(traceSupplier); - boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); - if (updateFlag > 0 && saveOrUpdateFlag) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// int updateFlag = traceSupplierMapper.updateById(traceSupplier); +// boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); +// if (updateFlag > 0 && saveOrUpdateFlag) { +// return ReturnUtil.success(); +// } +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + return null; } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierStandardEquipmentServiceImpl.java new file mode 100644 index 0000000..83a2b45 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierStandardEquipmentServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.service.Impl.meter; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.meter.MeterTraceSupplierStandardEquipmentMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; +import com.casic.missiles.service.meter.IMeterTraceSupplierStandardEquipmentService; +import org.springframework.stereotype.Service; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 服务实现类 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +@Service +public class MeterTraceSupplierStandardEquipmentServiceImpl extends ServiceImpl implements IMeterTraceSupplierStandardEquipmentService { + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index b9faa3d..d24ac5c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -141,8 +141,13 @@ @Transactional public ReturnDTO draftUpdate(MeterTrainPlan trainPlan) { int updateFlag = trainPlanMapper.updateById(trainPlan); - boolean saveOrUpdateFlag = trainStaffService.saveOrUpdateBatch(trainPlan.getTrainStaffList()); - if(updateFlag > 0 && saveOrUpdateFlag){ + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("plan_id", trainPlan.getId()); + //培训计划中人员肯定不空,且详情中返回无id,保证逻辑删除和添加主键不冲突 + //先删除再增加 + boolean removeFlag = trainStaffService.remove(wrapper); + boolean saveFlag = trainStaffService.saveBatch(trainPlan.getTrainStaffList()); + if(updateFlag > 0 && removeFlag && saveFlag){ return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -218,12 +223,13 @@ @Override @Transactional public ReturnDTO updateTrainPlan(MeterTrainPlan meterTrainPlan) { - int updateFlag = trainPlanMapper.updateById(meterTrainPlan); - boolean saveOrUpdateFlag = trainStaffService.saveOrUpdateBatch(meterTrainPlan.getTrainStaffList()); - if(updateFlag > 0 && saveOrUpdateFlag){ - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// int updateFlag = trainPlanMapper.updateById(meterTrainPlan); +// boolean saveOrUpdateFlag = trainStaffService.saveOrUpdateBatch(meterTrainPlan.getTrainStaffList()); +// if(updateFlag > 0 && saveOrUpdateFlag){ +// return ReturnUtil.success(); +// } +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + return null; } @Override diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat + org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - + @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml new file mode 100644 index 0000000..c8d1d4f --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, supplier_id, standard_equipment_id + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index c4b3d7a..364eb36 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -18,7 +18,7 @@ - + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 39f461c..3b34857 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -116,4 +116,8 @@ String CALIBRATION_MAJOR= "calibrationMajor"; + /** + * 工作台 + */ + String MESSAGE_TYPE = "messageType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index cd1066f..4f8424a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -85,6 +85,12 @@ private String createUser; /** + * 创建人 + */ + @ApiModelProperty(value = "创建人id", dataType = "String") + private Long createUserId; + + /** * 创建时间 */ @ApiModelProperty(value = "创建时间", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java new file mode 100644 index 0000000..053ba74 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java @@ -0,0 +1,29 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/2 16:43 + */ +@ApiModel +@Data +public class RemindMessageRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; + + @ApiModelProperty(value = "消息提醒开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "消息提醒结束", dataType = "String") + private String endTime; + + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + private String messageType; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java new file mode 100644 index 0000000..553914c --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/3 16:43 + */ +@ApiModel +@Data +public class RemindMessageUpdateRequest { + @NotNull(message = "id不能为空") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + @NotNull(message = "更新状态不能为空") + @ApiModelProperty(value = "状态(1已读0未读)", dataType = "Integer") + private Integer status; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java index 7dad6fa..6f28e4d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java @@ -333,4 +333,7 @@ @TableField(exist = false) private List traceSupplierPersonList; + @TableField(exist = false) + private List standardEquipmentIds; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java index b21763c..9ead45d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java new file mode 100644 index 0000000..7969af7 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java @@ -0,0 +1,40 @@ +package com.casic.missiles.model.meter; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +@Data +@TableName("meter_trace_supplier_standard_equipment") +public class MeterTraceSupplierStandardEquipment implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 溯源供方表id + */ + @TableField("supplier_id") + private Long supplierId; + + /** + * 标准装置id + */ + @TableField("standard_equipment_id") + private Long standardEquipmentId; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java index b80b637..20ce80d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java index 11942ff..32d90c0 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java @@ -3,6 +3,10 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @@ -15,6 +19,7 @@ * @author wangpeng * @since 2023-02-23 */ +@ApiModel @Data @TableName("workbench_remind_message") public class WorkbenchRemindMessage implements Serializable { @@ -22,77 +27,95 @@ private static final long serialVersionUID = 1L; @TableId("id") + @ApiModelProperty(value = "主键id", dataType = "Long") private Long id; /** * 消息提醒的用户id */ + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") @TableField("remind_id") private Long remindId; /** * 消息提醒的用户部门id */ + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") @TableField("remind_dept_id") private Long remindDeptId; /** * 消息提醒的业务表id */ + @ApiModelProperty(value = "消息提醒的业务表id", dataType = "Long") @TableField("business_id") private Long businessId; /** * 消息提醒的业务内容编码 */ + @ApiModelProperty(value = "消息提醒的业务内容编码", dataType = "String") @TableField("business_code") private String businessCode; /** * 消息提醒的业务类型 */ + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + @DictCodeField(message = "消息提醒的业务类型不合法", cacheName = MeterDictCode.MESSAGE_TYPE) @TableField("message_type") private String messageType; + @ApiModelProperty(value = "消息提醒的业务类型(字典value)", dataType = "String") + @TableField(exist = false) + private String messageTypeName; + /** * 消息主题(冗余) */ + @ApiModelProperty(value = "消息主题(冗余)", dataType = "String") @TableField("message_title") private String messageTitle; /** * 消息内容(消息提醒的业务内容名称) */ + @ApiModelProperty(value = "消息内容(消息提醒的业务内容名称)", dataType = "String") @TableField("message_content") private String messageContent; /** * 1已读0未读 */ + @ApiModelProperty(value = "1已读0未读", dataType = "Integer") @TableField("status") private Integer status; /** * 发起提醒人id */ + @ApiModelProperty(value = "发起提醒人id", dataType = "Long") @TableField("create_user") private Long createUser; /** * 发起提醒人名字 */ + @ApiModelProperty(value = "发起提醒人名字", dataType = "String") @TableField("create_user_name") private String createUserName; /** * 发起时间 */ + @ApiModelProperty(value = "发起时间", dataType = "String") @TableField("create_time") private String createTime; /** * 更新时间 */ + @ApiModelProperty(value = "更新时间", dataType = "String") @TableField("update_time") private String updateTime; diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index dd8c1da..6847052 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -30,27 +30,14 @@ casic-metering-common 2.0.0
- - - - - - - - - - - - - - - - - - - - - + + org.springframework.boot + spring-boot-starter-test + + + junit + junit + \ No newline at end of file diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index c0e00ab..ecf1fc3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -99,6 +99,7 @@ throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); file.setCreateUserId(ShiroKit.getUser().getId()); //登录者用户id + file.setCreateUser(ShiroKit.getUser().getName()); int row = meterFileMapper.insert(file); if (row <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 321321b..535581f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -21,11 +21,13 @@ import com.casic.missiles.mapper.meter.MeterTraceSupplierMapper; import com.casic.missiles.model.meter.MeterTraceSupplier; import com.casic.missiles.model.meter.MeterTraceSupplierPerson; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.service.meter.IMeterTraceSupplierPersonService; import com.casic.missiles.service.meter.IMeterTraceSupplierService; +import com.casic.missiles.service.meter.IMeterTraceSupplierStandardEquipmentService; import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import org.apache.commons.lang3.StringUtils; @@ -66,6 +68,8 @@ private TaskService taskService; @Resource private RuntimeService runtimeService; + @Autowired + private IMeterTraceSupplierStandardEquipmentService meterTraceSupplierStandardEquipmentService; @Override public Page listPage(Page page, TraceSupplierListRequest request) { @@ -112,9 +116,24 @@ throw new BusinessException(BusinessExceptionEnum.TRACE_SUPPLIER_SAVE_FAILED); }); - //todo:存储溯源供方业务记录 + //存储溯源供方标准装置信息 + boolean saveBatchFlag2 = true; + List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); + if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + List equipmentList = new ArrayList<>(); + standardEquipmentIds.forEach(id -> { + MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); + equipment.setStandardEquipmentId(id); + equipment.setSupplierId(traceSupplier.getId()); + equipmentList.add(equipment); + }); + saveBatchFlag2 = meterTraceSupplierStandardEquipmentService.saveBatch(equipmentList); + } + Assert.isFalse(!saveBatchFlag2, () -> { + throw new BusinessException(BusinessExceptionEnum.TRACE_SUPPLIER_SAVE_FAILED); + }); - //todo:存储溯源供方标准装置信息 + //todo:存储溯源供方业务记录,待合同模块 TraceSupplierSaveResponse traceSupplierSaveResponse = new TraceSupplierSaveResponse(); traceSupplierSaveResponse.setId(traceSupplier.getId()); @@ -126,12 +145,44 @@ @Transactional public ReturnDTO draftUpdate(MeterTraceSupplier traceSupplier) { int updateFlag = traceSupplierMapper.updateById(traceSupplier); - boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); - //todo:更新溯源供方业务记录 + //更新溯源供方人员信息 + List traceSupplierPersonList = traceSupplier.getTraceSupplierPersonList(); + //先删除 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("supplier_id", traceSupplier.getId()); + //存在无可删除溯源供方人员情况,无需校验删除成功 + traceSupplierPersonService.remove(wrapper); + boolean saveFlag = true; + //溯源供方人员可能为空 + if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + //再增加 + traceSupplierPersonList.forEach(person -> { + person.setSupplierId(traceSupplier.getId()); + }); + saveFlag = traceSupplierPersonService.saveBatch(traceSupplierPersonList); + } - //todo:更新溯源供方标准装置信息 + //更新溯源供方标准装置信息 + //先删除再增加 + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("supplier_id", traceSupplier.getId()); + meterTraceSupplierStandardEquipmentService.remove(wrapper1); + boolean saveBatchFlag2 = true; + List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); + if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + List equipmentList = new ArrayList<>(); + standardEquipmentIds.forEach(id -> { + MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); + equipment.setStandardEquipmentId(id); + equipment.setSupplierId(traceSupplier.getId()); + equipmentList.add(equipment); + }); + saveBatchFlag2 = meterTraceSupplierStandardEquipmentService.saveBatch(equipmentList); + } - if (updateFlag > 0) { + //todo:更新溯源供方业务记录,待合同模块 + + if (updateFlag > 0 && saveFlag && saveBatchFlag2) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -307,12 +358,13 @@ @Override @Transactional public ReturnDTO updateTraceSupplier(MeterTraceSupplier traceSupplier) { - int updateFlag = traceSupplierMapper.updateById(traceSupplier); - boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); - if (updateFlag > 0 && saveOrUpdateFlag) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// int updateFlag = traceSupplierMapper.updateById(traceSupplier); +// boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); +// if (updateFlag > 0 && saveOrUpdateFlag) { +// return ReturnUtil.success(); +// } +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + return null; } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierStandardEquipmentServiceImpl.java new file mode 100644 index 0000000..83a2b45 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierStandardEquipmentServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.service.Impl.meter; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.meter.MeterTraceSupplierStandardEquipmentMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; +import com.casic.missiles.service.meter.IMeterTraceSupplierStandardEquipmentService; +import org.springframework.stereotype.Service; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 服务实现类 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +@Service +public class MeterTraceSupplierStandardEquipmentServiceImpl extends ServiceImpl implements IMeterTraceSupplierStandardEquipmentService { + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index b9faa3d..d24ac5c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -141,8 +141,13 @@ @Transactional public ReturnDTO draftUpdate(MeterTrainPlan trainPlan) { int updateFlag = trainPlanMapper.updateById(trainPlan); - boolean saveOrUpdateFlag = trainStaffService.saveOrUpdateBatch(trainPlan.getTrainStaffList()); - if(updateFlag > 0 && saveOrUpdateFlag){ + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("plan_id", trainPlan.getId()); + //培训计划中人员肯定不空,且详情中返回无id,保证逻辑删除和添加主键不冲突 + //先删除再增加 + boolean removeFlag = trainStaffService.remove(wrapper); + boolean saveFlag = trainStaffService.saveBatch(trainPlan.getTrainStaffList()); + if(updateFlag > 0 && removeFlag && saveFlag){ return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -218,12 +223,13 @@ @Override @Transactional public ReturnDTO updateTrainPlan(MeterTrainPlan meterTrainPlan) { - int updateFlag = trainPlanMapper.updateById(meterTrainPlan); - boolean saveOrUpdateFlag = trainStaffService.saveOrUpdateBatch(meterTrainPlan.getTrainStaffList()); - if(updateFlag > 0 && saveOrUpdateFlag){ - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// int updateFlag = trainPlanMapper.updateById(meterTrainPlan); +// boolean saveOrUpdateFlag = trainStaffService.saveOrUpdateBatch(meterTrainPlan.getTrainStaffList()); +// if(updateFlag > 0 && saveOrUpdateFlag){ +// return ReturnUtil.success(); +// } +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + return null; } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java index 660be28..163c77f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java @@ -675,7 +675,7 @@ serviceTask.setName(flowNode.getString("nodeName")); serviceTask.setId(id); process.addFlowElement(serviceTask); - // TODO: 2023/2/16 抄送实现 + // TODO: 2023/2/16 抄送实现,需求可不做 // serviceTask.setImplementationType(ImplementationType.IMPLEMENTATION_TYPE_CLASS); // serviceTask.setImplementation("实现JavaDelegate接口的类路径"); process.addFlowElement(connect(incoming.get(0), id, sequenceFlows)); diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat + org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - + @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml new file mode 100644 index 0000000..c8d1d4f --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, supplier_id, standard_equipment_id + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index c4b3d7a..364eb36 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -18,7 +18,7 @@ - + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 39f461c..3b34857 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -116,4 +116,8 @@ String CALIBRATION_MAJOR= "calibrationMajor"; + /** + * 工作台 + */ + String MESSAGE_TYPE = "messageType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index cd1066f..4f8424a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -85,6 +85,12 @@ private String createUser; /** + * 创建人 + */ + @ApiModelProperty(value = "创建人id", dataType = "String") + private Long createUserId; + + /** * 创建时间 */ @ApiModelProperty(value = "创建时间", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java new file mode 100644 index 0000000..053ba74 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java @@ -0,0 +1,29 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/2 16:43 + */ +@ApiModel +@Data +public class RemindMessageRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; + + @ApiModelProperty(value = "消息提醒开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "消息提醒结束", dataType = "String") + private String endTime; + + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + private String messageType; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java new file mode 100644 index 0000000..553914c --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/3 16:43 + */ +@ApiModel +@Data +public class RemindMessageUpdateRequest { + @NotNull(message = "id不能为空") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + @NotNull(message = "更新状态不能为空") + @ApiModelProperty(value = "状态(1已读0未读)", dataType = "Integer") + private Integer status; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java index 7dad6fa..6f28e4d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java @@ -333,4 +333,7 @@ @TableField(exist = false) private List traceSupplierPersonList; + @TableField(exist = false) + private List standardEquipmentIds; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java index b21763c..9ead45d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java new file mode 100644 index 0000000..7969af7 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java @@ -0,0 +1,40 @@ +package com.casic.missiles.model.meter; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +@Data +@TableName("meter_trace_supplier_standard_equipment") +public class MeterTraceSupplierStandardEquipment implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 溯源供方表id + */ + @TableField("supplier_id") + private Long supplierId; + + /** + * 标准装置id + */ + @TableField("standard_equipment_id") + private Long standardEquipmentId; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java index b80b637..20ce80d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java index 11942ff..32d90c0 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java @@ -3,6 +3,10 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @@ -15,6 +19,7 @@ * @author wangpeng * @since 2023-02-23 */ +@ApiModel @Data @TableName("workbench_remind_message") public class WorkbenchRemindMessage implements Serializable { @@ -22,77 +27,95 @@ private static final long serialVersionUID = 1L; @TableId("id") + @ApiModelProperty(value = "主键id", dataType = "Long") private Long id; /** * 消息提醒的用户id */ + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") @TableField("remind_id") private Long remindId; /** * 消息提醒的用户部门id */ + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") @TableField("remind_dept_id") private Long remindDeptId; /** * 消息提醒的业务表id */ + @ApiModelProperty(value = "消息提醒的业务表id", dataType = "Long") @TableField("business_id") private Long businessId; /** * 消息提醒的业务内容编码 */ + @ApiModelProperty(value = "消息提醒的业务内容编码", dataType = "String") @TableField("business_code") private String businessCode; /** * 消息提醒的业务类型 */ + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + @DictCodeField(message = "消息提醒的业务类型不合法", cacheName = MeterDictCode.MESSAGE_TYPE) @TableField("message_type") private String messageType; + @ApiModelProperty(value = "消息提醒的业务类型(字典value)", dataType = "String") + @TableField(exist = false) + private String messageTypeName; + /** * 消息主题(冗余) */ + @ApiModelProperty(value = "消息主题(冗余)", dataType = "String") @TableField("message_title") private String messageTitle; /** * 消息内容(消息提醒的业务内容名称) */ + @ApiModelProperty(value = "消息内容(消息提醒的业务内容名称)", dataType = "String") @TableField("message_content") private String messageContent; /** * 1已读0未读 */ + @ApiModelProperty(value = "1已读0未读", dataType = "Integer") @TableField("status") private Integer status; /** * 发起提醒人id */ + @ApiModelProperty(value = "发起提醒人id", dataType = "Long") @TableField("create_user") private Long createUser; /** * 发起提醒人名字 */ + @ApiModelProperty(value = "发起提醒人名字", dataType = "String") @TableField("create_user_name") private String createUserName; /** * 发起时间 */ + @ApiModelProperty(value = "发起时间", dataType = "String") @TableField("create_time") private String createTime; /** * 更新时间 */ + @ApiModelProperty(value = "更新时间", dataType = "String") @TableField("update_time") private String updateTime; diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index dd8c1da..6847052 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -30,27 +30,14 @@ casic-metering-common 2.0.0
- - - - - - - - - - - - - - - - - - - - - + + org.springframework.boot + spring-boot-starter-test + + + junit + junit + \ No newline at end of file diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index c0e00ab..ecf1fc3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -99,6 +99,7 @@ throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); file.setCreateUserId(ShiroKit.getUser().getId()); //登录者用户id + file.setCreateUser(ShiroKit.getUser().getName()); int row = meterFileMapper.insert(file); if (row <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 321321b..535581f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -21,11 +21,13 @@ import com.casic.missiles.mapper.meter.MeterTraceSupplierMapper; import com.casic.missiles.model.meter.MeterTraceSupplier; import com.casic.missiles.model.meter.MeterTraceSupplierPerson; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.service.meter.IMeterTraceSupplierPersonService; import com.casic.missiles.service.meter.IMeterTraceSupplierService; +import com.casic.missiles.service.meter.IMeterTraceSupplierStandardEquipmentService; import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import org.apache.commons.lang3.StringUtils; @@ -66,6 +68,8 @@ private TaskService taskService; @Resource private RuntimeService runtimeService; + @Autowired + private IMeterTraceSupplierStandardEquipmentService meterTraceSupplierStandardEquipmentService; @Override public Page listPage(Page page, TraceSupplierListRequest request) { @@ -112,9 +116,24 @@ throw new BusinessException(BusinessExceptionEnum.TRACE_SUPPLIER_SAVE_FAILED); }); - //todo:存储溯源供方业务记录 + //存储溯源供方标准装置信息 + boolean saveBatchFlag2 = true; + List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); + if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + List equipmentList = new ArrayList<>(); + standardEquipmentIds.forEach(id -> { + MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); + equipment.setStandardEquipmentId(id); + equipment.setSupplierId(traceSupplier.getId()); + equipmentList.add(equipment); + }); + saveBatchFlag2 = meterTraceSupplierStandardEquipmentService.saveBatch(equipmentList); + } + Assert.isFalse(!saveBatchFlag2, () -> { + throw new BusinessException(BusinessExceptionEnum.TRACE_SUPPLIER_SAVE_FAILED); + }); - //todo:存储溯源供方标准装置信息 + //todo:存储溯源供方业务记录,待合同模块 TraceSupplierSaveResponse traceSupplierSaveResponse = new TraceSupplierSaveResponse(); traceSupplierSaveResponse.setId(traceSupplier.getId()); @@ -126,12 +145,44 @@ @Transactional public ReturnDTO draftUpdate(MeterTraceSupplier traceSupplier) { int updateFlag = traceSupplierMapper.updateById(traceSupplier); - boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); - //todo:更新溯源供方业务记录 + //更新溯源供方人员信息 + List traceSupplierPersonList = traceSupplier.getTraceSupplierPersonList(); + //先删除 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("supplier_id", traceSupplier.getId()); + //存在无可删除溯源供方人员情况,无需校验删除成功 + traceSupplierPersonService.remove(wrapper); + boolean saveFlag = true; + //溯源供方人员可能为空 + if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + //再增加 + traceSupplierPersonList.forEach(person -> { + person.setSupplierId(traceSupplier.getId()); + }); + saveFlag = traceSupplierPersonService.saveBatch(traceSupplierPersonList); + } - //todo:更新溯源供方标准装置信息 + //更新溯源供方标准装置信息 + //先删除再增加 + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("supplier_id", traceSupplier.getId()); + meterTraceSupplierStandardEquipmentService.remove(wrapper1); + boolean saveBatchFlag2 = true; + List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); + if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + List equipmentList = new ArrayList<>(); + standardEquipmentIds.forEach(id -> { + MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); + equipment.setStandardEquipmentId(id); + equipment.setSupplierId(traceSupplier.getId()); + equipmentList.add(equipment); + }); + saveBatchFlag2 = meterTraceSupplierStandardEquipmentService.saveBatch(equipmentList); + } - if (updateFlag > 0) { + //todo:更新溯源供方业务记录,待合同模块 + + if (updateFlag > 0 && saveFlag && saveBatchFlag2) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -307,12 +358,13 @@ @Override @Transactional public ReturnDTO updateTraceSupplier(MeterTraceSupplier traceSupplier) { - int updateFlag = traceSupplierMapper.updateById(traceSupplier); - boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); - if (updateFlag > 0 && saveOrUpdateFlag) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// int updateFlag = traceSupplierMapper.updateById(traceSupplier); +// boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); +// if (updateFlag > 0 && saveOrUpdateFlag) { +// return ReturnUtil.success(); +// } +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + return null; } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierStandardEquipmentServiceImpl.java new file mode 100644 index 0000000..83a2b45 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierStandardEquipmentServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.service.Impl.meter; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.meter.MeterTraceSupplierStandardEquipmentMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; +import com.casic.missiles.service.meter.IMeterTraceSupplierStandardEquipmentService; +import org.springframework.stereotype.Service; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 服务实现类 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +@Service +public class MeterTraceSupplierStandardEquipmentServiceImpl extends ServiceImpl implements IMeterTraceSupplierStandardEquipmentService { + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index b9faa3d..d24ac5c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -141,8 +141,13 @@ @Transactional public ReturnDTO draftUpdate(MeterTrainPlan trainPlan) { int updateFlag = trainPlanMapper.updateById(trainPlan); - boolean saveOrUpdateFlag = trainStaffService.saveOrUpdateBatch(trainPlan.getTrainStaffList()); - if(updateFlag > 0 && saveOrUpdateFlag){ + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("plan_id", trainPlan.getId()); + //培训计划中人员肯定不空,且详情中返回无id,保证逻辑删除和添加主键不冲突 + //先删除再增加 + boolean removeFlag = trainStaffService.remove(wrapper); + boolean saveFlag = trainStaffService.saveBatch(trainPlan.getTrainStaffList()); + if(updateFlag > 0 && removeFlag && saveFlag){ return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -218,12 +223,13 @@ @Override @Transactional public ReturnDTO updateTrainPlan(MeterTrainPlan meterTrainPlan) { - int updateFlag = trainPlanMapper.updateById(meterTrainPlan); - boolean saveOrUpdateFlag = trainStaffService.saveOrUpdateBatch(meterTrainPlan.getTrainStaffList()); - if(updateFlag > 0 && saveOrUpdateFlag){ - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// int updateFlag = trainPlanMapper.updateById(meterTrainPlan); +// boolean saveOrUpdateFlag = trainStaffService.saveOrUpdateBatch(meterTrainPlan.getTrainStaffList()); +// if(updateFlag > 0 && saveOrUpdateFlag){ +// return ReturnUtil.success(); +// } +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + return null; } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java index 660be28..163c77f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java @@ -675,7 +675,7 @@ serviceTask.setName(flowNode.getString("nodeName")); serviceTask.setId(id); process.addFlowElement(serviceTask); - // TODO: 2023/2/16 抄送实现 + // TODO: 2023/2/16 抄送实现,需求可不做 // serviceTask.setImplementationType(ImplementationType.IMPLEMENTATION_TYPE_CLASS); // serviceTask.setImplementation("实现JavaDelegate接口的类路径"); process.addFlowElement(connect(incoming.get(0), id, sequenceFlows)); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java index 260e5f2..58ce952 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java @@ -1,11 +1,25 @@ package com.casic.missiles.service.Impl.workbench; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import com.casic.missiles.utils.DictCodeUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Objects; + /** *

* 所有业务消息提醒 服务实现类 @@ -16,5 +30,41 @@ */ @Service public class WorkbenchRemindMessageServiceImpl extends ServiceImpl implements IWorkbenchRemindMessageService { + @Autowired + private WorkbenchRemindMessageMapper remindMessageMapper; + @Override + public Page listPage(Page page, RemindMessageRequest remindMessageRequest) throws Exception { + Page remindMessagePage = remindMessageMapper.selectPage(page, getWrapper(remindMessageRequest)); + List records = remindMessagePage.getRecords(); + for (WorkbenchRemindMessage record : records) { + DictCodeUtils.convertDictCodeToName(record); + } + return remindMessagePage; + } + + @Override + public ReturnDTO updateStatus(RemindMessageUpdateRequest updateRequest) { + WorkbenchRemindMessage remindMessage = new WorkbenchRemindMessage(); + remindMessage.setId(updateRequest.getId()); + remindMessage.setStatus(updateRequest.getStatus()); + if(remindMessageMapper.updateById(remindMessage) > 0){ + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + private QueryWrapper getWrapper(RemindMessageRequest request) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(!Objects.isNull(request.getRemindId()), "remind_id", request.getRemindId()); + wrapper.eq(!Objects.isNull(request.getRemindDeptId()), "remind_dept_id", request.getRemindDeptId()); + wrapper.eq(StringUtils.isNotBlank(request.getMessageType()), "message_type", request.getMessageType()); + wrapper.eq("status", 0); + wrapper.apply(StringUtils.isNotBlank(request.getStartTime()), + "{0} <= DATE_FORMAT(train_time,'%Y-%m-%d')", request.getStartTime().split(" ")[0]); + wrapper.apply(StringUtils.isNotBlank(request.getEndTime()), + "{0} >= DATE_FORMAT(train_time,'%Y-%m-%d')", request.getEndTime().split(" ")[0]); + wrapper.orderByDesc("create_time"); + return wrapper; + } } diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat + org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - + @@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml new file mode 100644 index 0000000..c8d1d4f --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, supplier_id, standard_equipment_id + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index c4b3d7a..364eb36 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -18,7 +18,7 @@ - + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 39f461c..3b34857 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -116,4 +116,8 @@ String CALIBRATION_MAJOR= "calibrationMajor"; + /** + * 工作台 + */ + String MESSAGE_TYPE = "messageType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index cd1066f..4f8424a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -85,6 +85,12 @@ private String createUser; /** + * 创建人 + */ + @ApiModelProperty(value = "创建人id", dataType = "String") + private Long createUserId; + + /** * 创建时间 */ @ApiModelProperty(value = "创建时间", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java new file mode 100644 index 0000000..053ba74 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java @@ -0,0 +1,29 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/2 16:43 + */ +@ApiModel +@Data +public class RemindMessageRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; + + @ApiModelProperty(value = "消息提醒开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "消息提醒结束", dataType = "String") + private String endTime; + + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + private String messageType; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java new file mode 100644 index 0000000..553914c --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/3 16:43 + */ +@ApiModel +@Data +public class RemindMessageUpdateRequest { + @NotNull(message = "id不能为空") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + @NotNull(message = "更新状态不能为空") + @ApiModelProperty(value = "状态(1已读0未读)", dataType = "Integer") + private Integer status; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java index 7dad6fa..6f28e4d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java @@ -333,4 +333,7 @@ @TableField(exist = false) private List traceSupplierPersonList; + @TableField(exist = false) + private List standardEquipmentIds; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java index b21763c..9ead45d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java new file mode 100644 index 0000000..7969af7 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java @@ -0,0 +1,40 @@ +package com.casic.missiles.model.meter; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +@Data +@TableName("meter_trace_supplier_standard_equipment") +public class MeterTraceSupplierStandardEquipment implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 溯源供方表id + */ + @TableField("supplier_id") + private Long supplierId; + + /** + * 标准装置id + */ + @TableField("standard_equipment_id") + private Long standardEquipmentId; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java index b80b637..20ce80d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java index 11942ff..32d90c0 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java @@ -3,6 +3,10 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @@ -15,6 +19,7 @@ * @author wangpeng * @since 2023-02-23 */ +@ApiModel @Data @TableName("workbench_remind_message") public class WorkbenchRemindMessage implements Serializable { @@ -22,77 +27,95 @@ private static final long serialVersionUID = 1L; @TableId("id") + @ApiModelProperty(value = "主键id", dataType = "Long") private Long id; /** * 消息提醒的用户id */ + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") @TableField("remind_id") private Long remindId; /** * 消息提醒的用户部门id */ + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") @TableField("remind_dept_id") private Long remindDeptId; /** * 消息提醒的业务表id */ + @ApiModelProperty(value = "消息提醒的业务表id", dataType = "Long") @TableField("business_id") private Long businessId; /** * 消息提醒的业务内容编码 */ + @ApiModelProperty(value = "消息提醒的业务内容编码", dataType = "String") @TableField("business_code") private String businessCode; /** * 消息提醒的业务类型 */ + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + @DictCodeField(message = "消息提醒的业务类型不合法", cacheName = MeterDictCode.MESSAGE_TYPE) @TableField("message_type") private String messageType; + @ApiModelProperty(value = "消息提醒的业务类型(字典value)", dataType = "String") + @TableField(exist = false) + private String messageTypeName; + /** * 消息主题(冗余) */ + @ApiModelProperty(value = "消息主题(冗余)", dataType = "String") @TableField("message_title") private String messageTitle; /** * 消息内容(消息提醒的业务内容名称) */ + @ApiModelProperty(value = "消息内容(消息提醒的业务内容名称)", dataType = "String") @TableField("message_content") private String messageContent; /** * 1已读0未读 */ + @ApiModelProperty(value = "1已读0未读", dataType = "Integer") @TableField("status") private Integer status; /** * 发起提醒人id */ + @ApiModelProperty(value = "发起提醒人id", dataType = "Long") @TableField("create_user") private Long createUser; /** * 发起提醒人名字 */ + @ApiModelProperty(value = "发起提醒人名字", dataType = "String") @TableField("create_user_name") private String createUserName; /** * 发起时间 */ + @ApiModelProperty(value = "发起时间", dataType = "String") @TableField("create_time") private String createTime; /** * 更新时间 */ + @ApiModelProperty(value = "更新时间", dataType = "String") @TableField("update_time") private String updateTime; diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index dd8c1da..6847052 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -30,27 +30,14 @@ casic-metering-common 2.0.0 - - - - - - - - - - - - - - - - - - - - - + + org.springframework.boot + spring-boot-starter-test + + + junit + junit + \ No newline at end of file diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index c0e00ab..ecf1fc3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -99,6 +99,7 @@ throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); file.setCreateUserId(ShiroKit.getUser().getId()); //登录者用户id + file.setCreateUser(ShiroKit.getUser().getName()); int row = meterFileMapper.insert(file); if (row <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 321321b..535581f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -21,11 +21,13 @@ import com.casic.missiles.mapper.meter.MeterTraceSupplierMapper; import com.casic.missiles.model.meter.MeterTraceSupplier; import com.casic.missiles.model.meter.MeterTraceSupplierPerson; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.service.meter.IMeterTraceSupplierPersonService; import com.casic.missiles.service.meter.IMeterTraceSupplierService; +import com.casic.missiles.service.meter.IMeterTraceSupplierStandardEquipmentService; import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import org.apache.commons.lang3.StringUtils; @@ -66,6 +68,8 @@ private TaskService taskService; @Resource private RuntimeService runtimeService; + @Autowired + private IMeterTraceSupplierStandardEquipmentService meterTraceSupplierStandardEquipmentService; @Override public Page listPage(Page page, TraceSupplierListRequest request) { @@ -112,9 +116,24 @@ throw new BusinessException(BusinessExceptionEnum.TRACE_SUPPLIER_SAVE_FAILED); }); - //todo:存储溯源供方业务记录 + //存储溯源供方标准装置信息 + boolean saveBatchFlag2 = true; + List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); + if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + List equipmentList = new ArrayList<>(); + standardEquipmentIds.forEach(id -> { + MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); + equipment.setStandardEquipmentId(id); + equipment.setSupplierId(traceSupplier.getId()); + equipmentList.add(equipment); + }); + saveBatchFlag2 = meterTraceSupplierStandardEquipmentService.saveBatch(equipmentList); + } + Assert.isFalse(!saveBatchFlag2, () -> { + throw new BusinessException(BusinessExceptionEnum.TRACE_SUPPLIER_SAVE_FAILED); + }); - //todo:存储溯源供方标准装置信息 + //todo:存储溯源供方业务记录,待合同模块 TraceSupplierSaveResponse traceSupplierSaveResponse = new TraceSupplierSaveResponse(); traceSupplierSaveResponse.setId(traceSupplier.getId()); @@ -126,12 +145,44 @@ @Transactional public ReturnDTO draftUpdate(MeterTraceSupplier traceSupplier) { int updateFlag = traceSupplierMapper.updateById(traceSupplier); - boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); - //todo:更新溯源供方业务记录 + //更新溯源供方人员信息 + List traceSupplierPersonList = traceSupplier.getTraceSupplierPersonList(); + //先删除 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("supplier_id", traceSupplier.getId()); + //存在无可删除溯源供方人员情况,无需校验删除成功 + traceSupplierPersonService.remove(wrapper); + boolean saveFlag = true; + //溯源供方人员可能为空 + if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + //再增加 + traceSupplierPersonList.forEach(person -> { + person.setSupplierId(traceSupplier.getId()); + }); + saveFlag = traceSupplierPersonService.saveBatch(traceSupplierPersonList); + } - //todo:更新溯源供方标准装置信息 + //更新溯源供方标准装置信息 + //先删除再增加 + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("supplier_id", traceSupplier.getId()); + meterTraceSupplierStandardEquipmentService.remove(wrapper1); + boolean saveBatchFlag2 = true; + List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); + if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + List equipmentList = new ArrayList<>(); + standardEquipmentIds.forEach(id -> { + MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); + equipment.setStandardEquipmentId(id); + equipment.setSupplierId(traceSupplier.getId()); + equipmentList.add(equipment); + }); + saveBatchFlag2 = meterTraceSupplierStandardEquipmentService.saveBatch(equipmentList); + } - if (updateFlag > 0) { + //todo:更新溯源供方业务记录,待合同模块 + + if (updateFlag > 0 && saveFlag && saveBatchFlag2) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -307,12 +358,13 @@ @Override @Transactional public ReturnDTO updateTraceSupplier(MeterTraceSupplier traceSupplier) { - int updateFlag = traceSupplierMapper.updateById(traceSupplier); - boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); - if (updateFlag > 0 && saveOrUpdateFlag) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// int updateFlag = traceSupplierMapper.updateById(traceSupplier); +// boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); +// if (updateFlag > 0 && saveOrUpdateFlag) { +// return ReturnUtil.success(); +// } +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + return null; } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierStandardEquipmentServiceImpl.java new file mode 100644 index 0000000..83a2b45 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierStandardEquipmentServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.service.Impl.meter; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.meter.MeterTraceSupplierStandardEquipmentMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; +import com.casic.missiles.service.meter.IMeterTraceSupplierStandardEquipmentService; +import org.springframework.stereotype.Service; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 服务实现类 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +@Service +public class MeterTraceSupplierStandardEquipmentServiceImpl extends ServiceImpl implements IMeterTraceSupplierStandardEquipmentService { + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index b9faa3d..d24ac5c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -141,8 +141,13 @@ @Transactional public ReturnDTO draftUpdate(MeterTrainPlan trainPlan) { int updateFlag = trainPlanMapper.updateById(trainPlan); - boolean saveOrUpdateFlag = trainStaffService.saveOrUpdateBatch(trainPlan.getTrainStaffList()); - if(updateFlag > 0 && saveOrUpdateFlag){ + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("plan_id", trainPlan.getId()); + //培训计划中人员肯定不空,且详情中返回无id,保证逻辑删除和添加主键不冲突 + //先删除再增加 + boolean removeFlag = trainStaffService.remove(wrapper); + boolean saveFlag = trainStaffService.saveBatch(trainPlan.getTrainStaffList()); + if(updateFlag > 0 && removeFlag && saveFlag){ return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -218,12 +223,13 @@ @Override @Transactional public ReturnDTO updateTrainPlan(MeterTrainPlan meterTrainPlan) { - int updateFlag = trainPlanMapper.updateById(meterTrainPlan); - boolean saveOrUpdateFlag = trainStaffService.saveOrUpdateBatch(meterTrainPlan.getTrainStaffList()); - if(updateFlag > 0 && saveOrUpdateFlag){ - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// int updateFlag = trainPlanMapper.updateById(meterTrainPlan); +// boolean saveOrUpdateFlag = trainStaffService.saveOrUpdateBatch(meterTrainPlan.getTrainStaffList()); +// if(updateFlag > 0 && saveOrUpdateFlag){ +// return ReturnUtil.success(); +// } +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + return null; } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java index 660be28..163c77f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java @@ -675,7 +675,7 @@ serviceTask.setName(flowNode.getString("nodeName")); serviceTask.setId(id); process.addFlowElement(serviceTask); - // TODO: 2023/2/16 抄送实现 + // TODO: 2023/2/16 抄送实现,需求可不做 // serviceTask.setImplementationType(ImplementationType.IMPLEMENTATION_TYPE_CLASS); // serviceTask.setImplementation("实现JavaDelegate接口的类路径"); process.addFlowElement(connect(incoming.get(0), id, sequenceFlows)); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java index 260e5f2..58ce952 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java @@ -1,11 +1,25 @@ package com.casic.missiles.service.Impl.workbench; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import com.casic.missiles.utils.DictCodeUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Objects; + /** *

* 所有业务消息提醒 服务实现类 @@ -16,5 +30,41 @@ */ @Service public class WorkbenchRemindMessageServiceImpl extends ServiceImpl implements IWorkbenchRemindMessageService { + @Autowired + private WorkbenchRemindMessageMapper remindMessageMapper; + @Override + public Page listPage(Page page, RemindMessageRequest remindMessageRequest) throws Exception { + Page remindMessagePage = remindMessageMapper.selectPage(page, getWrapper(remindMessageRequest)); + List records = remindMessagePage.getRecords(); + for (WorkbenchRemindMessage record : records) { + DictCodeUtils.convertDictCodeToName(record); + } + return remindMessagePage; + } + + @Override + public ReturnDTO updateStatus(RemindMessageUpdateRequest updateRequest) { + WorkbenchRemindMessage remindMessage = new WorkbenchRemindMessage(); + remindMessage.setId(updateRequest.getId()); + remindMessage.setStatus(updateRequest.getStatus()); + if(remindMessageMapper.updateById(remindMessage) > 0){ + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + private QueryWrapper getWrapper(RemindMessageRequest request) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(!Objects.isNull(request.getRemindId()), "remind_id", request.getRemindId()); + wrapper.eq(!Objects.isNull(request.getRemindDeptId()), "remind_dept_id", request.getRemindDeptId()); + wrapper.eq(StringUtils.isNotBlank(request.getMessageType()), "message_type", request.getMessageType()); + wrapper.eq("status", 0); + wrapper.apply(StringUtils.isNotBlank(request.getStartTime()), + "{0} <= DATE_FORMAT(train_time,'%Y-%m-%d')", request.getStartTime().split(" ")[0]); + wrapper.apply(StringUtils.isNotBlank(request.getEndTime()), + "{0} >= DATE_FORMAT(train_time,'%Y-%m-%d')", request.getEndTime().split(" ")[0]); + wrapper.orderByDesc("create_time"); + return wrapper; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/meter/IMeterTraceSupplierStandardEquipmentService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/IMeterTraceSupplierStandardEquipmentService.java new file mode 100644 index 0000000..7afe97e --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/IMeterTraceSupplierStandardEquipmentService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.service.meter; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 服务类 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface IMeterTraceSupplierStandardEquipmentService extends IService { + +} diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat + org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - +
@@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml new file mode 100644 index 0000000..c8d1d4f --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, supplier_id, standard_equipment_id + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index c4b3d7a..364eb36 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -18,7 +18,7 @@ - + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 39f461c..3b34857 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -116,4 +116,8 @@ String CALIBRATION_MAJOR= "calibrationMajor"; + /** + * 工作台 + */ + String MESSAGE_TYPE = "messageType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index cd1066f..4f8424a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -85,6 +85,12 @@ private String createUser; /** + * 创建人 + */ + @ApiModelProperty(value = "创建人id", dataType = "String") + private Long createUserId; + + /** * 创建时间 */ @ApiModelProperty(value = "创建时间", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java new file mode 100644 index 0000000..053ba74 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java @@ -0,0 +1,29 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/2 16:43 + */ +@ApiModel +@Data +public class RemindMessageRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; + + @ApiModelProperty(value = "消息提醒开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "消息提醒结束", dataType = "String") + private String endTime; + + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + private String messageType; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java new file mode 100644 index 0000000..553914c --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/3 16:43 + */ +@ApiModel +@Data +public class RemindMessageUpdateRequest { + @NotNull(message = "id不能为空") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + @NotNull(message = "更新状态不能为空") + @ApiModelProperty(value = "状态(1已读0未读)", dataType = "Integer") + private Integer status; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java index 7dad6fa..6f28e4d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java @@ -333,4 +333,7 @@ @TableField(exist = false) private List traceSupplierPersonList; + @TableField(exist = false) + private List standardEquipmentIds; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java index b21763c..9ead45d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java new file mode 100644 index 0000000..7969af7 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java @@ -0,0 +1,40 @@ +package com.casic.missiles.model.meter; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +@Data +@TableName("meter_trace_supplier_standard_equipment") +public class MeterTraceSupplierStandardEquipment implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 溯源供方表id + */ + @TableField("supplier_id") + private Long supplierId; + + /** + * 标准装置id + */ + @TableField("standard_equipment_id") + private Long standardEquipmentId; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java index b80b637..20ce80d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java index 11942ff..32d90c0 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java @@ -3,6 +3,10 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @@ -15,6 +19,7 @@ * @author wangpeng * @since 2023-02-23 */ +@ApiModel @Data @TableName("workbench_remind_message") public class WorkbenchRemindMessage implements Serializable { @@ -22,77 +27,95 @@ private static final long serialVersionUID = 1L; @TableId("id") + @ApiModelProperty(value = "主键id", dataType = "Long") private Long id; /** * 消息提醒的用户id */ + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") @TableField("remind_id") private Long remindId; /** * 消息提醒的用户部门id */ + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") @TableField("remind_dept_id") private Long remindDeptId; /** * 消息提醒的业务表id */ + @ApiModelProperty(value = "消息提醒的业务表id", dataType = "Long") @TableField("business_id") private Long businessId; /** * 消息提醒的业务内容编码 */ + @ApiModelProperty(value = "消息提醒的业务内容编码", dataType = "String") @TableField("business_code") private String businessCode; /** * 消息提醒的业务类型 */ + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + @DictCodeField(message = "消息提醒的业务类型不合法", cacheName = MeterDictCode.MESSAGE_TYPE) @TableField("message_type") private String messageType; + @ApiModelProperty(value = "消息提醒的业务类型(字典value)", dataType = "String") + @TableField(exist = false) + private String messageTypeName; + /** * 消息主题(冗余) */ + @ApiModelProperty(value = "消息主题(冗余)", dataType = "String") @TableField("message_title") private String messageTitle; /** * 消息内容(消息提醒的业务内容名称) */ + @ApiModelProperty(value = "消息内容(消息提醒的业务内容名称)", dataType = "String") @TableField("message_content") private String messageContent; /** * 1已读0未读 */ + @ApiModelProperty(value = "1已读0未读", dataType = "Integer") @TableField("status") private Integer status; /** * 发起提醒人id */ + @ApiModelProperty(value = "发起提醒人id", dataType = "Long") @TableField("create_user") private Long createUser; /** * 发起提醒人名字 */ + @ApiModelProperty(value = "发起提醒人名字", dataType = "String") @TableField("create_user_name") private String createUserName; /** * 发起时间 */ + @ApiModelProperty(value = "发起时间", dataType = "String") @TableField("create_time") private String createTime; /** * 更新时间 */ + @ApiModelProperty(value = "更新时间", dataType = "String") @TableField("update_time") private String updateTime; diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index dd8c1da..6847052 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -30,27 +30,14 @@ casic-metering-common 2.0.0 - - - - - - - - - - - - - - - - - - - - - + + org.springframework.boot + spring-boot-starter-test + + + junit + junit + \ No newline at end of file diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index c0e00ab..ecf1fc3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -99,6 +99,7 @@ throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); file.setCreateUserId(ShiroKit.getUser().getId()); //登录者用户id + file.setCreateUser(ShiroKit.getUser().getName()); int row = meterFileMapper.insert(file); if (row <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 321321b..535581f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -21,11 +21,13 @@ import com.casic.missiles.mapper.meter.MeterTraceSupplierMapper; import com.casic.missiles.model.meter.MeterTraceSupplier; import com.casic.missiles.model.meter.MeterTraceSupplierPerson; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.service.meter.IMeterTraceSupplierPersonService; import com.casic.missiles.service.meter.IMeterTraceSupplierService; +import com.casic.missiles.service.meter.IMeterTraceSupplierStandardEquipmentService; import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import org.apache.commons.lang3.StringUtils; @@ -66,6 +68,8 @@ private TaskService taskService; @Resource private RuntimeService runtimeService; + @Autowired + private IMeterTraceSupplierStandardEquipmentService meterTraceSupplierStandardEquipmentService; @Override public Page listPage(Page page, TraceSupplierListRequest request) { @@ -112,9 +116,24 @@ throw new BusinessException(BusinessExceptionEnum.TRACE_SUPPLIER_SAVE_FAILED); }); - //todo:存储溯源供方业务记录 + //存储溯源供方标准装置信息 + boolean saveBatchFlag2 = true; + List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); + if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + List equipmentList = new ArrayList<>(); + standardEquipmentIds.forEach(id -> { + MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); + equipment.setStandardEquipmentId(id); + equipment.setSupplierId(traceSupplier.getId()); + equipmentList.add(equipment); + }); + saveBatchFlag2 = meterTraceSupplierStandardEquipmentService.saveBatch(equipmentList); + } + Assert.isFalse(!saveBatchFlag2, () -> { + throw new BusinessException(BusinessExceptionEnum.TRACE_SUPPLIER_SAVE_FAILED); + }); - //todo:存储溯源供方标准装置信息 + //todo:存储溯源供方业务记录,待合同模块 TraceSupplierSaveResponse traceSupplierSaveResponse = new TraceSupplierSaveResponse(); traceSupplierSaveResponse.setId(traceSupplier.getId()); @@ -126,12 +145,44 @@ @Transactional public ReturnDTO draftUpdate(MeterTraceSupplier traceSupplier) { int updateFlag = traceSupplierMapper.updateById(traceSupplier); - boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); - //todo:更新溯源供方业务记录 + //更新溯源供方人员信息 + List traceSupplierPersonList = traceSupplier.getTraceSupplierPersonList(); + //先删除 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("supplier_id", traceSupplier.getId()); + //存在无可删除溯源供方人员情况,无需校验删除成功 + traceSupplierPersonService.remove(wrapper); + boolean saveFlag = true; + //溯源供方人员可能为空 + if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + //再增加 + traceSupplierPersonList.forEach(person -> { + person.setSupplierId(traceSupplier.getId()); + }); + saveFlag = traceSupplierPersonService.saveBatch(traceSupplierPersonList); + } - //todo:更新溯源供方标准装置信息 + //更新溯源供方标准装置信息 + //先删除再增加 + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("supplier_id", traceSupplier.getId()); + meterTraceSupplierStandardEquipmentService.remove(wrapper1); + boolean saveBatchFlag2 = true; + List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); + if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + List equipmentList = new ArrayList<>(); + standardEquipmentIds.forEach(id -> { + MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); + equipment.setStandardEquipmentId(id); + equipment.setSupplierId(traceSupplier.getId()); + equipmentList.add(equipment); + }); + saveBatchFlag2 = meterTraceSupplierStandardEquipmentService.saveBatch(equipmentList); + } - if (updateFlag > 0) { + //todo:更新溯源供方业务记录,待合同模块 + + if (updateFlag > 0 && saveFlag && saveBatchFlag2) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -307,12 +358,13 @@ @Override @Transactional public ReturnDTO updateTraceSupplier(MeterTraceSupplier traceSupplier) { - int updateFlag = traceSupplierMapper.updateById(traceSupplier); - boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); - if (updateFlag > 0 && saveOrUpdateFlag) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// int updateFlag = traceSupplierMapper.updateById(traceSupplier); +// boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); +// if (updateFlag > 0 && saveOrUpdateFlag) { +// return ReturnUtil.success(); +// } +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + return null; } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierStandardEquipmentServiceImpl.java new file mode 100644 index 0000000..83a2b45 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierStandardEquipmentServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.service.Impl.meter; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.meter.MeterTraceSupplierStandardEquipmentMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; +import com.casic.missiles.service.meter.IMeterTraceSupplierStandardEquipmentService; +import org.springframework.stereotype.Service; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 服务实现类 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +@Service +public class MeterTraceSupplierStandardEquipmentServiceImpl extends ServiceImpl implements IMeterTraceSupplierStandardEquipmentService { + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index b9faa3d..d24ac5c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -141,8 +141,13 @@ @Transactional public ReturnDTO draftUpdate(MeterTrainPlan trainPlan) { int updateFlag = trainPlanMapper.updateById(trainPlan); - boolean saveOrUpdateFlag = trainStaffService.saveOrUpdateBatch(trainPlan.getTrainStaffList()); - if(updateFlag > 0 && saveOrUpdateFlag){ + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("plan_id", trainPlan.getId()); + //培训计划中人员肯定不空,且详情中返回无id,保证逻辑删除和添加主键不冲突 + //先删除再增加 + boolean removeFlag = trainStaffService.remove(wrapper); + boolean saveFlag = trainStaffService.saveBatch(trainPlan.getTrainStaffList()); + if(updateFlag > 0 && removeFlag && saveFlag){ return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -218,12 +223,13 @@ @Override @Transactional public ReturnDTO updateTrainPlan(MeterTrainPlan meterTrainPlan) { - int updateFlag = trainPlanMapper.updateById(meterTrainPlan); - boolean saveOrUpdateFlag = trainStaffService.saveOrUpdateBatch(meterTrainPlan.getTrainStaffList()); - if(updateFlag > 0 && saveOrUpdateFlag){ - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// int updateFlag = trainPlanMapper.updateById(meterTrainPlan); +// boolean saveOrUpdateFlag = trainStaffService.saveOrUpdateBatch(meterTrainPlan.getTrainStaffList()); +// if(updateFlag > 0 && saveOrUpdateFlag){ +// return ReturnUtil.success(); +// } +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + return null; } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java index 660be28..163c77f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java @@ -675,7 +675,7 @@ serviceTask.setName(flowNode.getString("nodeName")); serviceTask.setId(id); process.addFlowElement(serviceTask); - // TODO: 2023/2/16 抄送实现 + // TODO: 2023/2/16 抄送实现,需求可不做 // serviceTask.setImplementationType(ImplementationType.IMPLEMENTATION_TYPE_CLASS); // serviceTask.setImplementation("实现JavaDelegate接口的类路径"); process.addFlowElement(connect(incoming.get(0), id, sequenceFlows)); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java index 260e5f2..58ce952 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java @@ -1,11 +1,25 @@ package com.casic.missiles.service.Impl.workbench; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import com.casic.missiles.utils.DictCodeUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Objects; + /** *

* 所有业务消息提醒 服务实现类 @@ -16,5 +30,41 @@ */ @Service public class WorkbenchRemindMessageServiceImpl extends ServiceImpl implements IWorkbenchRemindMessageService { + @Autowired + private WorkbenchRemindMessageMapper remindMessageMapper; + @Override + public Page listPage(Page page, RemindMessageRequest remindMessageRequest) throws Exception { + Page remindMessagePage = remindMessageMapper.selectPage(page, getWrapper(remindMessageRequest)); + List records = remindMessagePage.getRecords(); + for (WorkbenchRemindMessage record : records) { + DictCodeUtils.convertDictCodeToName(record); + } + return remindMessagePage; + } + + @Override + public ReturnDTO updateStatus(RemindMessageUpdateRequest updateRequest) { + WorkbenchRemindMessage remindMessage = new WorkbenchRemindMessage(); + remindMessage.setId(updateRequest.getId()); + remindMessage.setStatus(updateRequest.getStatus()); + if(remindMessageMapper.updateById(remindMessage) > 0){ + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + private QueryWrapper getWrapper(RemindMessageRequest request) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(!Objects.isNull(request.getRemindId()), "remind_id", request.getRemindId()); + wrapper.eq(!Objects.isNull(request.getRemindDeptId()), "remind_dept_id", request.getRemindDeptId()); + wrapper.eq(StringUtils.isNotBlank(request.getMessageType()), "message_type", request.getMessageType()); + wrapper.eq("status", 0); + wrapper.apply(StringUtils.isNotBlank(request.getStartTime()), + "{0} <= DATE_FORMAT(train_time,'%Y-%m-%d')", request.getStartTime().split(" ")[0]); + wrapper.apply(StringUtils.isNotBlank(request.getEndTime()), + "{0} >= DATE_FORMAT(train_time,'%Y-%m-%d')", request.getEndTime().split(" ")[0]); + wrapper.orderByDesc("create_time"); + return wrapper; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/meter/IMeterTraceSupplierStandardEquipmentService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/IMeterTraceSupplierStandardEquipmentService.java new file mode 100644 index 0000000..7afe97e --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/IMeterTraceSupplierStandardEquipmentService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.service.meter; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 服务类 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface IMeterTraceSupplierStandardEquipmentService extends IService { + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/workbench/IWorkbenchRemindMessageService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/workbench/IWorkbenchRemindMessageService.java index ccb5bdc..5513da0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/workbench/IWorkbenchRemindMessageService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/workbench/IWorkbenchRemindMessageService.java @@ -1,7 +1,11 @@ package com.casic.missiles.service.workbench; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; /** @@ -14,4 +18,7 @@ */ public interface IWorkbenchRemindMessageService extends IService { + Page listPage(Page page, RemindMessageRequest remindMessageRequest) throws Exception; + + ReturnDTO updateStatus(RemindMessageUpdateRequest updateRequest); } diff --git a/casic-metering-api/pom.xml b/casic-metering-api/pom.xml index 947ca8c..4985570 100644 --- a/casic-metering-api/pom.xml +++ b/casic-metering-api/pom.xml @@ -98,6 +98,14 @@ spring-boot-starter-tomcat + org.springframework.boot + spring-boot-starter-test + + + junit + junit + + org.flowable flowable-spring-boot-starter ${flowable.version} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java index 7327485..26d7da4 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/JsonToBpmnController.java @@ -399,7 +399,6 @@ } private static String createTask(JSONObject flowNode, Process process, List sequenceFlows) { - // TODO: 2022/12/4 getJSONArray判空 List incoming = flowNode.getJSONArray("incoming").toJavaList(String.class); // 自动生成id String id = id("userTask"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java index f8d072c..7051f61 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTraceSupplierController.java @@ -115,17 +115,18 @@ return traceSupplierService.submitTraceSupplier(request); } - @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("溯源供方更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/update") @ResponseBody public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); +// Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return traceSupplierService.updateTraceSupplier(traceSupplier); + return null; } @ApiOperation("溯源供方删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java index d60d7f5..2b918e6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterTrainController.java @@ -119,17 +119,18 @@ return trainPlanService.submitTrainPlan(request); } - @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") +// @ApiOperation("培训计划更新(审批通过后还能更新??暂时保留。。)") @PostMapping("/plan/update") @ResponseBody public ReturnDTO planUpdate(@RequestBody @Valid MeterTrainPlan trainPlan, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return trainPlanService.updateTrainPlan(trainPlan); +// Assert.isFalse(Objects.isNull(trainPlan.getId()), () -> { +// throw new BusinessException(BusinessExceptionEnum.ID_NULL); +// }); +// Assert.isFalse(bindingResult.hasErrors(), () -> { +// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); +// }); +// return trainPlanService.updateTrainPlan(trainPlan); + return null; } @ApiOperation("培训计划删除") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 32f67c9..9f9a6d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -14,5 +14,5 @@ @RestController @RequestMapping("/workbench/approvalMessage") public class WorkbenchApprovalMessageController { - + //审批待办=用户待审批列表+审批结果通知(workbench_approval_message表) } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java index 4ec8dac..11ddc39 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchRemindMessageController.java @@ -1,7 +1,25 @@ package com.casic.missiles.controller.workbench; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; +import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -11,8 +29,38 @@ * @author wangpeng * @since 2023-02-23 */ +@Api(tags = "工作台模块") +@Slf4j @RestController @RequestMapping("/workbench/remindMessage") -public class WorkbenchRemindMessageController { +public class WorkbenchRemindMessageController extends ExportController { + + @Autowired + private IWorkbenchRemindMessageService remindMessageService; + + /** + * 工作提醒列表 + * 工作提醒=4种到期提醒(workbench_remind_message表) + */ + @ApiOperation("工作提醒列表") + @PostMapping("/list") + @ResponseBody + public ReturnDTO> remindMessageList(@RequestBody @Valid RemindMessageRequest remindMessageRequest) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(remindMessageService.listPage(page, remindMessageRequest))); + } + + /** + * 已读状态变更 + */ + @ApiOperation("已读状态变更") + @PostMapping("/updateStatus") + @ResponseBody + public ReturnDTO updateStatus(@RequestBody @Valid RemindMessageUpdateRequest updateRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + return remindMessageService.updateStatus(updateRequest); + } } diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml index 040acf6..b8c8f3a 100644 --- a/casic-metering-api/src/main/resources/config/application.yml +++ b/casic-metering-api/src/main/resources/config/application.yml @@ -66,7 +66,7 @@ job: admin: # xxl-job后台管理界面的地址 - addresses: http://111.198.10.15:21405/xxl-job-admin + addresses: http://111.198.10.15:21605/xxl-job-admin executor: # 此执行器的名称 appname: casic-metering-job @@ -118,6 +118,6 @@ code: generate: #作者 - author: cz + author: wangpeng #待生成对象表名 - table-name: business_original_record + table-name: meter_trace_supplier_standard_equipment diff --git a/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java new file mode 100644 index 0000000..d1dd972 --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/controller/system/SystemControllerTest.java @@ -0,0 +1,57 @@ +package com.casic.missiles.controller.system; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemControllerTest { + + private MockMvc mockMvc; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Before + public void setup() { + // 实例化 + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void signListPage() throws Exception { + String jsonRequest = "{\n" + + " \"signType\": \"1\",\n" + + " \"signNo\": \"\",\n" + + " \"signName\": \"\",\n" + + " \"signDirector\": \"\",\n" + + " \"signUserId\": 0,\n" + + " \"createStartTime\": \"\",\n" + + " \"createEndTime\": \"\",\n" + + " \"ids\": [\n" + + " 0\n" + + " ]\n" + + "}"; + mockMvc.perform(MockMvcRequestBuilders + .post("/system/sign/listPage") + .accept(MediaType.APPLICATION_JSON_VALUE) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .content(jsonRequest.getBytes()) + ).andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.code").value("200")) + .andDo(MockMvcResultHandlers.print()); + } + +} \ No newline at end of file diff --git a/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java new file mode 100644 index 0000000..8b0751b --- /dev/null +++ b/casic-metering-api/src/test/java/com/casic/missiles/service/Impl/system/SystemSignServiceImplTest.java @@ -0,0 +1,27 @@ +package com.casic.missiles.service.Impl.system; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.system.SignDetailResponse; +import com.casic.missiles.service.system.ISystemSignService; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class SystemSignServiceImplTest { + @Resource + private ISystemSignService signService; + + @Test + public void signDetail() { + ReturnDTO signDetailResponse = signService.signDetail(1599672454222217217l); + Assert.assertEquals("请求失败", Integer.valueOf(200), signDetailResponse.getCode()); + SignDetailResponse data = signDetailResponse.getData(); + Assert.assertEquals("id不等", Long.valueOf(1599672454222217217l), data.getId()); + } +} \ No newline at end of file diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java new file mode 100644 index 0000000..bfdfc68 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface MeterTraceSupplierStandardEquipmentMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml index 0a27789..49463c0 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierMapper.xml @@ -42,7 +42,7 @@ - +
@@ -57,7 +57,7 @@ mts.company_city, mts.company_city_name, mts.company_area, mts.company_area_name, mts.company_address, mts.invoice_country, mts.invoice_province, mts.invoice_city, mts.invoice_area, mts.invoice_address, mts.business_scope, mts.minio_file_name, mts.approval_status, mts.remark, mts.create_time, mtsp.person_no, mtsp.name, mtsp.department, - mtsp.job, mtsp.phone, mts.process_id + mtsp.job, mtsp.phone AS personPhone, mts.process_id FROM meter_trace_supplier mts LEFT JOIN meter_trace_supplier_person mtsp ON mts.id = mtsp.supplier_id WHERE mts.id = #{id} AND mts.is_del = 0 diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml new file mode 100644 index 0000000..c8d1d4f --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTraceSupplierStandardEquipmentMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, supplier_id, standard_equipment_id + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml index c4b3d7a..364eb36 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterTrainPlanMapper.xml @@ -18,7 +18,7 @@ - + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 39f461c..3b34857 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -116,4 +116,8 @@ String CALIBRATION_MAJOR= "calibrationMajor"; + /** + * 工作台 + */ + String MESSAGE_TYPE = "messageType"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java index cd1066f..4f8424a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FileApprovalListResponse.java @@ -85,6 +85,12 @@ private String createUser; /** + * 创建人 + */ + @ApiModelProperty(value = "创建人id", dataType = "String") + private Long createUserId; + + /** * 创建时间 */ @ApiModelProperty(value = "创建时间", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java new file mode 100644 index 0000000..053ba74 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageRequest.java @@ -0,0 +1,29 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/2 16:43 + */ +@ApiModel +@Data +public class RemindMessageRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; + + @ApiModelProperty(value = "消息提醒开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "消息提醒结束", dataType = "String") + private String endTime; + + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + private String messageType; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java new file mode 100644 index 0000000..553914c --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/RemindMessageUpdateRequest.java @@ -0,0 +1,24 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Description: 工作提醒消息请求实体 + * @Author: wangpeng + * @Date: 2023/3/3 16:43 + */ +@ApiModel +@Data +public class RemindMessageUpdateRequest { + @NotNull(message = "id不能为空") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + @NotNull(message = "更新状态不能为空") + @ApiModelProperty(value = "状态(1已读0未读)", dataType = "Integer") + private Integer status; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java index 7dad6fa..6f28e4d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplier.java @@ -333,4 +333,7 @@ @TableField(exist = false) private List traceSupplierPersonList; + @TableField(exist = false) + private List standardEquipmentIds; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java index b21763c..9ead45d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierPerson.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java new file mode 100644 index 0000000..7969af7 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTraceSupplierStandardEquipment.java @@ -0,0 +1,40 @@ +package com.casic.missiles.model.meter; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +@Data +@TableName("meter_trace_supplier_standard_equipment") +public class MeterTraceSupplierStandardEquipment implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 溯源供方表id + */ + @TableField("supplier_id") + private Long supplierId; + + /** + * 标准装置id + */ + @TableField("standard_equipment_id") + private Long standardEquipmentId; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java index b80b637..20ce80d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterTrainStaff.java @@ -24,7 +24,7 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") +// @ApiModelProperty(value = "主键id(列表、更新接口参数)", dataType = "Long") @TableId("id") private Long id; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java index 11942ff..32d90c0 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchRemindMessage.java @@ -3,6 +3,10 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @@ -15,6 +19,7 @@ * @author wangpeng * @since 2023-02-23 */ +@ApiModel @Data @TableName("workbench_remind_message") public class WorkbenchRemindMessage implements Serializable { @@ -22,77 +27,95 @@ private static final long serialVersionUID = 1L; @TableId("id") + @ApiModelProperty(value = "主键id", dataType = "Long") private Long id; /** * 消息提醒的用户id */ + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") @TableField("remind_id") private Long remindId; /** * 消息提醒的用户部门id */ + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") @TableField("remind_dept_id") private Long remindDeptId; /** * 消息提醒的业务表id */ + @ApiModelProperty(value = "消息提醒的业务表id", dataType = "Long") @TableField("business_id") private Long businessId; /** * 消息提醒的业务内容编码 */ + @ApiModelProperty(value = "消息提醒的业务内容编码", dataType = "String") @TableField("business_code") private String businessCode; /** * 消息提醒的业务类型 */ + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + @DictCodeField(message = "消息提醒的业务类型不合法", cacheName = MeterDictCode.MESSAGE_TYPE) @TableField("message_type") private String messageType; + @ApiModelProperty(value = "消息提醒的业务类型(字典value)", dataType = "String") + @TableField(exist = false) + private String messageTypeName; + /** * 消息主题(冗余) */ + @ApiModelProperty(value = "消息主题(冗余)", dataType = "String") @TableField("message_title") private String messageTitle; /** * 消息内容(消息提醒的业务内容名称) */ + @ApiModelProperty(value = "消息内容(消息提醒的业务内容名称)", dataType = "String") @TableField("message_content") private String messageContent; /** * 1已读0未读 */ + @ApiModelProperty(value = "1已读0未读", dataType = "Integer") @TableField("status") private Integer status; /** * 发起提醒人id */ + @ApiModelProperty(value = "发起提醒人id", dataType = "Long") @TableField("create_user") private Long createUser; /** * 发起提醒人名字 */ + @ApiModelProperty(value = "发起提醒人名字", dataType = "String") @TableField("create_user_name") private String createUserName; /** * 发起时间 */ + @ApiModelProperty(value = "发起时间", dataType = "String") @TableField("create_time") private String createTime; /** * 更新时间 */ + @ApiModelProperty(value = "更新时间", dataType = "String") @TableField("update_time") private String updateTime; diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index dd8c1da..6847052 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -30,27 +30,14 @@ casic-metering-common 2.0.0 - - - - - - - - - - - - - - - - - - - - - + + org.springframework.boot + spring-boot-starter-test + + + junit + junit + \ No newline at end of file diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index c0e00ab..ecf1fc3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -99,6 +99,7 @@ throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); }); file.setCreateUserId(ShiroKit.getUser().getId()); //登录者用户id + file.setCreateUser(ShiroKit.getUser().getName()); int row = meterFileMapper.insert(file); if (row <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 321321b..535581f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -21,11 +21,13 @@ import com.casic.missiles.mapper.meter.MeterTraceSupplierMapper; import com.casic.missiles.model.meter.MeterTraceSupplier; import com.casic.missiles.model.meter.MeterTraceSupplierPerson; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.service.IBaseApprovalService; import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.service.meter.IMeterTraceSupplierPersonService; import com.casic.missiles.service.meter.IMeterTraceSupplierService; +import com.casic.missiles.service.meter.IMeterTraceSupplierStandardEquipmentService; import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import org.apache.commons.lang3.StringUtils; @@ -66,6 +68,8 @@ private TaskService taskService; @Resource private RuntimeService runtimeService; + @Autowired + private IMeterTraceSupplierStandardEquipmentService meterTraceSupplierStandardEquipmentService; @Override public Page listPage(Page page, TraceSupplierListRequest request) { @@ -112,9 +116,24 @@ throw new BusinessException(BusinessExceptionEnum.TRACE_SUPPLIER_SAVE_FAILED); }); - //todo:存储溯源供方业务记录 + //存储溯源供方标准装置信息 + boolean saveBatchFlag2 = true; + List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); + if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + List equipmentList = new ArrayList<>(); + standardEquipmentIds.forEach(id -> { + MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); + equipment.setStandardEquipmentId(id); + equipment.setSupplierId(traceSupplier.getId()); + equipmentList.add(equipment); + }); + saveBatchFlag2 = meterTraceSupplierStandardEquipmentService.saveBatch(equipmentList); + } + Assert.isFalse(!saveBatchFlag2, () -> { + throw new BusinessException(BusinessExceptionEnum.TRACE_SUPPLIER_SAVE_FAILED); + }); - //todo:存储溯源供方标准装置信息 + //todo:存储溯源供方业务记录,待合同模块 TraceSupplierSaveResponse traceSupplierSaveResponse = new TraceSupplierSaveResponse(); traceSupplierSaveResponse.setId(traceSupplier.getId()); @@ -126,12 +145,44 @@ @Transactional public ReturnDTO draftUpdate(MeterTraceSupplier traceSupplier) { int updateFlag = traceSupplierMapper.updateById(traceSupplier); - boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); - //todo:更新溯源供方业务记录 + //更新溯源供方人员信息 + List traceSupplierPersonList = traceSupplier.getTraceSupplierPersonList(); + //先删除 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("supplier_id", traceSupplier.getId()); + //存在无可删除溯源供方人员情况,无需校验删除成功 + traceSupplierPersonService.remove(wrapper); + boolean saveFlag = true; + //溯源供方人员可能为空 + if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + //再增加 + traceSupplierPersonList.forEach(person -> { + person.setSupplierId(traceSupplier.getId()); + }); + saveFlag = traceSupplierPersonService.saveBatch(traceSupplierPersonList); + } - //todo:更新溯源供方标准装置信息 + //更新溯源供方标准装置信息 + //先删除再增加 + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("supplier_id", traceSupplier.getId()); + meterTraceSupplierStandardEquipmentService.remove(wrapper1); + boolean saveBatchFlag2 = true; + List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); + if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + List equipmentList = new ArrayList<>(); + standardEquipmentIds.forEach(id -> { + MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); + equipment.setStandardEquipmentId(id); + equipment.setSupplierId(traceSupplier.getId()); + equipmentList.add(equipment); + }); + saveBatchFlag2 = meterTraceSupplierStandardEquipmentService.saveBatch(equipmentList); + } - if (updateFlag > 0) { + //todo:更新溯源供方业务记录,待合同模块 + + if (updateFlag > 0 && saveFlag && saveBatchFlag2) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -307,12 +358,13 @@ @Override @Transactional public ReturnDTO updateTraceSupplier(MeterTraceSupplier traceSupplier) { - int updateFlag = traceSupplierMapper.updateById(traceSupplier); - boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); - if (updateFlag > 0 && saveOrUpdateFlag) { - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// int updateFlag = traceSupplierMapper.updateById(traceSupplier); +// boolean saveOrUpdateFlag = traceSupplierPersonService.saveOrUpdateBatch(traceSupplier.getTraceSupplierPersonList()); +// if (updateFlag > 0 && saveOrUpdateFlag) { +// return ReturnUtil.success(); +// } +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + return null; } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierStandardEquipmentServiceImpl.java new file mode 100644 index 0000000..83a2b45 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierStandardEquipmentServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.service.Impl.meter; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.meter.MeterTraceSupplierStandardEquipmentMapper; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; +import com.casic.missiles.service.meter.IMeterTraceSupplierStandardEquipmentService; +import org.springframework.stereotype.Service; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 服务实现类 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +@Service +public class MeterTraceSupplierStandardEquipmentServiceImpl extends ServiceImpl implements IMeterTraceSupplierStandardEquipmentService { + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index b9faa3d..d24ac5c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -141,8 +141,13 @@ @Transactional public ReturnDTO draftUpdate(MeterTrainPlan trainPlan) { int updateFlag = trainPlanMapper.updateById(trainPlan); - boolean saveOrUpdateFlag = trainStaffService.saveOrUpdateBatch(trainPlan.getTrainStaffList()); - if(updateFlag > 0 && saveOrUpdateFlag){ + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("plan_id", trainPlan.getId()); + //培训计划中人员肯定不空,且详情中返回无id,保证逻辑删除和添加主键不冲突 + //先删除再增加 + boolean removeFlag = trainStaffService.remove(wrapper); + boolean saveFlag = trainStaffService.saveBatch(trainPlan.getTrainStaffList()); + if(updateFlag > 0 && removeFlag && saveFlag){ return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -218,12 +223,13 @@ @Override @Transactional public ReturnDTO updateTrainPlan(MeterTrainPlan meterTrainPlan) { - int updateFlag = trainPlanMapper.updateById(meterTrainPlan); - boolean saveOrUpdateFlag = trainStaffService.saveOrUpdateBatch(meterTrainPlan.getTrainStaffList()); - if(updateFlag > 0 && saveOrUpdateFlag){ - return ReturnUtil.success(); - } - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// int updateFlag = trainPlanMapper.updateById(meterTrainPlan); +// boolean saveOrUpdateFlag = trainStaffService.saveOrUpdateBatch(meterTrainPlan.getTrainStaffList()); +// if(updateFlag > 0 && saveOrUpdateFlag){ +// return ReturnUtil.success(); +// } +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + return null; } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java index 660be28..163c77f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java @@ -675,7 +675,7 @@ serviceTask.setName(flowNode.getString("nodeName")); serviceTask.setId(id); process.addFlowElement(serviceTask); - // TODO: 2023/2/16 抄送实现 + // TODO: 2023/2/16 抄送实现,需求可不做 // serviceTask.setImplementationType(ImplementationType.IMPLEMENTATION_TYPE_CLASS); // serviceTask.setImplementation("实现JavaDelegate接口的类路径"); process.addFlowElement(connect(incoming.get(0), id, sequenceFlows)); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java index 260e5f2..58ce952 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java @@ -1,11 +1,25 @@ package com.casic.missiles.service.Impl.workbench; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; +import com.casic.missiles.utils.DictCodeUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Objects; + /** *

* 所有业务消息提醒 服务实现类 @@ -16,5 +30,41 @@ */ @Service public class WorkbenchRemindMessageServiceImpl extends ServiceImpl implements IWorkbenchRemindMessageService { + @Autowired + private WorkbenchRemindMessageMapper remindMessageMapper; + @Override + public Page listPage(Page page, RemindMessageRequest remindMessageRequest) throws Exception { + Page remindMessagePage = remindMessageMapper.selectPage(page, getWrapper(remindMessageRequest)); + List records = remindMessagePage.getRecords(); + for (WorkbenchRemindMessage record : records) { + DictCodeUtils.convertDictCodeToName(record); + } + return remindMessagePage; + } + + @Override + public ReturnDTO updateStatus(RemindMessageUpdateRequest updateRequest) { + WorkbenchRemindMessage remindMessage = new WorkbenchRemindMessage(); + remindMessage.setId(updateRequest.getId()); + remindMessage.setStatus(updateRequest.getStatus()); + if(remindMessageMapper.updateById(remindMessage) > 0){ + return ReturnUtil.success(); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + + private QueryWrapper getWrapper(RemindMessageRequest request) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(!Objects.isNull(request.getRemindId()), "remind_id", request.getRemindId()); + wrapper.eq(!Objects.isNull(request.getRemindDeptId()), "remind_dept_id", request.getRemindDeptId()); + wrapper.eq(StringUtils.isNotBlank(request.getMessageType()), "message_type", request.getMessageType()); + wrapper.eq("status", 0); + wrapper.apply(StringUtils.isNotBlank(request.getStartTime()), + "{0} <= DATE_FORMAT(train_time,'%Y-%m-%d')", request.getStartTime().split(" ")[0]); + wrapper.apply(StringUtils.isNotBlank(request.getEndTime()), + "{0} >= DATE_FORMAT(train_time,'%Y-%m-%d')", request.getEndTime().split(" ")[0]); + wrapper.orderByDesc("create_time"); + return wrapper; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/meter/IMeterTraceSupplierStandardEquipmentService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/IMeterTraceSupplierStandardEquipmentService.java new file mode 100644 index 0000000..7afe97e --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/IMeterTraceSupplierStandardEquipmentService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.service.meter; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.model.meter.MeterTraceSupplierStandardEquipment; + +/** + *

+ * 计量管理-溯源供方-溯源供方与标准装置关联表 服务类 + *

+ * + * @author wangpeng + * @since 2023-03-03 + */ +public interface IMeterTraceSupplierStandardEquipmentService extends IService { + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/workbench/IWorkbenchRemindMessageService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/workbench/IWorkbenchRemindMessageService.java index ccb5bdc..5513da0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/workbench/IWorkbenchRemindMessageService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/workbench/IWorkbenchRemindMessageService.java @@ -1,7 +1,11 @@ package com.casic.missiles.service.workbench; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.workbench.RemindMessageRequest; +import com.casic.missiles.dto.workbench.RemindMessageUpdateRequest; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; /** @@ -14,4 +18,7 @@ */ public interface IWorkbenchRemindMessageService extends IService { + Page listPage(Page page, RemindMessageRequest remindMessageRequest) throws Exception; + + ReturnDTO updateStatus(RemindMessageUpdateRequest updateRequest); } diff --git a/pom.xml b/pom.xml index 6c8ea53..012ee78 100644 --- a/pom.xml +++ b/pom.xml @@ -56,6 +56,18 @@ spring-boot-starter-web ${boot.version} + + org.springframework.boot + spring-boot-starter-test + ${boot.version} + test + + + junit + junit + ${junit.version} + test + com.casic