diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java new file mode 100644 index 0000000..bcab0bf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java @@ -0,0 +1,39 @@ +package com.casic.missiles.enums.business; + +public enum MessageTypeEnum { + + STAFF_CERT("1", "检定员证书到期提醒"), + EQUIPMENT("2", "设备有效期提醒"), + STANDARD_EQUIPMENT("3", "装置有效期提醒"), + OVERTIME_MEASURE("4", "受检设备检定超期提醒"), + CHECK("5", "核查提醒"), + WEEK_MAINTAIN("6", "周维护"), + MONTH_MAINTAIN("7", "月保养"), + TRAINING_NOTICE("8", "培训签到通知"), + WORKBENCH_REMIND_ORDER("9", "工作台任务单设备超期提醒"), + WORKBENCH_REMIND_EQUIPMENT("10", "工作台设备超期提醒"), + WORKBENCH_REMIND_STANDARD("11", "工作台标准装置超期提醒"), + WORKBENCH_REMIND_STAFF("12", "工作台人员证书超期提醒"), + WORKBENCH_REMIND_CONSUMER("13", "工作台委托方意见登记提醒"), + STANDARD_BUILD_APPROVAL("14", "建标审批通过提醒"), + WORKBENCH_REMIND_NOVELTY_SEARCH("15", "测试校准检定方法查新提醒"), + WORKBENCH_REMIND_FILE_GRANT("16", "文件发放通知提醒"), + WORKBENCH_CUSTOMER_QUESTIONNAIRE("17", "委托方满意度调查表"); + + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java new file mode 100644 index 0000000..bcab0bf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java @@ -0,0 +1,39 @@ +package com.casic.missiles.enums.business; + +public enum MessageTypeEnum { + + STAFF_CERT("1", "检定员证书到期提醒"), + EQUIPMENT("2", "设备有效期提醒"), + STANDARD_EQUIPMENT("3", "装置有效期提醒"), + OVERTIME_MEASURE("4", "受检设备检定超期提醒"), + CHECK("5", "核查提醒"), + WEEK_MAINTAIN("6", "周维护"), + MONTH_MAINTAIN("7", "月保养"), + TRAINING_NOTICE("8", "培训签到通知"), + WORKBENCH_REMIND_ORDER("9", "工作台任务单设备超期提醒"), + WORKBENCH_REMIND_EQUIPMENT("10", "工作台设备超期提醒"), + WORKBENCH_REMIND_STANDARD("11", "工作台标准装置超期提醒"), + WORKBENCH_REMIND_STAFF("12", "工作台人员证书超期提醒"), + WORKBENCH_REMIND_CONSUMER("13", "工作台委托方意见登记提醒"), + STANDARD_BUILD_APPROVAL("14", "建标审批通过提醒"), + WORKBENCH_REMIND_NOVELTY_SEARCH("15", "测试校准检定方法查新提醒"), + WORKBENCH_REMIND_FILE_GRANT("16", "文件发放通知提醒"), + WORKBENCH_CUSTOMER_QUESTIONNAIRE("17", "委托方满意度调查表"); + + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java new file mode 100644 index 0000000..475ee1d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface BizBusinessOutsourceAssessSampleRelationMapper extends BaseMapper { + + List selectListByAssessId(@Param("assessId") Long assessId); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java new file mode 100644 index 0000000..bcab0bf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java @@ -0,0 +1,39 @@ +package com.casic.missiles.enums.business; + +public enum MessageTypeEnum { + + STAFF_CERT("1", "检定员证书到期提醒"), + EQUIPMENT("2", "设备有效期提醒"), + STANDARD_EQUIPMENT("3", "装置有效期提醒"), + OVERTIME_MEASURE("4", "受检设备检定超期提醒"), + CHECK("5", "核查提醒"), + WEEK_MAINTAIN("6", "周维护"), + MONTH_MAINTAIN("7", "月保养"), + TRAINING_NOTICE("8", "培训签到通知"), + WORKBENCH_REMIND_ORDER("9", "工作台任务单设备超期提醒"), + WORKBENCH_REMIND_EQUIPMENT("10", "工作台设备超期提醒"), + WORKBENCH_REMIND_STANDARD("11", "工作台标准装置超期提醒"), + WORKBENCH_REMIND_STAFF("12", "工作台人员证书超期提醒"), + WORKBENCH_REMIND_CONSUMER("13", "工作台委托方意见登记提醒"), + STANDARD_BUILD_APPROVAL("14", "建标审批通过提醒"), + WORKBENCH_REMIND_NOVELTY_SEARCH("15", "测试校准检定方法查新提醒"), + WORKBENCH_REMIND_FILE_GRANT("16", "文件发放通知提醒"), + WORKBENCH_CUSTOMER_QUESTIONNAIRE("17", "委托方满意度调查表"); + + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java new file mode 100644 index 0000000..475ee1d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface BizBusinessOutsourceAssessSampleRelationMapper extends BaseMapper { + + List selectListByAssessId(@Param("assessId") Long assessId); + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java new file mode 100644 index 0000000..6f9c9c3 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.model.business.BizLabRelDept; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 业务编码关联组织机构 Mapper 接口 + *

+ * + * @author lwh + * @date 2023-10-21 + */ +public interface BizLabRelDeptMapper extends BaseMapper { + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java new file mode 100644 index 0000000..bcab0bf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java @@ -0,0 +1,39 @@ +package com.casic.missiles.enums.business; + +public enum MessageTypeEnum { + + STAFF_CERT("1", "检定员证书到期提醒"), + EQUIPMENT("2", "设备有效期提醒"), + STANDARD_EQUIPMENT("3", "装置有效期提醒"), + OVERTIME_MEASURE("4", "受检设备检定超期提醒"), + CHECK("5", "核查提醒"), + WEEK_MAINTAIN("6", "周维护"), + MONTH_MAINTAIN("7", "月保养"), + TRAINING_NOTICE("8", "培训签到通知"), + WORKBENCH_REMIND_ORDER("9", "工作台任务单设备超期提醒"), + WORKBENCH_REMIND_EQUIPMENT("10", "工作台设备超期提醒"), + WORKBENCH_REMIND_STANDARD("11", "工作台标准装置超期提醒"), + WORKBENCH_REMIND_STAFF("12", "工作台人员证书超期提醒"), + WORKBENCH_REMIND_CONSUMER("13", "工作台委托方意见登记提醒"), + STANDARD_BUILD_APPROVAL("14", "建标审批通过提醒"), + WORKBENCH_REMIND_NOVELTY_SEARCH("15", "测试校准检定方法查新提醒"), + WORKBENCH_REMIND_FILE_GRANT("16", "文件发放通知提醒"), + WORKBENCH_CUSTOMER_QUESTIONNAIRE("17", "委托方满意度调查表"); + + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java new file mode 100644 index 0000000..475ee1d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface BizBusinessOutsourceAssessSampleRelationMapper extends BaseMapper { + + List selectListByAssessId(@Param("assessId") Long assessId); + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java new file mode 100644 index 0000000..6f9c9c3 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.model.business.BizLabRelDept; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 业务编码关联组织机构 Mapper 接口 + *

+ * + * @author lwh + * @date 2023-10-21 + */ +public interface BizLabRelDeptMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java new file mode 100644 index 0000000..90e1e9e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.WorkbenchRemindMessage; + +/** + *

+ * 所有业务消息提醒 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +public interface WorkbenchRemindMessageMapper extends BaseMapper { + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java new file mode 100644 index 0000000..bcab0bf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java @@ -0,0 +1,39 @@ +package com.casic.missiles.enums.business; + +public enum MessageTypeEnum { + + STAFF_CERT("1", "检定员证书到期提醒"), + EQUIPMENT("2", "设备有效期提醒"), + STANDARD_EQUIPMENT("3", "装置有效期提醒"), + OVERTIME_MEASURE("4", "受检设备检定超期提醒"), + CHECK("5", "核查提醒"), + WEEK_MAINTAIN("6", "周维护"), + MONTH_MAINTAIN("7", "月保养"), + TRAINING_NOTICE("8", "培训签到通知"), + WORKBENCH_REMIND_ORDER("9", "工作台任务单设备超期提醒"), + WORKBENCH_REMIND_EQUIPMENT("10", "工作台设备超期提醒"), + WORKBENCH_REMIND_STANDARD("11", "工作台标准装置超期提醒"), + WORKBENCH_REMIND_STAFF("12", "工作台人员证书超期提醒"), + WORKBENCH_REMIND_CONSUMER("13", "工作台委托方意见登记提醒"), + STANDARD_BUILD_APPROVAL("14", "建标审批通过提醒"), + WORKBENCH_REMIND_NOVELTY_SEARCH("15", "测试校准检定方法查新提醒"), + WORKBENCH_REMIND_FILE_GRANT("16", "文件发放通知提醒"), + WORKBENCH_CUSTOMER_QUESTIONNAIRE("17", "委托方满意度调查表"); + + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java new file mode 100644 index 0000000..475ee1d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface BizBusinessOutsourceAssessSampleRelationMapper extends BaseMapper { + + List selectListByAssessId(@Param("assessId") Long assessId); + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java new file mode 100644 index 0000000..6f9c9c3 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.model.business.BizLabRelDept; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 业务编码关联组织机构 Mapper 接口 + *

+ * + * @author lwh + * @date 2023-10-21 + */ +public interface BizLabRelDeptMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java new file mode 100644 index 0000000..90e1e9e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.WorkbenchRemindMessage; + +/** + *

+ * 所有业务消息提醒 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +public interface WorkbenchRemindMessageMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java index 575f57d..4be77ce 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java @@ -10,8 +10,8 @@ @Select(" SELECT minio_file_name " + " FROM ${tableName} " + - " WHERE id =#{id}" + - " AND is_del=0 ") + " WHERE id =#{id} " + + " AND STATUS='1' ") String getSignFileSealById(@Param("id") Long id, @Param("tableName") String tableName); @Select(" SELECT minio_file_name " + diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java new file mode 100644 index 0000000..bcab0bf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java @@ -0,0 +1,39 @@ +package com.casic.missiles.enums.business; + +public enum MessageTypeEnum { + + STAFF_CERT("1", "检定员证书到期提醒"), + EQUIPMENT("2", "设备有效期提醒"), + STANDARD_EQUIPMENT("3", "装置有效期提醒"), + OVERTIME_MEASURE("4", "受检设备检定超期提醒"), + CHECK("5", "核查提醒"), + WEEK_MAINTAIN("6", "周维护"), + MONTH_MAINTAIN("7", "月保养"), + TRAINING_NOTICE("8", "培训签到通知"), + WORKBENCH_REMIND_ORDER("9", "工作台任务单设备超期提醒"), + WORKBENCH_REMIND_EQUIPMENT("10", "工作台设备超期提醒"), + WORKBENCH_REMIND_STANDARD("11", "工作台标准装置超期提醒"), + WORKBENCH_REMIND_STAFF("12", "工作台人员证书超期提醒"), + WORKBENCH_REMIND_CONSUMER("13", "工作台委托方意见登记提醒"), + STANDARD_BUILD_APPROVAL("14", "建标审批通过提醒"), + WORKBENCH_REMIND_NOVELTY_SEARCH("15", "测试校准检定方法查新提醒"), + WORKBENCH_REMIND_FILE_GRANT("16", "文件发放通知提醒"), + WORKBENCH_CUSTOMER_QUESTIONNAIRE("17", "委托方满意度调查表"); + + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java new file mode 100644 index 0000000..475ee1d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface BizBusinessOutsourceAssessSampleRelationMapper extends BaseMapper { + + List selectListByAssessId(@Param("assessId") Long assessId); + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java new file mode 100644 index 0000000..6f9c9c3 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.model.business.BizLabRelDept; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 业务编码关联组织机构 Mapper 接口 + *

+ * + * @author lwh + * @date 2023-10-21 + */ +public interface BizLabRelDeptMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java new file mode 100644 index 0000000..90e1e9e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.WorkbenchRemindMessage; + +/** + *

+ * 所有业务消息提醒 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +public interface WorkbenchRemindMessageMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java index 575f57d..4be77ce 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java @@ -10,8 +10,8 @@ @Select(" SELECT minio_file_name " + " FROM ${tableName} " + - " WHERE id =#{id}" + - " AND is_del=0 ") + " WHERE id =#{id} " + + " AND STATUS='1' ") String getSignFileSealById(@Param("id") Long id, @Param("tableName") String tableName); @Select(" SELECT minio_file_name " + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml new file mode 100644 index 0000000..fb4f2bf --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + id, access_id, sample_id, order_id, create_time, update_time + + + + + diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java new file mode 100644 index 0000000..bcab0bf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java @@ -0,0 +1,39 @@ +package com.casic.missiles.enums.business; + +public enum MessageTypeEnum { + + STAFF_CERT("1", "检定员证书到期提醒"), + EQUIPMENT("2", "设备有效期提醒"), + STANDARD_EQUIPMENT("3", "装置有效期提醒"), + OVERTIME_MEASURE("4", "受检设备检定超期提醒"), + CHECK("5", "核查提醒"), + WEEK_MAINTAIN("6", "周维护"), + MONTH_MAINTAIN("7", "月保养"), + TRAINING_NOTICE("8", "培训签到通知"), + WORKBENCH_REMIND_ORDER("9", "工作台任务单设备超期提醒"), + WORKBENCH_REMIND_EQUIPMENT("10", "工作台设备超期提醒"), + WORKBENCH_REMIND_STANDARD("11", "工作台标准装置超期提醒"), + WORKBENCH_REMIND_STAFF("12", "工作台人员证书超期提醒"), + WORKBENCH_REMIND_CONSUMER("13", "工作台委托方意见登记提醒"), + STANDARD_BUILD_APPROVAL("14", "建标审批通过提醒"), + WORKBENCH_REMIND_NOVELTY_SEARCH("15", "测试校准检定方法查新提醒"), + WORKBENCH_REMIND_FILE_GRANT("16", "文件发放通知提醒"), + WORKBENCH_CUSTOMER_QUESTIONNAIRE("17", "委托方满意度调查表"); + + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java new file mode 100644 index 0000000..475ee1d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface BizBusinessOutsourceAssessSampleRelationMapper extends BaseMapper { + + List selectListByAssessId(@Param("assessId") Long assessId); + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java new file mode 100644 index 0000000..6f9c9c3 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.model.business.BizLabRelDept; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 业务编码关联组织机构 Mapper 接口 + *

+ * + * @author lwh + * @date 2023-10-21 + */ +public interface BizLabRelDeptMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java new file mode 100644 index 0000000..90e1e9e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.WorkbenchRemindMessage; + +/** + *

+ * 所有业务消息提醒 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +public interface WorkbenchRemindMessageMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java index 575f57d..4be77ce 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java @@ -10,8 +10,8 @@ @Select(" SELECT minio_file_name " + " FROM ${tableName} " + - " WHERE id =#{id}" + - " AND is_del=0 ") + " WHERE id =#{id} " + + " AND STATUS='1' ") String getSignFileSealById(@Param("id") Long id, @Param("tableName") String tableName); @Select(" SELECT minio_file_name " + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml new file mode 100644 index 0000000..fb4f2bf --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + id, access_id, sample_id, order_id, create_time, update_time + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml new file mode 100644 index 0000000..1f4e8d6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java new file mode 100644 index 0000000..bcab0bf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java @@ -0,0 +1,39 @@ +package com.casic.missiles.enums.business; + +public enum MessageTypeEnum { + + STAFF_CERT("1", "检定员证书到期提醒"), + EQUIPMENT("2", "设备有效期提醒"), + STANDARD_EQUIPMENT("3", "装置有效期提醒"), + OVERTIME_MEASURE("4", "受检设备检定超期提醒"), + CHECK("5", "核查提醒"), + WEEK_MAINTAIN("6", "周维护"), + MONTH_MAINTAIN("7", "月保养"), + TRAINING_NOTICE("8", "培训签到通知"), + WORKBENCH_REMIND_ORDER("9", "工作台任务单设备超期提醒"), + WORKBENCH_REMIND_EQUIPMENT("10", "工作台设备超期提醒"), + WORKBENCH_REMIND_STANDARD("11", "工作台标准装置超期提醒"), + WORKBENCH_REMIND_STAFF("12", "工作台人员证书超期提醒"), + WORKBENCH_REMIND_CONSUMER("13", "工作台委托方意见登记提醒"), + STANDARD_BUILD_APPROVAL("14", "建标审批通过提醒"), + WORKBENCH_REMIND_NOVELTY_SEARCH("15", "测试校准检定方法查新提醒"), + WORKBENCH_REMIND_FILE_GRANT("16", "文件发放通知提醒"), + WORKBENCH_CUSTOMER_QUESTIONNAIRE("17", "委托方满意度调查表"); + + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java new file mode 100644 index 0000000..475ee1d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface BizBusinessOutsourceAssessSampleRelationMapper extends BaseMapper { + + List selectListByAssessId(@Param("assessId") Long assessId); + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java new file mode 100644 index 0000000..6f9c9c3 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.model.business.BizLabRelDept; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 业务编码关联组织机构 Mapper 接口 + *

+ * + * @author lwh + * @date 2023-10-21 + */ +public interface BizLabRelDeptMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java new file mode 100644 index 0000000..90e1e9e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.WorkbenchRemindMessage; + +/** + *

+ * 所有业务消息提醒 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +public interface WorkbenchRemindMessageMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java index 575f57d..4be77ce 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java @@ -10,8 +10,8 @@ @Select(" SELECT minio_file_name " + " FROM ${tableName} " + - " WHERE id =#{id}" + - " AND is_del=0 ") + " WHERE id =#{id} " + + " AND STATUS='1' ") String getSignFileSealById(@Param("id") Long id, @Param("tableName") String tableName); @Select(" SELECT minio_file_name " + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml new file mode 100644 index 0000000..fb4f2bf --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + id, access_id, sample_id, order_id, create_time, update_time + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml new file mode 100644 index 0000000..1f4e8d6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml new file mode 100644 index 0000000..fe86da3 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + id, remind_id, remind_dept_id, business_id, business_code, message_type, message_source_module, message_topic, message_title, message_content, status, create_user, create_user_name, create_time, update_time + + + diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java new file mode 100644 index 0000000..bcab0bf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java @@ -0,0 +1,39 @@ +package com.casic.missiles.enums.business; + +public enum MessageTypeEnum { + + STAFF_CERT("1", "检定员证书到期提醒"), + EQUIPMENT("2", "设备有效期提醒"), + STANDARD_EQUIPMENT("3", "装置有效期提醒"), + OVERTIME_MEASURE("4", "受检设备检定超期提醒"), + CHECK("5", "核查提醒"), + WEEK_MAINTAIN("6", "周维护"), + MONTH_MAINTAIN("7", "月保养"), + TRAINING_NOTICE("8", "培训签到通知"), + WORKBENCH_REMIND_ORDER("9", "工作台任务单设备超期提醒"), + WORKBENCH_REMIND_EQUIPMENT("10", "工作台设备超期提醒"), + WORKBENCH_REMIND_STANDARD("11", "工作台标准装置超期提醒"), + WORKBENCH_REMIND_STAFF("12", "工作台人员证书超期提醒"), + WORKBENCH_REMIND_CONSUMER("13", "工作台委托方意见登记提醒"), + STANDARD_BUILD_APPROVAL("14", "建标审批通过提醒"), + WORKBENCH_REMIND_NOVELTY_SEARCH("15", "测试校准检定方法查新提醒"), + WORKBENCH_REMIND_FILE_GRANT("16", "文件发放通知提醒"), + WORKBENCH_CUSTOMER_QUESTIONNAIRE("17", "委托方满意度调查表"); + + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java new file mode 100644 index 0000000..475ee1d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface BizBusinessOutsourceAssessSampleRelationMapper extends BaseMapper { + + List selectListByAssessId(@Param("assessId") Long assessId); + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java new file mode 100644 index 0000000..6f9c9c3 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.model.business.BizLabRelDept; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 业务编码关联组织机构 Mapper 接口 + *

+ * + * @author lwh + * @date 2023-10-21 + */ +public interface BizLabRelDeptMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java new file mode 100644 index 0000000..90e1e9e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.WorkbenchRemindMessage; + +/** + *

+ * 所有业务消息提醒 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +public interface WorkbenchRemindMessageMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java index 575f57d..4be77ce 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java @@ -10,8 +10,8 @@ @Select(" SELECT minio_file_name " + " FROM ${tableName} " + - " WHERE id =#{id}" + - " AND is_del=0 ") + " WHERE id =#{id} " + + " AND STATUS='1' ") String getSignFileSealById(@Param("id") Long id, @Param("tableName") String tableName); @Select(" SELECT minio_file_name " + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml new file mode 100644 index 0000000..fb4f2bf --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + id, access_id, sample_id, order_id, create_time, update_time + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml new file mode 100644 index 0000000..1f4e8d6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml new file mode 100644 index 0000000..fe86da3 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + id, remind_id, remind_dept_id, business_id, business_code, message_type, message_source_module, message_topic, message_title, message_content, status, create_user, create_user_name, create_time, update_time + + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java index 03991c9..de05843 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java @@ -5,6 +5,7 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.exception.BusinessExceptionEnum; import lombok.extern.slf4j.Slf4j; +import org.apache.catalina.connector.ClientAbortException; import org.springframework.core.annotation.Order; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.MethodArgumentNotValidException; @@ -48,4 +49,10 @@ public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); } + + @ExceptionHandler(ClientAbortException.class) + public void handleClientAbortException(ClientAbortException e) { + // 记录日志,忽略异常 + log.warn("客户端连接被中断:{}。可能的原因可能是客户端刷新、页面关闭或网络问题。", e.getMessage()); + } } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java new file mode 100644 index 0000000..bcab0bf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java @@ -0,0 +1,39 @@ +package com.casic.missiles.enums.business; + +public enum MessageTypeEnum { + + STAFF_CERT("1", "检定员证书到期提醒"), + EQUIPMENT("2", "设备有效期提醒"), + STANDARD_EQUIPMENT("3", "装置有效期提醒"), + OVERTIME_MEASURE("4", "受检设备检定超期提醒"), + CHECK("5", "核查提醒"), + WEEK_MAINTAIN("6", "周维护"), + MONTH_MAINTAIN("7", "月保养"), + TRAINING_NOTICE("8", "培训签到通知"), + WORKBENCH_REMIND_ORDER("9", "工作台任务单设备超期提醒"), + WORKBENCH_REMIND_EQUIPMENT("10", "工作台设备超期提醒"), + WORKBENCH_REMIND_STANDARD("11", "工作台标准装置超期提醒"), + WORKBENCH_REMIND_STAFF("12", "工作台人员证书超期提醒"), + WORKBENCH_REMIND_CONSUMER("13", "工作台委托方意见登记提醒"), + STANDARD_BUILD_APPROVAL("14", "建标审批通过提醒"), + WORKBENCH_REMIND_NOVELTY_SEARCH("15", "测试校准检定方法查新提醒"), + WORKBENCH_REMIND_FILE_GRANT("16", "文件发放通知提醒"), + WORKBENCH_CUSTOMER_QUESTIONNAIRE("17", "委托方满意度调查表"); + + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java new file mode 100644 index 0000000..475ee1d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface BizBusinessOutsourceAssessSampleRelationMapper extends BaseMapper { + + List selectListByAssessId(@Param("assessId") Long assessId); + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java new file mode 100644 index 0000000..6f9c9c3 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.model.business.BizLabRelDept; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 业务编码关联组织机构 Mapper 接口 + *

+ * + * @author lwh + * @date 2023-10-21 + */ +public interface BizLabRelDeptMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java new file mode 100644 index 0000000..90e1e9e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.WorkbenchRemindMessage; + +/** + *

+ * 所有业务消息提醒 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +public interface WorkbenchRemindMessageMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java index 575f57d..4be77ce 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java @@ -10,8 +10,8 @@ @Select(" SELECT minio_file_name " + " FROM ${tableName} " + - " WHERE id =#{id}" + - " AND is_del=0 ") + " WHERE id =#{id} " + + " AND STATUS='1' ") String getSignFileSealById(@Param("id") Long id, @Param("tableName") String tableName); @Select(" SELECT minio_file_name " + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml new file mode 100644 index 0000000..fb4f2bf --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + id, access_id, sample_id, order_id, create_time, update_time + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml new file mode 100644 index 0000000..1f4e8d6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml new file mode 100644 index 0000000..fe86da3 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + id, remind_id, remind_dept_id, business_id, business_code, message_type, message_source_module, message_topic, message_title, message_content, status, create_user, create_user_name, create_time, update_time + + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java index 03991c9..de05843 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java @@ -5,6 +5,7 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.exception.BusinessExceptionEnum; import lombok.extern.slf4j.Slf4j; +import org.apache.catalina.connector.ClientAbortException; import org.springframework.core.annotation.Order; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.MethodArgumentNotValidException; @@ -48,4 +49,10 @@ public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); } + + @ExceptionHandler(ClientAbortException.class) + public void handleClientAbortException(ClientAbortException e) { + // 记录日志,忽略异常 + log.warn("客户端连接被中断:{}。可能的原因可能是客户端刷新、页面关闭或网络问题。", e.getMessage()); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 2fe7f0e..12838f2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -83,4 +83,6 @@ String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; String CONFIG_FILE_TYPE = "configFileType"; + String MESSAGE_TYPE = "bizMessageType"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java new file mode 100644 index 0000000..bcab0bf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java @@ -0,0 +1,39 @@ +package com.casic.missiles.enums.business; + +public enum MessageTypeEnum { + + STAFF_CERT("1", "检定员证书到期提醒"), + EQUIPMENT("2", "设备有效期提醒"), + STANDARD_EQUIPMENT("3", "装置有效期提醒"), + OVERTIME_MEASURE("4", "受检设备检定超期提醒"), + CHECK("5", "核查提醒"), + WEEK_MAINTAIN("6", "周维护"), + MONTH_MAINTAIN("7", "月保养"), + TRAINING_NOTICE("8", "培训签到通知"), + WORKBENCH_REMIND_ORDER("9", "工作台任务单设备超期提醒"), + WORKBENCH_REMIND_EQUIPMENT("10", "工作台设备超期提醒"), + WORKBENCH_REMIND_STANDARD("11", "工作台标准装置超期提醒"), + WORKBENCH_REMIND_STAFF("12", "工作台人员证书超期提醒"), + WORKBENCH_REMIND_CONSUMER("13", "工作台委托方意见登记提醒"), + STANDARD_BUILD_APPROVAL("14", "建标审批通过提醒"), + WORKBENCH_REMIND_NOVELTY_SEARCH("15", "测试校准检定方法查新提醒"), + WORKBENCH_REMIND_FILE_GRANT("16", "文件发放通知提醒"), + WORKBENCH_CUSTOMER_QUESTIONNAIRE("17", "委托方满意度调查表"); + + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java new file mode 100644 index 0000000..475ee1d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface BizBusinessOutsourceAssessSampleRelationMapper extends BaseMapper { + + List selectListByAssessId(@Param("assessId") Long assessId); + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java new file mode 100644 index 0000000..6f9c9c3 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.model.business.BizLabRelDept; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 业务编码关联组织机构 Mapper 接口 + *

+ * + * @author lwh + * @date 2023-10-21 + */ +public interface BizLabRelDeptMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java new file mode 100644 index 0000000..90e1e9e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.WorkbenchRemindMessage; + +/** + *

+ * 所有业务消息提醒 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +public interface WorkbenchRemindMessageMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java index 575f57d..4be77ce 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java @@ -10,8 +10,8 @@ @Select(" SELECT minio_file_name " + " FROM ${tableName} " + - " WHERE id =#{id}" + - " AND is_del=0 ") + " WHERE id =#{id} " + + " AND STATUS='1' ") String getSignFileSealById(@Param("id") Long id, @Param("tableName") String tableName); @Select(" SELECT minio_file_name " + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml new file mode 100644 index 0000000..fb4f2bf --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + id, access_id, sample_id, order_id, create_time, update_time + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml new file mode 100644 index 0000000..1f4e8d6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml new file mode 100644 index 0000000..fe86da3 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + id, remind_id, remind_dept_id, business_id, business_code, message_type, message_source_module, message_topic, message_title, message_content, status, create_user, create_user_name, create_time, update_time + + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java index 03991c9..de05843 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java @@ -5,6 +5,7 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.exception.BusinessExceptionEnum; import lombok.extern.slf4j.Slf4j; +import org.apache.catalina.connector.ClientAbortException; import org.springframework.core.annotation.Order; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.MethodArgumentNotValidException; @@ -48,4 +49,10 @@ public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); } + + @ExceptionHandler(ClientAbortException.class) + public void handleClientAbortException(ClientAbortException e) { + // 记录日志,忽略异常 + log.warn("客户端连接被中断:{}。可能的原因可能是客户端刷新、页面关闭或网络问题。", e.getMessage()); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 2fe7f0e..12838f2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -83,4 +83,6 @@ String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; String CONFIG_FILE_TYPE = "configFileType"; + String MESSAGE_TYPE = "bizMessageType"; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java new file mode 100644 index 0000000..a95d228 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java @@ -0,0 +1,56 @@ +package com.casic.missiles.dto.business.outsource; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/9/4 20:34 + */ +@Data +public class OutsourceAssessEquipmentDTO { + private Long id; + + @ApiModelProperty("设备编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("出厂编号") + private String manufactureNo; + + @ApiModelProperty("型号规格") + private String model; + + @ApiModelProperty("任务单id") + private Long orderId; + + @ApiModelProperty("任务单编号") + private String orderNo; + + @ApiModelProperty("委托单位") + private String customerName; + + @ApiModelProperty("委托单位id") + private String customerId; + + @ApiModelProperty(value = "计量标识(字典code)", dataType = "String") + @DictCodeField(message = "计量标识不合法", cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) + private String meterIdentify; + + @ApiModelProperty(value = "计量标识(字典value)", dataType = "String") + private String meterIdentifyName; + + @ApiModelProperty(value = "检定有效期", dataType = "String") + private String validDate; + + @ApiModelProperty(value = "辅助字段", dataType = "String") + private String helpInstruction; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java new file mode 100644 index 0000000..bcab0bf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java @@ -0,0 +1,39 @@ +package com.casic.missiles.enums.business; + +public enum MessageTypeEnum { + + STAFF_CERT("1", "检定员证书到期提醒"), + EQUIPMENT("2", "设备有效期提醒"), + STANDARD_EQUIPMENT("3", "装置有效期提醒"), + OVERTIME_MEASURE("4", "受检设备检定超期提醒"), + CHECK("5", "核查提醒"), + WEEK_MAINTAIN("6", "周维护"), + MONTH_MAINTAIN("7", "月保养"), + TRAINING_NOTICE("8", "培训签到通知"), + WORKBENCH_REMIND_ORDER("9", "工作台任务单设备超期提醒"), + WORKBENCH_REMIND_EQUIPMENT("10", "工作台设备超期提醒"), + WORKBENCH_REMIND_STANDARD("11", "工作台标准装置超期提醒"), + WORKBENCH_REMIND_STAFF("12", "工作台人员证书超期提醒"), + WORKBENCH_REMIND_CONSUMER("13", "工作台委托方意见登记提醒"), + STANDARD_BUILD_APPROVAL("14", "建标审批通过提醒"), + WORKBENCH_REMIND_NOVELTY_SEARCH("15", "测试校准检定方法查新提醒"), + WORKBENCH_REMIND_FILE_GRANT("16", "文件发放通知提醒"), + WORKBENCH_CUSTOMER_QUESTIONNAIRE("17", "委托方满意度调查表"); + + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java new file mode 100644 index 0000000..475ee1d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface BizBusinessOutsourceAssessSampleRelationMapper extends BaseMapper { + + List selectListByAssessId(@Param("assessId") Long assessId); + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java new file mode 100644 index 0000000..6f9c9c3 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.model.business.BizLabRelDept; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 业务编码关联组织机构 Mapper 接口 + *

+ * + * @author lwh + * @date 2023-10-21 + */ +public interface BizLabRelDeptMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java new file mode 100644 index 0000000..90e1e9e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.WorkbenchRemindMessage; + +/** + *

+ * 所有业务消息提醒 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +public interface WorkbenchRemindMessageMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java index 575f57d..4be77ce 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java @@ -10,8 +10,8 @@ @Select(" SELECT minio_file_name " + " FROM ${tableName} " + - " WHERE id =#{id}" + - " AND is_del=0 ") + " WHERE id =#{id} " + + " AND STATUS='1' ") String getSignFileSealById(@Param("id") Long id, @Param("tableName") String tableName); @Select(" SELECT minio_file_name " + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml new file mode 100644 index 0000000..fb4f2bf --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + id, access_id, sample_id, order_id, create_time, update_time + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml new file mode 100644 index 0000000..1f4e8d6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml new file mode 100644 index 0000000..fe86da3 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + id, remind_id, remind_dept_id, business_id, business_code, message_type, message_source_module, message_topic, message_title, message_content, status, create_user, create_user_name, create_time, update_time + + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java index 03991c9..de05843 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java @@ -5,6 +5,7 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.exception.BusinessExceptionEnum; import lombok.extern.slf4j.Slf4j; +import org.apache.catalina.connector.ClientAbortException; import org.springframework.core.annotation.Order; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.MethodArgumentNotValidException; @@ -48,4 +49,10 @@ public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); } + + @ExceptionHandler(ClientAbortException.class) + public void handleClientAbortException(ClientAbortException e) { + // 记录日志,忽略异常 + log.warn("客户端连接被中断:{}。可能的原因可能是客户端刷新、页面关闭或网络问题。", e.getMessage()); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 2fe7f0e..12838f2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -83,4 +83,6 @@ String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; String CONFIG_FILE_TYPE = "configFileType"; + String MESSAGE_TYPE = "bizMessageType"; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java new file mode 100644 index 0000000..a95d228 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java @@ -0,0 +1,56 @@ +package com.casic.missiles.dto.business.outsource; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/9/4 20:34 + */ +@Data +public class OutsourceAssessEquipmentDTO { + private Long id; + + @ApiModelProperty("设备编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("出厂编号") + private String manufactureNo; + + @ApiModelProperty("型号规格") + private String model; + + @ApiModelProperty("任务单id") + private Long orderId; + + @ApiModelProperty("任务单编号") + private String orderNo; + + @ApiModelProperty("委托单位") + private String customerName; + + @ApiModelProperty("委托单位id") + private String customerId; + + @ApiModelProperty(value = "计量标识(字典code)", dataType = "String") + @DictCodeField(message = "计量标识不合法", cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) + private String meterIdentify; + + @ApiModelProperty(value = "计量标识(字典value)", dataType = "String") + private String meterIdentifyName; + + @ApiModelProperty(value = "检定有效期", dataType = "String") + private String validDate; + + @ApiModelProperty(value = "辅助字段", dataType = "String") + private String helpInstruction; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java new file mode 100644 index 0000000..59a56cd --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java @@ -0,0 +1,71 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +@Data +@TableName("biz_business_outsource_assess_sample_relation") +public class BizBusinessOutsourceAssessSampleRelation implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 分包评审表id + */ + @TableField("access_id") + private Long accessId; + + /** + * 样品id + */ + @TableField("sample_id") + private Long sampleId; + + /** + * 委托书id + */ + @TableField("order_id") + private Long orderId; + + /** + * 分包设备状态(1检测中,2检测完成) + */ + @ApiModelProperty(value = "分包设备状态(1检测中,2检测完成)", dataType = "Integer") + @TableField("measure_status") + private Integer measureStatus; + + @ApiModelProperty(value = "检定结论", dataType = "Integer") + @TableField("conclusion") + private String conclusion; + + /** + * 创建时间 + */ + @TableField("create_time") + private String createTime; + + /** + * 更新时间 + */ + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java new file mode 100644 index 0000000..bcab0bf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java @@ -0,0 +1,39 @@ +package com.casic.missiles.enums.business; + +public enum MessageTypeEnum { + + STAFF_CERT("1", "检定员证书到期提醒"), + EQUIPMENT("2", "设备有效期提醒"), + STANDARD_EQUIPMENT("3", "装置有效期提醒"), + OVERTIME_MEASURE("4", "受检设备检定超期提醒"), + CHECK("5", "核查提醒"), + WEEK_MAINTAIN("6", "周维护"), + MONTH_MAINTAIN("7", "月保养"), + TRAINING_NOTICE("8", "培训签到通知"), + WORKBENCH_REMIND_ORDER("9", "工作台任务单设备超期提醒"), + WORKBENCH_REMIND_EQUIPMENT("10", "工作台设备超期提醒"), + WORKBENCH_REMIND_STANDARD("11", "工作台标准装置超期提醒"), + WORKBENCH_REMIND_STAFF("12", "工作台人员证书超期提醒"), + WORKBENCH_REMIND_CONSUMER("13", "工作台委托方意见登记提醒"), + STANDARD_BUILD_APPROVAL("14", "建标审批通过提醒"), + WORKBENCH_REMIND_NOVELTY_SEARCH("15", "测试校准检定方法查新提醒"), + WORKBENCH_REMIND_FILE_GRANT("16", "文件发放通知提醒"), + WORKBENCH_CUSTOMER_QUESTIONNAIRE("17", "委托方满意度调查表"); + + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java new file mode 100644 index 0000000..475ee1d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface BizBusinessOutsourceAssessSampleRelationMapper extends BaseMapper { + + List selectListByAssessId(@Param("assessId") Long assessId); + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java new file mode 100644 index 0000000..6f9c9c3 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.model.business.BizLabRelDept; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 业务编码关联组织机构 Mapper 接口 + *

+ * + * @author lwh + * @date 2023-10-21 + */ +public interface BizLabRelDeptMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java new file mode 100644 index 0000000..90e1e9e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.WorkbenchRemindMessage; + +/** + *

+ * 所有业务消息提醒 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +public interface WorkbenchRemindMessageMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java index 575f57d..4be77ce 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java @@ -10,8 +10,8 @@ @Select(" SELECT minio_file_name " + " FROM ${tableName} " + - " WHERE id =#{id}" + - " AND is_del=0 ") + " WHERE id =#{id} " + + " AND STATUS='1' ") String getSignFileSealById(@Param("id") Long id, @Param("tableName") String tableName); @Select(" SELECT minio_file_name " + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml new file mode 100644 index 0000000..fb4f2bf --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + id, access_id, sample_id, order_id, create_time, update_time + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml new file mode 100644 index 0000000..1f4e8d6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml new file mode 100644 index 0000000..fe86da3 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + id, remind_id, remind_dept_id, business_id, business_code, message_type, message_source_module, message_topic, message_title, message_content, status, create_user, create_user_name, create_time, update_time + + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java index 03991c9..de05843 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java @@ -5,6 +5,7 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.exception.BusinessExceptionEnum; import lombok.extern.slf4j.Slf4j; +import org.apache.catalina.connector.ClientAbortException; import org.springframework.core.annotation.Order; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.MethodArgumentNotValidException; @@ -48,4 +49,10 @@ public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); } + + @ExceptionHandler(ClientAbortException.class) + public void handleClientAbortException(ClientAbortException e) { + // 记录日志,忽略异常 + log.warn("客户端连接被中断:{}。可能的原因可能是客户端刷新、页面关闭或网络问题。", e.getMessage()); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 2fe7f0e..12838f2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -83,4 +83,6 @@ String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; String CONFIG_FILE_TYPE = "configFileType"; + String MESSAGE_TYPE = "bizMessageType"; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java new file mode 100644 index 0000000..a95d228 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java @@ -0,0 +1,56 @@ +package com.casic.missiles.dto.business.outsource; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/9/4 20:34 + */ +@Data +public class OutsourceAssessEquipmentDTO { + private Long id; + + @ApiModelProperty("设备编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("出厂编号") + private String manufactureNo; + + @ApiModelProperty("型号规格") + private String model; + + @ApiModelProperty("任务单id") + private Long orderId; + + @ApiModelProperty("任务单编号") + private String orderNo; + + @ApiModelProperty("委托单位") + private String customerName; + + @ApiModelProperty("委托单位id") + private String customerId; + + @ApiModelProperty(value = "计量标识(字典code)", dataType = "String") + @DictCodeField(message = "计量标识不合法", cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) + private String meterIdentify; + + @ApiModelProperty(value = "计量标识(字典value)", dataType = "String") + private String meterIdentifyName; + + @ApiModelProperty(value = "检定有效期", dataType = "String") + private String validDate; + + @ApiModelProperty(value = "辅助字段", dataType = "String") + private String helpInstruction; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java new file mode 100644 index 0000000..59a56cd --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java @@ -0,0 +1,71 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +@Data +@TableName("biz_business_outsource_assess_sample_relation") +public class BizBusinessOutsourceAssessSampleRelation implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 分包评审表id + */ + @TableField("access_id") + private Long accessId; + + /** + * 样品id + */ + @TableField("sample_id") + private Long sampleId; + + /** + * 委托书id + */ + @TableField("order_id") + private Long orderId; + + /** + * 分包设备状态(1检测中,2检测完成) + */ + @ApiModelProperty(value = "分包设备状态(1检测中,2检测完成)", dataType = "Integer") + @TableField("measure_status") + private Integer measureStatus; + + @ApiModelProperty(value = "检定结论", dataType = "Integer") + @TableField("conclusion") + private String conclusion; + + /** + * 创建时间 + */ + @TableField("create_time") + private String createTime; + + /** + * 更新时间 + */ + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java index 1004bdf..ad89779 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -16,10 +17,12 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.apache.commons.lang3.StringUtils; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.util.Objects; /** *

@@ -81,6 +84,14 @@ @TableField(exist = false) private String groupCodeName; + @ApiModelProperty(value = "分包评审表id", dataType = "Long") + @TableField("access_id") + private Long accessId; + + @ApiModelProperty(value = "分包项目", dataType = "String") + @TableField("item") + private String item; + @NotNull(message = "受检单位(委托方)id不能为空") @ApiModelProperty(value = "受检单位(委托方)id", dataType = "Long") @TableField("customer_id") @@ -91,18 +102,15 @@ @TableField("customer_name") private String customerName; - /** - * 分包方名称 - */ + @ApiModelProperty(value = "分包方名称", dataType = "String") + @TableField("outsourcer_id") + private String outsourcerId; + @ExcelProperty(value = "分包方名称", order = 4) @ApiModelProperty(value = "分包方名称", dataType = "String") @TableField("outsourcer_name") private String outsourcerName; - @ExcelProperty(value = "分包项目", order = 5) - @ApiModelProperty(value = "分包项目", dataType = "String") - @TableField("outsource_itme") - private String outsourceItem; /** * 分包设备名字 */ @@ -120,7 +128,7 @@ /** * 申请人名字(后台自动填为创建人) */ - @ExcelProperty(value = "申请人", order = 6) + @ExcelProperty(value = "申请人", order = 5) @ApiModelProperty(value = "申请人名字(后台自动填为创建人)", dataType = "String") @TableField("create_user_name") private String createUserName; @@ -160,6 +168,41 @@ @TableField("notice_user_name") private String noticeUserName; + @ApiModelProperty(value = "同意或拒绝(1同意2拒绝)", dataType = "Integer") + @TableField("agree_or_refuse") + private Integer agreeOrRefuse; + + public String getAgreeOrRefuseDesc() { + if (Objects.isNull(agreeOrRefuse)) { + return null; + } + if (1 == agreeOrRefuse) { + return "同意"; + } else if (2 == agreeOrRefuse) { + return "拒绝"; + } + return null; + } + + @ApiModelProperty(value = "委托方意见", dataType = "String") + @TableField(exist = false) + private String agreeOrRefuseDesc; + + @ApiModelProperty(value = "意见时间", dataType = "Integer") + @TableField("agree_or_refuse_time") + private String agreeOrRefuseTime; + + @ApiModelProperty(value = "通知发送状态(已发送/未发送)", dataType = "String") + @TableField(exist = false) + private String noticeSendStatus; + + public String getNoticeSendStatus() { + if (StringUtils.isNotEmpty(this.noticeUserId)) { + return "已发送"; + } + return "未发送"; + } + @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态描述不合法", cacheName = MeterDictCode.APPROVAL_STATUS) @TableField("approval_status") @@ -172,7 +215,7 @@ /** * 创建时间(申请时间) */ - @ExcelProperty(value = "申请时间", order = 7) + @ExcelProperty(value = "申请时间", order = 6) @ApiModelProperty(value = "申请时间", dataType = "String") @TableField("create_time") private String createTime; @@ -181,9 +224,12 @@ * 更新时间 */ @ApiModelProperty(hidden = true) - @TableField("update_time") + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) private String updateTime; + @ApiModelProperty(value = "分包项目", dataType = "String") + @TableField("outsource_itme") + private String outsourceItem; @ApiModelProperty(value = "审批状态类型-字典value", dataType = "String") @TableField(exist = false) diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java new file mode 100644 index 0000000..bcab0bf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java @@ -0,0 +1,39 @@ +package com.casic.missiles.enums.business; + +public enum MessageTypeEnum { + + STAFF_CERT("1", "检定员证书到期提醒"), + EQUIPMENT("2", "设备有效期提醒"), + STANDARD_EQUIPMENT("3", "装置有效期提醒"), + OVERTIME_MEASURE("4", "受检设备检定超期提醒"), + CHECK("5", "核查提醒"), + WEEK_MAINTAIN("6", "周维护"), + MONTH_MAINTAIN("7", "月保养"), + TRAINING_NOTICE("8", "培训签到通知"), + WORKBENCH_REMIND_ORDER("9", "工作台任务单设备超期提醒"), + WORKBENCH_REMIND_EQUIPMENT("10", "工作台设备超期提醒"), + WORKBENCH_REMIND_STANDARD("11", "工作台标准装置超期提醒"), + WORKBENCH_REMIND_STAFF("12", "工作台人员证书超期提醒"), + WORKBENCH_REMIND_CONSUMER("13", "工作台委托方意见登记提醒"), + STANDARD_BUILD_APPROVAL("14", "建标审批通过提醒"), + WORKBENCH_REMIND_NOVELTY_SEARCH("15", "测试校准检定方法查新提醒"), + WORKBENCH_REMIND_FILE_GRANT("16", "文件发放通知提醒"), + WORKBENCH_CUSTOMER_QUESTIONNAIRE("17", "委托方满意度调查表"); + + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java new file mode 100644 index 0000000..475ee1d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface BizBusinessOutsourceAssessSampleRelationMapper extends BaseMapper { + + List selectListByAssessId(@Param("assessId") Long assessId); + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java new file mode 100644 index 0000000..6f9c9c3 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.model.business.BizLabRelDept; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 业务编码关联组织机构 Mapper 接口 + *

+ * + * @author lwh + * @date 2023-10-21 + */ +public interface BizLabRelDeptMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java new file mode 100644 index 0000000..90e1e9e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.WorkbenchRemindMessage; + +/** + *

+ * 所有业务消息提醒 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +public interface WorkbenchRemindMessageMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java index 575f57d..4be77ce 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java @@ -10,8 +10,8 @@ @Select(" SELECT minio_file_name " + " FROM ${tableName} " + - " WHERE id =#{id}" + - " AND is_del=0 ") + " WHERE id =#{id} " + + " AND STATUS='1' ") String getSignFileSealById(@Param("id") Long id, @Param("tableName") String tableName); @Select(" SELECT minio_file_name " + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml new file mode 100644 index 0000000..fb4f2bf --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + id, access_id, sample_id, order_id, create_time, update_time + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml new file mode 100644 index 0000000..1f4e8d6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml new file mode 100644 index 0000000..fe86da3 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + id, remind_id, remind_dept_id, business_id, business_code, message_type, message_source_module, message_topic, message_title, message_content, status, create_user, create_user_name, create_time, update_time + + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java index 03991c9..de05843 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java @@ -5,6 +5,7 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.exception.BusinessExceptionEnum; import lombok.extern.slf4j.Slf4j; +import org.apache.catalina.connector.ClientAbortException; import org.springframework.core.annotation.Order; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.MethodArgumentNotValidException; @@ -48,4 +49,10 @@ public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); } + + @ExceptionHandler(ClientAbortException.class) + public void handleClientAbortException(ClientAbortException e) { + // 记录日志,忽略异常 + log.warn("客户端连接被中断:{}。可能的原因可能是客户端刷新、页面关闭或网络问题。", e.getMessage()); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 2fe7f0e..12838f2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -83,4 +83,6 @@ String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; String CONFIG_FILE_TYPE = "configFileType"; + String MESSAGE_TYPE = "bizMessageType"; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java new file mode 100644 index 0000000..a95d228 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java @@ -0,0 +1,56 @@ +package com.casic.missiles.dto.business.outsource; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/9/4 20:34 + */ +@Data +public class OutsourceAssessEquipmentDTO { + private Long id; + + @ApiModelProperty("设备编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("出厂编号") + private String manufactureNo; + + @ApiModelProperty("型号规格") + private String model; + + @ApiModelProperty("任务单id") + private Long orderId; + + @ApiModelProperty("任务单编号") + private String orderNo; + + @ApiModelProperty("委托单位") + private String customerName; + + @ApiModelProperty("委托单位id") + private String customerId; + + @ApiModelProperty(value = "计量标识(字典code)", dataType = "String") + @DictCodeField(message = "计量标识不合法", cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) + private String meterIdentify; + + @ApiModelProperty(value = "计量标识(字典value)", dataType = "String") + private String meterIdentifyName; + + @ApiModelProperty(value = "检定有效期", dataType = "String") + private String validDate; + + @ApiModelProperty(value = "辅助字段", dataType = "String") + private String helpInstruction; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java new file mode 100644 index 0000000..59a56cd --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java @@ -0,0 +1,71 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +@Data +@TableName("biz_business_outsource_assess_sample_relation") +public class BizBusinessOutsourceAssessSampleRelation implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 分包评审表id + */ + @TableField("access_id") + private Long accessId; + + /** + * 样品id + */ + @TableField("sample_id") + private Long sampleId; + + /** + * 委托书id + */ + @TableField("order_id") + private Long orderId; + + /** + * 分包设备状态(1检测中,2检测完成) + */ + @ApiModelProperty(value = "分包设备状态(1检测中,2检测完成)", dataType = "Integer") + @TableField("measure_status") + private Integer measureStatus; + + @ApiModelProperty(value = "检定结论", dataType = "Integer") + @TableField("conclusion") + private String conclusion; + + /** + * 创建时间 + */ + @TableField("create_time") + private String createTime; + + /** + * 更新时间 + */ + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java index 1004bdf..ad89779 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -16,10 +17,12 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.apache.commons.lang3.StringUtils; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.util.Objects; /** *

@@ -81,6 +84,14 @@ @TableField(exist = false) private String groupCodeName; + @ApiModelProperty(value = "分包评审表id", dataType = "Long") + @TableField("access_id") + private Long accessId; + + @ApiModelProperty(value = "分包项目", dataType = "String") + @TableField("item") + private String item; + @NotNull(message = "受检单位(委托方)id不能为空") @ApiModelProperty(value = "受检单位(委托方)id", dataType = "Long") @TableField("customer_id") @@ -91,18 +102,15 @@ @TableField("customer_name") private String customerName; - /** - * 分包方名称 - */ + @ApiModelProperty(value = "分包方名称", dataType = "String") + @TableField("outsourcer_id") + private String outsourcerId; + @ExcelProperty(value = "分包方名称", order = 4) @ApiModelProperty(value = "分包方名称", dataType = "String") @TableField("outsourcer_name") private String outsourcerName; - @ExcelProperty(value = "分包项目", order = 5) - @ApiModelProperty(value = "分包项目", dataType = "String") - @TableField("outsource_itme") - private String outsourceItem; /** * 分包设备名字 */ @@ -120,7 +128,7 @@ /** * 申请人名字(后台自动填为创建人) */ - @ExcelProperty(value = "申请人", order = 6) + @ExcelProperty(value = "申请人", order = 5) @ApiModelProperty(value = "申请人名字(后台自动填为创建人)", dataType = "String") @TableField("create_user_name") private String createUserName; @@ -160,6 +168,41 @@ @TableField("notice_user_name") private String noticeUserName; + @ApiModelProperty(value = "同意或拒绝(1同意2拒绝)", dataType = "Integer") + @TableField("agree_or_refuse") + private Integer agreeOrRefuse; + + public String getAgreeOrRefuseDesc() { + if (Objects.isNull(agreeOrRefuse)) { + return null; + } + if (1 == agreeOrRefuse) { + return "同意"; + } else if (2 == agreeOrRefuse) { + return "拒绝"; + } + return null; + } + + @ApiModelProperty(value = "委托方意见", dataType = "String") + @TableField(exist = false) + private String agreeOrRefuseDesc; + + @ApiModelProperty(value = "意见时间", dataType = "Integer") + @TableField("agree_or_refuse_time") + private String agreeOrRefuseTime; + + @ApiModelProperty(value = "通知发送状态(已发送/未发送)", dataType = "String") + @TableField(exist = false) + private String noticeSendStatus; + + public String getNoticeSendStatus() { + if (StringUtils.isNotEmpty(this.noticeUserId)) { + return "已发送"; + } + return "未发送"; + } + @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态描述不合法", cacheName = MeterDictCode.APPROVAL_STATUS) @TableField("approval_status") @@ -172,7 +215,7 @@ /** * 创建时间(申请时间) */ - @ExcelProperty(value = "申请时间", order = 7) + @ExcelProperty(value = "申请时间", order = 6) @ApiModelProperty(value = "申请时间", dataType = "String") @TableField("create_time") private String createTime; @@ -181,9 +224,12 @@ * 更新时间 */ @ApiModelProperty(hidden = true) - @TableField("update_time") + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) private String updateTime; + @ApiModelProperty(value = "分包项目", dataType = "String") + @TableField("outsource_itme") + private String outsourceItem; @ApiModelProperty(value = "审批状态类型-字典value", dataType = "String") @TableField(exist = false) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java new file mode 100644 index 0000000..45d3a1e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java @@ -0,0 +1,65 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * 业务编码关联组织机构对象 biz_lab_rel_dept + * + * @author lwh + * @date 2023-10-21 + */ +@Data +@TableName("biz_lab_rel_dept") +public class BizLabRelDept extends Model { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty(value = "主键", dataType = "Long") + @TableField("id") + private Long id; + + /** + * 部门字典值 + */ + @ApiModelProperty(value = "部门字典值", dataType = "String") + @TableField("biz_lab_code") + private String bizLabCode; + + /** + * 组织机构ID + */ + @ApiModelProperty(value = "组织机构ID", dataType = "Long") + @TableField("dept_id") + private Long deptId; + + @ApiModelProperty(value = "组织机构名称", dataType = "String") + @TableField(exist = false) + private String deptName; + /** + * 组别代码 + */ + @ApiModelProperty(value = "组别代码", dataType = "String") + @TableField("group_no") + private String groupNo; + + @ApiModelProperty(hidden = true) + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + @Override + public String toString() { + return "BizLabRelDept{" + + "id=" + id + + "bizLabCode=" + bizLabCode + + "deptId=" + deptId + + "}"; + } +} \ No newline at end of file diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java new file mode 100644 index 0000000..bcab0bf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java @@ -0,0 +1,39 @@ +package com.casic.missiles.enums.business; + +public enum MessageTypeEnum { + + STAFF_CERT("1", "检定员证书到期提醒"), + EQUIPMENT("2", "设备有效期提醒"), + STANDARD_EQUIPMENT("3", "装置有效期提醒"), + OVERTIME_MEASURE("4", "受检设备检定超期提醒"), + CHECK("5", "核查提醒"), + WEEK_MAINTAIN("6", "周维护"), + MONTH_MAINTAIN("7", "月保养"), + TRAINING_NOTICE("8", "培训签到通知"), + WORKBENCH_REMIND_ORDER("9", "工作台任务单设备超期提醒"), + WORKBENCH_REMIND_EQUIPMENT("10", "工作台设备超期提醒"), + WORKBENCH_REMIND_STANDARD("11", "工作台标准装置超期提醒"), + WORKBENCH_REMIND_STAFF("12", "工作台人员证书超期提醒"), + WORKBENCH_REMIND_CONSUMER("13", "工作台委托方意见登记提醒"), + STANDARD_BUILD_APPROVAL("14", "建标审批通过提醒"), + WORKBENCH_REMIND_NOVELTY_SEARCH("15", "测试校准检定方法查新提醒"), + WORKBENCH_REMIND_FILE_GRANT("16", "文件发放通知提醒"), + WORKBENCH_CUSTOMER_QUESTIONNAIRE("17", "委托方满意度调查表"); + + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java new file mode 100644 index 0000000..475ee1d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface BizBusinessOutsourceAssessSampleRelationMapper extends BaseMapper { + + List selectListByAssessId(@Param("assessId") Long assessId); + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java new file mode 100644 index 0000000..6f9c9c3 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.model.business.BizLabRelDept; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 业务编码关联组织机构 Mapper 接口 + *

+ * + * @author lwh + * @date 2023-10-21 + */ +public interface BizLabRelDeptMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java new file mode 100644 index 0000000..90e1e9e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.WorkbenchRemindMessage; + +/** + *

+ * 所有业务消息提醒 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +public interface WorkbenchRemindMessageMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java index 575f57d..4be77ce 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java @@ -10,8 +10,8 @@ @Select(" SELECT minio_file_name " + " FROM ${tableName} " + - " WHERE id =#{id}" + - " AND is_del=0 ") + " WHERE id =#{id} " + + " AND STATUS='1' ") String getSignFileSealById(@Param("id") Long id, @Param("tableName") String tableName); @Select(" SELECT minio_file_name " + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml new file mode 100644 index 0000000..fb4f2bf --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + id, access_id, sample_id, order_id, create_time, update_time + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml new file mode 100644 index 0000000..1f4e8d6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml new file mode 100644 index 0000000..fe86da3 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + id, remind_id, remind_dept_id, business_id, business_code, message_type, message_source_module, message_topic, message_title, message_content, status, create_user, create_user_name, create_time, update_time + + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java index 03991c9..de05843 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java @@ -5,6 +5,7 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.exception.BusinessExceptionEnum; import lombok.extern.slf4j.Slf4j; +import org.apache.catalina.connector.ClientAbortException; import org.springframework.core.annotation.Order; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.MethodArgumentNotValidException; @@ -48,4 +49,10 @@ public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); } + + @ExceptionHandler(ClientAbortException.class) + public void handleClientAbortException(ClientAbortException e) { + // 记录日志,忽略异常 + log.warn("客户端连接被中断:{}。可能的原因可能是客户端刷新、页面关闭或网络问题。", e.getMessage()); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 2fe7f0e..12838f2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -83,4 +83,6 @@ String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; String CONFIG_FILE_TYPE = "configFileType"; + String MESSAGE_TYPE = "bizMessageType"; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java new file mode 100644 index 0000000..a95d228 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java @@ -0,0 +1,56 @@ +package com.casic.missiles.dto.business.outsource; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/9/4 20:34 + */ +@Data +public class OutsourceAssessEquipmentDTO { + private Long id; + + @ApiModelProperty("设备编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("出厂编号") + private String manufactureNo; + + @ApiModelProperty("型号规格") + private String model; + + @ApiModelProperty("任务单id") + private Long orderId; + + @ApiModelProperty("任务单编号") + private String orderNo; + + @ApiModelProperty("委托单位") + private String customerName; + + @ApiModelProperty("委托单位id") + private String customerId; + + @ApiModelProperty(value = "计量标识(字典code)", dataType = "String") + @DictCodeField(message = "计量标识不合法", cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) + private String meterIdentify; + + @ApiModelProperty(value = "计量标识(字典value)", dataType = "String") + private String meterIdentifyName; + + @ApiModelProperty(value = "检定有效期", dataType = "String") + private String validDate; + + @ApiModelProperty(value = "辅助字段", dataType = "String") + private String helpInstruction; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java new file mode 100644 index 0000000..59a56cd --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java @@ -0,0 +1,71 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +@Data +@TableName("biz_business_outsource_assess_sample_relation") +public class BizBusinessOutsourceAssessSampleRelation implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 分包评审表id + */ + @TableField("access_id") + private Long accessId; + + /** + * 样品id + */ + @TableField("sample_id") + private Long sampleId; + + /** + * 委托书id + */ + @TableField("order_id") + private Long orderId; + + /** + * 分包设备状态(1检测中,2检测完成) + */ + @ApiModelProperty(value = "分包设备状态(1检测中,2检测完成)", dataType = "Integer") + @TableField("measure_status") + private Integer measureStatus; + + @ApiModelProperty(value = "检定结论", dataType = "Integer") + @TableField("conclusion") + private String conclusion; + + /** + * 创建时间 + */ + @TableField("create_time") + private String createTime; + + /** + * 更新时间 + */ + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java index 1004bdf..ad89779 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -16,10 +17,12 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.apache.commons.lang3.StringUtils; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.util.Objects; /** *

@@ -81,6 +84,14 @@ @TableField(exist = false) private String groupCodeName; + @ApiModelProperty(value = "分包评审表id", dataType = "Long") + @TableField("access_id") + private Long accessId; + + @ApiModelProperty(value = "分包项目", dataType = "String") + @TableField("item") + private String item; + @NotNull(message = "受检单位(委托方)id不能为空") @ApiModelProperty(value = "受检单位(委托方)id", dataType = "Long") @TableField("customer_id") @@ -91,18 +102,15 @@ @TableField("customer_name") private String customerName; - /** - * 分包方名称 - */ + @ApiModelProperty(value = "分包方名称", dataType = "String") + @TableField("outsourcer_id") + private String outsourcerId; + @ExcelProperty(value = "分包方名称", order = 4) @ApiModelProperty(value = "分包方名称", dataType = "String") @TableField("outsourcer_name") private String outsourcerName; - @ExcelProperty(value = "分包项目", order = 5) - @ApiModelProperty(value = "分包项目", dataType = "String") - @TableField("outsource_itme") - private String outsourceItem; /** * 分包设备名字 */ @@ -120,7 +128,7 @@ /** * 申请人名字(后台自动填为创建人) */ - @ExcelProperty(value = "申请人", order = 6) + @ExcelProperty(value = "申请人", order = 5) @ApiModelProperty(value = "申请人名字(后台自动填为创建人)", dataType = "String") @TableField("create_user_name") private String createUserName; @@ -160,6 +168,41 @@ @TableField("notice_user_name") private String noticeUserName; + @ApiModelProperty(value = "同意或拒绝(1同意2拒绝)", dataType = "Integer") + @TableField("agree_or_refuse") + private Integer agreeOrRefuse; + + public String getAgreeOrRefuseDesc() { + if (Objects.isNull(agreeOrRefuse)) { + return null; + } + if (1 == agreeOrRefuse) { + return "同意"; + } else if (2 == agreeOrRefuse) { + return "拒绝"; + } + return null; + } + + @ApiModelProperty(value = "委托方意见", dataType = "String") + @TableField(exist = false) + private String agreeOrRefuseDesc; + + @ApiModelProperty(value = "意见时间", dataType = "Integer") + @TableField("agree_or_refuse_time") + private String agreeOrRefuseTime; + + @ApiModelProperty(value = "通知发送状态(已发送/未发送)", dataType = "String") + @TableField(exist = false) + private String noticeSendStatus; + + public String getNoticeSendStatus() { + if (StringUtils.isNotEmpty(this.noticeUserId)) { + return "已发送"; + } + return "未发送"; + } + @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态描述不合法", cacheName = MeterDictCode.APPROVAL_STATUS) @TableField("approval_status") @@ -172,7 +215,7 @@ /** * 创建时间(申请时间) */ - @ExcelProperty(value = "申请时间", order = 7) + @ExcelProperty(value = "申请时间", order = 6) @ApiModelProperty(value = "申请时间", dataType = "String") @TableField("create_time") private String createTime; @@ -181,9 +224,12 @@ * 更新时间 */ @ApiModelProperty(hidden = true) - @TableField("update_time") + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) private String updateTime; + @ApiModelProperty(value = "分包项目", dataType = "String") + @TableField("outsource_itme") + private String outsourceItem; @ApiModelProperty(value = "审批状态类型-字典value", dataType = "String") @TableField(exist = false) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java new file mode 100644 index 0000000..45d3a1e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java @@ -0,0 +1,65 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * 业务编码关联组织机构对象 biz_lab_rel_dept + * + * @author lwh + * @date 2023-10-21 + */ +@Data +@TableName("biz_lab_rel_dept") +public class BizLabRelDept extends Model { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty(value = "主键", dataType = "Long") + @TableField("id") + private Long id; + + /** + * 部门字典值 + */ + @ApiModelProperty(value = "部门字典值", dataType = "String") + @TableField("biz_lab_code") + private String bizLabCode; + + /** + * 组织机构ID + */ + @ApiModelProperty(value = "组织机构ID", dataType = "Long") + @TableField("dept_id") + private Long deptId; + + @ApiModelProperty(value = "组织机构名称", dataType = "String") + @TableField(exist = false) + private String deptName; + /** + * 组别代码 + */ + @ApiModelProperty(value = "组别代码", dataType = "String") + @TableField("group_no") + private String groupNo; + + @ApiModelProperty(hidden = true) + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + @Override + public String toString() { + return "BizLabRelDept{" + + "id=" + id + + "bizLabCode=" + bizLabCode + + "deptId=" + deptId + + "}"; + } +} \ No newline at end of file diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/WorkbenchRemindMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/WorkbenchRemindMessage.java new file mode 100644 index 0000000..a95ed97 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/WorkbenchRemindMessage.java @@ -0,0 +1,198 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.dto.BaseRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import java.io.Serializable; + +/** + *

+ * 所有业务消息提醒 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +@ApiModel +@Data +@TableName("workbench_remind_message") +public class WorkbenchRemindMessage extends BaseRequest implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + /** + * 消息提醒的用户id(sys_user表id) + */ + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + @TableField("remind_id") + private Long remindId; + + /** + * 消息提醒的用户部门id + */ + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + @TableField("remind_dept_id") + private Long remindDeptId; + + @NotEmpty(message = "实验室代码不能为空") + @DictCodeField(message = "实验室代码描述不合法", cacheName = MeterDictCode.LAB_CODE) + @ApiModelProperty(value = "实验室代码(字典code)", dataType = "String") + @TableField("lab_code") + private String labCode; + + @ApiModelProperty(value = "实验室代码(字典value)", dataType = "String") + @TableField(exist = false) + private String labCodeName; + + /** + * 组别代码 + */ + @NotEmpty(message = "组别代码不能为空") + @DictCodeField(message = "组别代码描述不合法", cacheName = MeterDictCode.GROUP_CODE) + @ApiModelProperty(value = "组别代码(字典code)", dataType = "String") + @TableField("group_code") + private String groupCode; + + @ApiModelProperty(value = "组别代码(字典value)", dataType = "String") + @TableField(exist = false) + private String groupCodeName; + + /** + * 消息提醒的业务表id + */ + @ApiModelProperty(value = "消息提醒的业务表id", dataType = "Long") + @TableField("business_id") + private Long businessId; + + /** + * 消息提醒的业务关联表id + */ + @ApiModelProperty(value = "关联表业务主键", dataType = "Long") + @TableField("relation_business_id") + private Long relationBusinessId; + + /** + * 消息提醒的业务内容编码 + */ + @ApiModelProperty(value = "消息提醒的业务内容编码", dataType = "String") + @TableField("business_code") + private String businessCode; + + /** + * 消息提醒的业务类型 + */ + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + @DictCodeField(message = "消息提醒的业务类型不合法", cacheName = MeterDictCode.MESSAGE_TYPE) + @TableField("message_type") + private String messageType; + + @ApiModelProperty(value = "消息提醒的业务类型(字典value)", dataType = "String") + @TableField(exist = false) + private String messageTypeName; + +// @DictCodeField(message = "来源模块不合法", cacheName = MeterDictCode.MESSAGE_SOURCE_MODULE) + @ApiModelProperty(value = "来源模块(字典code)", dataType = "String") + @TableField("message_source_module") + private String messageSourceModule; + + @ApiModelProperty(value = "来源模块(字典value)", dataType = "String") + @TableField(exist = false) + private String messageSourceModuleName; + + /** + * 消息主题 + */ + @ApiModelProperty(value = "消息主题", dataType = "String") + @TableField("message_topic") + private String messageTopic; + + /** + * 消息主题(冗余) + */ + @ApiModelProperty(value = "消息主题(冗余)", dataType = "String") + @TableField("message_title") + private String messageTitle; + + /** + * 消息内容(消息提醒的业务内容名称) + */ + @ApiModelProperty(value = "消息内容(消息提醒的业务内容名称)", dataType = "String") + @TableField("message_content") + private String messageContent; + + /** + * 1已读0未读 + */ + @ApiModelProperty(value = "1已读0未读", dataType = "Integer") + @TableField("status") + private Integer status; + + /** + * 发起提醒人id + */ + @ApiModelProperty(value = "发起提醒人id", dataType = "Long") + @TableField("create_user") + private Long createUser; + + /** + * 发起提醒人名字 + */ + @ApiModelProperty(value = "发起提醒人名字", dataType = "String") + @TableField("create_user_name") + private String createUserName; + + /** + * 发起时间 + */ + @ApiModelProperty(value = "发起时间", dataType = "String") + @TableField("create_time") + private String createTime; + + /** + * 更新时间 + */ + @ApiModelProperty(value = "更新时间", dataType = "String") + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + @ApiModelProperty(value = "提醒次数",dataType = "Integer") + @TableField(exist = false) + private Integer remindNums; + + @ApiModelProperty(value = "额外内容",dataType = "String") + @TableField("extra_content") + private String extraContent; + + public WorkbenchRemindMessage(Long remindId, Long remindDeptId, Long businessId, String businessCode, String messageType, + String messageSourceModule, String messageTitle, String messageTopic, String messageContent, + Integer status, Long createUser, String createUserName) { + this.remindId = remindId; + this.remindDeptId = remindDeptId; + this.businessId = businessId; + this.businessCode = businessCode; + this.messageType = messageType; + this.messageSourceModule = messageSourceModule; + this.messageTopic = messageTopic; + this.messageTitle = messageTitle; + this.messageContent = messageContent; + this.status = status; + this.createUser = createUser; + this.createUserName = createUserName; + } + + public WorkbenchRemindMessage() { + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java new file mode 100644 index 0000000..bcab0bf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java @@ -0,0 +1,39 @@ +package com.casic.missiles.enums.business; + +public enum MessageTypeEnum { + + STAFF_CERT("1", "检定员证书到期提醒"), + EQUIPMENT("2", "设备有效期提醒"), + STANDARD_EQUIPMENT("3", "装置有效期提醒"), + OVERTIME_MEASURE("4", "受检设备检定超期提醒"), + CHECK("5", "核查提醒"), + WEEK_MAINTAIN("6", "周维护"), + MONTH_MAINTAIN("7", "月保养"), + TRAINING_NOTICE("8", "培训签到通知"), + WORKBENCH_REMIND_ORDER("9", "工作台任务单设备超期提醒"), + WORKBENCH_REMIND_EQUIPMENT("10", "工作台设备超期提醒"), + WORKBENCH_REMIND_STANDARD("11", "工作台标准装置超期提醒"), + WORKBENCH_REMIND_STAFF("12", "工作台人员证书超期提醒"), + WORKBENCH_REMIND_CONSUMER("13", "工作台委托方意见登记提醒"), + STANDARD_BUILD_APPROVAL("14", "建标审批通过提醒"), + WORKBENCH_REMIND_NOVELTY_SEARCH("15", "测试校准检定方法查新提醒"), + WORKBENCH_REMIND_FILE_GRANT("16", "文件发放通知提醒"), + WORKBENCH_CUSTOMER_QUESTIONNAIRE("17", "委托方满意度调查表"); + + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java new file mode 100644 index 0000000..475ee1d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface BizBusinessOutsourceAssessSampleRelationMapper extends BaseMapper { + + List selectListByAssessId(@Param("assessId") Long assessId); + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java new file mode 100644 index 0000000..6f9c9c3 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.model.business.BizLabRelDept; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 业务编码关联组织机构 Mapper 接口 + *

+ * + * @author lwh + * @date 2023-10-21 + */ +public interface BizLabRelDeptMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java new file mode 100644 index 0000000..90e1e9e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.WorkbenchRemindMessage; + +/** + *

+ * 所有业务消息提醒 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +public interface WorkbenchRemindMessageMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java index 575f57d..4be77ce 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java @@ -10,8 +10,8 @@ @Select(" SELECT minio_file_name " + " FROM ${tableName} " + - " WHERE id =#{id}" + - " AND is_del=0 ") + " WHERE id =#{id} " + + " AND STATUS='1' ") String getSignFileSealById(@Param("id") Long id, @Param("tableName") String tableName); @Select(" SELECT minio_file_name " + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml new file mode 100644 index 0000000..fb4f2bf --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + id, access_id, sample_id, order_id, create_time, update_time + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml new file mode 100644 index 0000000..1f4e8d6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml new file mode 100644 index 0000000..fe86da3 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + id, remind_id, remind_dept_id, business_id, business_code, message_type, message_source_module, message_topic, message_title, message_content, status, create_user, create_user_name, create_time, update_time + + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java index 03991c9..de05843 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java @@ -5,6 +5,7 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.exception.BusinessExceptionEnum; import lombok.extern.slf4j.Slf4j; +import org.apache.catalina.connector.ClientAbortException; import org.springframework.core.annotation.Order; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.MethodArgumentNotValidException; @@ -48,4 +49,10 @@ public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); } + + @ExceptionHandler(ClientAbortException.class) + public void handleClientAbortException(ClientAbortException e) { + // 记录日志,忽略异常 + log.warn("客户端连接被中断:{}。可能的原因可能是客户端刷新、页面关闭或网络问题。", e.getMessage()); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 2fe7f0e..12838f2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -83,4 +83,6 @@ String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; String CONFIG_FILE_TYPE = "configFileType"; + String MESSAGE_TYPE = "bizMessageType"; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java new file mode 100644 index 0000000..a95d228 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java @@ -0,0 +1,56 @@ +package com.casic.missiles.dto.business.outsource; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/9/4 20:34 + */ +@Data +public class OutsourceAssessEquipmentDTO { + private Long id; + + @ApiModelProperty("设备编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("出厂编号") + private String manufactureNo; + + @ApiModelProperty("型号规格") + private String model; + + @ApiModelProperty("任务单id") + private Long orderId; + + @ApiModelProperty("任务单编号") + private String orderNo; + + @ApiModelProperty("委托单位") + private String customerName; + + @ApiModelProperty("委托单位id") + private String customerId; + + @ApiModelProperty(value = "计量标识(字典code)", dataType = "String") + @DictCodeField(message = "计量标识不合法", cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) + private String meterIdentify; + + @ApiModelProperty(value = "计量标识(字典value)", dataType = "String") + private String meterIdentifyName; + + @ApiModelProperty(value = "检定有效期", dataType = "String") + private String validDate; + + @ApiModelProperty(value = "辅助字段", dataType = "String") + private String helpInstruction; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java new file mode 100644 index 0000000..59a56cd --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java @@ -0,0 +1,71 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +@Data +@TableName("biz_business_outsource_assess_sample_relation") +public class BizBusinessOutsourceAssessSampleRelation implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 分包评审表id + */ + @TableField("access_id") + private Long accessId; + + /** + * 样品id + */ + @TableField("sample_id") + private Long sampleId; + + /** + * 委托书id + */ + @TableField("order_id") + private Long orderId; + + /** + * 分包设备状态(1检测中,2检测完成) + */ + @ApiModelProperty(value = "分包设备状态(1检测中,2检测完成)", dataType = "Integer") + @TableField("measure_status") + private Integer measureStatus; + + @ApiModelProperty(value = "检定结论", dataType = "Integer") + @TableField("conclusion") + private String conclusion; + + /** + * 创建时间 + */ + @TableField("create_time") + private String createTime; + + /** + * 更新时间 + */ + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java index 1004bdf..ad89779 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -16,10 +17,12 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.apache.commons.lang3.StringUtils; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.util.Objects; /** *

@@ -81,6 +84,14 @@ @TableField(exist = false) private String groupCodeName; + @ApiModelProperty(value = "分包评审表id", dataType = "Long") + @TableField("access_id") + private Long accessId; + + @ApiModelProperty(value = "分包项目", dataType = "String") + @TableField("item") + private String item; + @NotNull(message = "受检单位(委托方)id不能为空") @ApiModelProperty(value = "受检单位(委托方)id", dataType = "Long") @TableField("customer_id") @@ -91,18 +102,15 @@ @TableField("customer_name") private String customerName; - /** - * 分包方名称 - */ + @ApiModelProperty(value = "分包方名称", dataType = "String") + @TableField("outsourcer_id") + private String outsourcerId; + @ExcelProperty(value = "分包方名称", order = 4) @ApiModelProperty(value = "分包方名称", dataType = "String") @TableField("outsourcer_name") private String outsourcerName; - @ExcelProperty(value = "分包项目", order = 5) - @ApiModelProperty(value = "分包项目", dataType = "String") - @TableField("outsource_itme") - private String outsourceItem; /** * 分包设备名字 */ @@ -120,7 +128,7 @@ /** * 申请人名字(后台自动填为创建人) */ - @ExcelProperty(value = "申请人", order = 6) + @ExcelProperty(value = "申请人", order = 5) @ApiModelProperty(value = "申请人名字(后台自动填为创建人)", dataType = "String") @TableField("create_user_name") private String createUserName; @@ -160,6 +168,41 @@ @TableField("notice_user_name") private String noticeUserName; + @ApiModelProperty(value = "同意或拒绝(1同意2拒绝)", dataType = "Integer") + @TableField("agree_or_refuse") + private Integer agreeOrRefuse; + + public String getAgreeOrRefuseDesc() { + if (Objects.isNull(agreeOrRefuse)) { + return null; + } + if (1 == agreeOrRefuse) { + return "同意"; + } else if (2 == agreeOrRefuse) { + return "拒绝"; + } + return null; + } + + @ApiModelProperty(value = "委托方意见", dataType = "String") + @TableField(exist = false) + private String agreeOrRefuseDesc; + + @ApiModelProperty(value = "意见时间", dataType = "Integer") + @TableField("agree_or_refuse_time") + private String agreeOrRefuseTime; + + @ApiModelProperty(value = "通知发送状态(已发送/未发送)", dataType = "String") + @TableField(exist = false) + private String noticeSendStatus; + + public String getNoticeSendStatus() { + if (StringUtils.isNotEmpty(this.noticeUserId)) { + return "已发送"; + } + return "未发送"; + } + @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态描述不合法", cacheName = MeterDictCode.APPROVAL_STATUS) @TableField("approval_status") @@ -172,7 +215,7 @@ /** * 创建时间(申请时间) */ - @ExcelProperty(value = "申请时间", order = 7) + @ExcelProperty(value = "申请时间", order = 6) @ApiModelProperty(value = "申请时间", dataType = "String") @TableField("create_time") private String createTime; @@ -181,9 +224,12 @@ * 更新时间 */ @ApiModelProperty(hidden = true) - @TableField("update_time") + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) private String updateTime; + @ApiModelProperty(value = "分包项目", dataType = "String") + @TableField("outsource_itme") + private String outsourceItem; @ApiModelProperty(value = "审批状态类型-字典value", dataType = "String") @TableField(exist = false) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java new file mode 100644 index 0000000..45d3a1e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java @@ -0,0 +1,65 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * 业务编码关联组织机构对象 biz_lab_rel_dept + * + * @author lwh + * @date 2023-10-21 + */ +@Data +@TableName("biz_lab_rel_dept") +public class BizLabRelDept extends Model { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty(value = "主键", dataType = "Long") + @TableField("id") + private Long id; + + /** + * 部门字典值 + */ + @ApiModelProperty(value = "部门字典值", dataType = "String") + @TableField("biz_lab_code") + private String bizLabCode; + + /** + * 组织机构ID + */ + @ApiModelProperty(value = "组织机构ID", dataType = "Long") + @TableField("dept_id") + private Long deptId; + + @ApiModelProperty(value = "组织机构名称", dataType = "String") + @TableField(exist = false) + private String deptName; + /** + * 组别代码 + */ + @ApiModelProperty(value = "组别代码", dataType = "String") + @TableField("group_no") + private String groupNo; + + @ApiModelProperty(hidden = true) + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + @Override + public String toString() { + return "BizLabRelDept{" + + "id=" + id + + "bizLabCode=" + bizLabCode + + "deptId=" + deptId + + "}"; + } +} \ No newline at end of file diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/WorkbenchRemindMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/WorkbenchRemindMessage.java new file mode 100644 index 0000000..a95ed97 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/WorkbenchRemindMessage.java @@ -0,0 +1,198 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.dto.BaseRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import java.io.Serializable; + +/** + *

+ * 所有业务消息提醒 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +@ApiModel +@Data +@TableName("workbench_remind_message") +public class WorkbenchRemindMessage extends BaseRequest implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + /** + * 消息提醒的用户id(sys_user表id) + */ + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + @TableField("remind_id") + private Long remindId; + + /** + * 消息提醒的用户部门id + */ + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + @TableField("remind_dept_id") + private Long remindDeptId; + + @NotEmpty(message = "实验室代码不能为空") + @DictCodeField(message = "实验室代码描述不合法", cacheName = MeterDictCode.LAB_CODE) + @ApiModelProperty(value = "实验室代码(字典code)", dataType = "String") + @TableField("lab_code") + private String labCode; + + @ApiModelProperty(value = "实验室代码(字典value)", dataType = "String") + @TableField(exist = false) + private String labCodeName; + + /** + * 组别代码 + */ + @NotEmpty(message = "组别代码不能为空") + @DictCodeField(message = "组别代码描述不合法", cacheName = MeterDictCode.GROUP_CODE) + @ApiModelProperty(value = "组别代码(字典code)", dataType = "String") + @TableField("group_code") + private String groupCode; + + @ApiModelProperty(value = "组别代码(字典value)", dataType = "String") + @TableField(exist = false) + private String groupCodeName; + + /** + * 消息提醒的业务表id + */ + @ApiModelProperty(value = "消息提醒的业务表id", dataType = "Long") + @TableField("business_id") + private Long businessId; + + /** + * 消息提醒的业务关联表id + */ + @ApiModelProperty(value = "关联表业务主键", dataType = "Long") + @TableField("relation_business_id") + private Long relationBusinessId; + + /** + * 消息提醒的业务内容编码 + */ + @ApiModelProperty(value = "消息提醒的业务内容编码", dataType = "String") + @TableField("business_code") + private String businessCode; + + /** + * 消息提醒的业务类型 + */ + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + @DictCodeField(message = "消息提醒的业务类型不合法", cacheName = MeterDictCode.MESSAGE_TYPE) + @TableField("message_type") + private String messageType; + + @ApiModelProperty(value = "消息提醒的业务类型(字典value)", dataType = "String") + @TableField(exist = false) + private String messageTypeName; + +// @DictCodeField(message = "来源模块不合法", cacheName = MeterDictCode.MESSAGE_SOURCE_MODULE) + @ApiModelProperty(value = "来源模块(字典code)", dataType = "String") + @TableField("message_source_module") + private String messageSourceModule; + + @ApiModelProperty(value = "来源模块(字典value)", dataType = "String") + @TableField(exist = false) + private String messageSourceModuleName; + + /** + * 消息主题 + */ + @ApiModelProperty(value = "消息主题", dataType = "String") + @TableField("message_topic") + private String messageTopic; + + /** + * 消息主题(冗余) + */ + @ApiModelProperty(value = "消息主题(冗余)", dataType = "String") + @TableField("message_title") + private String messageTitle; + + /** + * 消息内容(消息提醒的业务内容名称) + */ + @ApiModelProperty(value = "消息内容(消息提醒的业务内容名称)", dataType = "String") + @TableField("message_content") + private String messageContent; + + /** + * 1已读0未读 + */ + @ApiModelProperty(value = "1已读0未读", dataType = "Integer") + @TableField("status") + private Integer status; + + /** + * 发起提醒人id + */ + @ApiModelProperty(value = "发起提醒人id", dataType = "Long") + @TableField("create_user") + private Long createUser; + + /** + * 发起提醒人名字 + */ + @ApiModelProperty(value = "发起提醒人名字", dataType = "String") + @TableField("create_user_name") + private String createUserName; + + /** + * 发起时间 + */ + @ApiModelProperty(value = "发起时间", dataType = "String") + @TableField("create_time") + private String createTime; + + /** + * 更新时间 + */ + @ApiModelProperty(value = "更新时间", dataType = "String") + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + @ApiModelProperty(value = "提醒次数",dataType = "Integer") + @TableField(exist = false) + private Integer remindNums; + + @ApiModelProperty(value = "额外内容",dataType = "String") + @TableField("extra_content") + private String extraContent; + + public WorkbenchRemindMessage(Long remindId, Long remindDeptId, Long businessId, String businessCode, String messageType, + String messageSourceModule, String messageTitle, String messageTopic, String messageContent, + Integer status, Long createUser, String createUserName) { + this.remindId = remindId; + this.remindDeptId = remindDeptId; + this.businessId = businessId; + this.businessCode = businessCode; + this.messageType = messageType; + this.messageSourceModule = messageSourceModule; + this.messageTopic = messageTopic; + this.messageTitle = messageTitle; + this.messageContent = messageContent; + this.status = status; + this.createUser = createUser; + this.createUserName = createUserName; + } + + public WorkbenchRemindMessage() { + } +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOutsourceAssessSampleRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOutsourceAssessSampleRelationService.java new file mode 100644 index 0000000..3a5d6a2 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOutsourceAssessSampleRelationService.java @@ -0,0 +1,20 @@ +package com.casic.missiles.service.business; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 服务类 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface IBizBusinessOutsourceAssessSampleRelationService extends IService { + + List selectListByAssessId(Long assessId); +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java new file mode 100644 index 0000000..bcab0bf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java @@ -0,0 +1,39 @@ +package com.casic.missiles.enums.business; + +public enum MessageTypeEnum { + + STAFF_CERT("1", "检定员证书到期提醒"), + EQUIPMENT("2", "设备有效期提醒"), + STANDARD_EQUIPMENT("3", "装置有效期提醒"), + OVERTIME_MEASURE("4", "受检设备检定超期提醒"), + CHECK("5", "核查提醒"), + WEEK_MAINTAIN("6", "周维护"), + MONTH_MAINTAIN("7", "月保养"), + TRAINING_NOTICE("8", "培训签到通知"), + WORKBENCH_REMIND_ORDER("9", "工作台任务单设备超期提醒"), + WORKBENCH_REMIND_EQUIPMENT("10", "工作台设备超期提醒"), + WORKBENCH_REMIND_STANDARD("11", "工作台标准装置超期提醒"), + WORKBENCH_REMIND_STAFF("12", "工作台人员证书超期提醒"), + WORKBENCH_REMIND_CONSUMER("13", "工作台委托方意见登记提醒"), + STANDARD_BUILD_APPROVAL("14", "建标审批通过提醒"), + WORKBENCH_REMIND_NOVELTY_SEARCH("15", "测试校准检定方法查新提醒"), + WORKBENCH_REMIND_FILE_GRANT("16", "文件发放通知提醒"), + WORKBENCH_CUSTOMER_QUESTIONNAIRE("17", "委托方满意度调查表"); + + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java new file mode 100644 index 0000000..475ee1d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface BizBusinessOutsourceAssessSampleRelationMapper extends BaseMapper { + + List selectListByAssessId(@Param("assessId") Long assessId); + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java new file mode 100644 index 0000000..6f9c9c3 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.model.business.BizLabRelDept; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 业务编码关联组织机构 Mapper 接口 + *

+ * + * @author lwh + * @date 2023-10-21 + */ +public interface BizLabRelDeptMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java new file mode 100644 index 0000000..90e1e9e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.WorkbenchRemindMessage; + +/** + *

+ * 所有业务消息提醒 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +public interface WorkbenchRemindMessageMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java index 575f57d..4be77ce 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java @@ -10,8 +10,8 @@ @Select(" SELECT minio_file_name " + " FROM ${tableName} " + - " WHERE id =#{id}" + - " AND is_del=0 ") + " WHERE id =#{id} " + + " AND STATUS='1' ") String getSignFileSealById(@Param("id") Long id, @Param("tableName") String tableName); @Select(" SELECT minio_file_name " + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml new file mode 100644 index 0000000..fb4f2bf --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + id, access_id, sample_id, order_id, create_time, update_time + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml new file mode 100644 index 0000000..1f4e8d6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml new file mode 100644 index 0000000..fe86da3 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + id, remind_id, remind_dept_id, business_id, business_code, message_type, message_source_module, message_topic, message_title, message_content, status, create_user, create_user_name, create_time, update_time + + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java index 03991c9..de05843 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java @@ -5,6 +5,7 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.exception.BusinessExceptionEnum; import lombok.extern.slf4j.Slf4j; +import org.apache.catalina.connector.ClientAbortException; import org.springframework.core.annotation.Order; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.MethodArgumentNotValidException; @@ -48,4 +49,10 @@ public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); } + + @ExceptionHandler(ClientAbortException.class) + public void handleClientAbortException(ClientAbortException e) { + // 记录日志,忽略异常 + log.warn("客户端连接被中断:{}。可能的原因可能是客户端刷新、页面关闭或网络问题。", e.getMessage()); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 2fe7f0e..12838f2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -83,4 +83,6 @@ String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; String CONFIG_FILE_TYPE = "configFileType"; + String MESSAGE_TYPE = "bizMessageType"; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java new file mode 100644 index 0000000..a95d228 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java @@ -0,0 +1,56 @@ +package com.casic.missiles.dto.business.outsource; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/9/4 20:34 + */ +@Data +public class OutsourceAssessEquipmentDTO { + private Long id; + + @ApiModelProperty("设备编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("出厂编号") + private String manufactureNo; + + @ApiModelProperty("型号规格") + private String model; + + @ApiModelProperty("任务单id") + private Long orderId; + + @ApiModelProperty("任务单编号") + private String orderNo; + + @ApiModelProperty("委托单位") + private String customerName; + + @ApiModelProperty("委托单位id") + private String customerId; + + @ApiModelProperty(value = "计量标识(字典code)", dataType = "String") + @DictCodeField(message = "计量标识不合法", cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) + private String meterIdentify; + + @ApiModelProperty(value = "计量标识(字典value)", dataType = "String") + private String meterIdentifyName; + + @ApiModelProperty(value = "检定有效期", dataType = "String") + private String validDate; + + @ApiModelProperty(value = "辅助字段", dataType = "String") + private String helpInstruction; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java new file mode 100644 index 0000000..59a56cd --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java @@ -0,0 +1,71 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +@Data +@TableName("biz_business_outsource_assess_sample_relation") +public class BizBusinessOutsourceAssessSampleRelation implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 分包评审表id + */ + @TableField("access_id") + private Long accessId; + + /** + * 样品id + */ + @TableField("sample_id") + private Long sampleId; + + /** + * 委托书id + */ + @TableField("order_id") + private Long orderId; + + /** + * 分包设备状态(1检测中,2检测完成) + */ + @ApiModelProperty(value = "分包设备状态(1检测中,2检测完成)", dataType = "Integer") + @TableField("measure_status") + private Integer measureStatus; + + @ApiModelProperty(value = "检定结论", dataType = "Integer") + @TableField("conclusion") + private String conclusion; + + /** + * 创建时间 + */ + @TableField("create_time") + private String createTime; + + /** + * 更新时间 + */ + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java index 1004bdf..ad89779 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -16,10 +17,12 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.apache.commons.lang3.StringUtils; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.util.Objects; /** *

@@ -81,6 +84,14 @@ @TableField(exist = false) private String groupCodeName; + @ApiModelProperty(value = "分包评审表id", dataType = "Long") + @TableField("access_id") + private Long accessId; + + @ApiModelProperty(value = "分包项目", dataType = "String") + @TableField("item") + private String item; + @NotNull(message = "受检单位(委托方)id不能为空") @ApiModelProperty(value = "受检单位(委托方)id", dataType = "Long") @TableField("customer_id") @@ -91,18 +102,15 @@ @TableField("customer_name") private String customerName; - /** - * 分包方名称 - */ + @ApiModelProperty(value = "分包方名称", dataType = "String") + @TableField("outsourcer_id") + private String outsourcerId; + @ExcelProperty(value = "分包方名称", order = 4) @ApiModelProperty(value = "分包方名称", dataType = "String") @TableField("outsourcer_name") private String outsourcerName; - @ExcelProperty(value = "分包项目", order = 5) - @ApiModelProperty(value = "分包项目", dataType = "String") - @TableField("outsource_itme") - private String outsourceItem; /** * 分包设备名字 */ @@ -120,7 +128,7 @@ /** * 申请人名字(后台自动填为创建人) */ - @ExcelProperty(value = "申请人", order = 6) + @ExcelProperty(value = "申请人", order = 5) @ApiModelProperty(value = "申请人名字(后台自动填为创建人)", dataType = "String") @TableField("create_user_name") private String createUserName; @@ -160,6 +168,41 @@ @TableField("notice_user_name") private String noticeUserName; + @ApiModelProperty(value = "同意或拒绝(1同意2拒绝)", dataType = "Integer") + @TableField("agree_or_refuse") + private Integer agreeOrRefuse; + + public String getAgreeOrRefuseDesc() { + if (Objects.isNull(agreeOrRefuse)) { + return null; + } + if (1 == agreeOrRefuse) { + return "同意"; + } else if (2 == agreeOrRefuse) { + return "拒绝"; + } + return null; + } + + @ApiModelProperty(value = "委托方意见", dataType = "String") + @TableField(exist = false) + private String agreeOrRefuseDesc; + + @ApiModelProperty(value = "意见时间", dataType = "Integer") + @TableField("agree_or_refuse_time") + private String agreeOrRefuseTime; + + @ApiModelProperty(value = "通知发送状态(已发送/未发送)", dataType = "String") + @TableField(exist = false) + private String noticeSendStatus; + + public String getNoticeSendStatus() { + if (StringUtils.isNotEmpty(this.noticeUserId)) { + return "已发送"; + } + return "未发送"; + } + @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态描述不合法", cacheName = MeterDictCode.APPROVAL_STATUS) @TableField("approval_status") @@ -172,7 +215,7 @@ /** * 创建时间(申请时间) */ - @ExcelProperty(value = "申请时间", order = 7) + @ExcelProperty(value = "申请时间", order = 6) @ApiModelProperty(value = "申请时间", dataType = "String") @TableField("create_time") private String createTime; @@ -181,9 +224,12 @@ * 更新时间 */ @ApiModelProperty(hidden = true) - @TableField("update_time") + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) private String updateTime; + @ApiModelProperty(value = "分包项目", dataType = "String") + @TableField("outsource_itme") + private String outsourceItem; @ApiModelProperty(value = "审批状态类型-字典value", dataType = "String") @TableField(exist = false) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java new file mode 100644 index 0000000..45d3a1e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java @@ -0,0 +1,65 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * 业务编码关联组织机构对象 biz_lab_rel_dept + * + * @author lwh + * @date 2023-10-21 + */ +@Data +@TableName("biz_lab_rel_dept") +public class BizLabRelDept extends Model { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty(value = "主键", dataType = "Long") + @TableField("id") + private Long id; + + /** + * 部门字典值 + */ + @ApiModelProperty(value = "部门字典值", dataType = "String") + @TableField("biz_lab_code") + private String bizLabCode; + + /** + * 组织机构ID + */ + @ApiModelProperty(value = "组织机构ID", dataType = "Long") + @TableField("dept_id") + private Long deptId; + + @ApiModelProperty(value = "组织机构名称", dataType = "String") + @TableField(exist = false) + private String deptName; + /** + * 组别代码 + */ + @ApiModelProperty(value = "组别代码", dataType = "String") + @TableField("group_no") + private String groupNo; + + @ApiModelProperty(hidden = true) + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + @Override + public String toString() { + return "BizLabRelDept{" + + "id=" + id + + "bizLabCode=" + bizLabCode + + "deptId=" + deptId + + "}"; + } +} \ No newline at end of file diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/WorkbenchRemindMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/WorkbenchRemindMessage.java new file mode 100644 index 0000000..a95ed97 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/WorkbenchRemindMessage.java @@ -0,0 +1,198 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.dto.BaseRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import java.io.Serializable; + +/** + *

+ * 所有业务消息提醒 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +@ApiModel +@Data +@TableName("workbench_remind_message") +public class WorkbenchRemindMessage extends BaseRequest implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + /** + * 消息提醒的用户id(sys_user表id) + */ + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + @TableField("remind_id") + private Long remindId; + + /** + * 消息提醒的用户部门id + */ + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + @TableField("remind_dept_id") + private Long remindDeptId; + + @NotEmpty(message = "实验室代码不能为空") + @DictCodeField(message = "实验室代码描述不合法", cacheName = MeterDictCode.LAB_CODE) + @ApiModelProperty(value = "实验室代码(字典code)", dataType = "String") + @TableField("lab_code") + private String labCode; + + @ApiModelProperty(value = "实验室代码(字典value)", dataType = "String") + @TableField(exist = false) + private String labCodeName; + + /** + * 组别代码 + */ + @NotEmpty(message = "组别代码不能为空") + @DictCodeField(message = "组别代码描述不合法", cacheName = MeterDictCode.GROUP_CODE) + @ApiModelProperty(value = "组别代码(字典code)", dataType = "String") + @TableField("group_code") + private String groupCode; + + @ApiModelProperty(value = "组别代码(字典value)", dataType = "String") + @TableField(exist = false) + private String groupCodeName; + + /** + * 消息提醒的业务表id + */ + @ApiModelProperty(value = "消息提醒的业务表id", dataType = "Long") + @TableField("business_id") + private Long businessId; + + /** + * 消息提醒的业务关联表id + */ + @ApiModelProperty(value = "关联表业务主键", dataType = "Long") + @TableField("relation_business_id") + private Long relationBusinessId; + + /** + * 消息提醒的业务内容编码 + */ + @ApiModelProperty(value = "消息提醒的业务内容编码", dataType = "String") + @TableField("business_code") + private String businessCode; + + /** + * 消息提醒的业务类型 + */ + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + @DictCodeField(message = "消息提醒的业务类型不合法", cacheName = MeterDictCode.MESSAGE_TYPE) + @TableField("message_type") + private String messageType; + + @ApiModelProperty(value = "消息提醒的业务类型(字典value)", dataType = "String") + @TableField(exist = false) + private String messageTypeName; + +// @DictCodeField(message = "来源模块不合法", cacheName = MeterDictCode.MESSAGE_SOURCE_MODULE) + @ApiModelProperty(value = "来源模块(字典code)", dataType = "String") + @TableField("message_source_module") + private String messageSourceModule; + + @ApiModelProperty(value = "来源模块(字典value)", dataType = "String") + @TableField(exist = false) + private String messageSourceModuleName; + + /** + * 消息主题 + */ + @ApiModelProperty(value = "消息主题", dataType = "String") + @TableField("message_topic") + private String messageTopic; + + /** + * 消息主题(冗余) + */ + @ApiModelProperty(value = "消息主题(冗余)", dataType = "String") + @TableField("message_title") + private String messageTitle; + + /** + * 消息内容(消息提醒的业务内容名称) + */ + @ApiModelProperty(value = "消息内容(消息提醒的业务内容名称)", dataType = "String") + @TableField("message_content") + private String messageContent; + + /** + * 1已读0未读 + */ + @ApiModelProperty(value = "1已读0未读", dataType = "Integer") + @TableField("status") + private Integer status; + + /** + * 发起提醒人id + */ + @ApiModelProperty(value = "发起提醒人id", dataType = "Long") + @TableField("create_user") + private Long createUser; + + /** + * 发起提醒人名字 + */ + @ApiModelProperty(value = "发起提醒人名字", dataType = "String") + @TableField("create_user_name") + private String createUserName; + + /** + * 发起时间 + */ + @ApiModelProperty(value = "发起时间", dataType = "String") + @TableField("create_time") + private String createTime; + + /** + * 更新时间 + */ + @ApiModelProperty(value = "更新时间", dataType = "String") + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + @ApiModelProperty(value = "提醒次数",dataType = "Integer") + @TableField(exist = false) + private Integer remindNums; + + @ApiModelProperty(value = "额外内容",dataType = "String") + @TableField("extra_content") + private String extraContent; + + public WorkbenchRemindMessage(Long remindId, Long remindDeptId, Long businessId, String businessCode, String messageType, + String messageSourceModule, String messageTitle, String messageTopic, String messageContent, + Integer status, Long createUser, String createUserName) { + this.remindId = remindId; + this.remindDeptId = remindDeptId; + this.businessId = businessId; + this.businessCode = businessCode; + this.messageType = messageType; + this.messageSourceModule = messageSourceModule; + this.messageTopic = messageTopic; + this.messageTitle = messageTitle; + this.messageContent = messageContent; + this.status = status; + this.createUser = createUser; + this.createUserName = createUserName; + } + + public WorkbenchRemindMessage() { + } +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOutsourceAssessSampleRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOutsourceAssessSampleRelationService.java new file mode 100644 index 0000000..3a5d6a2 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOutsourceAssessSampleRelationService.java @@ -0,0 +1,20 @@ +package com.casic.missiles.service.business; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 服务类 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface IBizBusinessOutsourceAssessSampleRelationService extends IService { + + List selectListByAssessId(Long assessId); +} 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 c5a0e92..7cad4cd 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 @@ -504,18 +504,18 @@ public EquipmentMultiAggr inUseMultiStatistic(List deptIds) { EquipmentMultiAggr res = new EquipmentMultiAggr(); EquipmentQueryForm queryForm = new EquipmentQueryForm(); -// if(CollUtil.isEmpty(deptIds)){ -// deptIds = getScopeOrCurrentDeptIds(); -// queryForm.setDeptIds(deptIds); -// }else { -// List subDeptIds = new ArrayList<>(); -// List allDeptList = permissionContext.getDeptService().list(null); -// for (Long deptId : deptIds) { -// subDeptIds.add(deptId); -// subDeptIds.addAll(allDeptList.stream().filter(i->ObjectUtil.isNotEmpty(i.getPids())&&i.getPids().contains(String.valueOf(deptId))).map(Dept::getId).distinct().collect(Collectors.toList())); -// } -// queryForm.setDeptIds(subDeptIds); -// } + if(CollUtil.isEmpty(deptIds)){ + deptIds = getScopeOrCurrentDeptIds(); + queryForm.setDeptIds(deptIds); + }else { + List subDeptIds = new ArrayList<>(); + List allDeptList = permissionContext.getDeptService().list(null); + for (Long deptId : deptIds) { + subDeptIds.add(deptId); + subDeptIds.addAll(allDeptList.stream().filter(i->ObjectUtil.isNotEmpty(i.getPids())&&i.getPids().contains(String.valueOf(deptId))).map(Dept::getId).distinct().collect(Collectors.toList())); + } + queryForm.setDeptIds(subDeptIds); + } queryForm.setUsageStatus(EquipmentStatusTypeEnum.UNSEAL); List list = equipmentInfoService.list(queryForm); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java new file mode 100644 index 0000000..bcab0bf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java @@ -0,0 +1,39 @@ +package com.casic.missiles.enums.business; + +public enum MessageTypeEnum { + + STAFF_CERT("1", "检定员证书到期提醒"), + EQUIPMENT("2", "设备有效期提醒"), + STANDARD_EQUIPMENT("3", "装置有效期提醒"), + OVERTIME_MEASURE("4", "受检设备检定超期提醒"), + CHECK("5", "核查提醒"), + WEEK_MAINTAIN("6", "周维护"), + MONTH_MAINTAIN("7", "月保养"), + TRAINING_NOTICE("8", "培训签到通知"), + WORKBENCH_REMIND_ORDER("9", "工作台任务单设备超期提醒"), + WORKBENCH_REMIND_EQUIPMENT("10", "工作台设备超期提醒"), + WORKBENCH_REMIND_STANDARD("11", "工作台标准装置超期提醒"), + WORKBENCH_REMIND_STAFF("12", "工作台人员证书超期提醒"), + WORKBENCH_REMIND_CONSUMER("13", "工作台委托方意见登记提醒"), + STANDARD_BUILD_APPROVAL("14", "建标审批通过提醒"), + WORKBENCH_REMIND_NOVELTY_SEARCH("15", "测试校准检定方法查新提醒"), + WORKBENCH_REMIND_FILE_GRANT("16", "文件发放通知提醒"), + WORKBENCH_CUSTOMER_QUESTIONNAIRE("17", "委托方满意度调查表"); + + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java new file mode 100644 index 0000000..475ee1d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface BizBusinessOutsourceAssessSampleRelationMapper extends BaseMapper { + + List selectListByAssessId(@Param("assessId") Long assessId); + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java new file mode 100644 index 0000000..6f9c9c3 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.model.business.BizLabRelDept; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 业务编码关联组织机构 Mapper 接口 + *

+ * + * @author lwh + * @date 2023-10-21 + */ +public interface BizLabRelDeptMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java new file mode 100644 index 0000000..90e1e9e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.WorkbenchRemindMessage; + +/** + *

+ * 所有业务消息提醒 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +public interface WorkbenchRemindMessageMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java index 575f57d..4be77ce 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java @@ -10,8 +10,8 @@ @Select(" SELECT minio_file_name " + " FROM ${tableName} " + - " WHERE id =#{id}" + - " AND is_del=0 ") + " WHERE id =#{id} " + + " AND STATUS='1' ") String getSignFileSealById(@Param("id") Long id, @Param("tableName") String tableName); @Select(" SELECT minio_file_name " + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml new file mode 100644 index 0000000..fb4f2bf --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + id, access_id, sample_id, order_id, create_time, update_time + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml new file mode 100644 index 0000000..1f4e8d6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml new file mode 100644 index 0000000..fe86da3 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + id, remind_id, remind_dept_id, business_id, business_code, message_type, message_source_module, message_topic, message_title, message_content, status, create_user, create_user_name, create_time, update_time + + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java index 03991c9..de05843 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java @@ -5,6 +5,7 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.exception.BusinessExceptionEnum; import lombok.extern.slf4j.Slf4j; +import org.apache.catalina.connector.ClientAbortException; import org.springframework.core.annotation.Order; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.MethodArgumentNotValidException; @@ -48,4 +49,10 @@ public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); } + + @ExceptionHandler(ClientAbortException.class) + public void handleClientAbortException(ClientAbortException e) { + // 记录日志,忽略异常 + log.warn("客户端连接被中断:{}。可能的原因可能是客户端刷新、页面关闭或网络问题。", e.getMessage()); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 2fe7f0e..12838f2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -83,4 +83,6 @@ String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; String CONFIG_FILE_TYPE = "configFileType"; + String MESSAGE_TYPE = "bizMessageType"; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java new file mode 100644 index 0000000..a95d228 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java @@ -0,0 +1,56 @@ +package com.casic.missiles.dto.business.outsource; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/9/4 20:34 + */ +@Data +public class OutsourceAssessEquipmentDTO { + private Long id; + + @ApiModelProperty("设备编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("出厂编号") + private String manufactureNo; + + @ApiModelProperty("型号规格") + private String model; + + @ApiModelProperty("任务单id") + private Long orderId; + + @ApiModelProperty("任务单编号") + private String orderNo; + + @ApiModelProperty("委托单位") + private String customerName; + + @ApiModelProperty("委托单位id") + private String customerId; + + @ApiModelProperty(value = "计量标识(字典code)", dataType = "String") + @DictCodeField(message = "计量标识不合法", cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) + private String meterIdentify; + + @ApiModelProperty(value = "计量标识(字典value)", dataType = "String") + private String meterIdentifyName; + + @ApiModelProperty(value = "检定有效期", dataType = "String") + private String validDate; + + @ApiModelProperty(value = "辅助字段", dataType = "String") + private String helpInstruction; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java new file mode 100644 index 0000000..59a56cd --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java @@ -0,0 +1,71 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +@Data +@TableName("biz_business_outsource_assess_sample_relation") +public class BizBusinessOutsourceAssessSampleRelation implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 分包评审表id + */ + @TableField("access_id") + private Long accessId; + + /** + * 样品id + */ + @TableField("sample_id") + private Long sampleId; + + /** + * 委托书id + */ + @TableField("order_id") + private Long orderId; + + /** + * 分包设备状态(1检测中,2检测完成) + */ + @ApiModelProperty(value = "分包设备状态(1检测中,2检测完成)", dataType = "Integer") + @TableField("measure_status") + private Integer measureStatus; + + @ApiModelProperty(value = "检定结论", dataType = "Integer") + @TableField("conclusion") + private String conclusion; + + /** + * 创建时间 + */ + @TableField("create_time") + private String createTime; + + /** + * 更新时间 + */ + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java index 1004bdf..ad89779 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -16,10 +17,12 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.apache.commons.lang3.StringUtils; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.util.Objects; /** *

@@ -81,6 +84,14 @@ @TableField(exist = false) private String groupCodeName; + @ApiModelProperty(value = "分包评审表id", dataType = "Long") + @TableField("access_id") + private Long accessId; + + @ApiModelProperty(value = "分包项目", dataType = "String") + @TableField("item") + private String item; + @NotNull(message = "受检单位(委托方)id不能为空") @ApiModelProperty(value = "受检单位(委托方)id", dataType = "Long") @TableField("customer_id") @@ -91,18 +102,15 @@ @TableField("customer_name") private String customerName; - /** - * 分包方名称 - */ + @ApiModelProperty(value = "分包方名称", dataType = "String") + @TableField("outsourcer_id") + private String outsourcerId; + @ExcelProperty(value = "分包方名称", order = 4) @ApiModelProperty(value = "分包方名称", dataType = "String") @TableField("outsourcer_name") private String outsourcerName; - @ExcelProperty(value = "分包项目", order = 5) - @ApiModelProperty(value = "分包项目", dataType = "String") - @TableField("outsource_itme") - private String outsourceItem; /** * 分包设备名字 */ @@ -120,7 +128,7 @@ /** * 申请人名字(后台自动填为创建人) */ - @ExcelProperty(value = "申请人", order = 6) + @ExcelProperty(value = "申请人", order = 5) @ApiModelProperty(value = "申请人名字(后台自动填为创建人)", dataType = "String") @TableField("create_user_name") private String createUserName; @@ -160,6 +168,41 @@ @TableField("notice_user_name") private String noticeUserName; + @ApiModelProperty(value = "同意或拒绝(1同意2拒绝)", dataType = "Integer") + @TableField("agree_or_refuse") + private Integer agreeOrRefuse; + + public String getAgreeOrRefuseDesc() { + if (Objects.isNull(agreeOrRefuse)) { + return null; + } + if (1 == agreeOrRefuse) { + return "同意"; + } else if (2 == agreeOrRefuse) { + return "拒绝"; + } + return null; + } + + @ApiModelProperty(value = "委托方意见", dataType = "String") + @TableField(exist = false) + private String agreeOrRefuseDesc; + + @ApiModelProperty(value = "意见时间", dataType = "Integer") + @TableField("agree_or_refuse_time") + private String agreeOrRefuseTime; + + @ApiModelProperty(value = "通知发送状态(已发送/未发送)", dataType = "String") + @TableField(exist = false) + private String noticeSendStatus; + + public String getNoticeSendStatus() { + if (StringUtils.isNotEmpty(this.noticeUserId)) { + return "已发送"; + } + return "未发送"; + } + @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态描述不合法", cacheName = MeterDictCode.APPROVAL_STATUS) @TableField("approval_status") @@ -172,7 +215,7 @@ /** * 创建时间(申请时间) */ - @ExcelProperty(value = "申请时间", order = 7) + @ExcelProperty(value = "申请时间", order = 6) @ApiModelProperty(value = "申请时间", dataType = "String") @TableField("create_time") private String createTime; @@ -181,9 +224,12 @@ * 更新时间 */ @ApiModelProperty(hidden = true) - @TableField("update_time") + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) private String updateTime; + @ApiModelProperty(value = "分包项目", dataType = "String") + @TableField("outsource_itme") + private String outsourceItem; @ApiModelProperty(value = "审批状态类型-字典value", dataType = "String") @TableField(exist = false) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java new file mode 100644 index 0000000..45d3a1e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java @@ -0,0 +1,65 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * 业务编码关联组织机构对象 biz_lab_rel_dept + * + * @author lwh + * @date 2023-10-21 + */ +@Data +@TableName("biz_lab_rel_dept") +public class BizLabRelDept extends Model { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty(value = "主键", dataType = "Long") + @TableField("id") + private Long id; + + /** + * 部门字典值 + */ + @ApiModelProperty(value = "部门字典值", dataType = "String") + @TableField("biz_lab_code") + private String bizLabCode; + + /** + * 组织机构ID + */ + @ApiModelProperty(value = "组织机构ID", dataType = "Long") + @TableField("dept_id") + private Long deptId; + + @ApiModelProperty(value = "组织机构名称", dataType = "String") + @TableField(exist = false) + private String deptName; + /** + * 组别代码 + */ + @ApiModelProperty(value = "组别代码", dataType = "String") + @TableField("group_no") + private String groupNo; + + @ApiModelProperty(hidden = true) + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + @Override + public String toString() { + return "BizLabRelDept{" + + "id=" + id + + "bizLabCode=" + bizLabCode + + "deptId=" + deptId + + "}"; + } +} \ No newline at end of file diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/WorkbenchRemindMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/WorkbenchRemindMessage.java new file mode 100644 index 0000000..a95ed97 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/WorkbenchRemindMessage.java @@ -0,0 +1,198 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.dto.BaseRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import java.io.Serializable; + +/** + *

+ * 所有业务消息提醒 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +@ApiModel +@Data +@TableName("workbench_remind_message") +public class WorkbenchRemindMessage extends BaseRequest implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + /** + * 消息提醒的用户id(sys_user表id) + */ + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + @TableField("remind_id") + private Long remindId; + + /** + * 消息提醒的用户部门id + */ + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + @TableField("remind_dept_id") + private Long remindDeptId; + + @NotEmpty(message = "实验室代码不能为空") + @DictCodeField(message = "实验室代码描述不合法", cacheName = MeterDictCode.LAB_CODE) + @ApiModelProperty(value = "实验室代码(字典code)", dataType = "String") + @TableField("lab_code") + private String labCode; + + @ApiModelProperty(value = "实验室代码(字典value)", dataType = "String") + @TableField(exist = false) + private String labCodeName; + + /** + * 组别代码 + */ + @NotEmpty(message = "组别代码不能为空") + @DictCodeField(message = "组别代码描述不合法", cacheName = MeterDictCode.GROUP_CODE) + @ApiModelProperty(value = "组别代码(字典code)", dataType = "String") + @TableField("group_code") + private String groupCode; + + @ApiModelProperty(value = "组别代码(字典value)", dataType = "String") + @TableField(exist = false) + private String groupCodeName; + + /** + * 消息提醒的业务表id + */ + @ApiModelProperty(value = "消息提醒的业务表id", dataType = "Long") + @TableField("business_id") + private Long businessId; + + /** + * 消息提醒的业务关联表id + */ + @ApiModelProperty(value = "关联表业务主键", dataType = "Long") + @TableField("relation_business_id") + private Long relationBusinessId; + + /** + * 消息提醒的业务内容编码 + */ + @ApiModelProperty(value = "消息提醒的业务内容编码", dataType = "String") + @TableField("business_code") + private String businessCode; + + /** + * 消息提醒的业务类型 + */ + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + @DictCodeField(message = "消息提醒的业务类型不合法", cacheName = MeterDictCode.MESSAGE_TYPE) + @TableField("message_type") + private String messageType; + + @ApiModelProperty(value = "消息提醒的业务类型(字典value)", dataType = "String") + @TableField(exist = false) + private String messageTypeName; + +// @DictCodeField(message = "来源模块不合法", cacheName = MeterDictCode.MESSAGE_SOURCE_MODULE) + @ApiModelProperty(value = "来源模块(字典code)", dataType = "String") + @TableField("message_source_module") + private String messageSourceModule; + + @ApiModelProperty(value = "来源模块(字典value)", dataType = "String") + @TableField(exist = false) + private String messageSourceModuleName; + + /** + * 消息主题 + */ + @ApiModelProperty(value = "消息主题", dataType = "String") + @TableField("message_topic") + private String messageTopic; + + /** + * 消息主题(冗余) + */ + @ApiModelProperty(value = "消息主题(冗余)", dataType = "String") + @TableField("message_title") + private String messageTitle; + + /** + * 消息内容(消息提醒的业务内容名称) + */ + @ApiModelProperty(value = "消息内容(消息提醒的业务内容名称)", dataType = "String") + @TableField("message_content") + private String messageContent; + + /** + * 1已读0未读 + */ + @ApiModelProperty(value = "1已读0未读", dataType = "Integer") + @TableField("status") + private Integer status; + + /** + * 发起提醒人id + */ + @ApiModelProperty(value = "发起提醒人id", dataType = "Long") + @TableField("create_user") + private Long createUser; + + /** + * 发起提醒人名字 + */ + @ApiModelProperty(value = "发起提醒人名字", dataType = "String") + @TableField("create_user_name") + private String createUserName; + + /** + * 发起时间 + */ + @ApiModelProperty(value = "发起时间", dataType = "String") + @TableField("create_time") + private String createTime; + + /** + * 更新时间 + */ + @ApiModelProperty(value = "更新时间", dataType = "String") + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + @ApiModelProperty(value = "提醒次数",dataType = "Integer") + @TableField(exist = false) + private Integer remindNums; + + @ApiModelProperty(value = "额外内容",dataType = "String") + @TableField("extra_content") + private String extraContent; + + public WorkbenchRemindMessage(Long remindId, Long remindDeptId, Long businessId, String businessCode, String messageType, + String messageSourceModule, String messageTitle, String messageTopic, String messageContent, + Integer status, Long createUser, String createUserName) { + this.remindId = remindId; + this.remindDeptId = remindDeptId; + this.businessId = businessId; + this.businessCode = businessCode; + this.messageType = messageType; + this.messageSourceModule = messageSourceModule; + this.messageTopic = messageTopic; + this.messageTitle = messageTitle; + this.messageContent = messageContent; + this.status = status; + this.createUser = createUser; + this.createUserName = createUserName; + } + + public WorkbenchRemindMessage() { + } +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOutsourceAssessSampleRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOutsourceAssessSampleRelationService.java new file mode 100644 index 0000000..3a5d6a2 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOutsourceAssessSampleRelationService.java @@ -0,0 +1,20 @@ +package com.casic.missiles.service.business; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 服务类 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface IBizBusinessOutsourceAssessSampleRelationService extends IService { + + List selectListByAssessId(Long assessId); +} 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 c5a0e92..7cad4cd 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 @@ -504,18 +504,18 @@ public EquipmentMultiAggr inUseMultiStatistic(List deptIds) { EquipmentMultiAggr res = new EquipmentMultiAggr(); EquipmentQueryForm queryForm = new EquipmentQueryForm(); -// if(CollUtil.isEmpty(deptIds)){ -// deptIds = getScopeOrCurrentDeptIds(); -// queryForm.setDeptIds(deptIds); -// }else { -// List subDeptIds = new ArrayList<>(); -// List allDeptList = permissionContext.getDeptService().list(null); -// for (Long deptId : deptIds) { -// subDeptIds.add(deptId); -// subDeptIds.addAll(allDeptList.stream().filter(i->ObjectUtil.isNotEmpty(i.getPids())&&i.getPids().contains(String.valueOf(deptId))).map(Dept::getId).distinct().collect(Collectors.toList())); -// } -// queryForm.setDeptIds(subDeptIds); -// } + if(CollUtil.isEmpty(deptIds)){ + deptIds = getScopeOrCurrentDeptIds(); + queryForm.setDeptIds(deptIds); + }else { + List subDeptIds = new ArrayList<>(); + List allDeptList = permissionContext.getDeptService().list(null); + for (Long deptId : deptIds) { + subDeptIds.add(deptId); + subDeptIds.addAll(allDeptList.stream().filter(i->ObjectUtil.isNotEmpty(i.getPids())&&i.getPids().contains(String.valueOf(deptId))).map(Dept::getId).distinct().collect(Collectors.toList())); + } + queryForm.setDeptIds(subDeptIds); + } queryForm.setUsageStatus(EquipmentStatusTypeEnum.UNSEAL); List list = equipmentInfoService.list(queryForm); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceAssessSampleRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceAssessSampleRelationServiceImpl.java new file mode 100644 index 0000000..48b521d --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceAssessSampleRelationServiceImpl.java @@ -0,0 +1,37 @@ +package com.casic.missiles.service.impl.business; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.mapper.business.BizBusinessOrderSampleRelationMapper; +import com.casic.missiles.mapper.business.BizBusinessOutsourceAssessSampleRelationMapper; +import com.casic.missiles.mapper.equipment.EquipmentInfoMapper; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import com.casic.missiles.service.business.IBizBusinessOutsourceAssessSampleRelationService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 服务实现类 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +@Service +public class BizBusinessOutsourceAssessSampleRelationServiceImpl extends ServiceImpl implements IBizBusinessOutsourceAssessSampleRelationService { + @Autowired + private EquipmentInfoMapper eqptEquipmentInfoMapper; + @Autowired + private BizBusinessOrderSampleRelationMapper orderSampleRelationMapper; + + @Override + public List selectListByAssessId(Long assessId) { + return this.baseMapper.selectListByAssessId(assessId); + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java new file mode 100644 index 0000000..bcab0bf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java @@ -0,0 +1,39 @@ +package com.casic.missiles.enums.business; + +public enum MessageTypeEnum { + + STAFF_CERT("1", "检定员证书到期提醒"), + EQUIPMENT("2", "设备有效期提醒"), + STANDARD_EQUIPMENT("3", "装置有效期提醒"), + OVERTIME_MEASURE("4", "受检设备检定超期提醒"), + CHECK("5", "核查提醒"), + WEEK_MAINTAIN("6", "周维护"), + MONTH_MAINTAIN("7", "月保养"), + TRAINING_NOTICE("8", "培训签到通知"), + WORKBENCH_REMIND_ORDER("9", "工作台任务单设备超期提醒"), + WORKBENCH_REMIND_EQUIPMENT("10", "工作台设备超期提醒"), + WORKBENCH_REMIND_STANDARD("11", "工作台标准装置超期提醒"), + WORKBENCH_REMIND_STAFF("12", "工作台人员证书超期提醒"), + WORKBENCH_REMIND_CONSUMER("13", "工作台委托方意见登记提醒"), + STANDARD_BUILD_APPROVAL("14", "建标审批通过提醒"), + WORKBENCH_REMIND_NOVELTY_SEARCH("15", "测试校准检定方法查新提醒"), + WORKBENCH_REMIND_FILE_GRANT("16", "文件发放通知提醒"), + WORKBENCH_CUSTOMER_QUESTIONNAIRE("17", "委托方满意度调查表"); + + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java new file mode 100644 index 0000000..475ee1d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface BizBusinessOutsourceAssessSampleRelationMapper extends BaseMapper { + + List selectListByAssessId(@Param("assessId") Long assessId); + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java new file mode 100644 index 0000000..6f9c9c3 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.model.business.BizLabRelDept; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 业务编码关联组织机构 Mapper 接口 + *

+ * + * @author lwh + * @date 2023-10-21 + */ +public interface BizLabRelDeptMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java new file mode 100644 index 0000000..90e1e9e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.WorkbenchRemindMessage; + +/** + *

+ * 所有业务消息提醒 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +public interface WorkbenchRemindMessageMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java index 575f57d..4be77ce 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java @@ -10,8 +10,8 @@ @Select(" SELECT minio_file_name " + " FROM ${tableName} " + - " WHERE id =#{id}" + - " AND is_del=0 ") + " WHERE id =#{id} " + + " AND STATUS='1' ") String getSignFileSealById(@Param("id") Long id, @Param("tableName") String tableName); @Select(" SELECT minio_file_name " + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml new file mode 100644 index 0000000..fb4f2bf --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + id, access_id, sample_id, order_id, create_time, update_time + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml new file mode 100644 index 0000000..1f4e8d6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml new file mode 100644 index 0000000..fe86da3 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + id, remind_id, remind_dept_id, business_id, business_code, message_type, message_source_module, message_topic, message_title, message_content, status, create_user, create_user_name, create_time, update_time + + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java index 03991c9..de05843 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java @@ -5,6 +5,7 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.exception.BusinessExceptionEnum; import lombok.extern.slf4j.Slf4j; +import org.apache.catalina.connector.ClientAbortException; import org.springframework.core.annotation.Order; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.MethodArgumentNotValidException; @@ -48,4 +49,10 @@ public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); } + + @ExceptionHandler(ClientAbortException.class) + public void handleClientAbortException(ClientAbortException e) { + // 记录日志,忽略异常 + log.warn("客户端连接被中断:{}。可能的原因可能是客户端刷新、页面关闭或网络问题。", e.getMessage()); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 2fe7f0e..12838f2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -83,4 +83,6 @@ String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; String CONFIG_FILE_TYPE = "configFileType"; + String MESSAGE_TYPE = "bizMessageType"; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java new file mode 100644 index 0000000..a95d228 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java @@ -0,0 +1,56 @@ +package com.casic.missiles.dto.business.outsource; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/9/4 20:34 + */ +@Data +public class OutsourceAssessEquipmentDTO { + private Long id; + + @ApiModelProperty("设备编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("出厂编号") + private String manufactureNo; + + @ApiModelProperty("型号规格") + private String model; + + @ApiModelProperty("任务单id") + private Long orderId; + + @ApiModelProperty("任务单编号") + private String orderNo; + + @ApiModelProperty("委托单位") + private String customerName; + + @ApiModelProperty("委托单位id") + private String customerId; + + @ApiModelProperty(value = "计量标识(字典code)", dataType = "String") + @DictCodeField(message = "计量标识不合法", cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) + private String meterIdentify; + + @ApiModelProperty(value = "计量标识(字典value)", dataType = "String") + private String meterIdentifyName; + + @ApiModelProperty(value = "检定有效期", dataType = "String") + private String validDate; + + @ApiModelProperty(value = "辅助字段", dataType = "String") + private String helpInstruction; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java new file mode 100644 index 0000000..59a56cd --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java @@ -0,0 +1,71 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +@Data +@TableName("biz_business_outsource_assess_sample_relation") +public class BizBusinessOutsourceAssessSampleRelation implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 分包评审表id + */ + @TableField("access_id") + private Long accessId; + + /** + * 样品id + */ + @TableField("sample_id") + private Long sampleId; + + /** + * 委托书id + */ + @TableField("order_id") + private Long orderId; + + /** + * 分包设备状态(1检测中,2检测完成) + */ + @ApiModelProperty(value = "分包设备状态(1检测中,2检测完成)", dataType = "Integer") + @TableField("measure_status") + private Integer measureStatus; + + @ApiModelProperty(value = "检定结论", dataType = "Integer") + @TableField("conclusion") + private String conclusion; + + /** + * 创建时间 + */ + @TableField("create_time") + private String createTime; + + /** + * 更新时间 + */ + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java index 1004bdf..ad89779 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -16,10 +17,12 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.apache.commons.lang3.StringUtils; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.util.Objects; /** *

@@ -81,6 +84,14 @@ @TableField(exist = false) private String groupCodeName; + @ApiModelProperty(value = "分包评审表id", dataType = "Long") + @TableField("access_id") + private Long accessId; + + @ApiModelProperty(value = "分包项目", dataType = "String") + @TableField("item") + private String item; + @NotNull(message = "受检单位(委托方)id不能为空") @ApiModelProperty(value = "受检单位(委托方)id", dataType = "Long") @TableField("customer_id") @@ -91,18 +102,15 @@ @TableField("customer_name") private String customerName; - /** - * 分包方名称 - */ + @ApiModelProperty(value = "分包方名称", dataType = "String") + @TableField("outsourcer_id") + private String outsourcerId; + @ExcelProperty(value = "分包方名称", order = 4) @ApiModelProperty(value = "分包方名称", dataType = "String") @TableField("outsourcer_name") private String outsourcerName; - @ExcelProperty(value = "分包项目", order = 5) - @ApiModelProperty(value = "分包项目", dataType = "String") - @TableField("outsource_itme") - private String outsourceItem; /** * 分包设备名字 */ @@ -120,7 +128,7 @@ /** * 申请人名字(后台自动填为创建人) */ - @ExcelProperty(value = "申请人", order = 6) + @ExcelProperty(value = "申请人", order = 5) @ApiModelProperty(value = "申请人名字(后台自动填为创建人)", dataType = "String") @TableField("create_user_name") private String createUserName; @@ -160,6 +168,41 @@ @TableField("notice_user_name") private String noticeUserName; + @ApiModelProperty(value = "同意或拒绝(1同意2拒绝)", dataType = "Integer") + @TableField("agree_or_refuse") + private Integer agreeOrRefuse; + + public String getAgreeOrRefuseDesc() { + if (Objects.isNull(agreeOrRefuse)) { + return null; + } + if (1 == agreeOrRefuse) { + return "同意"; + } else if (2 == agreeOrRefuse) { + return "拒绝"; + } + return null; + } + + @ApiModelProperty(value = "委托方意见", dataType = "String") + @TableField(exist = false) + private String agreeOrRefuseDesc; + + @ApiModelProperty(value = "意见时间", dataType = "Integer") + @TableField("agree_or_refuse_time") + private String agreeOrRefuseTime; + + @ApiModelProperty(value = "通知发送状态(已发送/未发送)", dataType = "String") + @TableField(exist = false) + private String noticeSendStatus; + + public String getNoticeSendStatus() { + if (StringUtils.isNotEmpty(this.noticeUserId)) { + return "已发送"; + } + return "未发送"; + } + @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态描述不合法", cacheName = MeterDictCode.APPROVAL_STATUS) @TableField("approval_status") @@ -172,7 +215,7 @@ /** * 创建时间(申请时间) */ - @ExcelProperty(value = "申请时间", order = 7) + @ExcelProperty(value = "申请时间", order = 6) @ApiModelProperty(value = "申请时间", dataType = "String") @TableField("create_time") private String createTime; @@ -181,9 +224,12 @@ * 更新时间 */ @ApiModelProperty(hidden = true) - @TableField("update_time") + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) private String updateTime; + @ApiModelProperty(value = "分包项目", dataType = "String") + @TableField("outsource_itme") + private String outsourceItem; @ApiModelProperty(value = "审批状态类型-字典value", dataType = "String") @TableField(exist = false) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java new file mode 100644 index 0000000..45d3a1e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java @@ -0,0 +1,65 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * 业务编码关联组织机构对象 biz_lab_rel_dept + * + * @author lwh + * @date 2023-10-21 + */ +@Data +@TableName("biz_lab_rel_dept") +public class BizLabRelDept extends Model { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty(value = "主键", dataType = "Long") + @TableField("id") + private Long id; + + /** + * 部门字典值 + */ + @ApiModelProperty(value = "部门字典值", dataType = "String") + @TableField("biz_lab_code") + private String bizLabCode; + + /** + * 组织机构ID + */ + @ApiModelProperty(value = "组织机构ID", dataType = "Long") + @TableField("dept_id") + private Long deptId; + + @ApiModelProperty(value = "组织机构名称", dataType = "String") + @TableField(exist = false) + private String deptName; + /** + * 组别代码 + */ + @ApiModelProperty(value = "组别代码", dataType = "String") + @TableField("group_no") + private String groupNo; + + @ApiModelProperty(hidden = true) + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + @Override + public String toString() { + return "BizLabRelDept{" + + "id=" + id + + "bizLabCode=" + bizLabCode + + "deptId=" + deptId + + "}"; + } +} \ No newline at end of file diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/WorkbenchRemindMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/WorkbenchRemindMessage.java new file mode 100644 index 0000000..a95ed97 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/WorkbenchRemindMessage.java @@ -0,0 +1,198 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.dto.BaseRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import java.io.Serializable; + +/** + *

+ * 所有业务消息提醒 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +@ApiModel +@Data +@TableName("workbench_remind_message") +public class WorkbenchRemindMessage extends BaseRequest implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + /** + * 消息提醒的用户id(sys_user表id) + */ + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + @TableField("remind_id") + private Long remindId; + + /** + * 消息提醒的用户部门id + */ + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + @TableField("remind_dept_id") + private Long remindDeptId; + + @NotEmpty(message = "实验室代码不能为空") + @DictCodeField(message = "实验室代码描述不合法", cacheName = MeterDictCode.LAB_CODE) + @ApiModelProperty(value = "实验室代码(字典code)", dataType = "String") + @TableField("lab_code") + private String labCode; + + @ApiModelProperty(value = "实验室代码(字典value)", dataType = "String") + @TableField(exist = false) + private String labCodeName; + + /** + * 组别代码 + */ + @NotEmpty(message = "组别代码不能为空") + @DictCodeField(message = "组别代码描述不合法", cacheName = MeterDictCode.GROUP_CODE) + @ApiModelProperty(value = "组别代码(字典code)", dataType = "String") + @TableField("group_code") + private String groupCode; + + @ApiModelProperty(value = "组别代码(字典value)", dataType = "String") + @TableField(exist = false) + private String groupCodeName; + + /** + * 消息提醒的业务表id + */ + @ApiModelProperty(value = "消息提醒的业务表id", dataType = "Long") + @TableField("business_id") + private Long businessId; + + /** + * 消息提醒的业务关联表id + */ + @ApiModelProperty(value = "关联表业务主键", dataType = "Long") + @TableField("relation_business_id") + private Long relationBusinessId; + + /** + * 消息提醒的业务内容编码 + */ + @ApiModelProperty(value = "消息提醒的业务内容编码", dataType = "String") + @TableField("business_code") + private String businessCode; + + /** + * 消息提醒的业务类型 + */ + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + @DictCodeField(message = "消息提醒的业务类型不合法", cacheName = MeterDictCode.MESSAGE_TYPE) + @TableField("message_type") + private String messageType; + + @ApiModelProperty(value = "消息提醒的业务类型(字典value)", dataType = "String") + @TableField(exist = false) + private String messageTypeName; + +// @DictCodeField(message = "来源模块不合法", cacheName = MeterDictCode.MESSAGE_SOURCE_MODULE) + @ApiModelProperty(value = "来源模块(字典code)", dataType = "String") + @TableField("message_source_module") + private String messageSourceModule; + + @ApiModelProperty(value = "来源模块(字典value)", dataType = "String") + @TableField(exist = false) + private String messageSourceModuleName; + + /** + * 消息主题 + */ + @ApiModelProperty(value = "消息主题", dataType = "String") + @TableField("message_topic") + private String messageTopic; + + /** + * 消息主题(冗余) + */ + @ApiModelProperty(value = "消息主题(冗余)", dataType = "String") + @TableField("message_title") + private String messageTitle; + + /** + * 消息内容(消息提醒的业务内容名称) + */ + @ApiModelProperty(value = "消息内容(消息提醒的业务内容名称)", dataType = "String") + @TableField("message_content") + private String messageContent; + + /** + * 1已读0未读 + */ + @ApiModelProperty(value = "1已读0未读", dataType = "Integer") + @TableField("status") + private Integer status; + + /** + * 发起提醒人id + */ + @ApiModelProperty(value = "发起提醒人id", dataType = "Long") + @TableField("create_user") + private Long createUser; + + /** + * 发起提醒人名字 + */ + @ApiModelProperty(value = "发起提醒人名字", dataType = "String") + @TableField("create_user_name") + private String createUserName; + + /** + * 发起时间 + */ + @ApiModelProperty(value = "发起时间", dataType = "String") + @TableField("create_time") + private String createTime; + + /** + * 更新时间 + */ + @ApiModelProperty(value = "更新时间", dataType = "String") + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + @ApiModelProperty(value = "提醒次数",dataType = "Integer") + @TableField(exist = false) + private Integer remindNums; + + @ApiModelProperty(value = "额外内容",dataType = "String") + @TableField("extra_content") + private String extraContent; + + public WorkbenchRemindMessage(Long remindId, Long remindDeptId, Long businessId, String businessCode, String messageType, + String messageSourceModule, String messageTitle, String messageTopic, String messageContent, + Integer status, Long createUser, String createUserName) { + this.remindId = remindId; + this.remindDeptId = remindDeptId; + this.businessId = businessId; + this.businessCode = businessCode; + this.messageType = messageType; + this.messageSourceModule = messageSourceModule; + this.messageTopic = messageTopic; + this.messageTitle = messageTitle; + this.messageContent = messageContent; + this.status = status; + this.createUser = createUser; + this.createUserName = createUserName; + } + + public WorkbenchRemindMessage() { + } +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOutsourceAssessSampleRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOutsourceAssessSampleRelationService.java new file mode 100644 index 0000000..3a5d6a2 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOutsourceAssessSampleRelationService.java @@ -0,0 +1,20 @@ +package com.casic.missiles.service.business; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 服务类 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface IBizBusinessOutsourceAssessSampleRelationService extends IService { + + List selectListByAssessId(Long assessId); +} 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 c5a0e92..7cad4cd 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 @@ -504,18 +504,18 @@ public EquipmentMultiAggr inUseMultiStatistic(List deptIds) { EquipmentMultiAggr res = new EquipmentMultiAggr(); EquipmentQueryForm queryForm = new EquipmentQueryForm(); -// if(CollUtil.isEmpty(deptIds)){ -// deptIds = getScopeOrCurrentDeptIds(); -// queryForm.setDeptIds(deptIds); -// }else { -// List subDeptIds = new ArrayList<>(); -// List allDeptList = permissionContext.getDeptService().list(null); -// for (Long deptId : deptIds) { -// subDeptIds.add(deptId); -// subDeptIds.addAll(allDeptList.stream().filter(i->ObjectUtil.isNotEmpty(i.getPids())&&i.getPids().contains(String.valueOf(deptId))).map(Dept::getId).distinct().collect(Collectors.toList())); -// } -// queryForm.setDeptIds(subDeptIds); -// } + if(CollUtil.isEmpty(deptIds)){ + deptIds = getScopeOrCurrentDeptIds(); + queryForm.setDeptIds(deptIds); + }else { + List subDeptIds = new ArrayList<>(); + List allDeptList = permissionContext.getDeptService().list(null); + for (Long deptId : deptIds) { + subDeptIds.add(deptId); + subDeptIds.addAll(allDeptList.stream().filter(i->ObjectUtil.isNotEmpty(i.getPids())&&i.getPids().contains(String.valueOf(deptId))).map(Dept::getId).distinct().collect(Collectors.toList())); + } + queryForm.setDeptIds(subDeptIds); + } queryForm.setUsageStatus(EquipmentStatusTypeEnum.UNSEAL); List list = equipmentInfoService.list(queryForm); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceAssessSampleRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceAssessSampleRelationServiceImpl.java new file mode 100644 index 0000000..48b521d --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceAssessSampleRelationServiceImpl.java @@ -0,0 +1,37 @@ +package com.casic.missiles.service.impl.business; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.mapper.business.BizBusinessOrderSampleRelationMapper; +import com.casic.missiles.mapper.business.BizBusinessOutsourceAssessSampleRelationMapper; +import com.casic.missiles.mapper.equipment.EquipmentInfoMapper; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import com.casic.missiles.service.business.IBizBusinessOutsourceAssessSampleRelationService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 服务实现类 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +@Service +public class BizBusinessOutsourceAssessSampleRelationServiceImpl extends ServiceImpl implements IBizBusinessOutsourceAssessSampleRelationService { + @Autowired + private EquipmentInfoMapper eqptEquipmentInfoMapper; + @Autowired + private BizBusinessOrderSampleRelationMapper orderSampleRelationMapper; + + @Override + public List selectListByAssessId(Long assessId) { + return this.baseMapper.selectListByAssessId(assessId); + } + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceNoticeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceNoticeServiceImpl.java index 4eb98e6..5d9cf7c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceNoticeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceNoticeServiceImpl.java @@ -9,19 +9,23 @@ import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ExportDTO; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; import com.casic.missiles.dto.business.outsource.OutsourceNoticeApprovalListRequest; import com.casic.missiles.enums.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BizBusinessOutsourceNoticeMapper; import com.casic.missiles.model.business.BizBusinessOutsourceNotice; +import com.casic.missiles.service.business.IBizBusinessOutsourceAssessSampleRelationService; import com.casic.missiles.service.business.IBizBusinessOutsourceNoticeService; import com.casic.missiles.service.listeners.register.PrintFileRegister; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import javax.servlet.http.HttpServletResponse; import java.util.Date; +import java.util.List; import java.util.Map; import java.util.Objects; @@ -41,6 +45,8 @@ private PrintFileRegister printFileRegister; @Autowired private AbstractPermissionContext permissionContext; + @Autowired + private IBizBusinessOutsourceAssessSampleRelationService outsourceAssessSampleRelationService; @Override public Page listPage(Page page, OutsourceNoticeApprovalListRequest request) throws Exception { @@ -58,6 +64,14 @@ map.put("year", DateUtil.year(date)); map.put("month", DateUtil.month(date)); map.put("day", DateUtil.dayOfMonth(date)); + List equipmentList = outsourceAssessSampleRelationService.selectListByAssessId(outsourceNotice.getAccessId()); + if (CollectionUtils.isEmpty(equipmentList)){ + throw new BusinessException(BusinessExceptionEnum.SUBCONTRACT_EQUIPMENT_NOT_EXIST); + } + OutsourceAssessEquipmentDTO equipment = equipmentList.get(0); + map.put("equipmentName", equipment.getEquipmentName()); + map.put("equipmentList",equipmentList); + map.put("createTime", DateUtil.formatChineseDate(DateUtil.parseDate(outsourceNotice.getCreateTime()),false,false)); printFileRegister.registerPrintFile(OUTSOURCE_NOTICE, "1", null, map, exportDTO.isPdf(), response); } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java new file mode 100644 index 0000000..bcab0bf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java @@ -0,0 +1,39 @@ +package com.casic.missiles.enums.business; + +public enum MessageTypeEnum { + + STAFF_CERT("1", "检定员证书到期提醒"), + EQUIPMENT("2", "设备有效期提醒"), + STANDARD_EQUIPMENT("3", "装置有效期提醒"), + OVERTIME_MEASURE("4", "受检设备检定超期提醒"), + CHECK("5", "核查提醒"), + WEEK_MAINTAIN("6", "周维护"), + MONTH_MAINTAIN("7", "月保养"), + TRAINING_NOTICE("8", "培训签到通知"), + WORKBENCH_REMIND_ORDER("9", "工作台任务单设备超期提醒"), + WORKBENCH_REMIND_EQUIPMENT("10", "工作台设备超期提醒"), + WORKBENCH_REMIND_STANDARD("11", "工作台标准装置超期提醒"), + WORKBENCH_REMIND_STAFF("12", "工作台人员证书超期提醒"), + WORKBENCH_REMIND_CONSUMER("13", "工作台委托方意见登记提醒"), + STANDARD_BUILD_APPROVAL("14", "建标审批通过提醒"), + WORKBENCH_REMIND_NOVELTY_SEARCH("15", "测试校准检定方法查新提醒"), + WORKBENCH_REMIND_FILE_GRANT("16", "文件发放通知提醒"), + WORKBENCH_CUSTOMER_QUESTIONNAIRE("17", "委托方满意度调查表"); + + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java new file mode 100644 index 0000000..475ee1d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface BizBusinessOutsourceAssessSampleRelationMapper extends BaseMapper { + + List selectListByAssessId(@Param("assessId") Long assessId); + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java new file mode 100644 index 0000000..6f9c9c3 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.model.business.BizLabRelDept; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 业务编码关联组织机构 Mapper 接口 + *

+ * + * @author lwh + * @date 2023-10-21 + */ +public interface BizLabRelDeptMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java new file mode 100644 index 0000000..90e1e9e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.WorkbenchRemindMessage; + +/** + *

+ * 所有业务消息提醒 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +public interface WorkbenchRemindMessageMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java index 575f57d..4be77ce 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java @@ -10,8 +10,8 @@ @Select(" SELECT minio_file_name " + " FROM ${tableName} " + - " WHERE id =#{id}" + - " AND is_del=0 ") + " WHERE id =#{id} " + + " AND STATUS='1' ") String getSignFileSealById(@Param("id") Long id, @Param("tableName") String tableName); @Select(" SELECT minio_file_name " + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml new file mode 100644 index 0000000..fb4f2bf --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + id, access_id, sample_id, order_id, create_time, update_time + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml new file mode 100644 index 0000000..1f4e8d6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml new file mode 100644 index 0000000..fe86da3 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + id, remind_id, remind_dept_id, business_id, business_code, message_type, message_source_module, message_topic, message_title, message_content, status, create_user, create_user_name, create_time, update_time + + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java index 03991c9..de05843 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java @@ -5,6 +5,7 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.exception.BusinessExceptionEnum; import lombok.extern.slf4j.Slf4j; +import org.apache.catalina.connector.ClientAbortException; import org.springframework.core.annotation.Order; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.MethodArgumentNotValidException; @@ -48,4 +49,10 @@ public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); } + + @ExceptionHandler(ClientAbortException.class) + public void handleClientAbortException(ClientAbortException e) { + // 记录日志,忽略异常 + log.warn("客户端连接被中断:{}。可能的原因可能是客户端刷新、页面关闭或网络问题。", e.getMessage()); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 2fe7f0e..12838f2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -83,4 +83,6 @@ String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; String CONFIG_FILE_TYPE = "configFileType"; + String MESSAGE_TYPE = "bizMessageType"; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java new file mode 100644 index 0000000..a95d228 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java @@ -0,0 +1,56 @@ +package com.casic.missiles.dto.business.outsource; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/9/4 20:34 + */ +@Data +public class OutsourceAssessEquipmentDTO { + private Long id; + + @ApiModelProperty("设备编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("出厂编号") + private String manufactureNo; + + @ApiModelProperty("型号规格") + private String model; + + @ApiModelProperty("任务单id") + private Long orderId; + + @ApiModelProperty("任务单编号") + private String orderNo; + + @ApiModelProperty("委托单位") + private String customerName; + + @ApiModelProperty("委托单位id") + private String customerId; + + @ApiModelProperty(value = "计量标识(字典code)", dataType = "String") + @DictCodeField(message = "计量标识不合法", cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) + private String meterIdentify; + + @ApiModelProperty(value = "计量标识(字典value)", dataType = "String") + private String meterIdentifyName; + + @ApiModelProperty(value = "检定有效期", dataType = "String") + private String validDate; + + @ApiModelProperty(value = "辅助字段", dataType = "String") + private String helpInstruction; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java new file mode 100644 index 0000000..59a56cd --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java @@ -0,0 +1,71 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +@Data +@TableName("biz_business_outsource_assess_sample_relation") +public class BizBusinessOutsourceAssessSampleRelation implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 分包评审表id + */ + @TableField("access_id") + private Long accessId; + + /** + * 样品id + */ + @TableField("sample_id") + private Long sampleId; + + /** + * 委托书id + */ + @TableField("order_id") + private Long orderId; + + /** + * 分包设备状态(1检测中,2检测完成) + */ + @ApiModelProperty(value = "分包设备状态(1检测中,2检测完成)", dataType = "Integer") + @TableField("measure_status") + private Integer measureStatus; + + @ApiModelProperty(value = "检定结论", dataType = "Integer") + @TableField("conclusion") + private String conclusion; + + /** + * 创建时间 + */ + @TableField("create_time") + private String createTime; + + /** + * 更新时间 + */ + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java index 1004bdf..ad89779 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -16,10 +17,12 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.apache.commons.lang3.StringUtils; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.util.Objects; /** *

@@ -81,6 +84,14 @@ @TableField(exist = false) private String groupCodeName; + @ApiModelProperty(value = "分包评审表id", dataType = "Long") + @TableField("access_id") + private Long accessId; + + @ApiModelProperty(value = "分包项目", dataType = "String") + @TableField("item") + private String item; + @NotNull(message = "受检单位(委托方)id不能为空") @ApiModelProperty(value = "受检单位(委托方)id", dataType = "Long") @TableField("customer_id") @@ -91,18 +102,15 @@ @TableField("customer_name") private String customerName; - /** - * 分包方名称 - */ + @ApiModelProperty(value = "分包方名称", dataType = "String") + @TableField("outsourcer_id") + private String outsourcerId; + @ExcelProperty(value = "分包方名称", order = 4) @ApiModelProperty(value = "分包方名称", dataType = "String") @TableField("outsourcer_name") private String outsourcerName; - @ExcelProperty(value = "分包项目", order = 5) - @ApiModelProperty(value = "分包项目", dataType = "String") - @TableField("outsource_itme") - private String outsourceItem; /** * 分包设备名字 */ @@ -120,7 +128,7 @@ /** * 申请人名字(后台自动填为创建人) */ - @ExcelProperty(value = "申请人", order = 6) + @ExcelProperty(value = "申请人", order = 5) @ApiModelProperty(value = "申请人名字(后台自动填为创建人)", dataType = "String") @TableField("create_user_name") private String createUserName; @@ -160,6 +168,41 @@ @TableField("notice_user_name") private String noticeUserName; + @ApiModelProperty(value = "同意或拒绝(1同意2拒绝)", dataType = "Integer") + @TableField("agree_or_refuse") + private Integer agreeOrRefuse; + + public String getAgreeOrRefuseDesc() { + if (Objects.isNull(agreeOrRefuse)) { + return null; + } + if (1 == agreeOrRefuse) { + return "同意"; + } else if (2 == agreeOrRefuse) { + return "拒绝"; + } + return null; + } + + @ApiModelProperty(value = "委托方意见", dataType = "String") + @TableField(exist = false) + private String agreeOrRefuseDesc; + + @ApiModelProperty(value = "意见时间", dataType = "Integer") + @TableField("agree_or_refuse_time") + private String agreeOrRefuseTime; + + @ApiModelProperty(value = "通知发送状态(已发送/未发送)", dataType = "String") + @TableField(exist = false) + private String noticeSendStatus; + + public String getNoticeSendStatus() { + if (StringUtils.isNotEmpty(this.noticeUserId)) { + return "已发送"; + } + return "未发送"; + } + @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态描述不合法", cacheName = MeterDictCode.APPROVAL_STATUS) @TableField("approval_status") @@ -172,7 +215,7 @@ /** * 创建时间(申请时间) */ - @ExcelProperty(value = "申请时间", order = 7) + @ExcelProperty(value = "申请时间", order = 6) @ApiModelProperty(value = "申请时间", dataType = "String") @TableField("create_time") private String createTime; @@ -181,9 +224,12 @@ * 更新时间 */ @ApiModelProperty(hidden = true) - @TableField("update_time") + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) private String updateTime; + @ApiModelProperty(value = "分包项目", dataType = "String") + @TableField("outsource_itme") + private String outsourceItem; @ApiModelProperty(value = "审批状态类型-字典value", dataType = "String") @TableField(exist = false) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java new file mode 100644 index 0000000..45d3a1e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java @@ -0,0 +1,65 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * 业务编码关联组织机构对象 biz_lab_rel_dept + * + * @author lwh + * @date 2023-10-21 + */ +@Data +@TableName("biz_lab_rel_dept") +public class BizLabRelDept extends Model { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty(value = "主键", dataType = "Long") + @TableField("id") + private Long id; + + /** + * 部门字典值 + */ + @ApiModelProperty(value = "部门字典值", dataType = "String") + @TableField("biz_lab_code") + private String bizLabCode; + + /** + * 组织机构ID + */ + @ApiModelProperty(value = "组织机构ID", dataType = "Long") + @TableField("dept_id") + private Long deptId; + + @ApiModelProperty(value = "组织机构名称", dataType = "String") + @TableField(exist = false) + private String deptName; + /** + * 组别代码 + */ + @ApiModelProperty(value = "组别代码", dataType = "String") + @TableField("group_no") + private String groupNo; + + @ApiModelProperty(hidden = true) + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + @Override + public String toString() { + return "BizLabRelDept{" + + "id=" + id + + "bizLabCode=" + bizLabCode + + "deptId=" + deptId + + "}"; + } +} \ No newline at end of file diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/WorkbenchRemindMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/WorkbenchRemindMessage.java new file mode 100644 index 0000000..a95ed97 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/WorkbenchRemindMessage.java @@ -0,0 +1,198 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.dto.BaseRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import java.io.Serializable; + +/** + *

+ * 所有业务消息提醒 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +@ApiModel +@Data +@TableName("workbench_remind_message") +public class WorkbenchRemindMessage extends BaseRequest implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + /** + * 消息提醒的用户id(sys_user表id) + */ + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + @TableField("remind_id") + private Long remindId; + + /** + * 消息提醒的用户部门id + */ + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + @TableField("remind_dept_id") + private Long remindDeptId; + + @NotEmpty(message = "实验室代码不能为空") + @DictCodeField(message = "实验室代码描述不合法", cacheName = MeterDictCode.LAB_CODE) + @ApiModelProperty(value = "实验室代码(字典code)", dataType = "String") + @TableField("lab_code") + private String labCode; + + @ApiModelProperty(value = "实验室代码(字典value)", dataType = "String") + @TableField(exist = false) + private String labCodeName; + + /** + * 组别代码 + */ + @NotEmpty(message = "组别代码不能为空") + @DictCodeField(message = "组别代码描述不合法", cacheName = MeterDictCode.GROUP_CODE) + @ApiModelProperty(value = "组别代码(字典code)", dataType = "String") + @TableField("group_code") + private String groupCode; + + @ApiModelProperty(value = "组别代码(字典value)", dataType = "String") + @TableField(exist = false) + private String groupCodeName; + + /** + * 消息提醒的业务表id + */ + @ApiModelProperty(value = "消息提醒的业务表id", dataType = "Long") + @TableField("business_id") + private Long businessId; + + /** + * 消息提醒的业务关联表id + */ + @ApiModelProperty(value = "关联表业务主键", dataType = "Long") + @TableField("relation_business_id") + private Long relationBusinessId; + + /** + * 消息提醒的业务内容编码 + */ + @ApiModelProperty(value = "消息提醒的业务内容编码", dataType = "String") + @TableField("business_code") + private String businessCode; + + /** + * 消息提醒的业务类型 + */ + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + @DictCodeField(message = "消息提醒的业务类型不合法", cacheName = MeterDictCode.MESSAGE_TYPE) + @TableField("message_type") + private String messageType; + + @ApiModelProperty(value = "消息提醒的业务类型(字典value)", dataType = "String") + @TableField(exist = false) + private String messageTypeName; + +// @DictCodeField(message = "来源模块不合法", cacheName = MeterDictCode.MESSAGE_SOURCE_MODULE) + @ApiModelProperty(value = "来源模块(字典code)", dataType = "String") + @TableField("message_source_module") + private String messageSourceModule; + + @ApiModelProperty(value = "来源模块(字典value)", dataType = "String") + @TableField(exist = false) + private String messageSourceModuleName; + + /** + * 消息主题 + */ + @ApiModelProperty(value = "消息主题", dataType = "String") + @TableField("message_topic") + private String messageTopic; + + /** + * 消息主题(冗余) + */ + @ApiModelProperty(value = "消息主题(冗余)", dataType = "String") + @TableField("message_title") + private String messageTitle; + + /** + * 消息内容(消息提醒的业务内容名称) + */ + @ApiModelProperty(value = "消息内容(消息提醒的业务内容名称)", dataType = "String") + @TableField("message_content") + private String messageContent; + + /** + * 1已读0未读 + */ + @ApiModelProperty(value = "1已读0未读", dataType = "Integer") + @TableField("status") + private Integer status; + + /** + * 发起提醒人id + */ + @ApiModelProperty(value = "发起提醒人id", dataType = "Long") + @TableField("create_user") + private Long createUser; + + /** + * 发起提醒人名字 + */ + @ApiModelProperty(value = "发起提醒人名字", dataType = "String") + @TableField("create_user_name") + private String createUserName; + + /** + * 发起时间 + */ + @ApiModelProperty(value = "发起时间", dataType = "String") + @TableField("create_time") + private String createTime; + + /** + * 更新时间 + */ + @ApiModelProperty(value = "更新时间", dataType = "String") + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + @ApiModelProperty(value = "提醒次数",dataType = "Integer") + @TableField(exist = false) + private Integer remindNums; + + @ApiModelProperty(value = "额外内容",dataType = "String") + @TableField("extra_content") + private String extraContent; + + public WorkbenchRemindMessage(Long remindId, Long remindDeptId, Long businessId, String businessCode, String messageType, + String messageSourceModule, String messageTitle, String messageTopic, String messageContent, + Integer status, Long createUser, String createUserName) { + this.remindId = remindId; + this.remindDeptId = remindDeptId; + this.businessId = businessId; + this.businessCode = businessCode; + this.messageType = messageType; + this.messageSourceModule = messageSourceModule; + this.messageTopic = messageTopic; + this.messageTitle = messageTitle; + this.messageContent = messageContent; + this.status = status; + this.createUser = createUser; + this.createUserName = createUserName; + } + + public WorkbenchRemindMessage() { + } +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOutsourceAssessSampleRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOutsourceAssessSampleRelationService.java new file mode 100644 index 0000000..3a5d6a2 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOutsourceAssessSampleRelationService.java @@ -0,0 +1,20 @@ +package com.casic.missiles.service.business; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 服务类 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface IBizBusinessOutsourceAssessSampleRelationService extends IService { + + List selectListByAssessId(Long assessId); +} 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 c5a0e92..7cad4cd 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 @@ -504,18 +504,18 @@ public EquipmentMultiAggr inUseMultiStatistic(List deptIds) { EquipmentMultiAggr res = new EquipmentMultiAggr(); EquipmentQueryForm queryForm = new EquipmentQueryForm(); -// if(CollUtil.isEmpty(deptIds)){ -// deptIds = getScopeOrCurrentDeptIds(); -// queryForm.setDeptIds(deptIds); -// }else { -// List subDeptIds = new ArrayList<>(); -// List allDeptList = permissionContext.getDeptService().list(null); -// for (Long deptId : deptIds) { -// subDeptIds.add(deptId); -// subDeptIds.addAll(allDeptList.stream().filter(i->ObjectUtil.isNotEmpty(i.getPids())&&i.getPids().contains(String.valueOf(deptId))).map(Dept::getId).distinct().collect(Collectors.toList())); -// } -// queryForm.setDeptIds(subDeptIds); -// } + if(CollUtil.isEmpty(deptIds)){ + deptIds = getScopeOrCurrentDeptIds(); + queryForm.setDeptIds(deptIds); + }else { + List subDeptIds = new ArrayList<>(); + List allDeptList = permissionContext.getDeptService().list(null); + for (Long deptId : deptIds) { + subDeptIds.add(deptId); + subDeptIds.addAll(allDeptList.stream().filter(i->ObjectUtil.isNotEmpty(i.getPids())&&i.getPids().contains(String.valueOf(deptId))).map(Dept::getId).distinct().collect(Collectors.toList())); + } + queryForm.setDeptIds(subDeptIds); + } queryForm.setUsageStatus(EquipmentStatusTypeEnum.UNSEAL); List list = equipmentInfoService.list(queryForm); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceAssessSampleRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceAssessSampleRelationServiceImpl.java new file mode 100644 index 0000000..48b521d --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceAssessSampleRelationServiceImpl.java @@ -0,0 +1,37 @@ +package com.casic.missiles.service.impl.business; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.mapper.business.BizBusinessOrderSampleRelationMapper; +import com.casic.missiles.mapper.business.BizBusinessOutsourceAssessSampleRelationMapper; +import com.casic.missiles.mapper.equipment.EquipmentInfoMapper; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import com.casic.missiles.service.business.IBizBusinessOutsourceAssessSampleRelationService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 服务实现类 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +@Service +public class BizBusinessOutsourceAssessSampleRelationServiceImpl extends ServiceImpl implements IBizBusinessOutsourceAssessSampleRelationService { + @Autowired + private EquipmentInfoMapper eqptEquipmentInfoMapper; + @Autowired + private BizBusinessOrderSampleRelationMapper orderSampleRelationMapper; + + @Override + public List selectListByAssessId(Long assessId) { + return this.baseMapper.selectListByAssessId(assessId); + } + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceNoticeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceNoticeServiceImpl.java index 4eb98e6..5d9cf7c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceNoticeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceNoticeServiceImpl.java @@ -9,19 +9,23 @@ import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ExportDTO; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; import com.casic.missiles.dto.business.outsource.OutsourceNoticeApprovalListRequest; import com.casic.missiles.enums.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BizBusinessOutsourceNoticeMapper; import com.casic.missiles.model.business.BizBusinessOutsourceNotice; +import com.casic.missiles.service.business.IBizBusinessOutsourceAssessSampleRelationService; import com.casic.missiles.service.business.IBizBusinessOutsourceNoticeService; import com.casic.missiles.service.listeners.register.PrintFileRegister; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import javax.servlet.http.HttpServletResponse; import java.util.Date; +import java.util.List; import java.util.Map; import java.util.Objects; @@ -41,6 +45,8 @@ private PrintFileRegister printFileRegister; @Autowired private AbstractPermissionContext permissionContext; + @Autowired + private IBizBusinessOutsourceAssessSampleRelationService outsourceAssessSampleRelationService; @Override public Page listPage(Page page, OutsourceNoticeApprovalListRequest request) throws Exception { @@ -58,6 +64,14 @@ map.put("year", DateUtil.year(date)); map.put("month", DateUtil.month(date)); map.put("day", DateUtil.dayOfMonth(date)); + List equipmentList = outsourceAssessSampleRelationService.selectListByAssessId(outsourceNotice.getAccessId()); + if (CollectionUtils.isEmpty(equipmentList)){ + throw new BusinessException(BusinessExceptionEnum.SUBCONTRACT_EQUIPMENT_NOT_EXIST); + } + OutsourceAssessEquipmentDTO equipment = equipmentList.get(0); + map.put("equipmentName", equipment.getEquipmentName()); + map.put("equipmentList",equipmentList); + map.put("createTime", DateUtil.formatChineseDate(DateUtil.parseDate(outsourceNotice.getCreateTime()),false,false)); printFileRegister.registerPrintFile(OUTSOURCE_NOTICE, "1", null, map, exportDTO.isPdf(), response); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/resource/BizResourceCustomerQuestionnaireServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/resource/BizResourceCustomerQuestionnaireServiceImpl.java index c17b0bb..cf3ec6c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/resource/BizResourceCustomerQuestionnaireServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/resource/BizResourceCustomerQuestionnaireServiceImpl.java @@ -15,15 +15,22 @@ import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.NoGenerateFileCodeEnum; import com.casic.missiles.enums.NoGenerateRecordTypeCodeEnum; +import com.casic.missiles.enums.business.MessageTypeEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BizLabRelDeptMapper; +import com.casic.missiles.mapper.business.WorkbenchRemindMessageMapper; import com.casic.missiles.mapper.resource.BizResourceCustomerQuestionnaireMapper; +import com.casic.missiles.model.business.BizLabRelDept; +import com.casic.missiles.model.business.WorkbenchRemindMessage; import com.casic.missiles.model.resource.BizResourceCustomerQuestionnaire; +import com.casic.missiles.model.system.UserInfo; import com.casic.missiles.modular.system.dao.DeptMapper; import com.casic.missiles.modular.system.dao.UserMapper; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.service.resource.IBizResourceCustomerQuestionnaireService; import com.casic.missiles.utils.NoGeneratorUtil; +import com.casic.missiles.utils.SysDeptAndUserUtil; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -49,11 +56,17 @@ private final AbstractPermissionContext permissionContext; + @Autowired + private WorkbenchRemindMessageMapper workbenchRemindMessageMapper; + + @Autowired + private BizLabRelDeptMapper labRelDeptMapper; + @Override public Page listPage(Page page, CustomerQuestionnaireListRequest request) { QueryWrapper wrapper = new QueryWrapper<>(); AuthUser authUser = permissionContext.getAuthService().getLoginUser(); - wrapper.eq("writer_id",authUser.getId()); + wrapper.eq("writer_id", authUser.getId()); if (Objects.nonNull(request.getDraft()) && (2 == request.getDraft())) { wrapper.eq("draft", request.getDraft()); } @@ -62,7 +75,7 @@ wrapper.and(QueryWrapper -> QueryWrapper.eq("draft", request.getDraft()) .or().isNull("draft")); } - wrapper.eq("send_flag",1);//业务系统已发送过来的 + wrapper.eq("send_flag", 1);//业务系统已发送过来的 wrapper.apply(StringUtils.isNotBlank(request.getSendTimeStart()), "{0} <= DATE_FORMAT(send_time,'%Y-%m-%d')", request.getSendTimeStart().split(" ")[0]); wrapper.apply(StringUtils.isNotBlank(request.getSendTimeEnd()), @@ -76,6 +89,32 @@ public void questionnaireSubmit(BizResourceCustomerQuestionnaire questionnaire) { if (2 == questionnaire.getDraft()) { questionnaire.setWriteTime(DateUtil.formatDateTime(new Date())); + //添加到业务系统工作提醒 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("biz_lab_code", questionnaire.getLabCode()); + wrapper.eq("group_no", "GL"); + BizLabRelDept bizLabRelDept = labRelDeptMapper.selectOne(wrapper); + if (Objects.nonNull(bizLabRelDept)) { + List directorIds = SysDeptAndUserUtil.getDeptDirectorIdByDeptId(bizLabRelDept.getDeptId()); + if (!CollectionUtils.isEmpty(directorIds)) { + for (String directorId : directorIds) { + WorkbenchRemindMessage message = new WorkbenchRemindMessage(); + message.setLabCode(questionnaire.getLabCode()); + message.setGroupCode("GL"); + message.setRemindId(Long.valueOf(directorId)); + message.setMessageType(MessageTypeEnum.WORKBENCH_CUSTOMER_QUESTIONNAIRE.getCode()); + message.setMessageSourceModule("3"); + message.setBusinessId(questionnaire.getId()); + message.setMessageTopic("收到委托方满意度调查表提醒"); + message.setMessageContent(questionnaire.getCustomerName() + questionnaire.getWriterName() + "已填写"); + message.setCreateTime(DateUtil.now()); + message.setStatus(0); + message.setCreateUser(questionnaire.getSenderId()); + message.setCreateUserName(questionnaire.getSenderName()); + workbenchRemindMessageMapper.insert(message); + } + } + } } this.updateById(questionnaire); } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index c5c31d0..9d74fd3 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -75,6 +75,8 @@ CLIENT_ID_EMPTY(2433, "用户id不能为空"), URGER_IS_EMPTY(2434, "催办人不存在或被删除,无法催办"), + SUBCONTRACT_EQUIPMENT_NOT_EXIST(2631, "未找到分包设备列表"), + /** * 表单生成及打印 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java new file mode 100644 index 0000000..bcab0bf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MessageTypeEnum.java @@ -0,0 +1,39 @@ +package com.casic.missiles.enums.business; + +public enum MessageTypeEnum { + + STAFF_CERT("1", "检定员证书到期提醒"), + EQUIPMENT("2", "设备有效期提醒"), + STANDARD_EQUIPMENT("3", "装置有效期提醒"), + OVERTIME_MEASURE("4", "受检设备检定超期提醒"), + CHECK("5", "核查提醒"), + WEEK_MAINTAIN("6", "周维护"), + MONTH_MAINTAIN("7", "月保养"), + TRAINING_NOTICE("8", "培训签到通知"), + WORKBENCH_REMIND_ORDER("9", "工作台任务单设备超期提醒"), + WORKBENCH_REMIND_EQUIPMENT("10", "工作台设备超期提醒"), + WORKBENCH_REMIND_STANDARD("11", "工作台标准装置超期提醒"), + WORKBENCH_REMIND_STAFF("12", "工作台人员证书超期提醒"), + WORKBENCH_REMIND_CONSUMER("13", "工作台委托方意见登记提醒"), + STANDARD_BUILD_APPROVAL("14", "建标审批通过提醒"), + WORKBENCH_REMIND_NOVELTY_SEARCH("15", "测试校准检定方法查新提醒"), + WORKBENCH_REMIND_FILE_GRANT("16", "文件发放通知提醒"), + WORKBENCH_CUSTOMER_QUESTIONNAIRE("17", "委托方满意度调查表"); + + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java new file mode 100644 index 0000000..475ee1d --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface BizBusinessOutsourceAssessSampleRelationMapper extends BaseMapper { + + List selectListByAssessId(@Param("assessId") Long assessId); + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java new file mode 100644 index 0000000..6f9c9c3 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BizLabRelDeptMapper.java @@ -0,0 +1,22 @@ +package com.casic.missiles.mapper.business; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.model.business.BizLabRelDept; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 业务编码关联组织机构 Mapper 接口 + *

+ * + * @author lwh + * @date 2023-10-21 + */ +public interface BizLabRelDeptMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java new file mode 100644 index 0000000..90e1e9e --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/WorkbenchRemindMessageMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.business.WorkbenchRemindMessage; + +/** + *

+ * 所有业务消息提醒 Mapper 接口 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +public interface WorkbenchRemindMessageMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java index 575f57d..4be77ce 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/file/PrintFileRegisterMapper.java @@ -10,8 +10,8 @@ @Select(" SELECT minio_file_name " + " FROM ${tableName} " + - " WHERE id =#{id}" + - " AND is_del=0 ") + " WHERE id =#{id} " + + " AND STATUS='1' ") String getSignFileSealById(@Param("id") Long id, @Param("tableName") String tableName); @Select(" SELECT minio_file_name " + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml new file mode 100644 index 0000000..fb4f2bf --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessOutsourceAssessSampleRelationMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + id, access_id, sample_id, order_id, create_time, update_time + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml new file mode 100644 index 0000000..1f4e8d6 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/BizLabRelDeptMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml new file mode 100644 index 0000000..fe86da3 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/business/WorkbenchRemindMessageMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + id, remind_id, remind_dept_id, business_id, business_code, message_type, message_source_module, message_topic, message_title, message_content, status, create_user, create_user_name, create_time, update_time + + + diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java index 03991c9..de05843 100644 --- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java +++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/handler/GlobalExceptionHandler.java @@ -5,6 +5,7 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.exception.BusinessExceptionEnum; import lombok.extern.slf4j.Slf4j; +import org.apache.catalina.connector.ClientAbortException; import org.springframework.core.annotation.Order; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.MethodArgumentNotValidException; @@ -48,4 +49,10 @@ public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException exception) { return ReturnUtil.failed(BusinessExceptionEnum.PARAM_INVALID.getCode(), exception.getFieldError().getDefaultMessage()); } + + @ExceptionHandler(ClientAbortException.class) + public void handleClientAbortException(ClientAbortException e) { + // 记录日志,忽略异常 + log.warn("客户端连接被中断:{}。可能的原因可能是客户端刷新、页面关闭或网络问题。", e.getMessage()); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 2fe7f0e..12838f2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -83,4 +83,6 @@ String BUSINESS_DOWNLOAD_TYPE = "businessDownloadType"; String CONFIG_FILE_TYPE = "configFileType"; + String MESSAGE_TYPE = "bizMessageType"; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java new file mode 100644 index 0000000..a95d228 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceAssessEquipmentDTO.java @@ -0,0 +1,56 @@ +package com.casic.missiles.dto.business.outsource; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/9/4 20:34 + */ +@Data +public class OutsourceAssessEquipmentDTO { + private Long id; + + @ApiModelProperty("设备编号") + private String equipmentNo; + + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("出厂编号") + private String manufactureNo; + + @ApiModelProperty("型号规格") + private String model; + + @ApiModelProperty("任务单id") + private Long orderId; + + @ApiModelProperty("任务单编号") + private String orderNo; + + @ApiModelProperty("委托单位") + private String customerName; + + @ApiModelProperty("委托单位id") + private String customerId; + + @ApiModelProperty(value = "计量标识(字典code)", dataType = "String") + @DictCodeField(message = "计量标识不合法", cacheName = MeterDictCode.EQUIPMENT_METER_IDENTITY) + private String meterIdentify; + + @ApiModelProperty(value = "计量标识(字典value)", dataType = "String") + private String meterIdentifyName; + + @ApiModelProperty(value = "检定有效期", dataType = "String") + private String validDate; + + @ApiModelProperty(value = "辅助字段", dataType = "String") + private String helpInstruction; + + @ApiModelProperty(value = "生产厂家", dataType = "String") + private String manufacturer; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java new file mode 100644 index 0000000..59a56cd --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceAssessSampleRelation.java @@ -0,0 +1,71 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +@Data +@TableName("biz_business_outsource_assess_sample_relation") +public class BizBusinessOutsourceAssessSampleRelation implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Long id; + + /** + * 分包评审表id + */ + @TableField("access_id") + private Long accessId; + + /** + * 样品id + */ + @TableField("sample_id") + private Long sampleId; + + /** + * 委托书id + */ + @TableField("order_id") + private Long orderId; + + /** + * 分包设备状态(1检测中,2检测完成) + */ + @ApiModelProperty(value = "分包设备状态(1检测中,2检测完成)", dataType = "Integer") + @TableField("measure_status") + private Integer measureStatus; + + @ApiModelProperty(value = "检定结论", dataType = "Integer") + @TableField("conclusion") + private String conclusion; + + /** + * 创建时间 + */ + @TableField("create_time") + private String createTime; + + /** + * 更新时间 + */ + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java index 1004bdf..ad89779 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessOutsourceNotice.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.write.style.ContentStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -16,10 +17,12 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.apache.commons.lang3.StringUtils; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.util.Objects; /** *

@@ -81,6 +84,14 @@ @TableField(exist = false) private String groupCodeName; + @ApiModelProperty(value = "分包评审表id", dataType = "Long") + @TableField("access_id") + private Long accessId; + + @ApiModelProperty(value = "分包项目", dataType = "String") + @TableField("item") + private String item; + @NotNull(message = "受检单位(委托方)id不能为空") @ApiModelProperty(value = "受检单位(委托方)id", dataType = "Long") @TableField("customer_id") @@ -91,18 +102,15 @@ @TableField("customer_name") private String customerName; - /** - * 分包方名称 - */ + @ApiModelProperty(value = "分包方名称", dataType = "String") + @TableField("outsourcer_id") + private String outsourcerId; + @ExcelProperty(value = "分包方名称", order = 4) @ApiModelProperty(value = "分包方名称", dataType = "String") @TableField("outsourcer_name") private String outsourcerName; - @ExcelProperty(value = "分包项目", order = 5) - @ApiModelProperty(value = "分包项目", dataType = "String") - @TableField("outsource_itme") - private String outsourceItem; /** * 分包设备名字 */ @@ -120,7 +128,7 @@ /** * 申请人名字(后台自动填为创建人) */ - @ExcelProperty(value = "申请人", order = 6) + @ExcelProperty(value = "申请人", order = 5) @ApiModelProperty(value = "申请人名字(后台自动填为创建人)", dataType = "String") @TableField("create_user_name") private String createUserName; @@ -160,6 +168,41 @@ @TableField("notice_user_name") private String noticeUserName; + @ApiModelProperty(value = "同意或拒绝(1同意2拒绝)", dataType = "Integer") + @TableField("agree_or_refuse") + private Integer agreeOrRefuse; + + public String getAgreeOrRefuseDesc() { + if (Objects.isNull(agreeOrRefuse)) { + return null; + } + if (1 == agreeOrRefuse) { + return "同意"; + } else if (2 == agreeOrRefuse) { + return "拒绝"; + } + return null; + } + + @ApiModelProperty(value = "委托方意见", dataType = "String") + @TableField(exist = false) + private String agreeOrRefuseDesc; + + @ApiModelProperty(value = "意见时间", dataType = "Integer") + @TableField("agree_or_refuse_time") + private String agreeOrRefuseTime; + + @ApiModelProperty(value = "通知发送状态(已发送/未发送)", dataType = "String") + @TableField(exist = false) + private String noticeSendStatus; + + public String getNoticeSendStatus() { + if (StringUtils.isNotEmpty(this.noticeUserId)) { + return "已发送"; + } + return "未发送"; + } + @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态描述不合法", cacheName = MeterDictCode.APPROVAL_STATUS) @TableField("approval_status") @@ -172,7 +215,7 @@ /** * 创建时间(申请时间) */ - @ExcelProperty(value = "申请时间", order = 7) + @ExcelProperty(value = "申请时间", order = 6) @ApiModelProperty(value = "申请时间", dataType = "String") @TableField("create_time") private String createTime; @@ -181,9 +224,12 @@ * 更新时间 */ @ApiModelProperty(hidden = true) - @TableField("update_time") + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) private String updateTime; + @ApiModelProperty(value = "分包项目", dataType = "String") + @TableField("outsource_itme") + private String outsourceItem; @ApiModelProperty(value = "审批状态类型-字典value", dataType = "String") @TableField(exist = false) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java new file mode 100644 index 0000000..45d3a1e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizLabRelDept.java @@ -0,0 +1,65 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * 业务编码关联组织机构对象 biz_lab_rel_dept + * + * @author lwh + * @date 2023-10-21 + */ +@Data +@TableName("biz_lab_rel_dept") +public class BizLabRelDept extends Model { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty(value = "主键", dataType = "Long") + @TableField("id") + private Long id; + + /** + * 部门字典值 + */ + @ApiModelProperty(value = "部门字典值", dataType = "String") + @TableField("biz_lab_code") + private String bizLabCode; + + /** + * 组织机构ID + */ + @ApiModelProperty(value = "组织机构ID", dataType = "Long") + @TableField("dept_id") + private Long deptId; + + @ApiModelProperty(value = "组织机构名称", dataType = "String") + @TableField(exist = false) + private String deptName; + /** + * 组别代码 + */ + @ApiModelProperty(value = "组别代码", dataType = "String") + @TableField("group_no") + private String groupNo; + + @ApiModelProperty(hidden = true) + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + @Override + public String toString() { + return "BizLabRelDept{" + + "id=" + id + + "bizLabCode=" + bizLabCode + + "deptId=" + deptId + + "}"; + } +} \ No newline at end of file diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/WorkbenchRemindMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/WorkbenchRemindMessage.java new file mode 100644 index 0000000..a95ed97 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/WorkbenchRemindMessage.java @@ -0,0 +1,198 @@ +package com.casic.missiles.model.business; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import com.casic.missiles.dto.BaseRequest; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import java.io.Serializable; + +/** + *

+ * 所有业务消息提醒 + *

+ * + * @author wangpeng + * @since 2023-02-23 + */ +@ApiModel +@Data +@TableName("workbench_remind_message") +public class WorkbenchRemindMessage extends BaseRequest implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId("id") + @ApiModelProperty(value = "主键id", dataType = "Long") + private Long id; + + /** + * 消息提醒的用户id(sys_user表id) + */ + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + @TableField("remind_id") + private Long remindId; + + /** + * 消息提醒的用户部门id + */ + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + @TableField("remind_dept_id") + private Long remindDeptId; + + @NotEmpty(message = "实验室代码不能为空") + @DictCodeField(message = "实验室代码描述不合法", cacheName = MeterDictCode.LAB_CODE) + @ApiModelProperty(value = "实验室代码(字典code)", dataType = "String") + @TableField("lab_code") + private String labCode; + + @ApiModelProperty(value = "实验室代码(字典value)", dataType = "String") + @TableField(exist = false) + private String labCodeName; + + /** + * 组别代码 + */ + @NotEmpty(message = "组别代码不能为空") + @DictCodeField(message = "组别代码描述不合法", cacheName = MeterDictCode.GROUP_CODE) + @ApiModelProperty(value = "组别代码(字典code)", dataType = "String") + @TableField("group_code") + private String groupCode; + + @ApiModelProperty(value = "组别代码(字典value)", dataType = "String") + @TableField(exist = false) + private String groupCodeName; + + /** + * 消息提醒的业务表id + */ + @ApiModelProperty(value = "消息提醒的业务表id", dataType = "Long") + @TableField("business_id") + private Long businessId; + + /** + * 消息提醒的业务关联表id + */ + @ApiModelProperty(value = "关联表业务主键", dataType = "Long") + @TableField("relation_business_id") + private Long relationBusinessId; + + /** + * 消息提醒的业务内容编码 + */ + @ApiModelProperty(value = "消息提醒的业务内容编码", dataType = "String") + @TableField("business_code") + private String businessCode; + + /** + * 消息提醒的业务类型 + */ + @ApiModelProperty(value = "消息提醒的业务类型(字典code)", dataType = "String") + @DictCodeField(message = "消息提醒的业务类型不合法", cacheName = MeterDictCode.MESSAGE_TYPE) + @TableField("message_type") + private String messageType; + + @ApiModelProperty(value = "消息提醒的业务类型(字典value)", dataType = "String") + @TableField(exist = false) + private String messageTypeName; + +// @DictCodeField(message = "来源模块不合法", cacheName = MeterDictCode.MESSAGE_SOURCE_MODULE) + @ApiModelProperty(value = "来源模块(字典code)", dataType = "String") + @TableField("message_source_module") + private String messageSourceModule; + + @ApiModelProperty(value = "来源模块(字典value)", dataType = "String") + @TableField(exist = false) + private String messageSourceModuleName; + + /** + * 消息主题 + */ + @ApiModelProperty(value = "消息主题", dataType = "String") + @TableField("message_topic") + private String messageTopic; + + /** + * 消息主题(冗余) + */ + @ApiModelProperty(value = "消息主题(冗余)", dataType = "String") + @TableField("message_title") + private String messageTitle; + + /** + * 消息内容(消息提醒的业务内容名称) + */ + @ApiModelProperty(value = "消息内容(消息提醒的业务内容名称)", dataType = "String") + @TableField("message_content") + private String messageContent; + + /** + * 1已读0未读 + */ + @ApiModelProperty(value = "1已读0未读", dataType = "Integer") + @TableField("status") + private Integer status; + + /** + * 发起提醒人id + */ + @ApiModelProperty(value = "发起提醒人id", dataType = "Long") + @TableField("create_user") + private Long createUser; + + /** + * 发起提醒人名字 + */ + @ApiModelProperty(value = "发起提醒人名字", dataType = "String") + @TableField("create_user_name") + private String createUserName; + + /** + * 发起时间 + */ + @ApiModelProperty(value = "发起时间", dataType = "String") + @TableField("create_time") + private String createTime; + + /** + * 更新时间 + */ + @ApiModelProperty(value = "更新时间", dataType = "String") + @TableField(value = "update_time", insertStrategy =FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) + private String updateTime; + + @ApiModelProperty(value = "提醒次数",dataType = "Integer") + @TableField(exist = false) + private Integer remindNums; + + @ApiModelProperty(value = "额外内容",dataType = "String") + @TableField("extra_content") + private String extraContent; + + public WorkbenchRemindMessage(Long remindId, Long remindDeptId, Long businessId, String businessCode, String messageType, + String messageSourceModule, String messageTitle, String messageTopic, String messageContent, + Integer status, Long createUser, String createUserName) { + this.remindId = remindId; + this.remindDeptId = remindDeptId; + this.businessId = businessId; + this.businessCode = businessCode; + this.messageType = messageType; + this.messageSourceModule = messageSourceModule; + this.messageTopic = messageTopic; + this.messageTitle = messageTitle; + this.messageContent = messageContent; + this.status = status; + this.createUser = createUser; + this.createUserName = createUserName; + } + + public WorkbenchRemindMessage() { + } +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOutsourceAssessSampleRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOutsourceAssessSampleRelationService.java new file mode 100644 index 0000000..3a5d6a2 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessOutsourceAssessSampleRelationService.java @@ -0,0 +1,20 @@ +package com.casic.missiles.service.business; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; + +import java.util.List; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 服务类 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +public interface IBizBusinessOutsourceAssessSampleRelationService extends IService { + + List selectListByAssessId(Long assessId); +} 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 c5a0e92..7cad4cd 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 @@ -504,18 +504,18 @@ public EquipmentMultiAggr inUseMultiStatistic(List deptIds) { EquipmentMultiAggr res = new EquipmentMultiAggr(); EquipmentQueryForm queryForm = new EquipmentQueryForm(); -// if(CollUtil.isEmpty(deptIds)){ -// deptIds = getScopeOrCurrentDeptIds(); -// queryForm.setDeptIds(deptIds); -// }else { -// List subDeptIds = new ArrayList<>(); -// List allDeptList = permissionContext.getDeptService().list(null); -// for (Long deptId : deptIds) { -// subDeptIds.add(deptId); -// subDeptIds.addAll(allDeptList.stream().filter(i->ObjectUtil.isNotEmpty(i.getPids())&&i.getPids().contains(String.valueOf(deptId))).map(Dept::getId).distinct().collect(Collectors.toList())); -// } -// queryForm.setDeptIds(subDeptIds); -// } + if(CollUtil.isEmpty(deptIds)){ + deptIds = getScopeOrCurrentDeptIds(); + queryForm.setDeptIds(deptIds); + }else { + List subDeptIds = new ArrayList<>(); + List allDeptList = permissionContext.getDeptService().list(null); + for (Long deptId : deptIds) { + subDeptIds.add(deptId); + subDeptIds.addAll(allDeptList.stream().filter(i->ObjectUtil.isNotEmpty(i.getPids())&&i.getPids().contains(String.valueOf(deptId))).map(Dept::getId).distinct().collect(Collectors.toList())); + } + queryForm.setDeptIds(subDeptIds); + } queryForm.setUsageStatus(EquipmentStatusTypeEnum.UNSEAL); List list = equipmentInfoService.list(queryForm); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceAssessSampleRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceAssessSampleRelationServiceImpl.java new file mode 100644 index 0000000..48b521d --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceAssessSampleRelationServiceImpl.java @@ -0,0 +1,37 @@ +package com.casic.missiles.service.impl.business; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; +import com.casic.missiles.mapper.business.BizBusinessOrderSampleRelationMapper; +import com.casic.missiles.mapper.business.BizBusinessOutsourceAssessSampleRelationMapper; +import com.casic.missiles.mapper.equipment.EquipmentInfoMapper; +import com.casic.missiles.model.business.BizBusinessOutsourceAssessSampleRelation; +import com.casic.missiles.service.business.IBizBusinessOutsourceAssessSampleRelationService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + *

+ * 计量检定业务-分包管理-分包评审表-样品关联表 服务实现类 + *

+ * + * @author wangpeng + * @since 2023-08-16 + */ +@Service +public class BizBusinessOutsourceAssessSampleRelationServiceImpl extends ServiceImpl implements IBizBusinessOutsourceAssessSampleRelationService { + @Autowired + private EquipmentInfoMapper eqptEquipmentInfoMapper; + @Autowired + private BizBusinessOrderSampleRelationMapper orderSampleRelationMapper; + + @Override + public List selectListByAssessId(Long assessId) { + return this.baseMapper.selectListByAssessId(assessId); + } + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceNoticeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceNoticeServiceImpl.java index 4eb98e6..5d9cf7c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceNoticeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/business/BizBusinessOutsourceNoticeServiceImpl.java @@ -9,19 +9,23 @@ import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ExportDTO; +import com.casic.missiles.dto.business.outsource.OutsourceAssessEquipmentDTO; import com.casic.missiles.dto.business.outsource.OutsourceNoticeApprovalListRequest; import com.casic.missiles.enums.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BizBusinessOutsourceNoticeMapper; import com.casic.missiles.model.business.BizBusinessOutsourceNotice; +import com.casic.missiles.service.business.IBizBusinessOutsourceAssessSampleRelationService; import com.casic.missiles.service.business.IBizBusinessOutsourceNoticeService; import com.casic.missiles.service.listeners.register.PrintFileRegister; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import javax.servlet.http.HttpServletResponse; import java.util.Date; +import java.util.List; import java.util.Map; import java.util.Objects; @@ -41,6 +45,8 @@ private PrintFileRegister printFileRegister; @Autowired private AbstractPermissionContext permissionContext; + @Autowired + private IBizBusinessOutsourceAssessSampleRelationService outsourceAssessSampleRelationService; @Override public Page listPage(Page page, OutsourceNoticeApprovalListRequest request) throws Exception { @@ -58,6 +64,14 @@ map.put("year", DateUtil.year(date)); map.put("month", DateUtil.month(date)); map.put("day", DateUtil.dayOfMonth(date)); + List equipmentList = outsourceAssessSampleRelationService.selectListByAssessId(outsourceNotice.getAccessId()); + if (CollectionUtils.isEmpty(equipmentList)){ + throw new BusinessException(BusinessExceptionEnum.SUBCONTRACT_EQUIPMENT_NOT_EXIST); + } + OutsourceAssessEquipmentDTO equipment = equipmentList.get(0); + map.put("equipmentName", equipment.getEquipmentName()); + map.put("equipmentList",equipmentList); + map.put("createTime", DateUtil.formatChineseDate(DateUtil.parseDate(outsourceNotice.getCreateTime()),false,false)); printFileRegister.registerPrintFile(OUTSOURCE_NOTICE, "1", null, map, exportDTO.isPdf(), response); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/resource/BizResourceCustomerQuestionnaireServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/resource/BizResourceCustomerQuestionnaireServiceImpl.java index c17b0bb..cf3ec6c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/resource/BizResourceCustomerQuestionnaireServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/resource/BizResourceCustomerQuestionnaireServiceImpl.java @@ -15,15 +15,22 @@ import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.NoGenerateFileCodeEnum; import com.casic.missiles.enums.NoGenerateRecordTypeCodeEnum; +import com.casic.missiles.enums.business.MessageTypeEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BizLabRelDeptMapper; +import com.casic.missiles.mapper.business.WorkbenchRemindMessageMapper; import com.casic.missiles.mapper.resource.BizResourceCustomerQuestionnaireMapper; +import com.casic.missiles.model.business.BizLabRelDept; +import com.casic.missiles.model.business.WorkbenchRemindMessage; import com.casic.missiles.model.resource.BizResourceCustomerQuestionnaire; +import com.casic.missiles.model.system.UserInfo; import com.casic.missiles.modular.system.dao.DeptMapper; import com.casic.missiles.modular.system.dao.UserMapper; import com.casic.missiles.modular.system.model.Dept; import com.casic.missiles.modular.system.model.User; import com.casic.missiles.service.resource.IBizResourceCustomerQuestionnaireService; import com.casic.missiles.utils.NoGeneratorUtil; +import com.casic.missiles.utils.SysDeptAndUserUtil; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -49,11 +56,17 @@ private final AbstractPermissionContext permissionContext; + @Autowired + private WorkbenchRemindMessageMapper workbenchRemindMessageMapper; + + @Autowired + private BizLabRelDeptMapper labRelDeptMapper; + @Override public Page listPage(Page page, CustomerQuestionnaireListRequest request) { QueryWrapper wrapper = new QueryWrapper<>(); AuthUser authUser = permissionContext.getAuthService().getLoginUser(); - wrapper.eq("writer_id",authUser.getId()); + wrapper.eq("writer_id", authUser.getId()); if (Objects.nonNull(request.getDraft()) && (2 == request.getDraft())) { wrapper.eq("draft", request.getDraft()); } @@ -62,7 +75,7 @@ wrapper.and(QueryWrapper -> QueryWrapper.eq("draft", request.getDraft()) .or().isNull("draft")); } - wrapper.eq("send_flag",1);//业务系统已发送过来的 + wrapper.eq("send_flag", 1);//业务系统已发送过来的 wrapper.apply(StringUtils.isNotBlank(request.getSendTimeStart()), "{0} <= DATE_FORMAT(send_time,'%Y-%m-%d')", request.getSendTimeStart().split(" ")[0]); wrapper.apply(StringUtils.isNotBlank(request.getSendTimeEnd()), @@ -76,6 +89,32 @@ public void questionnaireSubmit(BizResourceCustomerQuestionnaire questionnaire) { if (2 == questionnaire.getDraft()) { questionnaire.setWriteTime(DateUtil.formatDateTime(new Date())); + //添加到业务系统工作提醒 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("biz_lab_code", questionnaire.getLabCode()); + wrapper.eq("group_no", "GL"); + BizLabRelDept bizLabRelDept = labRelDeptMapper.selectOne(wrapper); + if (Objects.nonNull(bizLabRelDept)) { + List directorIds = SysDeptAndUserUtil.getDeptDirectorIdByDeptId(bizLabRelDept.getDeptId()); + if (!CollectionUtils.isEmpty(directorIds)) { + for (String directorId : directorIds) { + WorkbenchRemindMessage message = new WorkbenchRemindMessage(); + message.setLabCode(questionnaire.getLabCode()); + message.setGroupCode("GL"); + message.setRemindId(Long.valueOf(directorId)); + message.setMessageType(MessageTypeEnum.WORKBENCH_CUSTOMER_QUESTIONNAIRE.getCode()); + message.setMessageSourceModule("3"); + message.setBusinessId(questionnaire.getId()); + message.setMessageTopic("收到委托方满意度调查表提醒"); + message.setMessageContent(questionnaire.getCustomerName() + questionnaire.getWriterName() + "已填写"); + message.setCreateTime(DateUtil.now()); + message.setStatus(0); + message.setCreateUser(questionnaire.getSenderId()); + message.setCreateUserName(questionnaire.getSenderName()); + workbenchRemindMessageMapper.insert(message); + } + } + } } this.updateById(questionnaire); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/data/ElectronicSignSeal.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/data/ElectronicSignSeal.java index 04c3b87..eac675f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/data/ElectronicSignSeal.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/data/ElectronicSignSeal.java @@ -1,5 +1,7 @@ package com.casic.missiles.service.listeners.register.data; +import cn.hutool.core.collection.CollectionUtil; +import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.casic.missiles.dto.certificate.ElectronicImage; import com.casic.missiles.dto.certificate.FilePrintRegister; @@ -14,6 +16,8 @@ import java.util.*; import java.util.stream.Collectors; +import static org.apache.fop.pdf.PDFInfo.StandardKey.KEYWORDS; + /** * @author cz */ @@ -44,18 +48,13 @@ /** * 没有关键字的认可章列表构建 - * - * @param sings - * @param filePrintRegister */ - public static void electronicNoKeySignSeals(String sings, FilePrintRegister filePrintRegister) { + public static void electronicNoKeySignSeals(String signs, FilePrintRegister filePrintRegister) { List electronicImageSeals = new ArrayList<>(); - if (StringUtils.isNotEmpty(sings)) { - String[] signIds = sings.split(","); - List electronicImages = autoCreteAbsoluteSignSealByNumber(signIds.length); - for (int i = 0; i < signIds.length; i++) { - electronicImageSeals.add(doPopulateElectronicSignSeal(Long.valueOf(signIds[i]), electronicImages.get(i), filePrintRegister)); - } + if (StringUtils.isNotEmpty(signs)) { + List signJsonList = JSONArray.parseArray(signs, Map.class); + electronicImageSeals.addAll(keywordImageSignSeal(signJsonList, filePrintRegister)); + electronicImageSeals.addAll(absoluteSignSeal(signJsonList, filePrintRegister)); } filePrintRegister.setElectronicImageList(electronicImageSeals); } @@ -69,7 +68,7 @@ */ private static ElectronicImage doPopulateElectronicSignSeal(Long electronicSealId, ElectronicImage electronicImage, FilePrintRegister filePrintRegister) { PrintFileRegisterMapper fileRegisterMapper = SpringContextUtil.getBean(PrintFileRegisterMapper.class); - String electronicSealName = fileRegisterMapper.getSignFileSealById(electronicSealId, "system_sign"); + String electronicSealName = fileRegisterMapper.getSignFileSealById(electronicSealId, "biz_resource_seal_info"); //设置集合 electronicImage.setElectronicSealImageUrl(filePrintRegister.getTemDir() + electronicSealName); //放入待下载的文件集合 @@ -151,4 +150,52 @@ return electronicImageList; } + /** + * 处理相对位置的印章 + * + * @param signJsonList + * @param filePrintRegister + * @return + */ + private static List keywordImageSignSeal(List signJsonList, FilePrintRegister filePrintRegister) { + List noKeyWordsList = signJsonList.stream() + .filter(e -> StringUtils.isNotEmpty((String) e.get(KEYWORDS))) + .collect(Collectors.toList()); + List electronicImageSeals = new ArrayList<>(); + if (CollectionUtil.isEmpty(noKeyWordsList)) { + return electronicImageSeals; + } + for (Map signMap : noKeyWordsList) { + ElectronicImage electronicImage = defaultElectronicImage((String) signMap.get(KEYWORDS)); + electronicImage.setIsSealImage(true); + electronicImageSeals.add(doPopulateElectronicSignSeal((Long) signMap.get("signId"), + electronicImage, filePrintRegister)); + } + return electronicImageSeals; + } + + /** + * 处理绝对位置的印章 + * + * @param signJsonList + * @param filePrintRegister + * @return + */ + private static List absoluteSignSeal(List signJsonList, FilePrintRegister filePrintRegister) { + List noKeyWordsList = signJsonList.stream() + .filter(e -> StringUtils.isEmpty((String) e.get(KEYWORDS))) + .collect(Collectors.toList()); + List electronicImageSeals = new ArrayList<>(); + if (CollectionUtil.isEmpty(noKeyWordsList)) { + return electronicImageSeals; + } + //划分为绝对位置的印章和相对关键字的印章 + List electronicImages = autoCreteAbsoluteSignSealByNumber(noKeyWordsList.size()); + int count = 0; + for (Map signMap : noKeyWordsList) { + electronicImageSeals.add(doPopulateElectronicSignSeal((Long) signMap.get("signId"), + electronicImages.get(count++), filePrintRegister)); + } + return electronicImageSeals; + } }