diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java index 1ab70c0..ffa1ffc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java @@ -6,10 +6,8 @@ * @Date: 2023/7/20 18:00 */ public interface DeptTypeEnum { - //管理部门 - String MANAGE_DEPT = "1"; - //业务部门 - String BIS_DEPT = "2"; - //检定部门 - String MEASURE_DEPT = "3"; + // 计量单位 + Integer METER_DEPT = 1; + // 受检单位 + Integer METERED_DEPT = 2; } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java index 1ab70c0..ffa1ffc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java @@ -6,10 +6,8 @@ * @Date: 2023/7/20 18:00 */ public interface DeptTypeEnum { - //管理部门 - String MANAGE_DEPT = "1"; - //业务部门 - String BIS_DEPT = "2"; - //检定部门 - String MEASURE_DEPT = "3"; + // 计量单位 + Integer METER_DEPT = 1; + // 受检单位 + Integer METERED_DEPT = 2; } diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml index 46a1c68..7043947 100644 --- a/casic-metering-dao/pom.xml +++ b/casic-metering-dao/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,7 +16,7 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java index 1ab70c0..ffa1ffc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java @@ -6,10 +6,8 @@ * @Date: 2023/7/20 18:00 */ public interface DeptTypeEnum { - //管理部门 - String MANAGE_DEPT = "1"; - //业务部门 - String BIS_DEPT = "2"; - //检定部门 - String MEASURE_DEPT = "3"; + // 计量单位 + Integer METER_DEPT = 1; + // 受检单位 + Integer METERED_DEPT = 2; } diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml index 46a1c68..7043947 100644 --- a/casic-metering-dao/pom.xml +++ b/casic-metering-dao/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,7 +16,7 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index f4d9936..2d1390d 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -156,7 +156,6 @@ left join eqpt_equipment_task_relation r on e.id = r.equipment_id left join task_ext t on r.task_id = t.id left join latest_sample_relation lsr on lsr.sample_id = e.id - where e.certificate_valid is not null group by e.id,e.certificate_valid,a.remind_time,lsr.sample_status ) diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java index 1ab70c0..ffa1ffc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java @@ -6,10 +6,8 @@ * @Date: 2023/7/20 18:00 */ public interface DeptTypeEnum { - //管理部门 - String MANAGE_DEPT = "1"; - //业务部门 - String BIS_DEPT = "2"; - //检定部门 - String MEASURE_DEPT = "3"; + // 计量单位 + Integer METER_DEPT = 1; + // 受检单位 + Integer METERED_DEPT = 2; } diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml index 46a1c68..7043947 100644 --- a/casic-metering-dao/pom.xml +++ b/casic-metering-dao/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,7 +16,7 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index f4d9936..2d1390d 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -156,7 +156,6 @@ left join eqpt_equipment_task_relation r on e.id = r.equipment_id left join task_ext t on r.task_id = t.id left join latest_sample_relation lsr on lsr.sample_id = e.id - where e.certificate_valid is not null group by e.id,e.certificate_valid,a.remind_time,lsr.sample_status ) diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml index 748151c..ead9a9b 100644 --- a/casic-metering-eqpt-api/pom.xml +++ b/casic-metering-eqpt-api/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -18,13 +18,13 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-job - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java index 1ab70c0..ffa1ffc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java @@ -6,10 +6,8 @@ * @Date: 2023/7/20 18:00 */ public interface DeptTypeEnum { - //管理部门 - String MANAGE_DEPT = "1"; - //业务部门 - String BIS_DEPT = "2"; - //检定部门 - String MEASURE_DEPT = "3"; + // 计量单位 + Integer METER_DEPT = 1; + // 受检单位 + Integer METERED_DEPT = 2; } diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml index 46a1c68..7043947 100644 --- a/casic-metering-dao/pom.xml +++ b/casic-metering-dao/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,7 +16,7 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index f4d9936..2d1390d 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -156,7 +156,6 @@ left join eqpt_equipment_task_relation r on e.id = r.equipment_id left join task_ext t on r.task_id = t.id left join latest_sample_relation lsr on lsr.sample_id = e.id - where e.certificate_valid is not null group by e.id,e.certificate_valid,a.remind_time,lsr.sample_status ) diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml index 748151c..ead9a9b 100644 --- a/casic-metering-eqpt-api/pom.xml +++ b/casic-metering-eqpt-api/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -18,13 +18,13 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-job - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java index c26f678..c8c3063 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.plan; +import cn.hutool.core.lang.Assert; import com.casic.missiles.controller.CommonApprovalController; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -7,6 +8,9 @@ import com.casic.missiles.dto.plan.InspectionQueryForm; import com.casic.missiles.dto.plan.PlanForm; import com.casic.missiles.dto.plan.PlanQueryForm; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BizBusinessOrderInfo; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.plan.InspectionApproval; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.service.plan.IInspectionApprovalService; @@ -15,8 +19,11 @@ 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; + @RestController @RequestMapping("/inspection") @Slf4j @@ -46,4 +53,10 @@ return ReturnUtil.success(info); } + @ApiOperation("设备检查") + @PostMapping("/check") + public ReturnDTO orderChcek(@RequestBody InspectionApprovalForm approvalForm) { + return ReturnUtil.success(service.checkApproval(approvalForm)); + } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java index 1ab70c0..ffa1ffc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java @@ -6,10 +6,8 @@ * @Date: 2023/7/20 18:00 */ public interface DeptTypeEnum { - //管理部门 - String MANAGE_DEPT = "1"; - //业务部门 - String BIS_DEPT = "2"; - //检定部门 - String MEASURE_DEPT = "3"; + // 计量单位 + Integer METER_DEPT = 1; + // 受检单位 + Integer METERED_DEPT = 2; } diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml index 46a1c68..7043947 100644 --- a/casic-metering-dao/pom.xml +++ b/casic-metering-dao/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,7 +16,7 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index f4d9936..2d1390d 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -156,7 +156,6 @@ left join eqpt_equipment_task_relation r on e.id = r.equipment_id left join task_ext t on r.task_id = t.id left join latest_sample_relation lsr on lsr.sample_id = e.id - where e.certificate_valid is not null group by e.id,e.certificate_valid,a.remind_time,lsr.sample_status ) diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml index 748151c..ead9a9b 100644 --- a/casic-metering-eqpt-api/pom.xml +++ b/casic-metering-eqpt-api/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -18,13 +18,13 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-job - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java index c26f678..c8c3063 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.plan; +import cn.hutool.core.lang.Assert; import com.casic.missiles.controller.CommonApprovalController; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -7,6 +8,9 @@ import com.casic.missiles.dto.plan.InspectionQueryForm; import com.casic.missiles.dto.plan.PlanForm; import com.casic.missiles.dto.plan.PlanQueryForm; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BizBusinessOrderInfo; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.plan.InspectionApproval; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.service.plan.IInspectionApprovalService; @@ -15,8 +19,11 @@ 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; + @RestController @RequestMapping("/inspection") @Slf4j @@ -46,4 +53,10 @@ return ReturnUtil.success(info); } + @ApiOperation("设备检查") + @PostMapping("/check") + public ReturnDTO orderChcek(@RequestBody InspectionApprovalForm approvalForm) { + return ReturnUtil.success(service.checkApproval(approvalForm)); + } + } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java index 634ac7d..bbf23b9 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java @@ -41,6 +41,12 @@ return ReturnUtil.success(systemDeptService.getUserCompany()); } + @ApiOperation("获取所属部门") + @GetMapping("/userDeptList") + public ReturnDTO getCompanyId(Long companyId) { + return ReturnUtil.success(systemDeptService.getUserDeptList(companyId)); + } + @ApiOperation("获取所在单位列表") @GetMapping("/companyList") public ReturnDTO> companyList() { diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java index 1ab70c0..ffa1ffc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java @@ -6,10 +6,8 @@ * @Date: 2023/7/20 18:00 */ public interface DeptTypeEnum { - //管理部门 - String MANAGE_DEPT = "1"; - //业务部门 - String BIS_DEPT = "2"; - //检定部门 - String MEASURE_DEPT = "3"; + // 计量单位 + Integer METER_DEPT = 1; + // 受检单位 + Integer METERED_DEPT = 2; } diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml index 46a1c68..7043947 100644 --- a/casic-metering-dao/pom.xml +++ b/casic-metering-dao/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,7 +16,7 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index f4d9936..2d1390d 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -156,7 +156,6 @@ left join eqpt_equipment_task_relation r on e.id = r.equipment_id left join task_ext t on r.task_id = t.id left join latest_sample_relation lsr on lsr.sample_id = e.id - where e.certificate_valid is not null group by e.id,e.certificate_valid,a.remind_time,lsr.sample_status ) diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml index 748151c..ead9a9b 100644 --- a/casic-metering-eqpt-api/pom.xml +++ b/casic-metering-eqpt-api/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -18,13 +18,13 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-job - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java index c26f678..c8c3063 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.plan; +import cn.hutool.core.lang.Assert; import com.casic.missiles.controller.CommonApprovalController; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -7,6 +8,9 @@ import com.casic.missiles.dto.plan.InspectionQueryForm; import com.casic.missiles.dto.plan.PlanForm; import com.casic.missiles.dto.plan.PlanQueryForm; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BizBusinessOrderInfo; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.plan.InspectionApproval; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.service.plan.IInspectionApprovalService; @@ -15,8 +19,11 @@ 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; + @RestController @RequestMapping("/inspection") @Slf4j @@ -46,4 +53,10 @@ return ReturnUtil.success(info); } + @ApiOperation("设备检查") + @PostMapping("/check") + public ReturnDTO orderChcek(@RequestBody InspectionApprovalForm approvalForm) { + return ReturnUtil.success(service.checkApproval(approvalForm)); + } + } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java index 634ac7d..bbf23b9 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java @@ -41,6 +41,12 @@ return ReturnUtil.success(systemDeptService.getUserCompany()); } + @ApiOperation("获取所属部门") + @GetMapping("/userDeptList") + public ReturnDTO getCompanyId(Long companyId) { + return ReturnUtil.success(systemDeptService.getUserDeptList(companyId)); + } + @ApiOperation("获取所在单位列表") @GetMapping("/companyList") public ReturnDTO> companyList() { diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml index 6efd648..f50ab7e 100644 --- a/casic-metering-job/pom.xml +++ b/casic-metering-job/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -14,12 +14,12 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.github.oshi @@ -61,7 +61,7 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 compile diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java index 1ab70c0..ffa1ffc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java @@ -6,10 +6,8 @@ * @Date: 2023/7/20 18:00 */ public interface DeptTypeEnum { - //管理部门 - String MANAGE_DEPT = "1"; - //业务部门 - String BIS_DEPT = "2"; - //检定部门 - String MEASURE_DEPT = "3"; + // 计量单位 + Integer METER_DEPT = 1; + // 受检单位 + Integer METERED_DEPT = 2; } diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml index 46a1c68..7043947 100644 --- a/casic-metering-dao/pom.xml +++ b/casic-metering-dao/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,7 +16,7 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index f4d9936..2d1390d 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -156,7 +156,6 @@ left join eqpt_equipment_task_relation r on e.id = r.equipment_id left join task_ext t on r.task_id = t.id left join latest_sample_relation lsr on lsr.sample_id = e.id - where e.certificate_valid is not null group by e.id,e.certificate_valid,a.remind_time,lsr.sample_status ) diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml index 748151c..ead9a9b 100644 --- a/casic-metering-eqpt-api/pom.xml +++ b/casic-metering-eqpt-api/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -18,13 +18,13 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-job - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java index c26f678..c8c3063 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.plan; +import cn.hutool.core.lang.Assert; import com.casic.missiles.controller.CommonApprovalController; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -7,6 +8,9 @@ import com.casic.missiles.dto.plan.InspectionQueryForm; import com.casic.missiles.dto.plan.PlanForm; import com.casic.missiles.dto.plan.PlanQueryForm; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BizBusinessOrderInfo; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.plan.InspectionApproval; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.service.plan.IInspectionApprovalService; @@ -15,8 +19,11 @@ 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; + @RestController @RequestMapping("/inspection") @Slf4j @@ -46,4 +53,10 @@ return ReturnUtil.success(info); } + @ApiOperation("设备检查") + @PostMapping("/check") + public ReturnDTO orderChcek(@RequestBody InspectionApprovalForm approvalForm) { + return ReturnUtil.success(service.checkApproval(approvalForm)); + } + } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java index 634ac7d..bbf23b9 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java @@ -41,6 +41,12 @@ return ReturnUtil.success(systemDeptService.getUserCompany()); } + @ApiOperation("获取所属部门") + @GetMapping("/userDeptList") + public ReturnDTO getCompanyId(Long companyId) { + return ReturnUtil.success(systemDeptService.getUserDeptList(companyId)); + } + @ApiOperation("获取所在单位列表") @GetMapping("/companyList") public ReturnDTO> companyList() { diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml index 6efd648..f50ab7e 100644 --- a/casic-metering-job/pom.xml +++ b/casic-metering-job/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -14,12 +14,12 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.github.oshi @@ -61,7 +61,7 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 compile diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml index 09c934a..00b91f1 100644 --- a/casic-metering-model/pom.xml +++ b/casic-metering-model/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java index 1ab70c0..ffa1ffc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java @@ -6,10 +6,8 @@ * @Date: 2023/7/20 18:00 */ public interface DeptTypeEnum { - //管理部门 - String MANAGE_DEPT = "1"; - //业务部门 - String BIS_DEPT = "2"; - //检定部门 - String MEASURE_DEPT = "3"; + // 计量单位 + Integer METER_DEPT = 1; + // 受检单位 + Integer METERED_DEPT = 2; } diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml index 46a1c68..7043947 100644 --- a/casic-metering-dao/pom.xml +++ b/casic-metering-dao/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,7 +16,7 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index f4d9936..2d1390d 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -156,7 +156,6 @@ left join eqpt_equipment_task_relation r on e.id = r.equipment_id left join task_ext t on r.task_id = t.id left join latest_sample_relation lsr on lsr.sample_id = e.id - where e.certificate_valid is not null group by e.id,e.certificate_valid,a.remind_time,lsr.sample_status ) diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml index 748151c..ead9a9b 100644 --- a/casic-metering-eqpt-api/pom.xml +++ b/casic-metering-eqpt-api/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -18,13 +18,13 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-job - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java index c26f678..c8c3063 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.plan; +import cn.hutool.core.lang.Assert; import com.casic.missiles.controller.CommonApprovalController; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -7,6 +8,9 @@ import com.casic.missiles.dto.plan.InspectionQueryForm; import com.casic.missiles.dto.plan.PlanForm; import com.casic.missiles.dto.plan.PlanQueryForm; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BizBusinessOrderInfo; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.plan.InspectionApproval; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.service.plan.IInspectionApprovalService; @@ -15,8 +19,11 @@ 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; + @RestController @RequestMapping("/inspection") @Slf4j @@ -46,4 +53,10 @@ return ReturnUtil.success(info); } + @ApiOperation("设备检查") + @PostMapping("/check") + public ReturnDTO orderChcek(@RequestBody InspectionApprovalForm approvalForm) { + return ReturnUtil.success(service.checkApproval(approvalForm)); + } + } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java index 634ac7d..bbf23b9 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java @@ -41,6 +41,12 @@ return ReturnUtil.success(systemDeptService.getUserCompany()); } + @ApiOperation("获取所属部门") + @GetMapping("/userDeptList") + public ReturnDTO getCompanyId(Long companyId) { + return ReturnUtil.success(systemDeptService.getUserDeptList(companyId)); + } + @ApiOperation("获取所在单位列表") @GetMapping("/companyList") public ReturnDTO> companyList() { diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml index 6efd648..f50ab7e 100644 --- a/casic-metering-job/pom.xml +++ b/casic-metering-job/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -14,12 +14,12 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.github.oshi @@ -61,7 +61,7 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 compile diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml index 09c934a..00b91f1 100644 --- a/casic-metering-model/pom.xml +++ b/casic-metering-model/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java index 8f1c6a0..381fa37 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java @@ -60,6 +60,10 @@ @TableField(exist = false) private String sampleManufacturer; + @ApiModelProperty("出厂编号") + @TableField(exist = false) + private String sampleManufactureNo; + /** * 交接单id,避免重复交接(可为空) */ diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java index 1ab70c0..ffa1ffc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java @@ -6,10 +6,8 @@ * @Date: 2023/7/20 18:00 */ public interface DeptTypeEnum { - //管理部门 - String MANAGE_DEPT = "1"; - //业务部门 - String BIS_DEPT = "2"; - //检定部门 - String MEASURE_DEPT = "3"; + // 计量单位 + Integer METER_DEPT = 1; + // 受检单位 + Integer METERED_DEPT = 2; } diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml index 46a1c68..7043947 100644 --- a/casic-metering-dao/pom.xml +++ b/casic-metering-dao/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,7 +16,7 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index f4d9936..2d1390d 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -156,7 +156,6 @@ left join eqpt_equipment_task_relation r on e.id = r.equipment_id left join task_ext t on r.task_id = t.id left join latest_sample_relation lsr on lsr.sample_id = e.id - where e.certificate_valid is not null group by e.id,e.certificate_valid,a.remind_time,lsr.sample_status ) diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml index 748151c..ead9a9b 100644 --- a/casic-metering-eqpt-api/pom.xml +++ b/casic-metering-eqpt-api/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -18,13 +18,13 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-job - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java index c26f678..c8c3063 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.plan; +import cn.hutool.core.lang.Assert; import com.casic.missiles.controller.CommonApprovalController; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -7,6 +8,9 @@ import com.casic.missiles.dto.plan.InspectionQueryForm; import com.casic.missiles.dto.plan.PlanForm; import com.casic.missiles.dto.plan.PlanQueryForm; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BizBusinessOrderInfo; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.plan.InspectionApproval; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.service.plan.IInspectionApprovalService; @@ -15,8 +19,11 @@ 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; + @RestController @RequestMapping("/inspection") @Slf4j @@ -46,4 +53,10 @@ return ReturnUtil.success(info); } + @ApiOperation("设备检查") + @PostMapping("/check") + public ReturnDTO orderChcek(@RequestBody InspectionApprovalForm approvalForm) { + return ReturnUtil.success(service.checkApproval(approvalForm)); + } + } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java index 634ac7d..bbf23b9 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java @@ -41,6 +41,12 @@ return ReturnUtil.success(systemDeptService.getUserCompany()); } + @ApiOperation("获取所属部门") + @GetMapping("/userDeptList") + public ReturnDTO getCompanyId(Long companyId) { + return ReturnUtil.success(systemDeptService.getUserDeptList(companyId)); + } + @ApiOperation("获取所在单位列表") @GetMapping("/companyList") public ReturnDTO> companyList() { diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml index 6efd648..f50ab7e 100644 --- a/casic-metering-job/pom.xml +++ b/casic-metering-job/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -14,12 +14,12 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.github.oshi @@ -61,7 +61,7 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 compile diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml index 09c934a..00b91f1 100644 --- a/casic-metering-model/pom.xml +++ b/casic-metering-model/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java index 8f1c6a0..381fa37 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java @@ -60,6 +60,10 @@ @TableField(exist = false) private String sampleManufacturer; + @ApiModelProperty("出厂编号") + @TableField(exist = false) + private String sampleManufactureNo; + /** * 交接单id,避免重复交接(可为空) */ diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index 877d1c0..574c3fb 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,19 +16,19 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-common - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java index 1ab70c0..ffa1ffc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java @@ -6,10 +6,8 @@ * @Date: 2023/7/20 18:00 */ public interface DeptTypeEnum { - //管理部门 - String MANAGE_DEPT = "1"; - //业务部门 - String BIS_DEPT = "2"; - //检定部门 - String MEASURE_DEPT = "3"; + // 计量单位 + Integer METER_DEPT = 1; + // 受检单位 + Integer METERED_DEPT = 2; } diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml index 46a1c68..7043947 100644 --- a/casic-metering-dao/pom.xml +++ b/casic-metering-dao/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,7 +16,7 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index f4d9936..2d1390d 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -156,7 +156,6 @@ left join eqpt_equipment_task_relation r on e.id = r.equipment_id left join task_ext t on r.task_id = t.id left join latest_sample_relation lsr on lsr.sample_id = e.id - where e.certificate_valid is not null group by e.id,e.certificate_valid,a.remind_time,lsr.sample_status ) diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml index 748151c..ead9a9b 100644 --- a/casic-metering-eqpt-api/pom.xml +++ b/casic-metering-eqpt-api/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -18,13 +18,13 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-job - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java index c26f678..c8c3063 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.plan; +import cn.hutool.core.lang.Assert; import com.casic.missiles.controller.CommonApprovalController; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -7,6 +8,9 @@ import com.casic.missiles.dto.plan.InspectionQueryForm; import com.casic.missiles.dto.plan.PlanForm; import com.casic.missiles.dto.plan.PlanQueryForm; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BizBusinessOrderInfo; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.plan.InspectionApproval; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.service.plan.IInspectionApprovalService; @@ -15,8 +19,11 @@ 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; + @RestController @RequestMapping("/inspection") @Slf4j @@ -46,4 +53,10 @@ return ReturnUtil.success(info); } + @ApiOperation("设备检查") + @PostMapping("/check") + public ReturnDTO orderChcek(@RequestBody InspectionApprovalForm approvalForm) { + return ReturnUtil.success(service.checkApproval(approvalForm)); + } + } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java index 634ac7d..bbf23b9 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java @@ -41,6 +41,12 @@ return ReturnUtil.success(systemDeptService.getUserCompany()); } + @ApiOperation("获取所属部门") + @GetMapping("/userDeptList") + public ReturnDTO getCompanyId(Long companyId) { + return ReturnUtil.success(systemDeptService.getUserDeptList(companyId)); + } + @ApiOperation("获取所在单位列表") @GetMapping("/companyList") public ReturnDTO> companyList() { diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml index 6efd648..f50ab7e 100644 --- a/casic-metering-job/pom.xml +++ b/casic-metering-job/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -14,12 +14,12 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.github.oshi @@ -61,7 +61,7 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 compile diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml index 09c934a..00b91f1 100644 --- a/casic-metering-model/pom.xml +++ b/casic-metering-model/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java index 8f1c6a0..381fa37 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java @@ -60,6 +60,10 @@ @TableField(exist = false) private String sampleManufacturer; + @ApiModelProperty("出厂编号") + @TableField(exist = false) + private String sampleManufactureNo; + /** * 交接单id,避免重复交接(可为空) */ diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index 877d1c0..574c3fb 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,19 +16,19 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-common - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java index 596ab06..761223f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java @@ -8,6 +8,8 @@ import com.casic.missiles.dto.business.OrderListResponse; import com.casic.missiles.model.business.BizBusinessOrderInfo; +import java.util.List; + /** *

* 计量检定业务-任务单 服务类 @@ -30,5 +32,7 @@ String checkOrder(BizBusinessOrderInfo businessOrder); + String checkSamples(List sampleIds, Long orderId); + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java index 1ab70c0..ffa1ffc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java @@ -6,10 +6,8 @@ * @Date: 2023/7/20 18:00 */ public interface DeptTypeEnum { - //管理部门 - String MANAGE_DEPT = "1"; - //业务部门 - String BIS_DEPT = "2"; - //检定部门 - String MEASURE_DEPT = "3"; + // 计量单位 + Integer METER_DEPT = 1; + // 受检单位 + Integer METERED_DEPT = 2; } diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml index 46a1c68..7043947 100644 --- a/casic-metering-dao/pom.xml +++ b/casic-metering-dao/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,7 +16,7 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index f4d9936..2d1390d 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -156,7 +156,6 @@ left join eqpt_equipment_task_relation r on e.id = r.equipment_id left join task_ext t on r.task_id = t.id left join latest_sample_relation lsr on lsr.sample_id = e.id - where e.certificate_valid is not null group by e.id,e.certificate_valid,a.remind_time,lsr.sample_status ) diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml index 748151c..ead9a9b 100644 --- a/casic-metering-eqpt-api/pom.xml +++ b/casic-metering-eqpt-api/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -18,13 +18,13 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-job - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java index c26f678..c8c3063 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.plan; +import cn.hutool.core.lang.Assert; import com.casic.missiles.controller.CommonApprovalController; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -7,6 +8,9 @@ import com.casic.missiles.dto.plan.InspectionQueryForm; import com.casic.missiles.dto.plan.PlanForm; import com.casic.missiles.dto.plan.PlanQueryForm; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BizBusinessOrderInfo; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.plan.InspectionApproval; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.service.plan.IInspectionApprovalService; @@ -15,8 +19,11 @@ 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; + @RestController @RequestMapping("/inspection") @Slf4j @@ -46,4 +53,10 @@ return ReturnUtil.success(info); } + @ApiOperation("设备检查") + @PostMapping("/check") + public ReturnDTO orderChcek(@RequestBody InspectionApprovalForm approvalForm) { + return ReturnUtil.success(service.checkApproval(approvalForm)); + } + } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java index 634ac7d..bbf23b9 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java @@ -41,6 +41,12 @@ return ReturnUtil.success(systemDeptService.getUserCompany()); } + @ApiOperation("获取所属部门") + @GetMapping("/userDeptList") + public ReturnDTO getCompanyId(Long companyId) { + return ReturnUtil.success(systemDeptService.getUserDeptList(companyId)); + } + @ApiOperation("获取所在单位列表") @GetMapping("/companyList") public ReturnDTO> companyList() { diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml index 6efd648..f50ab7e 100644 --- a/casic-metering-job/pom.xml +++ b/casic-metering-job/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -14,12 +14,12 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.github.oshi @@ -61,7 +61,7 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 compile diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml index 09c934a..00b91f1 100644 --- a/casic-metering-model/pom.xml +++ b/casic-metering-model/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java index 8f1c6a0..381fa37 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java @@ -60,6 +60,10 @@ @TableField(exist = false) private String sampleManufacturer; + @ApiModelProperty("出厂编号") + @TableField(exist = false) + private String sampleManufactureNo; + /** * 交接单id,避免重复交接(可为空) */ diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index 877d1c0..574c3fb 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,19 +16,19 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-common - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java index 596ab06..761223f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java @@ -8,6 +8,8 @@ import com.casic.missiles.dto.business.OrderListResponse; import com.casic.missiles.model.business.BizBusinessOrderInfo; +import java.util.List; + /** *

* 计量检定业务-任务单 服务类 @@ -30,5 +32,7 @@ String checkOrder(BizBusinessOrderInfo businessOrder); + String checkSamples(List sampleIds, Long orderId); + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java index 158cc4e..223c875 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java @@ -229,8 +229,8 @@ // 待检设备态势(未检定、检定中、已检完) List statistic = new ArrayList<>(); - statistic.add(new EquipmentCommonAggr("已超期", (int) list.stream().filter(i->i.getCertificateValid().before(new Date())).count())); - statistic.add(new EquipmentCommonAggr("未超期", (int) list.stream().filter(i->i.getCertificateValid().after(new Date())).count())); + statistic.add(new EquipmentCommonAggr("已超期", (int) list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCertificateValid()) && i.getCertificateValid().before(new Date())).count())); + statistic.add(new EquipmentCommonAggr("未超期", (int) list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCertificateValid()) && i.getCertificateValid().after(new Date())).count())); res.setStatistic(statistic); //受检单位/负责人排行榜;单位/部门列表 diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java index 1ab70c0..ffa1ffc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java @@ -6,10 +6,8 @@ * @Date: 2023/7/20 18:00 */ public interface DeptTypeEnum { - //管理部门 - String MANAGE_DEPT = "1"; - //业务部门 - String BIS_DEPT = "2"; - //检定部门 - String MEASURE_DEPT = "3"; + // 计量单位 + Integer METER_DEPT = 1; + // 受检单位 + Integer METERED_DEPT = 2; } diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml index 46a1c68..7043947 100644 --- a/casic-metering-dao/pom.xml +++ b/casic-metering-dao/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,7 +16,7 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index f4d9936..2d1390d 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -156,7 +156,6 @@ left join eqpt_equipment_task_relation r on e.id = r.equipment_id left join task_ext t on r.task_id = t.id left join latest_sample_relation lsr on lsr.sample_id = e.id - where e.certificate_valid is not null group by e.id,e.certificate_valid,a.remind_time,lsr.sample_status ) diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml index 748151c..ead9a9b 100644 --- a/casic-metering-eqpt-api/pom.xml +++ b/casic-metering-eqpt-api/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -18,13 +18,13 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-job - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java index c26f678..c8c3063 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.plan; +import cn.hutool.core.lang.Assert; import com.casic.missiles.controller.CommonApprovalController; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -7,6 +8,9 @@ import com.casic.missiles.dto.plan.InspectionQueryForm; import com.casic.missiles.dto.plan.PlanForm; import com.casic.missiles.dto.plan.PlanQueryForm; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BizBusinessOrderInfo; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.plan.InspectionApproval; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.service.plan.IInspectionApprovalService; @@ -15,8 +19,11 @@ 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; + @RestController @RequestMapping("/inspection") @Slf4j @@ -46,4 +53,10 @@ return ReturnUtil.success(info); } + @ApiOperation("设备检查") + @PostMapping("/check") + public ReturnDTO orderChcek(@RequestBody InspectionApprovalForm approvalForm) { + return ReturnUtil.success(service.checkApproval(approvalForm)); + } + } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java index 634ac7d..bbf23b9 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java @@ -41,6 +41,12 @@ return ReturnUtil.success(systemDeptService.getUserCompany()); } + @ApiOperation("获取所属部门") + @GetMapping("/userDeptList") + public ReturnDTO getCompanyId(Long companyId) { + return ReturnUtil.success(systemDeptService.getUserDeptList(companyId)); + } + @ApiOperation("获取所在单位列表") @GetMapping("/companyList") public ReturnDTO> companyList() { diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml index 6efd648..f50ab7e 100644 --- a/casic-metering-job/pom.xml +++ b/casic-metering-job/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -14,12 +14,12 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.github.oshi @@ -61,7 +61,7 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 compile diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml index 09c934a..00b91f1 100644 --- a/casic-metering-model/pom.xml +++ b/casic-metering-model/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java index 8f1c6a0..381fa37 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java @@ -60,6 +60,10 @@ @TableField(exist = false) private String sampleManufacturer; + @ApiModelProperty("出厂编号") + @TableField(exist = false) + private String sampleManufactureNo; + /** * 交接单id,避免重复交接(可为空) */ diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index 877d1c0..574c3fb 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,19 +16,19 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-common - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java index 596ab06..761223f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java @@ -8,6 +8,8 @@ import com.casic.missiles.dto.business.OrderListResponse; import com.casic.missiles.model.business.BizBusinessOrderInfo; +import java.util.List; + /** *

* 计量检定业务-任务单 服务类 @@ -30,5 +32,7 @@ String checkOrder(BizBusinessOrderInfo businessOrder); + String checkSamples(List sampleIds, Long orderId); + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java index 158cc4e..223c875 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java @@ -229,8 +229,8 @@ // 待检设备态势(未检定、检定中、已检完) List statistic = new ArrayList<>(); - statistic.add(new EquipmentCommonAggr("已超期", (int) list.stream().filter(i->i.getCertificateValid().before(new Date())).count())); - statistic.add(new EquipmentCommonAggr("未超期", (int) list.stream().filter(i->i.getCertificateValid().after(new Date())).count())); + statistic.add(new EquipmentCommonAggr("已超期", (int) list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCertificateValid()) && i.getCertificateValid().before(new Date())).count())); + statistic.add(new EquipmentCommonAggr("未超期", (int) list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCertificateValid()) && i.getCertificateValid().after(new Date())).count())); res.setStatistic(statistic); //受检单位/负责人排行榜;单位/部门列表 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java index fed732a..edd9d5b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java @@ -23,14 +23,18 @@ import com.casic.missiles.mapper.business.BusinessOrderListResponseMapper; import com.casic.missiles.model.business.BizBusinessOrderInfo; import com.casic.missiles.model.business.BizBusinessOrderSampleRelation; +import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.service.business.IBizBusinessOrderInfoService; import com.casic.missiles.service.business.IBizBusinessOrderSampleRelationService; +import com.casic.missiles.service.system.ISystemDeptService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -50,15 +54,30 @@ private final IBizBusinessOrderSampleRelationService sampleRelationService; private final BizBusinessOrderSampleRelationMapper sampleRelationMapper; private final AbstractPermissionContext permissionContext; + private final ISystemDeptService systemDeptService; @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { QueryWrapper wrapper = listParamWrapperBuilder(request); // 查找本单位提交的 - Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); - List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); - wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); +// Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); +// List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); +// wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); + + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + wrapper.in("dept_id",userDeptIds); + }else { + // userDeptIds为空 查询结果应为空 + return page; + } List list = orderListResponseMapper.listPage(page, wrapper); page.setRecords(list); @@ -75,7 +94,8 @@ DictCodeUtils.convertDictCodeToName(orderInfo); // todo 交接单编号列表,另需补充根据交接单编号打印pdf的接口 QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.select("*","(select manufacturer from eqpt_equipment_info e where e.id = sample_id) as sampleManufacturer"); + wrapper.select("*","(select manufacturer from eqpt_equipment_info e where e.id = sample_id) as sampleManufacturer" + ,"(select manufacture_no from eqpt_equipment_info e where e.id = sample_id) as sampleManufactureNo"); wrapper.eq("order_id", orderInfo.getId()); List orderSampleList = sampleRelationMapper.selectList(wrapper); for (BizBusinessOrderSampleRelation bizBusinessOrderSampleRelation : orderSampleList) { @@ -179,18 +199,25 @@ List sampleRelations = businessOrder.getCustomerSampleInfoList(); if(CollUtil.isNotEmpty(sampleRelations)){ List sampleIds = sampleRelations.stream().map(BizBusinessOrderSampleRelation::getSampleId).distinct().collect(Collectors.toList()); - List checkRes = this.baseMapper.checkSamples(sampleIds,businessOrder.getId()); - if(CollUtil.isNotEmpty(checkRes)){ - Map> map = checkRes.stream().collect(Collectors.groupingBy(OrderCheckDTO::getManufactureNo)); - StringBuilder stringBuilder = new StringBuilder(); - for (String manufactureNo : map.keySet()) { - List subRes = map.get(manufactureNo); - String orderNos = StrUtil.join(",",subRes.stream().map(OrderCheckDTO::getOrderNo).distinct().collect(Collectors.toList())); - stringBuilder.append(String.format("编号为%s的%s设备已在任务单%s中,",manufactureNo,subRes.get(0).getEquipmentName(),orderNos)); - } - stringBuilder.append("请确认是否继续提交"); - return stringBuilder.toString(); + return checkSamples(sampleIds,businessOrder.getId()); + } + + return null; + } + + @Override + public String checkSamples(List sampleIds, Long orderId) { + List checkRes = this.baseMapper.checkSamples(sampleIds, orderId); + if(CollUtil.isNotEmpty(checkRes)){ + Map> map = checkRes.stream().collect(Collectors.groupingBy(OrderCheckDTO::getManufactureNo)); + StringBuilder stringBuilder = new StringBuilder(); + for (String manufactureNo : map.keySet()) { + List subRes = map.get(manufactureNo); + String orderNos = StrUtil.join(",",subRes.stream().map(OrderCheckDTO::getOrderNo).distinct().collect(Collectors.toList())); + stringBuilder.append(String.format("编号为%s的%s设备已在任务单%s中,",manufactureNo,subRes.get(0).getEquipmentName(),orderNos)); } + stringBuilder.append("请确认是否继续提交"); + return stringBuilder.toString(); } return null; } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java index 1ab70c0..ffa1ffc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java @@ -6,10 +6,8 @@ * @Date: 2023/7/20 18:00 */ public interface DeptTypeEnum { - //管理部门 - String MANAGE_DEPT = "1"; - //业务部门 - String BIS_DEPT = "2"; - //检定部门 - String MEASURE_DEPT = "3"; + // 计量单位 + Integer METER_DEPT = 1; + // 受检单位 + Integer METERED_DEPT = 2; } diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml index 46a1c68..7043947 100644 --- a/casic-metering-dao/pom.xml +++ b/casic-metering-dao/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,7 +16,7 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index f4d9936..2d1390d 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -156,7 +156,6 @@ left join eqpt_equipment_task_relation r on e.id = r.equipment_id left join task_ext t on r.task_id = t.id left join latest_sample_relation lsr on lsr.sample_id = e.id - where e.certificate_valid is not null group by e.id,e.certificate_valid,a.remind_time,lsr.sample_status ) diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml index 748151c..ead9a9b 100644 --- a/casic-metering-eqpt-api/pom.xml +++ b/casic-metering-eqpt-api/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -18,13 +18,13 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-job - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java index c26f678..c8c3063 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.plan; +import cn.hutool.core.lang.Assert; import com.casic.missiles.controller.CommonApprovalController; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -7,6 +8,9 @@ import com.casic.missiles.dto.plan.InspectionQueryForm; import com.casic.missiles.dto.plan.PlanForm; import com.casic.missiles.dto.plan.PlanQueryForm; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BizBusinessOrderInfo; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.plan.InspectionApproval; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.service.plan.IInspectionApprovalService; @@ -15,8 +19,11 @@ 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; + @RestController @RequestMapping("/inspection") @Slf4j @@ -46,4 +53,10 @@ return ReturnUtil.success(info); } + @ApiOperation("设备检查") + @PostMapping("/check") + public ReturnDTO orderChcek(@RequestBody InspectionApprovalForm approvalForm) { + return ReturnUtil.success(service.checkApproval(approvalForm)); + } + } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java index 634ac7d..bbf23b9 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java @@ -41,6 +41,12 @@ return ReturnUtil.success(systemDeptService.getUserCompany()); } + @ApiOperation("获取所属部门") + @GetMapping("/userDeptList") + public ReturnDTO getCompanyId(Long companyId) { + return ReturnUtil.success(systemDeptService.getUserDeptList(companyId)); + } + @ApiOperation("获取所在单位列表") @GetMapping("/companyList") public ReturnDTO> companyList() { diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml index 6efd648..f50ab7e 100644 --- a/casic-metering-job/pom.xml +++ b/casic-metering-job/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -14,12 +14,12 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.github.oshi @@ -61,7 +61,7 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 compile diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml index 09c934a..00b91f1 100644 --- a/casic-metering-model/pom.xml +++ b/casic-metering-model/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java index 8f1c6a0..381fa37 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java @@ -60,6 +60,10 @@ @TableField(exist = false) private String sampleManufacturer; + @ApiModelProperty("出厂编号") + @TableField(exist = false) + private String sampleManufactureNo; + /** * 交接单id,避免重复交接(可为空) */ diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index 877d1c0..574c3fb 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,19 +16,19 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-common - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java index 596ab06..761223f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java @@ -8,6 +8,8 @@ import com.casic.missiles.dto.business.OrderListResponse; import com.casic.missiles.model.business.BizBusinessOrderInfo; +import java.util.List; + /** *

* 计量检定业务-任务单 服务类 @@ -30,5 +32,7 @@ String checkOrder(BizBusinessOrderInfo businessOrder); + String checkSamples(List sampleIds, Long orderId); + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java index 158cc4e..223c875 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java @@ -229,8 +229,8 @@ // 待检设备态势(未检定、检定中、已检完) List statistic = new ArrayList<>(); - statistic.add(new EquipmentCommonAggr("已超期", (int) list.stream().filter(i->i.getCertificateValid().before(new Date())).count())); - statistic.add(new EquipmentCommonAggr("未超期", (int) list.stream().filter(i->i.getCertificateValid().after(new Date())).count())); + statistic.add(new EquipmentCommonAggr("已超期", (int) list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCertificateValid()) && i.getCertificateValid().before(new Date())).count())); + statistic.add(new EquipmentCommonAggr("未超期", (int) list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCertificateValid()) && i.getCertificateValid().after(new Date())).count())); res.setStatistic(statistic); //受检单位/负责人排行榜;单位/部门列表 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java index fed732a..edd9d5b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java @@ -23,14 +23,18 @@ import com.casic.missiles.mapper.business.BusinessOrderListResponseMapper; import com.casic.missiles.model.business.BizBusinessOrderInfo; import com.casic.missiles.model.business.BizBusinessOrderSampleRelation; +import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.service.business.IBizBusinessOrderInfoService; import com.casic.missiles.service.business.IBizBusinessOrderSampleRelationService; +import com.casic.missiles.service.system.ISystemDeptService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -50,15 +54,30 @@ private final IBizBusinessOrderSampleRelationService sampleRelationService; private final BizBusinessOrderSampleRelationMapper sampleRelationMapper; private final AbstractPermissionContext permissionContext; + private final ISystemDeptService systemDeptService; @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { QueryWrapper wrapper = listParamWrapperBuilder(request); // 查找本单位提交的 - Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); - List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); - wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); +// Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); +// List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); +// wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); + + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + wrapper.in("dept_id",userDeptIds); + }else { + // userDeptIds为空 查询结果应为空 + return page; + } List list = orderListResponseMapper.listPage(page, wrapper); page.setRecords(list); @@ -75,7 +94,8 @@ DictCodeUtils.convertDictCodeToName(orderInfo); // todo 交接单编号列表,另需补充根据交接单编号打印pdf的接口 QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.select("*","(select manufacturer from eqpt_equipment_info e where e.id = sample_id) as sampleManufacturer"); + wrapper.select("*","(select manufacturer from eqpt_equipment_info e where e.id = sample_id) as sampleManufacturer" + ,"(select manufacture_no from eqpt_equipment_info e where e.id = sample_id) as sampleManufactureNo"); wrapper.eq("order_id", orderInfo.getId()); List orderSampleList = sampleRelationMapper.selectList(wrapper); for (BizBusinessOrderSampleRelation bizBusinessOrderSampleRelation : orderSampleList) { @@ -179,18 +199,25 @@ List sampleRelations = businessOrder.getCustomerSampleInfoList(); if(CollUtil.isNotEmpty(sampleRelations)){ List sampleIds = sampleRelations.stream().map(BizBusinessOrderSampleRelation::getSampleId).distinct().collect(Collectors.toList()); - List checkRes = this.baseMapper.checkSamples(sampleIds,businessOrder.getId()); - if(CollUtil.isNotEmpty(checkRes)){ - Map> map = checkRes.stream().collect(Collectors.groupingBy(OrderCheckDTO::getManufactureNo)); - StringBuilder stringBuilder = new StringBuilder(); - for (String manufactureNo : map.keySet()) { - List subRes = map.get(manufactureNo); - String orderNos = StrUtil.join(",",subRes.stream().map(OrderCheckDTO::getOrderNo).distinct().collect(Collectors.toList())); - stringBuilder.append(String.format("编号为%s的%s设备已在任务单%s中,",manufactureNo,subRes.get(0).getEquipmentName(),orderNos)); - } - stringBuilder.append("请确认是否继续提交"); - return stringBuilder.toString(); + return checkSamples(sampleIds,businessOrder.getId()); + } + + return null; + } + + @Override + public String checkSamples(List sampleIds, Long orderId) { + List checkRes = this.baseMapper.checkSamples(sampleIds, orderId); + if(CollUtil.isNotEmpty(checkRes)){ + Map> map = checkRes.stream().collect(Collectors.groupingBy(OrderCheckDTO::getManufactureNo)); + StringBuilder stringBuilder = new StringBuilder(); + for (String manufactureNo : map.keySet()) { + List subRes = map.get(manufactureNo); + String orderNos = StrUtil.join(",",subRes.stream().map(OrderCheckDTO::getOrderNo).distinct().collect(Collectors.toList())); + stringBuilder.append(String.format("编号为%s的%s设备已在任务单%s中,",manufactureNo,subRes.get(0).getEquipmentName(),orderNos)); } + stringBuilder.append("请确认是否继续提交"); + return stringBuilder.toString(); } return null; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java index c587261..f16c7b3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java @@ -54,6 +54,7 @@ import liquibase.pro.packaged.S; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; +import org.docx4j.wml.P; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -132,9 +133,7 @@ @Override public Page listPage(Page page, EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = commonQuery(queryForm); - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - dataScope.setScopeName("dept_id"); - List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); + List list = this.baseMapper.selectListPage(page, null, queryWrapper); list.forEach(this::warpEquipmentInfo); page.setRecords(list); return page; @@ -163,26 +162,14 @@ @Override public List list(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = commonQuery(queryForm); - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - dataScope.setScopeName("dept_id"); - List list = this.baseMapper.selectList(dataScope, queryWrapper); + List list = this.baseMapper.selectList(null, queryWrapper); list.forEach(this::warpEquipmentInfo); return list; } @Override public List groupByName(EquipmentQueryForm queryForm) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - if (!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())) { - List dataScopeDeptIds = dataScope.getDeptIds(); - if (ObjectUtil.isNull(queryForm.getDeptIds())) { - queryForm.setDeptIds(new ArrayList<>()); - } - queryForm.getDeptIds().addAll(dataScopeDeptIds); - } - QueryWrapper queryWrapper = commonQuery(queryForm); - queryWrapper.groupBy("equipment_name"); queryWrapper.select("equipment_name as 'equipmentName',count(*) as 'count'"); List> resMap = this.listMaps(queryWrapper); @@ -195,17 +182,23 @@ if (CollUtil.isNotEmpty(queryForm.getIds())) { queryWrapper.in("id", queryForm.getIds()); } else { - // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 - AuthUser authUser = permissionContext.getAuthService().getLoginUser(); - if(systemDeptService.isCompany(authUser.getDeptId())){ - List scopeDeptIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeDeptIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeDeptIds); - }else { - queryForm.setDeptId(authUser.getDeptId()); + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有连的;否则查当前用户所在连的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); } + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + queryWrapper.eq("0","1"); + } + queryWrapper.eq(ObjectUtil.isNotEmpty(queryForm.getDeptId()),"dept_id",queryForm.getDeptId()); queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); @@ -597,21 +590,43 @@ } private QueryWrapper remindQuery(EquipmentRemindQueryForm queryForm){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有连的;否则查当前用户所在连的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); + } + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + queryWrapper.eq("0","1"); + } + // 操作手仅能看到自己负责的设备信息,其余角色查看本组织结构下所有 AuthUser authUser = permissionContext.getAuthService().getLoginUser(); if(authUser.getRoleTips().contains(operatorRoleTip)){ queryForm.setDirectorId(authUser.getId()); - }else { - List scopeIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - scopeIds.add(authUser.getDeptId()); - if(CollUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeIds); } +// else { - QueryWrapper queryWrapper = new QueryWrapper<>(); +// List scopeIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); +// scopeIds.add(authUser.getDeptId()); +// if(CollUtil.isNotEmpty(queryForm.getDeptIds())){ +// scopeIds.retainAll(queryForm.getDeptIds()); +// } +// queryForm.setDeptIds(scopeIds); +// } + + + if (CollUtil.isNotEmpty(queryForm.getIds())) { queryWrapper.in("id", queryForm.getIds()); } else { @@ -651,7 +666,7 @@ } } queryWrapper.eq("is_del", 0); - queryWrapper.le("remind_valid",new Date()); + queryWrapper.and(i->i.le("remind_valid",new Date()).or().isNull("remind_valid")); return queryWrapper; } @@ -756,17 +771,21 @@ @Override public Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm) { // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 - AuthUser authUser = permissionContext.getAuthService().getLoginUser(); - if(systemDeptService.isCompany(authUser.getDeptId())){ - List scopeDeptIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeDeptIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeDeptIds); - }else { - queryForm.setDeptId(authUser.getDeptId()); + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); } - + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + return page; + } QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StrUtil.isNotEmpty(queryForm.getCertificateNo()), "c.certificate_report_no", queryForm.getCertificateNo()); diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java index 1ab70c0..ffa1ffc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java @@ -6,10 +6,8 @@ * @Date: 2023/7/20 18:00 */ public interface DeptTypeEnum { - //管理部门 - String MANAGE_DEPT = "1"; - //业务部门 - String BIS_DEPT = "2"; - //检定部门 - String MEASURE_DEPT = "3"; + // 计量单位 + Integer METER_DEPT = 1; + // 受检单位 + Integer METERED_DEPT = 2; } diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml index 46a1c68..7043947 100644 --- a/casic-metering-dao/pom.xml +++ b/casic-metering-dao/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,7 +16,7 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index f4d9936..2d1390d 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -156,7 +156,6 @@ left join eqpt_equipment_task_relation r on e.id = r.equipment_id left join task_ext t on r.task_id = t.id left join latest_sample_relation lsr on lsr.sample_id = e.id - where e.certificate_valid is not null group by e.id,e.certificate_valid,a.remind_time,lsr.sample_status ) diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml index 748151c..ead9a9b 100644 --- a/casic-metering-eqpt-api/pom.xml +++ b/casic-metering-eqpt-api/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -18,13 +18,13 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-job - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java index c26f678..c8c3063 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.plan; +import cn.hutool.core.lang.Assert; import com.casic.missiles.controller.CommonApprovalController; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -7,6 +8,9 @@ import com.casic.missiles.dto.plan.InspectionQueryForm; import com.casic.missiles.dto.plan.PlanForm; import com.casic.missiles.dto.plan.PlanQueryForm; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BizBusinessOrderInfo; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.plan.InspectionApproval; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.service.plan.IInspectionApprovalService; @@ -15,8 +19,11 @@ 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; + @RestController @RequestMapping("/inspection") @Slf4j @@ -46,4 +53,10 @@ return ReturnUtil.success(info); } + @ApiOperation("设备检查") + @PostMapping("/check") + public ReturnDTO orderChcek(@RequestBody InspectionApprovalForm approvalForm) { + return ReturnUtil.success(service.checkApproval(approvalForm)); + } + } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java index 634ac7d..bbf23b9 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java @@ -41,6 +41,12 @@ return ReturnUtil.success(systemDeptService.getUserCompany()); } + @ApiOperation("获取所属部门") + @GetMapping("/userDeptList") + public ReturnDTO getCompanyId(Long companyId) { + return ReturnUtil.success(systemDeptService.getUserDeptList(companyId)); + } + @ApiOperation("获取所在单位列表") @GetMapping("/companyList") public ReturnDTO> companyList() { diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml index 6efd648..f50ab7e 100644 --- a/casic-metering-job/pom.xml +++ b/casic-metering-job/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -14,12 +14,12 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.github.oshi @@ -61,7 +61,7 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 compile diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml index 09c934a..00b91f1 100644 --- a/casic-metering-model/pom.xml +++ b/casic-metering-model/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java index 8f1c6a0..381fa37 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java @@ -60,6 +60,10 @@ @TableField(exist = false) private String sampleManufacturer; + @ApiModelProperty("出厂编号") + @TableField(exist = false) + private String sampleManufactureNo; + /** * 交接单id,避免重复交接(可为空) */ diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index 877d1c0..574c3fb 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,19 +16,19 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-common - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java index 596ab06..761223f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java @@ -8,6 +8,8 @@ import com.casic.missiles.dto.business.OrderListResponse; import com.casic.missiles.model.business.BizBusinessOrderInfo; +import java.util.List; + /** *

* 计量检定业务-任务单 服务类 @@ -30,5 +32,7 @@ String checkOrder(BizBusinessOrderInfo businessOrder); + String checkSamples(List sampleIds, Long orderId); + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java index 158cc4e..223c875 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java @@ -229,8 +229,8 @@ // 待检设备态势(未检定、检定中、已检完) List statistic = new ArrayList<>(); - statistic.add(new EquipmentCommonAggr("已超期", (int) list.stream().filter(i->i.getCertificateValid().before(new Date())).count())); - statistic.add(new EquipmentCommonAggr("未超期", (int) list.stream().filter(i->i.getCertificateValid().after(new Date())).count())); + statistic.add(new EquipmentCommonAggr("已超期", (int) list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCertificateValid()) && i.getCertificateValid().before(new Date())).count())); + statistic.add(new EquipmentCommonAggr("未超期", (int) list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCertificateValid()) && i.getCertificateValid().after(new Date())).count())); res.setStatistic(statistic); //受检单位/负责人排行榜;单位/部门列表 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java index fed732a..edd9d5b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java @@ -23,14 +23,18 @@ import com.casic.missiles.mapper.business.BusinessOrderListResponseMapper; import com.casic.missiles.model.business.BizBusinessOrderInfo; import com.casic.missiles.model.business.BizBusinessOrderSampleRelation; +import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.service.business.IBizBusinessOrderInfoService; import com.casic.missiles.service.business.IBizBusinessOrderSampleRelationService; +import com.casic.missiles.service.system.ISystemDeptService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -50,15 +54,30 @@ private final IBizBusinessOrderSampleRelationService sampleRelationService; private final BizBusinessOrderSampleRelationMapper sampleRelationMapper; private final AbstractPermissionContext permissionContext; + private final ISystemDeptService systemDeptService; @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { QueryWrapper wrapper = listParamWrapperBuilder(request); // 查找本单位提交的 - Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); - List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); - wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); +// Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); +// List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); +// wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); + + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + wrapper.in("dept_id",userDeptIds); + }else { + // userDeptIds为空 查询结果应为空 + return page; + } List list = orderListResponseMapper.listPage(page, wrapper); page.setRecords(list); @@ -75,7 +94,8 @@ DictCodeUtils.convertDictCodeToName(orderInfo); // todo 交接单编号列表,另需补充根据交接单编号打印pdf的接口 QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.select("*","(select manufacturer from eqpt_equipment_info e where e.id = sample_id) as sampleManufacturer"); + wrapper.select("*","(select manufacturer from eqpt_equipment_info e where e.id = sample_id) as sampleManufacturer" + ,"(select manufacture_no from eqpt_equipment_info e where e.id = sample_id) as sampleManufactureNo"); wrapper.eq("order_id", orderInfo.getId()); List orderSampleList = sampleRelationMapper.selectList(wrapper); for (BizBusinessOrderSampleRelation bizBusinessOrderSampleRelation : orderSampleList) { @@ -179,18 +199,25 @@ List sampleRelations = businessOrder.getCustomerSampleInfoList(); if(CollUtil.isNotEmpty(sampleRelations)){ List sampleIds = sampleRelations.stream().map(BizBusinessOrderSampleRelation::getSampleId).distinct().collect(Collectors.toList()); - List checkRes = this.baseMapper.checkSamples(sampleIds,businessOrder.getId()); - if(CollUtil.isNotEmpty(checkRes)){ - Map> map = checkRes.stream().collect(Collectors.groupingBy(OrderCheckDTO::getManufactureNo)); - StringBuilder stringBuilder = new StringBuilder(); - for (String manufactureNo : map.keySet()) { - List subRes = map.get(manufactureNo); - String orderNos = StrUtil.join(",",subRes.stream().map(OrderCheckDTO::getOrderNo).distinct().collect(Collectors.toList())); - stringBuilder.append(String.format("编号为%s的%s设备已在任务单%s中,",manufactureNo,subRes.get(0).getEquipmentName(),orderNos)); - } - stringBuilder.append("请确认是否继续提交"); - return stringBuilder.toString(); + return checkSamples(sampleIds,businessOrder.getId()); + } + + return null; + } + + @Override + public String checkSamples(List sampleIds, Long orderId) { + List checkRes = this.baseMapper.checkSamples(sampleIds, orderId); + if(CollUtil.isNotEmpty(checkRes)){ + Map> map = checkRes.stream().collect(Collectors.groupingBy(OrderCheckDTO::getManufactureNo)); + StringBuilder stringBuilder = new StringBuilder(); + for (String manufactureNo : map.keySet()) { + List subRes = map.get(manufactureNo); + String orderNos = StrUtil.join(",",subRes.stream().map(OrderCheckDTO::getOrderNo).distinct().collect(Collectors.toList())); + stringBuilder.append(String.format("编号为%s的%s设备已在任务单%s中,",manufactureNo,subRes.get(0).getEquipmentName(),orderNos)); } + stringBuilder.append("请确认是否继续提交"); + return stringBuilder.toString(); } return null; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java index c587261..f16c7b3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java @@ -54,6 +54,7 @@ import liquibase.pro.packaged.S; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; +import org.docx4j.wml.P; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -132,9 +133,7 @@ @Override public Page listPage(Page page, EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = commonQuery(queryForm); - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - dataScope.setScopeName("dept_id"); - List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); + List list = this.baseMapper.selectListPage(page, null, queryWrapper); list.forEach(this::warpEquipmentInfo); page.setRecords(list); return page; @@ -163,26 +162,14 @@ @Override public List list(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = commonQuery(queryForm); - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - dataScope.setScopeName("dept_id"); - List list = this.baseMapper.selectList(dataScope, queryWrapper); + List list = this.baseMapper.selectList(null, queryWrapper); list.forEach(this::warpEquipmentInfo); return list; } @Override public List groupByName(EquipmentQueryForm queryForm) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - if (!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())) { - List dataScopeDeptIds = dataScope.getDeptIds(); - if (ObjectUtil.isNull(queryForm.getDeptIds())) { - queryForm.setDeptIds(new ArrayList<>()); - } - queryForm.getDeptIds().addAll(dataScopeDeptIds); - } - QueryWrapper queryWrapper = commonQuery(queryForm); - queryWrapper.groupBy("equipment_name"); queryWrapper.select("equipment_name as 'equipmentName',count(*) as 'count'"); List> resMap = this.listMaps(queryWrapper); @@ -195,17 +182,23 @@ if (CollUtil.isNotEmpty(queryForm.getIds())) { queryWrapper.in("id", queryForm.getIds()); } else { - // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 - AuthUser authUser = permissionContext.getAuthService().getLoginUser(); - if(systemDeptService.isCompany(authUser.getDeptId())){ - List scopeDeptIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeDeptIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeDeptIds); - }else { - queryForm.setDeptId(authUser.getDeptId()); + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有连的;否则查当前用户所在连的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); } + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + queryWrapper.eq("0","1"); + } + queryWrapper.eq(ObjectUtil.isNotEmpty(queryForm.getDeptId()),"dept_id",queryForm.getDeptId()); queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); @@ -597,21 +590,43 @@ } private QueryWrapper remindQuery(EquipmentRemindQueryForm queryForm){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有连的;否则查当前用户所在连的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); + } + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + queryWrapper.eq("0","1"); + } + // 操作手仅能看到自己负责的设备信息,其余角色查看本组织结构下所有 AuthUser authUser = permissionContext.getAuthService().getLoginUser(); if(authUser.getRoleTips().contains(operatorRoleTip)){ queryForm.setDirectorId(authUser.getId()); - }else { - List scopeIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - scopeIds.add(authUser.getDeptId()); - if(CollUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeIds); } +// else { - QueryWrapper queryWrapper = new QueryWrapper<>(); +// List scopeIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); +// scopeIds.add(authUser.getDeptId()); +// if(CollUtil.isNotEmpty(queryForm.getDeptIds())){ +// scopeIds.retainAll(queryForm.getDeptIds()); +// } +// queryForm.setDeptIds(scopeIds); +// } + + + if (CollUtil.isNotEmpty(queryForm.getIds())) { queryWrapper.in("id", queryForm.getIds()); } else { @@ -651,7 +666,7 @@ } } queryWrapper.eq("is_del", 0); - queryWrapper.le("remind_valid",new Date()); + queryWrapper.and(i->i.le("remind_valid",new Date()).or().isNull("remind_valid")); return queryWrapper; } @@ -756,17 +771,21 @@ @Override public Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm) { // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 - AuthUser authUser = permissionContext.getAuthService().getLoginUser(); - if(systemDeptService.isCompany(authUser.getDeptId())){ - List scopeDeptIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeDeptIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeDeptIds); - }else { - queryForm.setDeptId(authUser.getDeptId()); + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); } - + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + return page; + } QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StrUtil.isNotEmpty(queryForm.getCertificateNo()), "c.certificate_report_no", queryForm.getCertificateNo()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java index aec2020..a5583b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java @@ -16,6 +16,7 @@ import com.casic.missiles.model.plan.InspectionEquipmentRelation; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.model.plan.PlanEquipmentRelation; +import com.casic.missiles.service.business.IBizBusinessOrderInfoService; import com.casic.missiles.service.impl.CommonApprovalServiceImpl; import com.casic.missiles.service.plan.IInspectionApprovalService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -49,6 +50,8 @@ private IInspectionEquipmentRelationService relationService; @Autowired private IPlanEquipmentRelationService planEquipmentRelationService; + @Autowired + private IBizBusinessOrderInfoService orderInfoService; @Override @Transactional @@ -124,4 +127,13 @@ public void setBizNo(InspectionApproval obj) { obj.setBizNo(obj.getApprovalNo()); } + + public String checkApproval(InspectionApprovalForm approvalForm){ + List equipmentRelations = approvalForm.getEquipmentList(); + if(CollUtil.isNotEmpty(equipmentRelations)){ + List equipmentIds = equipmentRelations.stream().map(InspectionEquipmentRelation::getEquipmentId).collect(Collectors.toList()); + return orderInfoService.checkSamples(equipmentIds,null); + } + return null; + } } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java index 1ab70c0..ffa1ffc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java @@ -6,10 +6,8 @@ * @Date: 2023/7/20 18:00 */ public interface DeptTypeEnum { - //管理部门 - String MANAGE_DEPT = "1"; - //业务部门 - String BIS_DEPT = "2"; - //检定部门 - String MEASURE_DEPT = "3"; + // 计量单位 + Integer METER_DEPT = 1; + // 受检单位 + Integer METERED_DEPT = 2; } diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml index 46a1c68..7043947 100644 --- a/casic-metering-dao/pom.xml +++ b/casic-metering-dao/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,7 +16,7 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index f4d9936..2d1390d 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -156,7 +156,6 @@ left join eqpt_equipment_task_relation r on e.id = r.equipment_id left join task_ext t on r.task_id = t.id left join latest_sample_relation lsr on lsr.sample_id = e.id - where e.certificate_valid is not null group by e.id,e.certificate_valid,a.remind_time,lsr.sample_status ) diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml index 748151c..ead9a9b 100644 --- a/casic-metering-eqpt-api/pom.xml +++ b/casic-metering-eqpt-api/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -18,13 +18,13 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-job - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java index c26f678..c8c3063 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.plan; +import cn.hutool.core.lang.Assert; import com.casic.missiles.controller.CommonApprovalController; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -7,6 +8,9 @@ import com.casic.missiles.dto.plan.InspectionQueryForm; import com.casic.missiles.dto.plan.PlanForm; import com.casic.missiles.dto.plan.PlanQueryForm; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BizBusinessOrderInfo; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.plan.InspectionApproval; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.service.plan.IInspectionApprovalService; @@ -15,8 +19,11 @@ 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; + @RestController @RequestMapping("/inspection") @Slf4j @@ -46,4 +53,10 @@ return ReturnUtil.success(info); } + @ApiOperation("设备检查") + @PostMapping("/check") + public ReturnDTO orderChcek(@RequestBody InspectionApprovalForm approvalForm) { + return ReturnUtil.success(service.checkApproval(approvalForm)); + } + } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java index 634ac7d..bbf23b9 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java @@ -41,6 +41,12 @@ return ReturnUtil.success(systemDeptService.getUserCompany()); } + @ApiOperation("获取所属部门") + @GetMapping("/userDeptList") + public ReturnDTO getCompanyId(Long companyId) { + return ReturnUtil.success(systemDeptService.getUserDeptList(companyId)); + } + @ApiOperation("获取所在单位列表") @GetMapping("/companyList") public ReturnDTO> companyList() { diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml index 6efd648..f50ab7e 100644 --- a/casic-metering-job/pom.xml +++ b/casic-metering-job/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -14,12 +14,12 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.github.oshi @@ -61,7 +61,7 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 compile diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml index 09c934a..00b91f1 100644 --- a/casic-metering-model/pom.xml +++ b/casic-metering-model/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java index 8f1c6a0..381fa37 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java @@ -60,6 +60,10 @@ @TableField(exist = false) private String sampleManufacturer; + @ApiModelProperty("出厂编号") + @TableField(exist = false) + private String sampleManufactureNo; + /** * 交接单id,避免重复交接(可为空) */ diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index 877d1c0..574c3fb 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,19 +16,19 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-common - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java index 596ab06..761223f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java @@ -8,6 +8,8 @@ import com.casic.missiles.dto.business.OrderListResponse; import com.casic.missiles.model.business.BizBusinessOrderInfo; +import java.util.List; + /** *

* 计量检定业务-任务单 服务类 @@ -30,5 +32,7 @@ String checkOrder(BizBusinessOrderInfo businessOrder); + String checkSamples(List sampleIds, Long orderId); + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java index 158cc4e..223c875 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java @@ -229,8 +229,8 @@ // 待检设备态势(未检定、检定中、已检完) List statistic = new ArrayList<>(); - statistic.add(new EquipmentCommonAggr("已超期", (int) list.stream().filter(i->i.getCertificateValid().before(new Date())).count())); - statistic.add(new EquipmentCommonAggr("未超期", (int) list.stream().filter(i->i.getCertificateValid().after(new Date())).count())); + statistic.add(new EquipmentCommonAggr("已超期", (int) list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCertificateValid()) && i.getCertificateValid().before(new Date())).count())); + statistic.add(new EquipmentCommonAggr("未超期", (int) list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCertificateValid()) && i.getCertificateValid().after(new Date())).count())); res.setStatistic(statistic); //受检单位/负责人排行榜;单位/部门列表 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java index fed732a..edd9d5b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java @@ -23,14 +23,18 @@ import com.casic.missiles.mapper.business.BusinessOrderListResponseMapper; import com.casic.missiles.model.business.BizBusinessOrderInfo; import com.casic.missiles.model.business.BizBusinessOrderSampleRelation; +import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.service.business.IBizBusinessOrderInfoService; import com.casic.missiles.service.business.IBizBusinessOrderSampleRelationService; +import com.casic.missiles.service.system.ISystemDeptService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -50,15 +54,30 @@ private final IBizBusinessOrderSampleRelationService sampleRelationService; private final BizBusinessOrderSampleRelationMapper sampleRelationMapper; private final AbstractPermissionContext permissionContext; + private final ISystemDeptService systemDeptService; @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { QueryWrapper wrapper = listParamWrapperBuilder(request); // 查找本单位提交的 - Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); - List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); - wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); +// Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); +// List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); +// wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); + + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + wrapper.in("dept_id",userDeptIds); + }else { + // userDeptIds为空 查询结果应为空 + return page; + } List list = orderListResponseMapper.listPage(page, wrapper); page.setRecords(list); @@ -75,7 +94,8 @@ DictCodeUtils.convertDictCodeToName(orderInfo); // todo 交接单编号列表,另需补充根据交接单编号打印pdf的接口 QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.select("*","(select manufacturer from eqpt_equipment_info e where e.id = sample_id) as sampleManufacturer"); + wrapper.select("*","(select manufacturer from eqpt_equipment_info e where e.id = sample_id) as sampleManufacturer" + ,"(select manufacture_no from eqpt_equipment_info e where e.id = sample_id) as sampleManufactureNo"); wrapper.eq("order_id", orderInfo.getId()); List orderSampleList = sampleRelationMapper.selectList(wrapper); for (BizBusinessOrderSampleRelation bizBusinessOrderSampleRelation : orderSampleList) { @@ -179,18 +199,25 @@ List sampleRelations = businessOrder.getCustomerSampleInfoList(); if(CollUtil.isNotEmpty(sampleRelations)){ List sampleIds = sampleRelations.stream().map(BizBusinessOrderSampleRelation::getSampleId).distinct().collect(Collectors.toList()); - List checkRes = this.baseMapper.checkSamples(sampleIds,businessOrder.getId()); - if(CollUtil.isNotEmpty(checkRes)){ - Map> map = checkRes.stream().collect(Collectors.groupingBy(OrderCheckDTO::getManufactureNo)); - StringBuilder stringBuilder = new StringBuilder(); - for (String manufactureNo : map.keySet()) { - List subRes = map.get(manufactureNo); - String orderNos = StrUtil.join(",",subRes.stream().map(OrderCheckDTO::getOrderNo).distinct().collect(Collectors.toList())); - stringBuilder.append(String.format("编号为%s的%s设备已在任务单%s中,",manufactureNo,subRes.get(0).getEquipmentName(),orderNos)); - } - stringBuilder.append("请确认是否继续提交"); - return stringBuilder.toString(); + return checkSamples(sampleIds,businessOrder.getId()); + } + + return null; + } + + @Override + public String checkSamples(List sampleIds, Long orderId) { + List checkRes = this.baseMapper.checkSamples(sampleIds, orderId); + if(CollUtil.isNotEmpty(checkRes)){ + Map> map = checkRes.stream().collect(Collectors.groupingBy(OrderCheckDTO::getManufactureNo)); + StringBuilder stringBuilder = new StringBuilder(); + for (String manufactureNo : map.keySet()) { + List subRes = map.get(manufactureNo); + String orderNos = StrUtil.join(",",subRes.stream().map(OrderCheckDTO::getOrderNo).distinct().collect(Collectors.toList())); + stringBuilder.append(String.format("编号为%s的%s设备已在任务单%s中,",manufactureNo,subRes.get(0).getEquipmentName(),orderNos)); } + stringBuilder.append("请确认是否继续提交"); + return stringBuilder.toString(); } return null; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java index c587261..f16c7b3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java @@ -54,6 +54,7 @@ import liquibase.pro.packaged.S; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; +import org.docx4j.wml.P; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -132,9 +133,7 @@ @Override public Page listPage(Page page, EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = commonQuery(queryForm); - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - dataScope.setScopeName("dept_id"); - List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); + List list = this.baseMapper.selectListPage(page, null, queryWrapper); list.forEach(this::warpEquipmentInfo); page.setRecords(list); return page; @@ -163,26 +162,14 @@ @Override public List list(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = commonQuery(queryForm); - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - dataScope.setScopeName("dept_id"); - List list = this.baseMapper.selectList(dataScope, queryWrapper); + List list = this.baseMapper.selectList(null, queryWrapper); list.forEach(this::warpEquipmentInfo); return list; } @Override public List groupByName(EquipmentQueryForm queryForm) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - if (!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())) { - List dataScopeDeptIds = dataScope.getDeptIds(); - if (ObjectUtil.isNull(queryForm.getDeptIds())) { - queryForm.setDeptIds(new ArrayList<>()); - } - queryForm.getDeptIds().addAll(dataScopeDeptIds); - } - QueryWrapper queryWrapper = commonQuery(queryForm); - queryWrapper.groupBy("equipment_name"); queryWrapper.select("equipment_name as 'equipmentName',count(*) as 'count'"); List> resMap = this.listMaps(queryWrapper); @@ -195,17 +182,23 @@ if (CollUtil.isNotEmpty(queryForm.getIds())) { queryWrapper.in("id", queryForm.getIds()); } else { - // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 - AuthUser authUser = permissionContext.getAuthService().getLoginUser(); - if(systemDeptService.isCompany(authUser.getDeptId())){ - List scopeDeptIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeDeptIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeDeptIds); - }else { - queryForm.setDeptId(authUser.getDeptId()); + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有连的;否则查当前用户所在连的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); } + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + queryWrapper.eq("0","1"); + } + queryWrapper.eq(ObjectUtil.isNotEmpty(queryForm.getDeptId()),"dept_id",queryForm.getDeptId()); queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); @@ -597,21 +590,43 @@ } private QueryWrapper remindQuery(EquipmentRemindQueryForm queryForm){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有连的;否则查当前用户所在连的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); + } + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + queryWrapper.eq("0","1"); + } + // 操作手仅能看到自己负责的设备信息,其余角色查看本组织结构下所有 AuthUser authUser = permissionContext.getAuthService().getLoginUser(); if(authUser.getRoleTips().contains(operatorRoleTip)){ queryForm.setDirectorId(authUser.getId()); - }else { - List scopeIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - scopeIds.add(authUser.getDeptId()); - if(CollUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeIds); } +// else { - QueryWrapper queryWrapper = new QueryWrapper<>(); +// List scopeIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); +// scopeIds.add(authUser.getDeptId()); +// if(CollUtil.isNotEmpty(queryForm.getDeptIds())){ +// scopeIds.retainAll(queryForm.getDeptIds()); +// } +// queryForm.setDeptIds(scopeIds); +// } + + + if (CollUtil.isNotEmpty(queryForm.getIds())) { queryWrapper.in("id", queryForm.getIds()); } else { @@ -651,7 +666,7 @@ } } queryWrapper.eq("is_del", 0); - queryWrapper.le("remind_valid",new Date()); + queryWrapper.and(i->i.le("remind_valid",new Date()).or().isNull("remind_valid")); return queryWrapper; } @@ -756,17 +771,21 @@ @Override public Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm) { // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 - AuthUser authUser = permissionContext.getAuthService().getLoginUser(); - if(systemDeptService.isCompany(authUser.getDeptId())){ - List scopeDeptIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeDeptIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeDeptIds); - }else { - queryForm.setDeptId(authUser.getDeptId()); + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); } - + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + return page; + } QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StrUtil.isNotEmpty(queryForm.getCertificateNo()), "c.certificate_report_no", queryForm.getCertificateNo()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java index aec2020..a5583b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java @@ -16,6 +16,7 @@ import com.casic.missiles.model.plan.InspectionEquipmentRelation; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.model.plan.PlanEquipmentRelation; +import com.casic.missiles.service.business.IBizBusinessOrderInfoService; import com.casic.missiles.service.impl.CommonApprovalServiceImpl; import com.casic.missiles.service.plan.IInspectionApprovalService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -49,6 +50,8 @@ private IInspectionEquipmentRelationService relationService; @Autowired private IPlanEquipmentRelationService planEquipmentRelationService; + @Autowired + private IBizBusinessOrderInfoService orderInfoService; @Override @Transactional @@ -124,4 +127,13 @@ public void setBizNo(InspectionApproval obj) { obj.setBizNo(obj.getApprovalNo()); } + + public String checkApproval(InspectionApprovalForm approvalForm){ + List equipmentRelations = approvalForm.getEquipmentList(); + if(CollUtil.isNotEmpty(equipmentRelations)){ + List equipmentIds = equipmentRelations.stream().map(InspectionEquipmentRelation::getEquipmentId).collect(Collectors.toList()); + return orderInfoService.checkSamples(equipmentIds,null); + } + return null; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java index 94c0faf..6011184 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java @@ -14,10 +14,13 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.stream.Collectors; import static com.casic.missiles.core.datascope.ScopeEnums.ALL_TYPE; +import static com.casic.missiles.enums.system.DeptTypeEnum.METERED_DEPT; @Service @RequiredArgsConstructor @@ -46,6 +49,32 @@ return deptService.getById(deptId); } + @Override + public List getUserDeptList(Long companyId) { + AuthUser user = permissionContext.getAuthService().getLoginUser(); + Dept currentDept = deptService.getById(user.getDeptId()); + if(StrUtil.isBlank(currentDept.getPids()) || StrUtil.count(currentDept.getPids(),",") <= 1){ + // 顶级/受检单位 + if(ObjectUtil.isEmpty(companyId)){ + Dept userCompany = getUserCompany(); + if(userCompany.getPid() < 0){ + return deptService.list(null); + } + companyId = getUserCompany().getId(); + } + Long finalCompanyId = companyId; + return deptService.list(null).stream() + .filter(i->ObjectUtil.isNotEmpty(i.getPid()) && finalCompanyId.equals(i.getPid())) + .collect(Collectors.toList()); + }else if(StrUtil.count(currentDept.getPids(),",") == 2){ + // 连级 + return Collections.singletonList(currentDept); + }else if(StrUtil.count(currentDept.getPids(),",") == 3){ + // 分系统 + return Collections.singletonList(deptService.getById(currentDept.getPid())); + } + return null; + } @Override public List getAllCompanyList() { @@ -59,6 +88,7 @@ if(!ALL_TYPE.equals(dataScope.getScopeEnums())){ secondDepts = secondDepts.stream().filter(i->dataScope.getDeptIds().contains(i.getId())).collect(Collectors.toList()); } + secondDepts = secondDepts.stream().filter(i->ObjectUtil.isNotEmpty(i.getVersion()) && METERED_DEPT.equals(i.getVersion())).collect(Collectors.toList()); return secondDepts; } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java index 1ab70c0..ffa1ffc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java @@ -6,10 +6,8 @@ * @Date: 2023/7/20 18:00 */ public interface DeptTypeEnum { - //管理部门 - String MANAGE_DEPT = "1"; - //业务部门 - String BIS_DEPT = "2"; - //检定部门 - String MEASURE_DEPT = "3"; + // 计量单位 + Integer METER_DEPT = 1; + // 受检单位 + Integer METERED_DEPT = 2; } diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml index 46a1c68..7043947 100644 --- a/casic-metering-dao/pom.xml +++ b/casic-metering-dao/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,7 +16,7 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index f4d9936..2d1390d 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -156,7 +156,6 @@ left join eqpt_equipment_task_relation r on e.id = r.equipment_id left join task_ext t on r.task_id = t.id left join latest_sample_relation lsr on lsr.sample_id = e.id - where e.certificate_valid is not null group by e.id,e.certificate_valid,a.remind_time,lsr.sample_status ) diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml index 748151c..ead9a9b 100644 --- a/casic-metering-eqpt-api/pom.xml +++ b/casic-metering-eqpt-api/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -18,13 +18,13 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-job - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java index c26f678..c8c3063 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.plan; +import cn.hutool.core.lang.Assert; import com.casic.missiles.controller.CommonApprovalController; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -7,6 +8,9 @@ import com.casic.missiles.dto.plan.InspectionQueryForm; import com.casic.missiles.dto.plan.PlanForm; import com.casic.missiles.dto.plan.PlanQueryForm; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BizBusinessOrderInfo; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.plan.InspectionApproval; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.service.plan.IInspectionApprovalService; @@ -15,8 +19,11 @@ 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; + @RestController @RequestMapping("/inspection") @Slf4j @@ -46,4 +53,10 @@ return ReturnUtil.success(info); } + @ApiOperation("设备检查") + @PostMapping("/check") + public ReturnDTO orderChcek(@RequestBody InspectionApprovalForm approvalForm) { + return ReturnUtil.success(service.checkApproval(approvalForm)); + } + } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java index 634ac7d..bbf23b9 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java @@ -41,6 +41,12 @@ return ReturnUtil.success(systemDeptService.getUserCompany()); } + @ApiOperation("获取所属部门") + @GetMapping("/userDeptList") + public ReturnDTO getCompanyId(Long companyId) { + return ReturnUtil.success(systemDeptService.getUserDeptList(companyId)); + } + @ApiOperation("获取所在单位列表") @GetMapping("/companyList") public ReturnDTO> companyList() { diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml index 6efd648..f50ab7e 100644 --- a/casic-metering-job/pom.xml +++ b/casic-metering-job/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -14,12 +14,12 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.github.oshi @@ -61,7 +61,7 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 compile diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml index 09c934a..00b91f1 100644 --- a/casic-metering-model/pom.xml +++ b/casic-metering-model/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java index 8f1c6a0..381fa37 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java @@ -60,6 +60,10 @@ @TableField(exist = false) private String sampleManufacturer; + @ApiModelProperty("出厂编号") + @TableField(exist = false) + private String sampleManufactureNo; + /** * 交接单id,避免重复交接(可为空) */ diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index 877d1c0..574c3fb 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,19 +16,19 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-common - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java index 596ab06..761223f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java @@ -8,6 +8,8 @@ import com.casic.missiles.dto.business.OrderListResponse; import com.casic.missiles.model.business.BizBusinessOrderInfo; +import java.util.List; + /** *

* 计量检定业务-任务单 服务类 @@ -30,5 +32,7 @@ String checkOrder(BizBusinessOrderInfo businessOrder); + String checkSamples(List sampleIds, Long orderId); + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java index 158cc4e..223c875 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java @@ -229,8 +229,8 @@ // 待检设备态势(未检定、检定中、已检完) List statistic = new ArrayList<>(); - statistic.add(new EquipmentCommonAggr("已超期", (int) list.stream().filter(i->i.getCertificateValid().before(new Date())).count())); - statistic.add(new EquipmentCommonAggr("未超期", (int) list.stream().filter(i->i.getCertificateValid().after(new Date())).count())); + statistic.add(new EquipmentCommonAggr("已超期", (int) list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCertificateValid()) && i.getCertificateValid().before(new Date())).count())); + statistic.add(new EquipmentCommonAggr("未超期", (int) list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCertificateValid()) && i.getCertificateValid().after(new Date())).count())); res.setStatistic(statistic); //受检单位/负责人排行榜;单位/部门列表 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java index fed732a..edd9d5b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java @@ -23,14 +23,18 @@ import com.casic.missiles.mapper.business.BusinessOrderListResponseMapper; import com.casic.missiles.model.business.BizBusinessOrderInfo; import com.casic.missiles.model.business.BizBusinessOrderSampleRelation; +import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.service.business.IBizBusinessOrderInfoService; import com.casic.missiles.service.business.IBizBusinessOrderSampleRelationService; +import com.casic.missiles.service.system.ISystemDeptService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -50,15 +54,30 @@ private final IBizBusinessOrderSampleRelationService sampleRelationService; private final BizBusinessOrderSampleRelationMapper sampleRelationMapper; private final AbstractPermissionContext permissionContext; + private final ISystemDeptService systemDeptService; @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { QueryWrapper wrapper = listParamWrapperBuilder(request); // 查找本单位提交的 - Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); - List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); - wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); +// Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); +// List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); +// wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); + + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + wrapper.in("dept_id",userDeptIds); + }else { + // userDeptIds为空 查询结果应为空 + return page; + } List list = orderListResponseMapper.listPage(page, wrapper); page.setRecords(list); @@ -75,7 +94,8 @@ DictCodeUtils.convertDictCodeToName(orderInfo); // todo 交接单编号列表,另需补充根据交接单编号打印pdf的接口 QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.select("*","(select manufacturer from eqpt_equipment_info e where e.id = sample_id) as sampleManufacturer"); + wrapper.select("*","(select manufacturer from eqpt_equipment_info e where e.id = sample_id) as sampleManufacturer" + ,"(select manufacture_no from eqpt_equipment_info e where e.id = sample_id) as sampleManufactureNo"); wrapper.eq("order_id", orderInfo.getId()); List orderSampleList = sampleRelationMapper.selectList(wrapper); for (BizBusinessOrderSampleRelation bizBusinessOrderSampleRelation : orderSampleList) { @@ -179,18 +199,25 @@ List sampleRelations = businessOrder.getCustomerSampleInfoList(); if(CollUtil.isNotEmpty(sampleRelations)){ List sampleIds = sampleRelations.stream().map(BizBusinessOrderSampleRelation::getSampleId).distinct().collect(Collectors.toList()); - List checkRes = this.baseMapper.checkSamples(sampleIds,businessOrder.getId()); - if(CollUtil.isNotEmpty(checkRes)){ - Map> map = checkRes.stream().collect(Collectors.groupingBy(OrderCheckDTO::getManufactureNo)); - StringBuilder stringBuilder = new StringBuilder(); - for (String manufactureNo : map.keySet()) { - List subRes = map.get(manufactureNo); - String orderNos = StrUtil.join(",",subRes.stream().map(OrderCheckDTO::getOrderNo).distinct().collect(Collectors.toList())); - stringBuilder.append(String.format("编号为%s的%s设备已在任务单%s中,",manufactureNo,subRes.get(0).getEquipmentName(),orderNos)); - } - stringBuilder.append("请确认是否继续提交"); - return stringBuilder.toString(); + return checkSamples(sampleIds,businessOrder.getId()); + } + + return null; + } + + @Override + public String checkSamples(List sampleIds, Long orderId) { + List checkRes = this.baseMapper.checkSamples(sampleIds, orderId); + if(CollUtil.isNotEmpty(checkRes)){ + Map> map = checkRes.stream().collect(Collectors.groupingBy(OrderCheckDTO::getManufactureNo)); + StringBuilder stringBuilder = new StringBuilder(); + for (String manufactureNo : map.keySet()) { + List subRes = map.get(manufactureNo); + String orderNos = StrUtil.join(",",subRes.stream().map(OrderCheckDTO::getOrderNo).distinct().collect(Collectors.toList())); + stringBuilder.append(String.format("编号为%s的%s设备已在任务单%s中,",manufactureNo,subRes.get(0).getEquipmentName(),orderNos)); } + stringBuilder.append("请确认是否继续提交"); + return stringBuilder.toString(); } return null; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java index c587261..f16c7b3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java @@ -54,6 +54,7 @@ import liquibase.pro.packaged.S; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; +import org.docx4j.wml.P; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -132,9 +133,7 @@ @Override public Page listPage(Page page, EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = commonQuery(queryForm); - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - dataScope.setScopeName("dept_id"); - List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); + List list = this.baseMapper.selectListPage(page, null, queryWrapper); list.forEach(this::warpEquipmentInfo); page.setRecords(list); return page; @@ -163,26 +162,14 @@ @Override public List list(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = commonQuery(queryForm); - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - dataScope.setScopeName("dept_id"); - List list = this.baseMapper.selectList(dataScope, queryWrapper); + List list = this.baseMapper.selectList(null, queryWrapper); list.forEach(this::warpEquipmentInfo); return list; } @Override public List groupByName(EquipmentQueryForm queryForm) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - if (!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())) { - List dataScopeDeptIds = dataScope.getDeptIds(); - if (ObjectUtil.isNull(queryForm.getDeptIds())) { - queryForm.setDeptIds(new ArrayList<>()); - } - queryForm.getDeptIds().addAll(dataScopeDeptIds); - } - QueryWrapper queryWrapper = commonQuery(queryForm); - queryWrapper.groupBy("equipment_name"); queryWrapper.select("equipment_name as 'equipmentName',count(*) as 'count'"); List> resMap = this.listMaps(queryWrapper); @@ -195,17 +182,23 @@ if (CollUtil.isNotEmpty(queryForm.getIds())) { queryWrapper.in("id", queryForm.getIds()); } else { - // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 - AuthUser authUser = permissionContext.getAuthService().getLoginUser(); - if(systemDeptService.isCompany(authUser.getDeptId())){ - List scopeDeptIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeDeptIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeDeptIds); - }else { - queryForm.setDeptId(authUser.getDeptId()); + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有连的;否则查当前用户所在连的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); } + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + queryWrapper.eq("0","1"); + } + queryWrapper.eq(ObjectUtil.isNotEmpty(queryForm.getDeptId()),"dept_id",queryForm.getDeptId()); queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); @@ -597,21 +590,43 @@ } private QueryWrapper remindQuery(EquipmentRemindQueryForm queryForm){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有连的;否则查当前用户所在连的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); + } + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + queryWrapper.eq("0","1"); + } + // 操作手仅能看到自己负责的设备信息,其余角色查看本组织结构下所有 AuthUser authUser = permissionContext.getAuthService().getLoginUser(); if(authUser.getRoleTips().contains(operatorRoleTip)){ queryForm.setDirectorId(authUser.getId()); - }else { - List scopeIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - scopeIds.add(authUser.getDeptId()); - if(CollUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeIds); } +// else { - QueryWrapper queryWrapper = new QueryWrapper<>(); +// List scopeIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); +// scopeIds.add(authUser.getDeptId()); +// if(CollUtil.isNotEmpty(queryForm.getDeptIds())){ +// scopeIds.retainAll(queryForm.getDeptIds()); +// } +// queryForm.setDeptIds(scopeIds); +// } + + + if (CollUtil.isNotEmpty(queryForm.getIds())) { queryWrapper.in("id", queryForm.getIds()); } else { @@ -651,7 +666,7 @@ } } queryWrapper.eq("is_del", 0); - queryWrapper.le("remind_valid",new Date()); + queryWrapper.and(i->i.le("remind_valid",new Date()).or().isNull("remind_valid")); return queryWrapper; } @@ -756,17 +771,21 @@ @Override public Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm) { // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 - AuthUser authUser = permissionContext.getAuthService().getLoginUser(); - if(systemDeptService.isCompany(authUser.getDeptId())){ - List scopeDeptIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeDeptIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeDeptIds); - }else { - queryForm.setDeptId(authUser.getDeptId()); + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); } - + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + return page; + } QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StrUtil.isNotEmpty(queryForm.getCertificateNo()), "c.certificate_report_no", queryForm.getCertificateNo()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java index aec2020..a5583b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java @@ -16,6 +16,7 @@ import com.casic.missiles.model.plan.InspectionEquipmentRelation; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.model.plan.PlanEquipmentRelation; +import com.casic.missiles.service.business.IBizBusinessOrderInfoService; import com.casic.missiles.service.impl.CommonApprovalServiceImpl; import com.casic.missiles.service.plan.IInspectionApprovalService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -49,6 +50,8 @@ private IInspectionEquipmentRelationService relationService; @Autowired private IPlanEquipmentRelationService planEquipmentRelationService; + @Autowired + private IBizBusinessOrderInfoService orderInfoService; @Override @Transactional @@ -124,4 +127,13 @@ public void setBizNo(InspectionApproval obj) { obj.setBizNo(obj.getApprovalNo()); } + + public String checkApproval(InspectionApprovalForm approvalForm){ + List equipmentRelations = approvalForm.getEquipmentList(); + if(CollUtil.isNotEmpty(equipmentRelations)){ + List equipmentIds = equipmentRelations.stream().map(InspectionEquipmentRelation::getEquipmentId).collect(Collectors.toList()); + return orderInfoService.checkSamples(equipmentIds,null); + } + return null; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java index 94c0faf..6011184 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java @@ -14,10 +14,13 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.stream.Collectors; import static com.casic.missiles.core.datascope.ScopeEnums.ALL_TYPE; +import static com.casic.missiles.enums.system.DeptTypeEnum.METERED_DEPT; @Service @RequiredArgsConstructor @@ -46,6 +49,32 @@ return deptService.getById(deptId); } + @Override + public List getUserDeptList(Long companyId) { + AuthUser user = permissionContext.getAuthService().getLoginUser(); + Dept currentDept = deptService.getById(user.getDeptId()); + if(StrUtil.isBlank(currentDept.getPids()) || StrUtil.count(currentDept.getPids(),",") <= 1){ + // 顶级/受检单位 + if(ObjectUtil.isEmpty(companyId)){ + Dept userCompany = getUserCompany(); + if(userCompany.getPid() < 0){ + return deptService.list(null); + } + companyId = getUserCompany().getId(); + } + Long finalCompanyId = companyId; + return deptService.list(null).stream() + .filter(i->ObjectUtil.isNotEmpty(i.getPid()) && finalCompanyId.equals(i.getPid())) + .collect(Collectors.toList()); + }else if(StrUtil.count(currentDept.getPids(),",") == 2){ + // 连级 + return Collections.singletonList(currentDept); + }else if(StrUtil.count(currentDept.getPids(),",") == 3){ + // 分系统 + return Collections.singletonList(deptService.getById(currentDept.getPid())); + } + return null; + } @Override public List getAllCompanyList() { @@ -59,6 +88,7 @@ if(!ALL_TYPE.equals(dataScope.getScopeEnums())){ secondDepts = secondDepts.stream().filter(i->dataScope.getDeptIds().contains(i.getId())).collect(Collectors.toList()); } + secondDepts = secondDepts.stream().filter(i->ObjectUtil.isNotEmpty(i.getVersion()) && METERED_DEPT.equals(i.getVersion())).collect(Collectors.toList()); return secondDepts; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java index 5f3008c..6103000 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java @@ -53,21 +53,21 @@ } private void fillLocation(SystemLocation systemLocation) { - Long subSystemId = systemLocation.getSubSystemId(); - Dept subSystem = deptService.getById(subSystemId); - if(ObjectUtil.isEmpty(subSystem) || subSystem.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + Long chooseDeptId = systemLocation.getSubSystemId(); + Dept chooseDept = deptService.getById(chooseDeptId); + if(StrUtil.isBlank(chooseDept.getPids()) || StrUtil.count(chooseDept.getPids(),",") <= 1 || StrUtil.count(chooseDept.getPids(),",") > 3){ + throw new BusinessException(501,"请选择连队或分系统"); } - Dept dept = deptService.getById(subSystem.getPid()); - if(ObjectUtil.isEmpty(dept) || dept.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + if(StrUtil.count(chooseDept.getPids(),",") == 2){ + systemLocation.setSubSystemId(null); + systemLocation.setDeptId(chooseDeptId); + systemLocation.setCompanyId(chooseDept.getPid()); } - Dept company = deptService.getById(dept.getPid()); - if(ObjectUtil.isEmpty(company) || company.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + if(StrUtil.count(chooseDept.getPids(),",") == 3){ + systemLocation.setSubSystemId(chooseDeptId); + systemLocation.setDeptId(chooseDept.getPid()); + systemLocation.setCompanyId(deptService.getById(chooseDept.getPid()).getPid()); } - systemLocation.setDeptId(dept.getId()); - systemLocation.setCompanyId(company.getId()); } @Override diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java index 1ab70c0..ffa1ffc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java @@ -6,10 +6,8 @@ * @Date: 2023/7/20 18:00 */ public interface DeptTypeEnum { - //管理部门 - String MANAGE_DEPT = "1"; - //业务部门 - String BIS_DEPT = "2"; - //检定部门 - String MEASURE_DEPT = "3"; + // 计量单位 + Integer METER_DEPT = 1; + // 受检单位 + Integer METERED_DEPT = 2; } diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml index 46a1c68..7043947 100644 --- a/casic-metering-dao/pom.xml +++ b/casic-metering-dao/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,7 +16,7 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index f4d9936..2d1390d 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -156,7 +156,6 @@ left join eqpt_equipment_task_relation r on e.id = r.equipment_id left join task_ext t on r.task_id = t.id left join latest_sample_relation lsr on lsr.sample_id = e.id - where e.certificate_valid is not null group by e.id,e.certificate_valid,a.remind_time,lsr.sample_status ) diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml index 748151c..ead9a9b 100644 --- a/casic-metering-eqpt-api/pom.xml +++ b/casic-metering-eqpt-api/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -18,13 +18,13 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-job - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java index c26f678..c8c3063 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.plan; +import cn.hutool.core.lang.Assert; import com.casic.missiles.controller.CommonApprovalController; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -7,6 +8,9 @@ import com.casic.missiles.dto.plan.InspectionQueryForm; import com.casic.missiles.dto.plan.PlanForm; import com.casic.missiles.dto.plan.PlanQueryForm; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BizBusinessOrderInfo; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.plan.InspectionApproval; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.service.plan.IInspectionApprovalService; @@ -15,8 +19,11 @@ 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; + @RestController @RequestMapping("/inspection") @Slf4j @@ -46,4 +53,10 @@ return ReturnUtil.success(info); } + @ApiOperation("设备检查") + @PostMapping("/check") + public ReturnDTO orderChcek(@RequestBody InspectionApprovalForm approvalForm) { + return ReturnUtil.success(service.checkApproval(approvalForm)); + } + } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java index 634ac7d..bbf23b9 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java @@ -41,6 +41,12 @@ return ReturnUtil.success(systemDeptService.getUserCompany()); } + @ApiOperation("获取所属部门") + @GetMapping("/userDeptList") + public ReturnDTO getCompanyId(Long companyId) { + return ReturnUtil.success(systemDeptService.getUserDeptList(companyId)); + } + @ApiOperation("获取所在单位列表") @GetMapping("/companyList") public ReturnDTO> companyList() { diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml index 6efd648..f50ab7e 100644 --- a/casic-metering-job/pom.xml +++ b/casic-metering-job/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -14,12 +14,12 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.github.oshi @@ -61,7 +61,7 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 compile diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml index 09c934a..00b91f1 100644 --- a/casic-metering-model/pom.xml +++ b/casic-metering-model/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java index 8f1c6a0..381fa37 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java @@ -60,6 +60,10 @@ @TableField(exist = false) private String sampleManufacturer; + @ApiModelProperty("出厂编号") + @TableField(exist = false) + private String sampleManufactureNo; + /** * 交接单id,避免重复交接(可为空) */ diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index 877d1c0..574c3fb 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,19 +16,19 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-common - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java index 596ab06..761223f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java @@ -8,6 +8,8 @@ import com.casic.missiles.dto.business.OrderListResponse; import com.casic.missiles.model.business.BizBusinessOrderInfo; +import java.util.List; + /** *

* 计量检定业务-任务单 服务类 @@ -30,5 +32,7 @@ String checkOrder(BizBusinessOrderInfo businessOrder); + String checkSamples(List sampleIds, Long orderId); + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java index 158cc4e..223c875 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java @@ -229,8 +229,8 @@ // 待检设备态势(未检定、检定中、已检完) List statistic = new ArrayList<>(); - statistic.add(new EquipmentCommonAggr("已超期", (int) list.stream().filter(i->i.getCertificateValid().before(new Date())).count())); - statistic.add(new EquipmentCommonAggr("未超期", (int) list.stream().filter(i->i.getCertificateValid().after(new Date())).count())); + statistic.add(new EquipmentCommonAggr("已超期", (int) list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCertificateValid()) && i.getCertificateValid().before(new Date())).count())); + statistic.add(new EquipmentCommonAggr("未超期", (int) list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCertificateValid()) && i.getCertificateValid().after(new Date())).count())); res.setStatistic(statistic); //受检单位/负责人排行榜;单位/部门列表 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java index fed732a..edd9d5b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java @@ -23,14 +23,18 @@ import com.casic.missiles.mapper.business.BusinessOrderListResponseMapper; import com.casic.missiles.model.business.BizBusinessOrderInfo; import com.casic.missiles.model.business.BizBusinessOrderSampleRelation; +import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.service.business.IBizBusinessOrderInfoService; import com.casic.missiles.service.business.IBizBusinessOrderSampleRelationService; +import com.casic.missiles.service.system.ISystemDeptService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -50,15 +54,30 @@ private final IBizBusinessOrderSampleRelationService sampleRelationService; private final BizBusinessOrderSampleRelationMapper sampleRelationMapper; private final AbstractPermissionContext permissionContext; + private final ISystemDeptService systemDeptService; @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { QueryWrapper wrapper = listParamWrapperBuilder(request); // 查找本单位提交的 - Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); - List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); - wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); +// Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); +// List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); +// wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); + + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + wrapper.in("dept_id",userDeptIds); + }else { + // userDeptIds为空 查询结果应为空 + return page; + } List list = orderListResponseMapper.listPage(page, wrapper); page.setRecords(list); @@ -75,7 +94,8 @@ DictCodeUtils.convertDictCodeToName(orderInfo); // todo 交接单编号列表,另需补充根据交接单编号打印pdf的接口 QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.select("*","(select manufacturer from eqpt_equipment_info e where e.id = sample_id) as sampleManufacturer"); + wrapper.select("*","(select manufacturer from eqpt_equipment_info e where e.id = sample_id) as sampleManufacturer" + ,"(select manufacture_no from eqpt_equipment_info e where e.id = sample_id) as sampleManufactureNo"); wrapper.eq("order_id", orderInfo.getId()); List orderSampleList = sampleRelationMapper.selectList(wrapper); for (BizBusinessOrderSampleRelation bizBusinessOrderSampleRelation : orderSampleList) { @@ -179,18 +199,25 @@ List sampleRelations = businessOrder.getCustomerSampleInfoList(); if(CollUtil.isNotEmpty(sampleRelations)){ List sampleIds = sampleRelations.stream().map(BizBusinessOrderSampleRelation::getSampleId).distinct().collect(Collectors.toList()); - List checkRes = this.baseMapper.checkSamples(sampleIds,businessOrder.getId()); - if(CollUtil.isNotEmpty(checkRes)){ - Map> map = checkRes.stream().collect(Collectors.groupingBy(OrderCheckDTO::getManufactureNo)); - StringBuilder stringBuilder = new StringBuilder(); - for (String manufactureNo : map.keySet()) { - List subRes = map.get(manufactureNo); - String orderNos = StrUtil.join(",",subRes.stream().map(OrderCheckDTO::getOrderNo).distinct().collect(Collectors.toList())); - stringBuilder.append(String.format("编号为%s的%s设备已在任务单%s中,",manufactureNo,subRes.get(0).getEquipmentName(),orderNos)); - } - stringBuilder.append("请确认是否继续提交"); - return stringBuilder.toString(); + return checkSamples(sampleIds,businessOrder.getId()); + } + + return null; + } + + @Override + public String checkSamples(List sampleIds, Long orderId) { + List checkRes = this.baseMapper.checkSamples(sampleIds, orderId); + if(CollUtil.isNotEmpty(checkRes)){ + Map> map = checkRes.stream().collect(Collectors.groupingBy(OrderCheckDTO::getManufactureNo)); + StringBuilder stringBuilder = new StringBuilder(); + for (String manufactureNo : map.keySet()) { + List subRes = map.get(manufactureNo); + String orderNos = StrUtil.join(",",subRes.stream().map(OrderCheckDTO::getOrderNo).distinct().collect(Collectors.toList())); + stringBuilder.append(String.format("编号为%s的%s设备已在任务单%s中,",manufactureNo,subRes.get(0).getEquipmentName(),orderNos)); } + stringBuilder.append("请确认是否继续提交"); + return stringBuilder.toString(); } return null; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java index c587261..f16c7b3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java @@ -54,6 +54,7 @@ import liquibase.pro.packaged.S; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; +import org.docx4j.wml.P; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -132,9 +133,7 @@ @Override public Page listPage(Page page, EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = commonQuery(queryForm); - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - dataScope.setScopeName("dept_id"); - List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); + List list = this.baseMapper.selectListPage(page, null, queryWrapper); list.forEach(this::warpEquipmentInfo); page.setRecords(list); return page; @@ -163,26 +162,14 @@ @Override public List list(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = commonQuery(queryForm); - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - dataScope.setScopeName("dept_id"); - List list = this.baseMapper.selectList(dataScope, queryWrapper); + List list = this.baseMapper.selectList(null, queryWrapper); list.forEach(this::warpEquipmentInfo); return list; } @Override public List groupByName(EquipmentQueryForm queryForm) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - if (!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())) { - List dataScopeDeptIds = dataScope.getDeptIds(); - if (ObjectUtil.isNull(queryForm.getDeptIds())) { - queryForm.setDeptIds(new ArrayList<>()); - } - queryForm.getDeptIds().addAll(dataScopeDeptIds); - } - QueryWrapper queryWrapper = commonQuery(queryForm); - queryWrapper.groupBy("equipment_name"); queryWrapper.select("equipment_name as 'equipmentName',count(*) as 'count'"); List> resMap = this.listMaps(queryWrapper); @@ -195,17 +182,23 @@ if (CollUtil.isNotEmpty(queryForm.getIds())) { queryWrapper.in("id", queryForm.getIds()); } else { - // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 - AuthUser authUser = permissionContext.getAuthService().getLoginUser(); - if(systemDeptService.isCompany(authUser.getDeptId())){ - List scopeDeptIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeDeptIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeDeptIds); - }else { - queryForm.setDeptId(authUser.getDeptId()); + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有连的;否则查当前用户所在连的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); } + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + queryWrapper.eq("0","1"); + } + queryWrapper.eq(ObjectUtil.isNotEmpty(queryForm.getDeptId()),"dept_id",queryForm.getDeptId()); queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); @@ -597,21 +590,43 @@ } private QueryWrapper remindQuery(EquipmentRemindQueryForm queryForm){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有连的;否则查当前用户所在连的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); + } + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + queryWrapper.eq("0","1"); + } + // 操作手仅能看到自己负责的设备信息,其余角色查看本组织结构下所有 AuthUser authUser = permissionContext.getAuthService().getLoginUser(); if(authUser.getRoleTips().contains(operatorRoleTip)){ queryForm.setDirectorId(authUser.getId()); - }else { - List scopeIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - scopeIds.add(authUser.getDeptId()); - if(CollUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeIds); } +// else { - QueryWrapper queryWrapper = new QueryWrapper<>(); +// List scopeIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); +// scopeIds.add(authUser.getDeptId()); +// if(CollUtil.isNotEmpty(queryForm.getDeptIds())){ +// scopeIds.retainAll(queryForm.getDeptIds()); +// } +// queryForm.setDeptIds(scopeIds); +// } + + + if (CollUtil.isNotEmpty(queryForm.getIds())) { queryWrapper.in("id", queryForm.getIds()); } else { @@ -651,7 +666,7 @@ } } queryWrapper.eq("is_del", 0); - queryWrapper.le("remind_valid",new Date()); + queryWrapper.and(i->i.le("remind_valid",new Date()).or().isNull("remind_valid")); return queryWrapper; } @@ -756,17 +771,21 @@ @Override public Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm) { // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 - AuthUser authUser = permissionContext.getAuthService().getLoginUser(); - if(systemDeptService.isCompany(authUser.getDeptId())){ - List scopeDeptIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeDeptIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeDeptIds); - }else { - queryForm.setDeptId(authUser.getDeptId()); + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); } - + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + return page; + } QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StrUtil.isNotEmpty(queryForm.getCertificateNo()), "c.certificate_report_no", queryForm.getCertificateNo()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java index aec2020..a5583b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java @@ -16,6 +16,7 @@ import com.casic.missiles.model.plan.InspectionEquipmentRelation; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.model.plan.PlanEquipmentRelation; +import com.casic.missiles.service.business.IBizBusinessOrderInfoService; import com.casic.missiles.service.impl.CommonApprovalServiceImpl; import com.casic.missiles.service.plan.IInspectionApprovalService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -49,6 +50,8 @@ private IInspectionEquipmentRelationService relationService; @Autowired private IPlanEquipmentRelationService planEquipmentRelationService; + @Autowired + private IBizBusinessOrderInfoService orderInfoService; @Override @Transactional @@ -124,4 +127,13 @@ public void setBizNo(InspectionApproval obj) { obj.setBizNo(obj.getApprovalNo()); } + + public String checkApproval(InspectionApprovalForm approvalForm){ + List equipmentRelations = approvalForm.getEquipmentList(); + if(CollUtil.isNotEmpty(equipmentRelations)){ + List equipmentIds = equipmentRelations.stream().map(InspectionEquipmentRelation::getEquipmentId).collect(Collectors.toList()); + return orderInfoService.checkSamples(equipmentIds,null); + } + return null; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java index 94c0faf..6011184 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java @@ -14,10 +14,13 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.stream.Collectors; import static com.casic.missiles.core.datascope.ScopeEnums.ALL_TYPE; +import static com.casic.missiles.enums.system.DeptTypeEnum.METERED_DEPT; @Service @RequiredArgsConstructor @@ -46,6 +49,32 @@ return deptService.getById(deptId); } + @Override + public List getUserDeptList(Long companyId) { + AuthUser user = permissionContext.getAuthService().getLoginUser(); + Dept currentDept = deptService.getById(user.getDeptId()); + if(StrUtil.isBlank(currentDept.getPids()) || StrUtil.count(currentDept.getPids(),",") <= 1){ + // 顶级/受检单位 + if(ObjectUtil.isEmpty(companyId)){ + Dept userCompany = getUserCompany(); + if(userCompany.getPid() < 0){ + return deptService.list(null); + } + companyId = getUserCompany().getId(); + } + Long finalCompanyId = companyId; + return deptService.list(null).stream() + .filter(i->ObjectUtil.isNotEmpty(i.getPid()) && finalCompanyId.equals(i.getPid())) + .collect(Collectors.toList()); + }else if(StrUtil.count(currentDept.getPids(),",") == 2){ + // 连级 + return Collections.singletonList(currentDept); + }else if(StrUtil.count(currentDept.getPids(),",") == 3){ + // 分系统 + return Collections.singletonList(deptService.getById(currentDept.getPid())); + } + return null; + } @Override public List getAllCompanyList() { @@ -59,6 +88,7 @@ if(!ALL_TYPE.equals(dataScope.getScopeEnums())){ secondDepts = secondDepts.stream().filter(i->dataScope.getDeptIds().contains(i.getId())).collect(Collectors.toList()); } + secondDepts = secondDepts.stream().filter(i->ObjectUtil.isNotEmpty(i.getVersion()) && METERED_DEPT.equals(i.getVersion())).collect(Collectors.toList()); return secondDepts; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java index 5f3008c..6103000 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java @@ -53,21 +53,21 @@ } private void fillLocation(SystemLocation systemLocation) { - Long subSystemId = systemLocation.getSubSystemId(); - Dept subSystem = deptService.getById(subSystemId); - if(ObjectUtil.isEmpty(subSystem) || subSystem.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + Long chooseDeptId = systemLocation.getSubSystemId(); + Dept chooseDept = deptService.getById(chooseDeptId); + if(StrUtil.isBlank(chooseDept.getPids()) || StrUtil.count(chooseDept.getPids(),",") <= 1 || StrUtil.count(chooseDept.getPids(),",") > 3){ + throw new BusinessException(501,"请选择连队或分系统"); } - Dept dept = deptService.getById(subSystem.getPid()); - if(ObjectUtil.isEmpty(dept) || dept.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + if(StrUtil.count(chooseDept.getPids(),",") == 2){ + systemLocation.setSubSystemId(null); + systemLocation.setDeptId(chooseDeptId); + systemLocation.setCompanyId(chooseDept.getPid()); } - Dept company = deptService.getById(dept.getPid()); - if(ObjectUtil.isEmpty(company) || company.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + if(StrUtil.count(chooseDept.getPids(),",") == 3){ + systemLocation.setSubSystemId(chooseDeptId); + systemLocation.setDeptId(chooseDept.getPid()); + systemLocation.setCompanyId(deptService.getById(chooseDept.getPid()).getPid()); } - systemLocation.setDeptId(dept.getId()); - systemLocation.setCompanyId(company.getId()); } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java index 6015bd8..7bff524 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java @@ -52,21 +52,21 @@ } private void fillPosition(SystemPosition systemPosition) { - Long subSystemId = systemPosition.getSubSystemId(); - Dept subSystem = deptService.getById(subSystemId); - if(ObjectUtil.isEmpty(subSystem) || subSystem.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + Long chooseDeptId = systemPosition.getSubSystemId(); + Dept chooseDept = deptService.getById(chooseDeptId); + if(StrUtil.isBlank(chooseDept.getPids()) || StrUtil.count(chooseDept.getPids(),",") <= 1 || StrUtil.count(chooseDept.getPids(),",") > 3){ + throw new BusinessException(501,"请选择连队或分系统"); } - Dept dept = deptService.getById(subSystem.getPid()); - if(ObjectUtil.isEmpty(dept) || dept.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + if(StrUtil.count(chooseDept.getPids(),",") == 2){ + systemPosition.setSubSystemId(null); + systemPosition.setDeptId(chooseDeptId); + systemPosition.setCompanyId(chooseDept.getPid()); } - Dept company = deptService.getById(dept.getPid()); - if(ObjectUtil.isEmpty(company) || company.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + if(StrUtil.count(chooseDept.getPids(),",") == 3){ + systemPosition.setSubSystemId(chooseDeptId); + systemPosition.setDeptId(chooseDept.getPid()); + systemPosition.setCompanyId(deptService.getById(chooseDept.getPid()).getPid()); } - systemPosition.setDeptId(dept.getId()); - systemPosition.setCompanyId(company.getId()); } @Override diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java index 1ab70c0..ffa1ffc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java @@ -6,10 +6,8 @@ * @Date: 2023/7/20 18:00 */ public interface DeptTypeEnum { - //管理部门 - String MANAGE_DEPT = "1"; - //业务部门 - String BIS_DEPT = "2"; - //检定部门 - String MEASURE_DEPT = "3"; + // 计量单位 + Integer METER_DEPT = 1; + // 受检单位 + Integer METERED_DEPT = 2; } diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml index 46a1c68..7043947 100644 --- a/casic-metering-dao/pom.xml +++ b/casic-metering-dao/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,7 +16,7 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index f4d9936..2d1390d 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -156,7 +156,6 @@ left join eqpt_equipment_task_relation r on e.id = r.equipment_id left join task_ext t on r.task_id = t.id left join latest_sample_relation lsr on lsr.sample_id = e.id - where e.certificate_valid is not null group by e.id,e.certificate_valid,a.remind_time,lsr.sample_status ) diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml index 748151c..ead9a9b 100644 --- a/casic-metering-eqpt-api/pom.xml +++ b/casic-metering-eqpt-api/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -18,13 +18,13 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-job - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java index c26f678..c8c3063 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.plan; +import cn.hutool.core.lang.Assert; import com.casic.missiles.controller.CommonApprovalController; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -7,6 +8,9 @@ import com.casic.missiles.dto.plan.InspectionQueryForm; import com.casic.missiles.dto.plan.PlanForm; import com.casic.missiles.dto.plan.PlanQueryForm; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BizBusinessOrderInfo; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.plan.InspectionApproval; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.service.plan.IInspectionApprovalService; @@ -15,8 +19,11 @@ 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; + @RestController @RequestMapping("/inspection") @Slf4j @@ -46,4 +53,10 @@ return ReturnUtil.success(info); } + @ApiOperation("设备检查") + @PostMapping("/check") + public ReturnDTO orderChcek(@RequestBody InspectionApprovalForm approvalForm) { + return ReturnUtil.success(service.checkApproval(approvalForm)); + } + } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java index 634ac7d..bbf23b9 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java @@ -41,6 +41,12 @@ return ReturnUtil.success(systemDeptService.getUserCompany()); } + @ApiOperation("获取所属部门") + @GetMapping("/userDeptList") + public ReturnDTO getCompanyId(Long companyId) { + return ReturnUtil.success(systemDeptService.getUserDeptList(companyId)); + } + @ApiOperation("获取所在单位列表") @GetMapping("/companyList") public ReturnDTO> companyList() { diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml index 6efd648..f50ab7e 100644 --- a/casic-metering-job/pom.xml +++ b/casic-metering-job/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -14,12 +14,12 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.github.oshi @@ -61,7 +61,7 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 compile diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml index 09c934a..00b91f1 100644 --- a/casic-metering-model/pom.xml +++ b/casic-metering-model/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java index 8f1c6a0..381fa37 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java @@ -60,6 +60,10 @@ @TableField(exist = false) private String sampleManufacturer; + @ApiModelProperty("出厂编号") + @TableField(exist = false) + private String sampleManufactureNo; + /** * 交接单id,避免重复交接(可为空) */ diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index 877d1c0..574c3fb 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,19 +16,19 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-common - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java index 596ab06..761223f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java @@ -8,6 +8,8 @@ import com.casic.missiles.dto.business.OrderListResponse; import com.casic.missiles.model.business.BizBusinessOrderInfo; +import java.util.List; + /** *

* 计量检定业务-任务单 服务类 @@ -30,5 +32,7 @@ String checkOrder(BizBusinessOrderInfo businessOrder); + String checkSamples(List sampleIds, Long orderId); + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java index 158cc4e..223c875 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java @@ -229,8 +229,8 @@ // 待检设备态势(未检定、检定中、已检完) List statistic = new ArrayList<>(); - statistic.add(new EquipmentCommonAggr("已超期", (int) list.stream().filter(i->i.getCertificateValid().before(new Date())).count())); - statistic.add(new EquipmentCommonAggr("未超期", (int) list.stream().filter(i->i.getCertificateValid().after(new Date())).count())); + statistic.add(new EquipmentCommonAggr("已超期", (int) list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCertificateValid()) && i.getCertificateValid().before(new Date())).count())); + statistic.add(new EquipmentCommonAggr("未超期", (int) list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCertificateValid()) && i.getCertificateValid().after(new Date())).count())); res.setStatistic(statistic); //受检单位/负责人排行榜;单位/部门列表 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java index fed732a..edd9d5b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java @@ -23,14 +23,18 @@ import com.casic.missiles.mapper.business.BusinessOrderListResponseMapper; import com.casic.missiles.model.business.BizBusinessOrderInfo; import com.casic.missiles.model.business.BizBusinessOrderSampleRelation; +import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.service.business.IBizBusinessOrderInfoService; import com.casic.missiles.service.business.IBizBusinessOrderSampleRelationService; +import com.casic.missiles.service.system.ISystemDeptService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -50,15 +54,30 @@ private final IBizBusinessOrderSampleRelationService sampleRelationService; private final BizBusinessOrderSampleRelationMapper sampleRelationMapper; private final AbstractPermissionContext permissionContext; + private final ISystemDeptService systemDeptService; @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { QueryWrapper wrapper = listParamWrapperBuilder(request); // 查找本单位提交的 - Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); - List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); - wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); +// Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); +// List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); +// wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); + + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + wrapper.in("dept_id",userDeptIds); + }else { + // userDeptIds为空 查询结果应为空 + return page; + } List list = orderListResponseMapper.listPage(page, wrapper); page.setRecords(list); @@ -75,7 +94,8 @@ DictCodeUtils.convertDictCodeToName(orderInfo); // todo 交接单编号列表,另需补充根据交接单编号打印pdf的接口 QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.select("*","(select manufacturer from eqpt_equipment_info e where e.id = sample_id) as sampleManufacturer"); + wrapper.select("*","(select manufacturer from eqpt_equipment_info e where e.id = sample_id) as sampleManufacturer" + ,"(select manufacture_no from eqpt_equipment_info e where e.id = sample_id) as sampleManufactureNo"); wrapper.eq("order_id", orderInfo.getId()); List orderSampleList = sampleRelationMapper.selectList(wrapper); for (BizBusinessOrderSampleRelation bizBusinessOrderSampleRelation : orderSampleList) { @@ -179,18 +199,25 @@ List sampleRelations = businessOrder.getCustomerSampleInfoList(); if(CollUtil.isNotEmpty(sampleRelations)){ List sampleIds = sampleRelations.stream().map(BizBusinessOrderSampleRelation::getSampleId).distinct().collect(Collectors.toList()); - List checkRes = this.baseMapper.checkSamples(sampleIds,businessOrder.getId()); - if(CollUtil.isNotEmpty(checkRes)){ - Map> map = checkRes.stream().collect(Collectors.groupingBy(OrderCheckDTO::getManufactureNo)); - StringBuilder stringBuilder = new StringBuilder(); - for (String manufactureNo : map.keySet()) { - List subRes = map.get(manufactureNo); - String orderNos = StrUtil.join(",",subRes.stream().map(OrderCheckDTO::getOrderNo).distinct().collect(Collectors.toList())); - stringBuilder.append(String.format("编号为%s的%s设备已在任务单%s中,",manufactureNo,subRes.get(0).getEquipmentName(),orderNos)); - } - stringBuilder.append("请确认是否继续提交"); - return stringBuilder.toString(); + return checkSamples(sampleIds,businessOrder.getId()); + } + + return null; + } + + @Override + public String checkSamples(List sampleIds, Long orderId) { + List checkRes = this.baseMapper.checkSamples(sampleIds, orderId); + if(CollUtil.isNotEmpty(checkRes)){ + Map> map = checkRes.stream().collect(Collectors.groupingBy(OrderCheckDTO::getManufactureNo)); + StringBuilder stringBuilder = new StringBuilder(); + for (String manufactureNo : map.keySet()) { + List subRes = map.get(manufactureNo); + String orderNos = StrUtil.join(",",subRes.stream().map(OrderCheckDTO::getOrderNo).distinct().collect(Collectors.toList())); + stringBuilder.append(String.format("编号为%s的%s设备已在任务单%s中,",manufactureNo,subRes.get(0).getEquipmentName(),orderNos)); } + stringBuilder.append("请确认是否继续提交"); + return stringBuilder.toString(); } return null; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java index c587261..f16c7b3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java @@ -54,6 +54,7 @@ import liquibase.pro.packaged.S; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; +import org.docx4j.wml.P; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -132,9 +133,7 @@ @Override public Page listPage(Page page, EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = commonQuery(queryForm); - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - dataScope.setScopeName("dept_id"); - List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); + List list = this.baseMapper.selectListPage(page, null, queryWrapper); list.forEach(this::warpEquipmentInfo); page.setRecords(list); return page; @@ -163,26 +162,14 @@ @Override public List list(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = commonQuery(queryForm); - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - dataScope.setScopeName("dept_id"); - List list = this.baseMapper.selectList(dataScope, queryWrapper); + List list = this.baseMapper.selectList(null, queryWrapper); list.forEach(this::warpEquipmentInfo); return list; } @Override public List groupByName(EquipmentQueryForm queryForm) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - if (!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())) { - List dataScopeDeptIds = dataScope.getDeptIds(); - if (ObjectUtil.isNull(queryForm.getDeptIds())) { - queryForm.setDeptIds(new ArrayList<>()); - } - queryForm.getDeptIds().addAll(dataScopeDeptIds); - } - QueryWrapper queryWrapper = commonQuery(queryForm); - queryWrapper.groupBy("equipment_name"); queryWrapper.select("equipment_name as 'equipmentName',count(*) as 'count'"); List> resMap = this.listMaps(queryWrapper); @@ -195,17 +182,23 @@ if (CollUtil.isNotEmpty(queryForm.getIds())) { queryWrapper.in("id", queryForm.getIds()); } else { - // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 - AuthUser authUser = permissionContext.getAuthService().getLoginUser(); - if(systemDeptService.isCompany(authUser.getDeptId())){ - List scopeDeptIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeDeptIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeDeptIds); - }else { - queryForm.setDeptId(authUser.getDeptId()); + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有连的;否则查当前用户所在连的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); } + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + queryWrapper.eq("0","1"); + } + queryWrapper.eq(ObjectUtil.isNotEmpty(queryForm.getDeptId()),"dept_id",queryForm.getDeptId()); queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); @@ -597,21 +590,43 @@ } private QueryWrapper remindQuery(EquipmentRemindQueryForm queryForm){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有连的;否则查当前用户所在连的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); + } + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + queryWrapper.eq("0","1"); + } + // 操作手仅能看到自己负责的设备信息,其余角色查看本组织结构下所有 AuthUser authUser = permissionContext.getAuthService().getLoginUser(); if(authUser.getRoleTips().contains(operatorRoleTip)){ queryForm.setDirectorId(authUser.getId()); - }else { - List scopeIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - scopeIds.add(authUser.getDeptId()); - if(CollUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeIds); } +// else { - QueryWrapper queryWrapper = new QueryWrapper<>(); +// List scopeIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); +// scopeIds.add(authUser.getDeptId()); +// if(CollUtil.isNotEmpty(queryForm.getDeptIds())){ +// scopeIds.retainAll(queryForm.getDeptIds()); +// } +// queryForm.setDeptIds(scopeIds); +// } + + + if (CollUtil.isNotEmpty(queryForm.getIds())) { queryWrapper.in("id", queryForm.getIds()); } else { @@ -651,7 +666,7 @@ } } queryWrapper.eq("is_del", 0); - queryWrapper.le("remind_valid",new Date()); + queryWrapper.and(i->i.le("remind_valid",new Date()).or().isNull("remind_valid")); return queryWrapper; } @@ -756,17 +771,21 @@ @Override public Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm) { // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 - AuthUser authUser = permissionContext.getAuthService().getLoginUser(); - if(systemDeptService.isCompany(authUser.getDeptId())){ - List scopeDeptIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeDeptIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeDeptIds); - }else { - queryForm.setDeptId(authUser.getDeptId()); + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); } - + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + return page; + } QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StrUtil.isNotEmpty(queryForm.getCertificateNo()), "c.certificate_report_no", queryForm.getCertificateNo()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java index aec2020..a5583b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java @@ -16,6 +16,7 @@ import com.casic.missiles.model.plan.InspectionEquipmentRelation; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.model.plan.PlanEquipmentRelation; +import com.casic.missiles.service.business.IBizBusinessOrderInfoService; import com.casic.missiles.service.impl.CommonApprovalServiceImpl; import com.casic.missiles.service.plan.IInspectionApprovalService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -49,6 +50,8 @@ private IInspectionEquipmentRelationService relationService; @Autowired private IPlanEquipmentRelationService planEquipmentRelationService; + @Autowired + private IBizBusinessOrderInfoService orderInfoService; @Override @Transactional @@ -124,4 +127,13 @@ public void setBizNo(InspectionApproval obj) { obj.setBizNo(obj.getApprovalNo()); } + + public String checkApproval(InspectionApprovalForm approvalForm){ + List equipmentRelations = approvalForm.getEquipmentList(); + if(CollUtil.isNotEmpty(equipmentRelations)){ + List equipmentIds = equipmentRelations.stream().map(InspectionEquipmentRelation::getEquipmentId).collect(Collectors.toList()); + return orderInfoService.checkSamples(equipmentIds,null); + } + return null; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java index 94c0faf..6011184 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java @@ -14,10 +14,13 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.stream.Collectors; import static com.casic.missiles.core.datascope.ScopeEnums.ALL_TYPE; +import static com.casic.missiles.enums.system.DeptTypeEnum.METERED_DEPT; @Service @RequiredArgsConstructor @@ -46,6 +49,32 @@ return deptService.getById(deptId); } + @Override + public List getUserDeptList(Long companyId) { + AuthUser user = permissionContext.getAuthService().getLoginUser(); + Dept currentDept = deptService.getById(user.getDeptId()); + if(StrUtil.isBlank(currentDept.getPids()) || StrUtil.count(currentDept.getPids(),",") <= 1){ + // 顶级/受检单位 + if(ObjectUtil.isEmpty(companyId)){ + Dept userCompany = getUserCompany(); + if(userCompany.getPid() < 0){ + return deptService.list(null); + } + companyId = getUserCompany().getId(); + } + Long finalCompanyId = companyId; + return deptService.list(null).stream() + .filter(i->ObjectUtil.isNotEmpty(i.getPid()) && finalCompanyId.equals(i.getPid())) + .collect(Collectors.toList()); + }else if(StrUtil.count(currentDept.getPids(),",") == 2){ + // 连级 + return Collections.singletonList(currentDept); + }else if(StrUtil.count(currentDept.getPids(),",") == 3){ + // 分系统 + return Collections.singletonList(deptService.getById(currentDept.getPid())); + } + return null; + } @Override public List getAllCompanyList() { @@ -59,6 +88,7 @@ if(!ALL_TYPE.equals(dataScope.getScopeEnums())){ secondDepts = secondDepts.stream().filter(i->dataScope.getDeptIds().contains(i.getId())).collect(Collectors.toList()); } + secondDepts = secondDepts.stream().filter(i->ObjectUtil.isNotEmpty(i.getVersion()) && METERED_DEPT.equals(i.getVersion())).collect(Collectors.toList()); return secondDepts; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java index 5f3008c..6103000 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java @@ -53,21 +53,21 @@ } private void fillLocation(SystemLocation systemLocation) { - Long subSystemId = systemLocation.getSubSystemId(); - Dept subSystem = deptService.getById(subSystemId); - if(ObjectUtil.isEmpty(subSystem) || subSystem.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + Long chooseDeptId = systemLocation.getSubSystemId(); + Dept chooseDept = deptService.getById(chooseDeptId); + if(StrUtil.isBlank(chooseDept.getPids()) || StrUtil.count(chooseDept.getPids(),",") <= 1 || StrUtil.count(chooseDept.getPids(),",") > 3){ + throw new BusinessException(501,"请选择连队或分系统"); } - Dept dept = deptService.getById(subSystem.getPid()); - if(ObjectUtil.isEmpty(dept) || dept.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + if(StrUtil.count(chooseDept.getPids(),",") == 2){ + systemLocation.setSubSystemId(null); + systemLocation.setDeptId(chooseDeptId); + systemLocation.setCompanyId(chooseDept.getPid()); } - Dept company = deptService.getById(dept.getPid()); - if(ObjectUtil.isEmpty(company) || company.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + if(StrUtil.count(chooseDept.getPids(),",") == 3){ + systemLocation.setSubSystemId(chooseDeptId); + systemLocation.setDeptId(chooseDept.getPid()); + systemLocation.setCompanyId(deptService.getById(chooseDept.getPid()).getPid()); } - systemLocation.setDeptId(dept.getId()); - systemLocation.setCompanyId(company.getId()); } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java index 6015bd8..7bff524 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java @@ -52,21 +52,21 @@ } private void fillPosition(SystemPosition systemPosition) { - Long subSystemId = systemPosition.getSubSystemId(); - Dept subSystem = deptService.getById(subSystemId); - if(ObjectUtil.isEmpty(subSystem) || subSystem.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + Long chooseDeptId = systemPosition.getSubSystemId(); + Dept chooseDept = deptService.getById(chooseDeptId); + if(StrUtil.isBlank(chooseDept.getPids()) || StrUtil.count(chooseDept.getPids(),",") <= 1 || StrUtil.count(chooseDept.getPids(),",") > 3){ + throw new BusinessException(501,"请选择连队或分系统"); } - Dept dept = deptService.getById(subSystem.getPid()); - if(ObjectUtil.isEmpty(dept) || dept.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + if(StrUtil.count(chooseDept.getPids(),",") == 2){ + systemPosition.setSubSystemId(null); + systemPosition.setDeptId(chooseDeptId); + systemPosition.setCompanyId(chooseDept.getPid()); } - Dept company = deptService.getById(dept.getPid()); - if(ObjectUtil.isEmpty(company) || company.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + if(StrUtil.count(chooseDept.getPids(),",") == 3){ + systemPosition.setSubSystemId(chooseDeptId); + systemPosition.setDeptId(chooseDept.getPid()); + systemPosition.setCompanyId(deptService.getById(chooseDept.getPid()).getPid()); } - systemPosition.setDeptId(dept.getId()); - systemPosition.setCompanyId(company.getId()); } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/plan/IInspectionApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/plan/IInspectionApprovalService.java index b5a8a56..abbd428 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/plan/IInspectionApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/plan/IInspectionApprovalService.java @@ -21,4 +21,6 @@ InspectionApprovalForm detail(Long inspectionId); + String checkApproval(InspectionApprovalForm approvalForm); + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java index 1ab70c0..ffa1ffc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java @@ -6,10 +6,8 @@ * @Date: 2023/7/20 18:00 */ public interface DeptTypeEnum { - //管理部门 - String MANAGE_DEPT = "1"; - //业务部门 - String BIS_DEPT = "2"; - //检定部门 - String MEASURE_DEPT = "3"; + // 计量单位 + Integer METER_DEPT = 1; + // 受检单位 + Integer METERED_DEPT = 2; } diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml index 46a1c68..7043947 100644 --- a/casic-metering-dao/pom.xml +++ b/casic-metering-dao/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,7 +16,7 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index f4d9936..2d1390d 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -156,7 +156,6 @@ left join eqpt_equipment_task_relation r on e.id = r.equipment_id left join task_ext t on r.task_id = t.id left join latest_sample_relation lsr on lsr.sample_id = e.id - where e.certificate_valid is not null group by e.id,e.certificate_valid,a.remind_time,lsr.sample_status ) diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml index 748151c..ead9a9b 100644 --- a/casic-metering-eqpt-api/pom.xml +++ b/casic-metering-eqpt-api/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -18,13 +18,13 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-job - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java index c26f678..c8c3063 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.plan; +import cn.hutool.core.lang.Assert; import com.casic.missiles.controller.CommonApprovalController; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -7,6 +8,9 @@ import com.casic.missiles.dto.plan.InspectionQueryForm; import com.casic.missiles.dto.plan.PlanForm; import com.casic.missiles.dto.plan.PlanQueryForm; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BizBusinessOrderInfo; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.plan.InspectionApproval; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.service.plan.IInspectionApprovalService; @@ -15,8 +19,11 @@ 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; + @RestController @RequestMapping("/inspection") @Slf4j @@ -46,4 +53,10 @@ return ReturnUtil.success(info); } + @ApiOperation("设备检查") + @PostMapping("/check") + public ReturnDTO orderChcek(@RequestBody InspectionApprovalForm approvalForm) { + return ReturnUtil.success(service.checkApproval(approvalForm)); + } + } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java index 634ac7d..bbf23b9 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java @@ -41,6 +41,12 @@ return ReturnUtil.success(systemDeptService.getUserCompany()); } + @ApiOperation("获取所属部门") + @GetMapping("/userDeptList") + public ReturnDTO getCompanyId(Long companyId) { + return ReturnUtil.success(systemDeptService.getUserDeptList(companyId)); + } + @ApiOperation("获取所在单位列表") @GetMapping("/companyList") public ReturnDTO> companyList() { diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml index 6efd648..f50ab7e 100644 --- a/casic-metering-job/pom.xml +++ b/casic-metering-job/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -14,12 +14,12 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.github.oshi @@ -61,7 +61,7 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 compile diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml index 09c934a..00b91f1 100644 --- a/casic-metering-model/pom.xml +++ b/casic-metering-model/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java index 8f1c6a0..381fa37 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java @@ -60,6 +60,10 @@ @TableField(exist = false) private String sampleManufacturer; + @ApiModelProperty("出厂编号") + @TableField(exist = false) + private String sampleManufactureNo; + /** * 交接单id,避免重复交接(可为空) */ diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index 877d1c0..574c3fb 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,19 +16,19 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-common - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java index 596ab06..761223f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java @@ -8,6 +8,8 @@ import com.casic.missiles.dto.business.OrderListResponse; import com.casic.missiles.model.business.BizBusinessOrderInfo; +import java.util.List; + /** *

* 计量检定业务-任务单 服务类 @@ -30,5 +32,7 @@ String checkOrder(BizBusinessOrderInfo businessOrder); + String checkSamples(List sampleIds, Long orderId); + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java index 158cc4e..223c875 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java @@ -229,8 +229,8 @@ // 待检设备态势(未检定、检定中、已检完) List statistic = new ArrayList<>(); - statistic.add(new EquipmentCommonAggr("已超期", (int) list.stream().filter(i->i.getCertificateValid().before(new Date())).count())); - statistic.add(new EquipmentCommonAggr("未超期", (int) list.stream().filter(i->i.getCertificateValid().after(new Date())).count())); + statistic.add(new EquipmentCommonAggr("已超期", (int) list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCertificateValid()) && i.getCertificateValid().before(new Date())).count())); + statistic.add(new EquipmentCommonAggr("未超期", (int) list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCertificateValid()) && i.getCertificateValid().after(new Date())).count())); res.setStatistic(statistic); //受检单位/负责人排行榜;单位/部门列表 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java index fed732a..edd9d5b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java @@ -23,14 +23,18 @@ import com.casic.missiles.mapper.business.BusinessOrderListResponseMapper; import com.casic.missiles.model.business.BizBusinessOrderInfo; import com.casic.missiles.model.business.BizBusinessOrderSampleRelation; +import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.service.business.IBizBusinessOrderInfoService; import com.casic.missiles.service.business.IBizBusinessOrderSampleRelationService; +import com.casic.missiles.service.system.ISystemDeptService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -50,15 +54,30 @@ private final IBizBusinessOrderSampleRelationService sampleRelationService; private final BizBusinessOrderSampleRelationMapper sampleRelationMapper; private final AbstractPermissionContext permissionContext; + private final ISystemDeptService systemDeptService; @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { QueryWrapper wrapper = listParamWrapperBuilder(request); // 查找本单位提交的 - Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); - List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); - wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); +// Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); +// List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); +// wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); + + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + wrapper.in("dept_id",userDeptIds); + }else { + // userDeptIds为空 查询结果应为空 + return page; + } List list = orderListResponseMapper.listPage(page, wrapper); page.setRecords(list); @@ -75,7 +94,8 @@ DictCodeUtils.convertDictCodeToName(orderInfo); // todo 交接单编号列表,另需补充根据交接单编号打印pdf的接口 QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.select("*","(select manufacturer from eqpt_equipment_info e where e.id = sample_id) as sampleManufacturer"); + wrapper.select("*","(select manufacturer from eqpt_equipment_info e where e.id = sample_id) as sampleManufacturer" + ,"(select manufacture_no from eqpt_equipment_info e where e.id = sample_id) as sampleManufactureNo"); wrapper.eq("order_id", orderInfo.getId()); List orderSampleList = sampleRelationMapper.selectList(wrapper); for (BizBusinessOrderSampleRelation bizBusinessOrderSampleRelation : orderSampleList) { @@ -179,18 +199,25 @@ List sampleRelations = businessOrder.getCustomerSampleInfoList(); if(CollUtil.isNotEmpty(sampleRelations)){ List sampleIds = sampleRelations.stream().map(BizBusinessOrderSampleRelation::getSampleId).distinct().collect(Collectors.toList()); - List checkRes = this.baseMapper.checkSamples(sampleIds,businessOrder.getId()); - if(CollUtil.isNotEmpty(checkRes)){ - Map> map = checkRes.stream().collect(Collectors.groupingBy(OrderCheckDTO::getManufactureNo)); - StringBuilder stringBuilder = new StringBuilder(); - for (String manufactureNo : map.keySet()) { - List subRes = map.get(manufactureNo); - String orderNos = StrUtil.join(",",subRes.stream().map(OrderCheckDTO::getOrderNo).distinct().collect(Collectors.toList())); - stringBuilder.append(String.format("编号为%s的%s设备已在任务单%s中,",manufactureNo,subRes.get(0).getEquipmentName(),orderNos)); - } - stringBuilder.append("请确认是否继续提交"); - return stringBuilder.toString(); + return checkSamples(sampleIds,businessOrder.getId()); + } + + return null; + } + + @Override + public String checkSamples(List sampleIds, Long orderId) { + List checkRes = this.baseMapper.checkSamples(sampleIds, orderId); + if(CollUtil.isNotEmpty(checkRes)){ + Map> map = checkRes.stream().collect(Collectors.groupingBy(OrderCheckDTO::getManufactureNo)); + StringBuilder stringBuilder = new StringBuilder(); + for (String manufactureNo : map.keySet()) { + List subRes = map.get(manufactureNo); + String orderNos = StrUtil.join(",",subRes.stream().map(OrderCheckDTO::getOrderNo).distinct().collect(Collectors.toList())); + stringBuilder.append(String.format("编号为%s的%s设备已在任务单%s中,",manufactureNo,subRes.get(0).getEquipmentName(),orderNos)); } + stringBuilder.append("请确认是否继续提交"); + return stringBuilder.toString(); } return null; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java index c587261..f16c7b3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java @@ -54,6 +54,7 @@ import liquibase.pro.packaged.S; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; +import org.docx4j.wml.P; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -132,9 +133,7 @@ @Override public Page listPage(Page page, EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = commonQuery(queryForm); - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - dataScope.setScopeName("dept_id"); - List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); + List list = this.baseMapper.selectListPage(page, null, queryWrapper); list.forEach(this::warpEquipmentInfo); page.setRecords(list); return page; @@ -163,26 +162,14 @@ @Override public List list(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = commonQuery(queryForm); - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - dataScope.setScopeName("dept_id"); - List list = this.baseMapper.selectList(dataScope, queryWrapper); + List list = this.baseMapper.selectList(null, queryWrapper); list.forEach(this::warpEquipmentInfo); return list; } @Override public List groupByName(EquipmentQueryForm queryForm) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - if (!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())) { - List dataScopeDeptIds = dataScope.getDeptIds(); - if (ObjectUtil.isNull(queryForm.getDeptIds())) { - queryForm.setDeptIds(new ArrayList<>()); - } - queryForm.getDeptIds().addAll(dataScopeDeptIds); - } - QueryWrapper queryWrapper = commonQuery(queryForm); - queryWrapper.groupBy("equipment_name"); queryWrapper.select("equipment_name as 'equipmentName',count(*) as 'count'"); List> resMap = this.listMaps(queryWrapper); @@ -195,17 +182,23 @@ if (CollUtil.isNotEmpty(queryForm.getIds())) { queryWrapper.in("id", queryForm.getIds()); } else { - // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 - AuthUser authUser = permissionContext.getAuthService().getLoginUser(); - if(systemDeptService.isCompany(authUser.getDeptId())){ - List scopeDeptIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeDeptIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeDeptIds); - }else { - queryForm.setDeptId(authUser.getDeptId()); + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有连的;否则查当前用户所在连的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); } + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + queryWrapper.eq("0","1"); + } + queryWrapper.eq(ObjectUtil.isNotEmpty(queryForm.getDeptId()),"dept_id",queryForm.getDeptId()); queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); @@ -597,21 +590,43 @@ } private QueryWrapper remindQuery(EquipmentRemindQueryForm queryForm){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有连的;否则查当前用户所在连的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); + } + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + queryWrapper.eq("0","1"); + } + // 操作手仅能看到自己负责的设备信息,其余角色查看本组织结构下所有 AuthUser authUser = permissionContext.getAuthService().getLoginUser(); if(authUser.getRoleTips().contains(operatorRoleTip)){ queryForm.setDirectorId(authUser.getId()); - }else { - List scopeIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - scopeIds.add(authUser.getDeptId()); - if(CollUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeIds); } +// else { - QueryWrapper queryWrapper = new QueryWrapper<>(); +// List scopeIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); +// scopeIds.add(authUser.getDeptId()); +// if(CollUtil.isNotEmpty(queryForm.getDeptIds())){ +// scopeIds.retainAll(queryForm.getDeptIds()); +// } +// queryForm.setDeptIds(scopeIds); +// } + + + if (CollUtil.isNotEmpty(queryForm.getIds())) { queryWrapper.in("id", queryForm.getIds()); } else { @@ -651,7 +666,7 @@ } } queryWrapper.eq("is_del", 0); - queryWrapper.le("remind_valid",new Date()); + queryWrapper.and(i->i.le("remind_valid",new Date()).or().isNull("remind_valid")); return queryWrapper; } @@ -756,17 +771,21 @@ @Override public Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm) { // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 - AuthUser authUser = permissionContext.getAuthService().getLoginUser(); - if(systemDeptService.isCompany(authUser.getDeptId())){ - List scopeDeptIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeDeptIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeDeptIds); - }else { - queryForm.setDeptId(authUser.getDeptId()); + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); } - + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + return page; + } QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StrUtil.isNotEmpty(queryForm.getCertificateNo()), "c.certificate_report_no", queryForm.getCertificateNo()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java index aec2020..a5583b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java @@ -16,6 +16,7 @@ import com.casic.missiles.model.plan.InspectionEquipmentRelation; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.model.plan.PlanEquipmentRelation; +import com.casic.missiles.service.business.IBizBusinessOrderInfoService; import com.casic.missiles.service.impl.CommonApprovalServiceImpl; import com.casic.missiles.service.plan.IInspectionApprovalService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -49,6 +50,8 @@ private IInspectionEquipmentRelationService relationService; @Autowired private IPlanEquipmentRelationService planEquipmentRelationService; + @Autowired + private IBizBusinessOrderInfoService orderInfoService; @Override @Transactional @@ -124,4 +127,13 @@ public void setBizNo(InspectionApproval obj) { obj.setBizNo(obj.getApprovalNo()); } + + public String checkApproval(InspectionApprovalForm approvalForm){ + List equipmentRelations = approvalForm.getEquipmentList(); + if(CollUtil.isNotEmpty(equipmentRelations)){ + List equipmentIds = equipmentRelations.stream().map(InspectionEquipmentRelation::getEquipmentId).collect(Collectors.toList()); + return orderInfoService.checkSamples(equipmentIds,null); + } + return null; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java index 94c0faf..6011184 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java @@ -14,10 +14,13 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.stream.Collectors; import static com.casic.missiles.core.datascope.ScopeEnums.ALL_TYPE; +import static com.casic.missiles.enums.system.DeptTypeEnum.METERED_DEPT; @Service @RequiredArgsConstructor @@ -46,6 +49,32 @@ return deptService.getById(deptId); } + @Override + public List getUserDeptList(Long companyId) { + AuthUser user = permissionContext.getAuthService().getLoginUser(); + Dept currentDept = deptService.getById(user.getDeptId()); + if(StrUtil.isBlank(currentDept.getPids()) || StrUtil.count(currentDept.getPids(),",") <= 1){ + // 顶级/受检单位 + if(ObjectUtil.isEmpty(companyId)){ + Dept userCompany = getUserCompany(); + if(userCompany.getPid() < 0){ + return deptService.list(null); + } + companyId = getUserCompany().getId(); + } + Long finalCompanyId = companyId; + return deptService.list(null).stream() + .filter(i->ObjectUtil.isNotEmpty(i.getPid()) && finalCompanyId.equals(i.getPid())) + .collect(Collectors.toList()); + }else if(StrUtil.count(currentDept.getPids(),",") == 2){ + // 连级 + return Collections.singletonList(currentDept); + }else if(StrUtil.count(currentDept.getPids(),",") == 3){ + // 分系统 + return Collections.singletonList(deptService.getById(currentDept.getPid())); + } + return null; + } @Override public List getAllCompanyList() { @@ -59,6 +88,7 @@ if(!ALL_TYPE.equals(dataScope.getScopeEnums())){ secondDepts = secondDepts.stream().filter(i->dataScope.getDeptIds().contains(i.getId())).collect(Collectors.toList()); } + secondDepts = secondDepts.stream().filter(i->ObjectUtil.isNotEmpty(i.getVersion()) && METERED_DEPT.equals(i.getVersion())).collect(Collectors.toList()); return secondDepts; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java index 5f3008c..6103000 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java @@ -53,21 +53,21 @@ } private void fillLocation(SystemLocation systemLocation) { - Long subSystemId = systemLocation.getSubSystemId(); - Dept subSystem = deptService.getById(subSystemId); - if(ObjectUtil.isEmpty(subSystem) || subSystem.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + Long chooseDeptId = systemLocation.getSubSystemId(); + Dept chooseDept = deptService.getById(chooseDeptId); + if(StrUtil.isBlank(chooseDept.getPids()) || StrUtil.count(chooseDept.getPids(),",") <= 1 || StrUtil.count(chooseDept.getPids(),",") > 3){ + throw new BusinessException(501,"请选择连队或分系统"); } - Dept dept = deptService.getById(subSystem.getPid()); - if(ObjectUtil.isEmpty(dept) || dept.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + if(StrUtil.count(chooseDept.getPids(),",") == 2){ + systemLocation.setSubSystemId(null); + systemLocation.setDeptId(chooseDeptId); + systemLocation.setCompanyId(chooseDept.getPid()); } - Dept company = deptService.getById(dept.getPid()); - if(ObjectUtil.isEmpty(company) || company.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + if(StrUtil.count(chooseDept.getPids(),",") == 3){ + systemLocation.setSubSystemId(chooseDeptId); + systemLocation.setDeptId(chooseDept.getPid()); + systemLocation.setCompanyId(deptService.getById(chooseDept.getPid()).getPid()); } - systemLocation.setDeptId(dept.getId()); - systemLocation.setCompanyId(company.getId()); } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java index 6015bd8..7bff524 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java @@ -52,21 +52,21 @@ } private void fillPosition(SystemPosition systemPosition) { - Long subSystemId = systemPosition.getSubSystemId(); - Dept subSystem = deptService.getById(subSystemId); - if(ObjectUtil.isEmpty(subSystem) || subSystem.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + Long chooseDeptId = systemPosition.getSubSystemId(); + Dept chooseDept = deptService.getById(chooseDeptId); + if(StrUtil.isBlank(chooseDept.getPids()) || StrUtil.count(chooseDept.getPids(),",") <= 1 || StrUtil.count(chooseDept.getPids(),",") > 3){ + throw new BusinessException(501,"请选择连队或分系统"); } - Dept dept = deptService.getById(subSystem.getPid()); - if(ObjectUtil.isEmpty(dept) || dept.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + if(StrUtil.count(chooseDept.getPids(),",") == 2){ + systemPosition.setSubSystemId(null); + systemPosition.setDeptId(chooseDeptId); + systemPosition.setCompanyId(chooseDept.getPid()); } - Dept company = deptService.getById(dept.getPid()); - if(ObjectUtil.isEmpty(company) || company.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + if(StrUtil.count(chooseDept.getPids(),",") == 3){ + systemPosition.setSubSystemId(chooseDeptId); + systemPosition.setDeptId(chooseDept.getPid()); + systemPosition.setCompanyId(deptService.getById(chooseDept.getPid()).getPid()); } - systemPosition.setDeptId(dept.getId()); - systemPosition.setCompanyId(company.getId()); } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/plan/IInspectionApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/plan/IInspectionApprovalService.java index b5a8a56..abbd428 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/plan/IInspectionApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/plan/IInspectionApprovalService.java @@ -21,4 +21,6 @@ InspectionApprovalForm detail(Long inspectionId); + String checkApproval(InspectionApprovalForm approvalForm); + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemDeptService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemDeptService.java index 86a5bcb..6db70cd 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemDeptService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemDeptService.java @@ -8,12 +8,37 @@ public interface ISystemDeptService { + /** + * 获取用户所在单位(受检单位级别) + * @return 所在单位(顶级用户返回顶级) + */ Dept getUserCompany(); + /** + * 获取用户所属部门(连级) + * @param companyId 单位id + * @return 受检单位用户返回单位下的所有连,连级/分系统级 返回所在连 + */ + List getUserDeptList(Long companyId); + + /** + * 返回所有受检单位 + * @return 受检单位列表 + */ List getAllCompanyList(); + /** + * 判断单位是否是受检单位 + * @param deptId 单位id + * @return deptId是受检单位,返回true + */ boolean isCompany(Long deptId); + /** + * 根据pid返回下级部门 + * @param pid 父级单位id + * @return 所有下级部门 + */ List treeByDept(String pid); } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 7b7f3c7..43ce59e 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -17,12 +17,12 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.github.oshi diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java index 1ab70c0..ffa1ffc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/DeptTypeEnum.java @@ -6,10 +6,8 @@ * @Date: 2023/7/20 18:00 */ public interface DeptTypeEnum { - //管理部门 - String MANAGE_DEPT = "1"; - //业务部门 - String BIS_DEPT = "2"; - //检定部门 - String MEASURE_DEPT = "3"; + // 计量单位 + Integer METER_DEPT = 1; + // 受检单位 + Integer METERED_DEPT = 2; } diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml index 46a1c68..7043947 100644 --- a/casic-metering-dao/pom.xml +++ b/casic-metering-dao/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,7 +16,7 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml index f4d9936..2d1390d 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/EquipmentInfoMapper.xml @@ -156,7 +156,6 @@ left join eqpt_equipment_task_relation r on e.id = r.equipment_id left join task_ext t on r.task_id = t.id left join latest_sample_relation lsr on lsr.sample_id = e.id - where e.certificate_valid is not null group by e.id,e.certificate_valid,a.remind_time,lsr.sample_status ) diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml index 748151c..ead9a9b 100644 --- a/casic-metering-eqpt-api/pom.xml +++ b/casic-metering-eqpt-api/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -18,13 +18,13 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-job - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java index c26f678..c8c3063 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/plan/InspectionController.java @@ -1,5 +1,6 @@ package com.casic.missiles.controller.plan; +import cn.hutool.core.lang.Assert; import com.casic.missiles.controller.CommonApprovalController; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; @@ -7,6 +8,9 @@ import com.casic.missiles.dto.plan.InspectionQueryForm; import com.casic.missiles.dto.plan.PlanForm; import com.casic.missiles.dto.plan.PlanQueryForm; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.business.BizBusinessOrderInfo; +import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.plan.InspectionApproval; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.service.plan.IInspectionApprovalService; @@ -15,8 +19,11 @@ 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; + @RestController @RequestMapping("/inspection") @Slf4j @@ -46,4 +53,10 @@ return ReturnUtil.success(info); } + @ApiOperation("设备检查") + @PostMapping("/check") + public ReturnDTO orderChcek(@RequestBody InspectionApprovalForm approvalForm) { + return ReturnUtil.success(service.checkApproval(approvalForm)); + } + } diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java index 634ac7d..bbf23b9 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/system/SystemDeptController.java @@ -41,6 +41,12 @@ return ReturnUtil.success(systemDeptService.getUserCompany()); } + @ApiOperation("获取所属部门") + @GetMapping("/userDeptList") + public ReturnDTO getCompanyId(Long companyId) { + return ReturnUtil.success(systemDeptService.getUserDeptList(companyId)); + } + @ApiOperation("获取所在单位列表") @GetMapping("/companyList") public ReturnDTO> companyList() { diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml index 6efd648..f50ab7e 100644 --- a/casic-metering-job/pom.xml +++ b/casic-metering-job/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -14,12 +14,12 @@ com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.github.oshi @@ -61,7 +61,7 @@ com.casic casic-metering-service - 1.2.0.2 + 1.2.0.3 compile diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml index 09c934a..00b91f1 100644 --- a/casic-metering-model/pom.xml +++ b/casic-metering-model/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java index 8f1c6a0..381fa37 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOrderSampleRelation.java @@ -60,6 +60,10 @@ @TableField(exist = false) private String sampleManufacturer; + @ApiModelProperty("出厂编号") + @TableField(exist = false) + private String sampleManufactureNo; + /** * 交接单id,避免重复交接(可为空) */ diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml index 877d1c0..574c3fb 100644 --- a/casic-metering-service/pom.xml +++ b/casic-metering-service/pom.xml @@ -5,7 +5,7 @@ casic-metering-eqpt-xichang com.casic - 1.2.0.2 + 1.2.0.3 4.0.0 @@ -16,19 +16,19 @@ com.casic casic-metering-dao - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-model - 1.2.0.2 + 1.2.0.3 com.casic casic-metering-common - 1.2.0.2 + 1.2.0.3 org.springframework.boot diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java index 596ab06..761223f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOrderInfoService.java @@ -8,6 +8,8 @@ import com.casic.missiles.dto.business.OrderListResponse; import com.casic.missiles.model.business.BizBusinessOrderInfo; +import java.util.List; + /** *

* 计量检定业务-任务单 服务类 @@ -30,5 +32,7 @@ String checkOrder(BizBusinessOrderInfo businessOrder); + String checkSamples(List sampleIds, Long orderId); + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java index 158cc4e..223c875 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java @@ -229,8 +229,8 @@ // 待检设备态势(未检定、检定中、已检完) List statistic = new ArrayList<>(); - statistic.add(new EquipmentCommonAggr("已超期", (int) list.stream().filter(i->i.getCertificateValid().before(new Date())).count())); - statistic.add(new EquipmentCommonAggr("未超期", (int) list.stream().filter(i->i.getCertificateValid().after(new Date())).count())); + statistic.add(new EquipmentCommonAggr("已超期", (int) list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCertificateValid()) && i.getCertificateValid().before(new Date())).count())); + statistic.add(new EquipmentCommonAggr("未超期", (int) list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCertificateValid()) && i.getCertificateValid().after(new Date())).count())); res.setStatistic(statistic); //受检单位/负责人排行榜;单位/部门列表 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java index fed732a..edd9d5b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOrderInfoServiceImpl.java @@ -23,14 +23,18 @@ import com.casic.missiles.mapper.business.BusinessOrderListResponseMapper; import com.casic.missiles.model.business.BizBusinessOrderInfo; import com.casic.missiles.model.business.BizBusinessOrderSampleRelation; +import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.service.business.IBizBusinessOrderInfoService; import com.casic.missiles.service.business.IBizBusinessOrderSampleRelationService; +import com.casic.missiles.service.system.ISystemDeptService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -50,15 +54,30 @@ private final IBizBusinessOrderSampleRelationService sampleRelationService; private final BizBusinessOrderSampleRelationMapper sampleRelationMapper; private final AbstractPermissionContext permissionContext; + private final ISystemDeptService systemDeptService; @Override public Page orderListPage(Page page, OrderListRequest request) throws Exception { QueryWrapper wrapper = listParamWrapperBuilder(request); // 查找本单位提交的 - Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); - List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); - wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); +// Long deptId = permissionContext.getAuthService().getLoginUser().getDeptId(); +// List parentDeptIds = permissionContext.getDeptService().getParentListById(deptId); +// wrapper.and(i->i.eq("customer_id",deptId).or().in(CollUtil.isNotEmpty(parentDeptIds),"customer_id",parentDeptIds)); + + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + wrapper.in("dept_id",userDeptIds); + }else { + // userDeptIds为空 查询结果应为空 + return page; + } List list = orderListResponseMapper.listPage(page, wrapper); page.setRecords(list); @@ -75,7 +94,8 @@ DictCodeUtils.convertDictCodeToName(orderInfo); // todo 交接单编号列表,另需补充根据交接单编号打印pdf的接口 QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.select("*","(select manufacturer from eqpt_equipment_info e where e.id = sample_id) as sampleManufacturer"); + wrapper.select("*","(select manufacturer from eqpt_equipment_info e where e.id = sample_id) as sampleManufacturer" + ,"(select manufacture_no from eqpt_equipment_info e where e.id = sample_id) as sampleManufactureNo"); wrapper.eq("order_id", orderInfo.getId()); List orderSampleList = sampleRelationMapper.selectList(wrapper); for (BizBusinessOrderSampleRelation bizBusinessOrderSampleRelation : orderSampleList) { @@ -179,18 +199,25 @@ List sampleRelations = businessOrder.getCustomerSampleInfoList(); if(CollUtil.isNotEmpty(sampleRelations)){ List sampleIds = sampleRelations.stream().map(BizBusinessOrderSampleRelation::getSampleId).distinct().collect(Collectors.toList()); - List checkRes = this.baseMapper.checkSamples(sampleIds,businessOrder.getId()); - if(CollUtil.isNotEmpty(checkRes)){ - Map> map = checkRes.stream().collect(Collectors.groupingBy(OrderCheckDTO::getManufactureNo)); - StringBuilder stringBuilder = new StringBuilder(); - for (String manufactureNo : map.keySet()) { - List subRes = map.get(manufactureNo); - String orderNos = StrUtil.join(",",subRes.stream().map(OrderCheckDTO::getOrderNo).distinct().collect(Collectors.toList())); - stringBuilder.append(String.format("编号为%s的%s设备已在任务单%s中,",manufactureNo,subRes.get(0).getEquipmentName(),orderNos)); - } - stringBuilder.append("请确认是否继续提交"); - return stringBuilder.toString(); + return checkSamples(sampleIds,businessOrder.getId()); + } + + return null; + } + + @Override + public String checkSamples(List sampleIds, Long orderId) { + List checkRes = this.baseMapper.checkSamples(sampleIds, orderId); + if(CollUtil.isNotEmpty(checkRes)){ + Map> map = checkRes.stream().collect(Collectors.groupingBy(OrderCheckDTO::getManufactureNo)); + StringBuilder stringBuilder = new StringBuilder(); + for (String manufactureNo : map.keySet()) { + List subRes = map.get(manufactureNo); + String orderNos = StrUtil.join(",",subRes.stream().map(OrderCheckDTO::getOrderNo).distinct().collect(Collectors.toList())); + stringBuilder.append(String.format("编号为%s的%s设备已在任务单%s中,",manufactureNo,subRes.get(0).getEquipmentName(),orderNos)); } + stringBuilder.append("请确认是否继续提交"); + return stringBuilder.toString(); } return null; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java index c587261..f16c7b3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java @@ -54,6 +54,7 @@ import liquibase.pro.packaged.S; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; +import org.docx4j.wml.P; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -132,9 +133,7 @@ @Override public Page listPage(Page page, EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = commonQuery(queryForm); - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - dataScope.setScopeName("dept_id"); - List list = this.baseMapper.selectListPage(page, dataScope, queryWrapper); + List list = this.baseMapper.selectListPage(page, null, queryWrapper); list.forEach(this::warpEquipmentInfo); page.setRecords(list); return page; @@ -163,26 +162,14 @@ @Override public List list(EquipmentQueryForm queryForm) { QueryWrapper queryWrapper = commonQuery(queryForm); - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - dataScope.setScopeName("dept_id"); - List list = this.baseMapper.selectList(dataScope, queryWrapper); + List list = this.baseMapper.selectList(null, queryWrapper); list.forEach(this::warpEquipmentInfo); return list; } @Override public List groupByName(EquipmentQueryForm queryForm) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); - if (!ScopeEnums.ALL_TYPE.equals(dataScope.getScopeEnums())) { - List dataScopeDeptIds = dataScope.getDeptIds(); - if (ObjectUtil.isNull(queryForm.getDeptIds())) { - queryForm.setDeptIds(new ArrayList<>()); - } - queryForm.getDeptIds().addAll(dataScopeDeptIds); - } - QueryWrapper queryWrapper = commonQuery(queryForm); - queryWrapper.groupBy("equipment_name"); queryWrapper.select("equipment_name as 'equipmentName',count(*) as 'count'"); List> resMap = this.listMaps(queryWrapper); @@ -195,17 +182,23 @@ if (CollUtil.isNotEmpty(queryForm.getIds())) { queryWrapper.in("id", queryForm.getIds()); } else { - // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 - AuthUser authUser = permissionContext.getAuthService().getLoginUser(); - if(systemDeptService.isCompany(authUser.getDeptId())){ - List scopeDeptIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeDeptIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeDeptIds); - }else { - queryForm.setDeptId(authUser.getDeptId()); + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有连的;否则查当前用户所在连的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); } + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + queryWrapper.eq("0","1"); + } + queryWrapper.eq(ObjectUtil.isNotEmpty(queryForm.getDeptId()),"dept_id",queryForm.getDeptId()); queryWrapper.in(CollUtil.isNotEmpty(queryForm.getDeptIds()), "dept_id", queryForm.getDeptIds()); @@ -597,21 +590,43 @@ } private QueryWrapper remindQuery(EquipmentRemindQueryForm queryForm){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + + // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有连的;否则查当前用户所在连的 + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); + } + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + queryWrapper.eq("0","1"); + } + // 操作手仅能看到自己负责的设备信息,其余角色查看本组织结构下所有 AuthUser authUser = permissionContext.getAuthService().getLoginUser(); if(authUser.getRoleTips().contains(operatorRoleTip)){ queryForm.setDirectorId(authUser.getId()); - }else { - List scopeIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - scopeIds.add(authUser.getDeptId()); - if(CollUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeIds); } +// else { - QueryWrapper queryWrapper = new QueryWrapper<>(); +// List scopeIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); +// scopeIds.add(authUser.getDeptId()); +// if(CollUtil.isNotEmpty(queryForm.getDeptIds())){ +// scopeIds.retainAll(queryForm.getDeptIds()); +// } +// queryForm.setDeptIds(scopeIds); +// } + + + if (CollUtil.isNotEmpty(queryForm.getIds())) { queryWrapper.in("id", queryForm.getIds()); } else { @@ -651,7 +666,7 @@ } } queryWrapper.eq("is_del", 0); - queryWrapper.le("remind_valid",new Date()); + queryWrapper.and(i->i.le("remind_valid",new Date()).or().isNull("remind_valid")); return queryWrapper; } @@ -756,17 +771,21 @@ @Override public Page certificateListPage(Page page, EquipmentCertificateQueryForm queryForm) { // 如果当前用户所在组织机构 的级别是受检单位,查本单位下所有部门的;否则查当前用户所在部门的 - AuthUser authUser = permissionContext.getAuthService().getLoginUser(); - if(systemDeptService.isCompany(authUser.getDeptId())){ - List scopeDeptIds = permissionContext.getDeptService().getIdsByPid(authUser.getDeptId(),null); - if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ - scopeDeptIds.retainAll(queryForm.getDeptIds()); - } - queryForm.setDeptIds(scopeDeptIds); - }else { - queryForm.setDeptId(authUser.getDeptId()); + List userDeptList = systemDeptService.getUserDeptList(null); + List userDeptIds = new ArrayList<>(); + if(ObjectUtil.isNotEmpty(userDeptList)) { + userDeptIds.add(permissionContext.getAuthService().getLoginUser().getDeptId()); + userDeptIds = userDeptList.stream().map(Dept::getId).collect(Collectors.toList()); } - + if(ObjectUtil.isNotEmpty(queryForm.getDeptIds())){ + userDeptIds.retainAll(queryForm.getDeptIds()); + } + if(ObjectUtil.isNotEmpty(userDeptIds)){ + queryForm.setDeptIds(userDeptIds); + }else { + // userDeptIds 查询结果应为空 + return page; + } QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StrUtil.isNotEmpty(queryForm.getCertificateNo()), "c.certificate_report_no", queryForm.getCertificateNo()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java index aec2020..a5583b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/plan/InspectionApprovalServiceImpl.java @@ -16,6 +16,7 @@ import com.casic.missiles.model.plan.InspectionEquipmentRelation; import com.casic.missiles.model.plan.Plan; import com.casic.missiles.model.plan.PlanEquipmentRelation; +import com.casic.missiles.service.business.IBizBusinessOrderInfoService; import com.casic.missiles.service.impl.CommonApprovalServiceImpl; import com.casic.missiles.service.plan.IInspectionApprovalService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -49,6 +50,8 @@ private IInspectionEquipmentRelationService relationService; @Autowired private IPlanEquipmentRelationService planEquipmentRelationService; + @Autowired + private IBizBusinessOrderInfoService orderInfoService; @Override @Transactional @@ -124,4 +127,13 @@ public void setBizNo(InspectionApproval obj) { obj.setBizNo(obj.getApprovalNo()); } + + public String checkApproval(InspectionApprovalForm approvalForm){ + List equipmentRelations = approvalForm.getEquipmentList(); + if(CollUtil.isNotEmpty(equipmentRelations)){ + List equipmentIds = equipmentRelations.stream().map(InspectionEquipmentRelation::getEquipmentId).collect(Collectors.toList()); + return orderInfoService.checkSamples(equipmentIds,null); + } + return null; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java index 94c0faf..6011184 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemDeptServiceImpl.java @@ -14,10 +14,13 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.stream.Collectors; import static com.casic.missiles.core.datascope.ScopeEnums.ALL_TYPE; +import static com.casic.missiles.enums.system.DeptTypeEnum.METERED_DEPT; @Service @RequiredArgsConstructor @@ -46,6 +49,32 @@ return deptService.getById(deptId); } + @Override + public List getUserDeptList(Long companyId) { + AuthUser user = permissionContext.getAuthService().getLoginUser(); + Dept currentDept = deptService.getById(user.getDeptId()); + if(StrUtil.isBlank(currentDept.getPids()) || StrUtil.count(currentDept.getPids(),",") <= 1){ + // 顶级/受检单位 + if(ObjectUtil.isEmpty(companyId)){ + Dept userCompany = getUserCompany(); + if(userCompany.getPid() < 0){ + return deptService.list(null); + } + companyId = getUserCompany().getId(); + } + Long finalCompanyId = companyId; + return deptService.list(null).stream() + .filter(i->ObjectUtil.isNotEmpty(i.getPid()) && finalCompanyId.equals(i.getPid())) + .collect(Collectors.toList()); + }else if(StrUtil.count(currentDept.getPids(),",") == 2){ + // 连级 + return Collections.singletonList(currentDept); + }else if(StrUtil.count(currentDept.getPids(),",") == 3){ + // 分系统 + return Collections.singletonList(deptService.getById(currentDept.getPid())); + } + return null; + } @Override public List getAllCompanyList() { @@ -59,6 +88,7 @@ if(!ALL_TYPE.equals(dataScope.getScopeEnums())){ secondDepts = secondDepts.stream().filter(i->dataScope.getDeptIds().contains(i.getId())).collect(Collectors.toList()); } + secondDepts = secondDepts.stream().filter(i->ObjectUtil.isNotEmpty(i.getVersion()) && METERED_DEPT.equals(i.getVersion())).collect(Collectors.toList()); return secondDepts; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java index 5f3008c..6103000 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemLocationServiceImpl.java @@ -53,21 +53,21 @@ } private void fillLocation(SystemLocation systemLocation) { - Long subSystemId = systemLocation.getSubSystemId(); - Dept subSystem = deptService.getById(subSystemId); - if(ObjectUtil.isEmpty(subSystem) || subSystem.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + Long chooseDeptId = systemLocation.getSubSystemId(); + Dept chooseDept = deptService.getById(chooseDeptId); + if(StrUtil.isBlank(chooseDept.getPids()) || StrUtil.count(chooseDept.getPids(),",") <= 1 || StrUtil.count(chooseDept.getPids(),",") > 3){ + throw new BusinessException(501,"请选择连队或分系统"); } - Dept dept = deptService.getById(subSystem.getPid()); - if(ObjectUtil.isEmpty(dept) || dept.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + if(StrUtil.count(chooseDept.getPids(),",") == 2){ + systemLocation.setSubSystemId(null); + systemLocation.setDeptId(chooseDeptId); + systemLocation.setCompanyId(chooseDept.getPid()); } - Dept company = deptService.getById(dept.getPid()); - if(ObjectUtil.isEmpty(company) || company.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + if(StrUtil.count(chooseDept.getPids(),",") == 3){ + systemLocation.setSubSystemId(chooseDeptId); + systemLocation.setDeptId(chooseDept.getPid()); + systemLocation.setCompanyId(deptService.getById(chooseDept.getPid()).getPid()); } - systemLocation.setDeptId(dept.getId()); - systemLocation.setCompanyId(company.getId()); } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java index 6015bd8..7bff524 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/system/SystemPositionServiceImpl.java @@ -52,21 +52,21 @@ } private void fillPosition(SystemPosition systemPosition) { - Long subSystemId = systemPosition.getSubSystemId(); - Dept subSystem = deptService.getById(subSystemId); - if(ObjectUtil.isEmpty(subSystem) || subSystem.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + Long chooseDeptId = systemPosition.getSubSystemId(); + Dept chooseDept = deptService.getById(chooseDeptId); + if(StrUtil.isBlank(chooseDept.getPids()) || StrUtil.count(chooseDept.getPids(),",") <= 1 || StrUtil.count(chooseDept.getPids(),",") > 3){ + throw new BusinessException(501,"请选择连队或分系统"); } - Dept dept = deptService.getById(subSystem.getPid()); - if(ObjectUtil.isEmpty(dept) || dept.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + if(StrUtil.count(chooseDept.getPids(),",") == 2){ + systemPosition.setSubSystemId(null); + systemPosition.setDeptId(chooseDeptId); + systemPosition.setCompanyId(chooseDept.getPid()); } - Dept company = deptService.getById(dept.getPid()); - if(ObjectUtil.isEmpty(company) || company.getId() <= 0){ - throw new BusinessException(501,"必须选择到分系统"); + if(StrUtil.count(chooseDept.getPids(),",") == 3){ + systemPosition.setSubSystemId(chooseDeptId); + systemPosition.setDeptId(chooseDept.getPid()); + systemPosition.setCompanyId(deptService.getById(chooseDept.getPid()).getPid()); } - systemPosition.setDeptId(dept.getId()); - systemPosition.setCompanyId(company.getId()); } @Override diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/plan/IInspectionApprovalService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/plan/IInspectionApprovalService.java index b5a8a56..abbd428 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/plan/IInspectionApprovalService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/plan/IInspectionApprovalService.java @@ -21,4 +21,6 @@ InspectionApprovalForm detail(Long inspectionId); + String checkApproval(InspectionApprovalForm approvalForm); + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemDeptService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemDeptService.java index 86a5bcb..6db70cd 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemDeptService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemDeptService.java @@ -8,12 +8,37 @@ public interface ISystemDeptService { + /** + * 获取用户所在单位(受检单位级别) + * @return 所在单位(顶级用户返回顶级) + */ Dept getUserCompany(); + /** + * 获取用户所属部门(连级) + * @param companyId 单位id + * @return 受检单位用户返回单位下的所有连,连级/分系统级 返回所在连 + */ + List getUserDeptList(Long companyId); + + /** + * 返回所有受检单位 + * @return 受检单位列表 + */ List getAllCompanyList(); + /** + * 判断单位是否是受检单位 + * @param deptId 单位id + * @return deptId是受检单位,返回true + */ boolean isCompany(Long deptId); + /** + * 根据pid返回下级部门 + * @param pid 父级单位id + * @return 所有下级部门 + */ List treeByDept(String pid); } diff --git a/pom.xml b/pom.xml index 5e6743b..e3598ec 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.casic casic-metering-eqpt-xichang - 1.2.0.2 + 1.2.0.3 casic-metering-eqpt-xichang pom