.gitignore
@@ -73,3 +73,5 @@ .claude/scheduled_tasks.json /.export_tmp # æ¬å°éªè¯ä¸ç¨ï¼æ¬å°åºå¿«ç §ä¸è¦çé ç½®ï¼ï¼ç»ä¸å ¥åº .local-test/ yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/problem/AfterSaleProblemController.java
ÎļþÒÑɾ³ý yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/problem/vo/AfterSaleProblemPageReqVO.java
ÎļþÒÑɾ³ý yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/problem/vo/AfterSaleProblemRespVO.java
ÎļþÒÑɾ³ý yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/problem/vo/AfterSaleProblemSaveReqVO.java
ÎļþÒÑɾ³ý yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/ticket/vo/ticket/AfterSaleTicketRespVO.java
@@ -87,6 +87,18 @@ @Schema(description = "å ³éæ¶é´") private LocalDateTime closedTime; @Schema(description = "åè®¿ç¶æï¼0-å¾ å访 1-å·²å访éè¿", example = "0") private Integer visitStatus; @Schema(description = "æåå访æ¶é´") private LocalDateTime lastVisitTime; @Schema(description = "æåå访æ¯å¦æ»¡æ") private Boolean lastVisitSatisfied; @Schema(description = "æåå访æ¯å¦å¤å") private Boolean lastVisitRecurred; @Schema(description = "夿³¨") private String remark; yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/dal/dataobject/problem/AfterSaleProblemDO.java
ÎļþÒÑɾ³ý yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/dal/dataobject/ticket/AfterSaleTicketDO.java
@@ -130,15 +130,4 @@ * æåå访æ¯å¦å¤å */ private Boolean lastVisitRecurred; /** * å ³èé®é¢è®°å½ç¼å· * * å ³è {@link cn.iocoder.yudao.module.aftersales.dal.dataobject.problem.AfterSaleProblemDO#getId()} */ private Long problemId; /** * å ³èé®é¢åå· */ private String problemNo; } yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/dal/mysql/problem/AfterSaleProblemMapper.java
ÎļþÒÑɾ³ý yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/dal/redis/no/AfterSaleNoRedisDAO.java
@@ -26,10 +26,6 @@ */ public static final String RETURN_NO_PREFIX = "RT"; /** * é®é¢è®°å½ç¼å·åç¼ */ public static final String PROBLEM_NO_PREFIX = "AP"; @Resource private StringRedisTemplate stringRedisTemplate; yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/enums/AfterSaleProblemStatusEnum.java
ÎļþÒÑɾ³ý yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/enums/ErrorCodeConstants.java
@@ -52,14 +52,6 @@ ErrorCode COMPENSATION_AUDIT_REJECT_REASON_REQUIRED = new ErrorCode(1_022_004_006, "å®¡æ ¸ä¸éè¿æ¶å¿ 须填åä¸éè¿åå "); ErrorCode COMPENSATION_UPDATE_FAIL_NOT_EDITABLE = new ErrorCode(1_022_004_007, "åªææªæäº¤æå®¡æ ¸ä¸éè¿ç¶æçèµä»åæè½ä¿®æ¹"); // ========== å®åæå¡-é®é¢è®°å½ï¼1-022-005-000ï¼ ========== ErrorCode PROBLEM_NOT_EXISTS = new ErrorCode(1_022_005_000, "é®é¢è®°å½ä¸åå¨"); ErrorCode PROBLEM_NO_EXISTS = new ErrorCode(1_022_005_001, "é®é¢åå·éå¤ï¼è¯·éè¯"); ErrorCode PROBLEM_UPDATE_FAIL_STATUS = new ErrorCode(1_022_005_002, "é®é¢ä¿®æ¹å¤±è´¥ï¼åå ï¼ä» èç¨¿ç¶æå¯ç¼è¾"); ErrorCode PROBLEM_DELETE_FAIL_STATUS = new ErrorCode(1_022_005_003, "é®é¢å é¤å¤±è´¥ï¼åå ï¼ä» èç¨¿ç¶æå¯å é¤"); ErrorCode PROBLEM_PUBLISH_FAIL_STATUS = new ErrorCode(1_022_005_004, "é®é¢åå¸å¤±è´¥ï¼åå ï¼å½åç¶æä¸å¯åå¸"); ErrorCode PROBLEM_DISABLE_FAIL_STATUS = new ErrorCode(1_022_005_005, "é®é¢åç¨å¤±è´¥ï¼åå ï¼å½åç¶æä¸å¯åç¨"); // ========== å®åæå¡-å访ï¼1-022-006-000ï¼ ========== ErrorCode VISIT_NOT_EXISTS = new ErrorCode(1_022_006_000, "å访记å½ä¸åå¨"); ErrorCode VISIT_CREATE_FAIL_STATUS = new ErrorCode(1_022_006_001, "ç»è®°å访失败ï¼åå ï¼å·¥å䏿¯å·²å®ç»(å¾ å访)ç¶æ"); yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/service/problem/AfterSaleProblemService.java
ÎļþÒÑɾ³ý yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/service/problem/AfterSaleProblemServiceImpl.java
ÎļþÒÑɾ³ý yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/spare/MesDvSpareController.java
ÎļþÒÑɾ³ý yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/spare/vo/MesDvSpareActionReqVO.java
ÎļþÒÑɾ³ý yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/spare/vo/MesDvSpareMovementRespVO.java
ÎļþÒÑɾ³ý yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/spare/vo/MesDvSparePageReqVO.java
ÎļþÒÑɾ³ý yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/spare/vo/MesDvSparePartSaveReqVO.java
ÎļþÒÑɾ³ý yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/dv/spare/MesDvSpareMovementDO.java
ÎļþÒÑɾ³ý yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/dv/spare/MesDvSparePartDO.java
ÎļþÒÑɾ³ý yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/dv/spare/MesDvSpareMovementMapper.java
ÎļþÒÑɾ³ý yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/dv/spare/MesDvSparePartMapper.java
ÎļþÒÑɾ³ý yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/dv/spare/MesDvSpareService.java
ÎļþÒÑɾ³ý yudao-module-mes/src/main/resources/mapper/qc/ledger/MesQcInspectionLedgerMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,176 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="cn.iocoder.yudao.module.mes.dal.mysql.qc.ledger.MesQcInspectionLedgerMapper"> <!-- æ£æµç»æå°è´¦æ¥è¯¢ï¼åç±»æ£éªå UNION ALLï¼ ä¸è¡ = ä¸ä¸ªæ£æµé¡¹ç»æï¼æ£éªåæªå½å ¥æ£éªç»ææ¶è¯¥åå ä¸è¡ï¼æ£æµé¡¹ç¸å ³å为空ï¼LEFT JOIN ä¿è¯ä¸ä¸¢åï¼ã 说æï¼æ£éªç»æçå ³èé®ä¸º (qc_id, qc_type)ï¼qc_id ä¸ºåæ£éªåèªèº«ç idï¼éæç±»åè¿æ»¤ qc_typeï¼å¦åä¸åç±»åç id ä¼ä¸²åã 说æï¼æ£æµé¡¹åç§°ä¸åé»è¾å é¤è¿æ»¤ï¼å·²åç¨/å é¤çæ£æµé¡¹ä»å±ç¤ºåå²å°è´¦åç§°ã --> <select id="selectInspectionLedgerPage" resultType="cn.iocoder.yudao.module.mes.controller.admin.qc.ledger.vo.MesQcInspectionLedgerRespVO"> SELECT * FROM ( <!-- 1. æ¥ææ£éªï¼IQCï¼ï¼æ¹æ¬¡åä¾åºåæ¹æ¬¡å· --> SELECT ${@cn.iocoder.yudao.module.mes.enums.qc.MesQcTypeEnum@IQC.type} AS qcType, q.id AS qcId, q.code AS code, q.name AS name, q.status AS status, q.item_id AS itemId, q.vendor_batch AS batchNo, q.check_quantity AS checkQuantity, q.qualified_quantity AS qualifiedQuantity, q.unqualified_quantity AS unqualifiedQuantity, q.check_result AS checkResult, q.inspect_date AS inspectDate, q.inspector_user_id AS inspectorUserId, q.remark AS remark, d.indicator_id AS indicatorId, i.name AS indicatorName, d.value AS indicatorValue, d.remark AS indicatorRemark, l.standard_value AS standardValue, l.min_threshold AS minThreshold, l.max_threshold AS maxThreshold FROM mes_qc_iqc q LEFT JOIN mes_qc_indicator_result r ON r.qc_id = q.id AND r.qc_type = ${@cn.iocoder.yudao.module.mes.enums.qc.MesQcTypeEnum@IQC.type} AND r.deleted = 0 LEFT JOIN mes_qc_indicator_result_detail d ON d.result_id = r.id AND d.deleted = 0 LEFT JOIN mes_qc_indicator i ON i.id = d.indicator_id LEFT JOIN mes_qc_iqc_line l ON l.iqc_id = q.id AND l.indicator_id = d.indicator_id AND l.deleted = 0 WHERE q.deleted = 0 UNION ALL <!-- 2. è¿ç¨æ£éªï¼IPQCï¼ï¼æ æ¹æ¬¡å· --> SELECT ${@cn.iocoder.yudao.module.mes.enums.qc.MesQcTypeEnum@IPQC.type} AS qcType, q.id AS qcId, q.code AS code, q.name AS name, q.status AS status, q.item_id AS itemId, NULL AS batchNo, q.check_quantity AS checkQuantity, q.qualified_quantity AS qualifiedQuantity, q.unqualified_quantity AS unqualifiedQuantity, q.check_result AS checkResult, q.inspect_date AS inspectDate, q.inspector_user_id AS inspectorUserId, q.remark AS remark, d.indicator_id AS indicatorId, i.name AS indicatorName, d.value AS indicatorValue, d.remark AS indicatorRemark, l.standard_value AS standardValue, l.min_threshold AS minThreshold, l.max_threshold AS maxThreshold FROM mes_qc_ipqc q LEFT JOIN mes_qc_indicator_result r ON r.qc_id = q.id AND r.qc_type = ${@cn.iocoder.yudao.module.mes.enums.qc.MesQcTypeEnum@IPQC.type} AND r.deleted = 0 LEFT JOIN mes_qc_indicator_result_detail d ON d.result_id = r.id AND d.deleted = 0 LEFT JOIN mes_qc_indicator i ON i.id = d.indicator_id LEFT JOIN mes_qc_ipqc_line l ON l.ipqc_id = q.id AND l.indicator_id = d.indicator_id AND l.deleted = 0 WHERE q.deleted = 0 UNION ALL <!-- 3. åºè´§æ£éªï¼OQCï¼ï¼æ¹æ¬¡åæ¹æ¬¡å· --> SELECT ${@cn.iocoder.yudao.module.mes.enums.qc.MesQcTypeEnum@OQC.type} AS qcType, q.id AS qcId, q.code AS code, q.name AS name, q.status AS status, q.item_id AS itemId, q.batch_code AS batchNo, q.check_quantity AS checkQuantity, q.qualified_quantity AS qualifiedQuantity, q.unqualified_quantity AS unqualifiedQuantity, q.check_result AS checkResult, q.inspect_date AS inspectDate, q.inspector_user_id AS inspectorUserId, q.remark AS remark, d.indicator_id AS indicatorId, i.name AS indicatorName, d.value AS indicatorValue, d.remark AS indicatorRemark, l.standard_value AS standardValue, l.min_threshold AS minThreshold, l.max_threshold AS maxThreshold FROM mes_qc_oqc q LEFT JOIN mes_qc_indicator_result r ON r.qc_id = q.id AND r.qc_type = ${@cn.iocoder.yudao.module.mes.enums.qc.MesQcTypeEnum@OQC.type} AND r.deleted = 0 LEFT JOIN mes_qc_indicator_result_detail d ON d.result_id = r.id AND d.deleted = 0 LEFT JOIN mes_qc_indicator i ON i.id = d.indicator_id LEFT JOIN mes_qc_oqc_line l ON l.oqc_id = q.id AND l.indicator_id = d.indicator_id AND l.deleted = 0 WHERE q.deleted = 0 UNION ALL <!-- 4. éè´§æ£éªï¼RQCï¼ï¼æ¹æ¬¡åæ¹æ¬¡å· --> SELECT ${@cn.iocoder.yudao.module.mes.enums.qc.MesQcTypeEnum@RQC.type} AS qcType, q.id AS qcId, q.code AS code, q.name AS name, q.status AS status, q.item_id AS itemId, q.batch_code AS batchNo, q.check_quantity AS checkQuantity, q.qualified_quantity AS qualifiedQuantity, q.unqualified_quantity AS unqualifiedQuantity, q.check_result AS checkResult, q.inspect_date AS inspectDate, q.inspector_user_id AS inspectorUserId, q.remark AS remark, d.indicator_id AS indicatorId, i.name AS indicatorName, d.value AS indicatorValue, d.remark AS indicatorRemark, l.standard_value AS standardValue, l.min_threshold AS minThreshold, l.max_threshold AS maxThreshold FROM mes_qc_rqc q LEFT JOIN mes_qc_indicator_result r ON r.qc_id = q.id AND r.qc_type = ${@cn.iocoder.yudao.module.mes.enums.qc.MesQcTypeEnum@RQC.type} AND r.deleted = 0 LEFT JOIN mes_qc_indicator_result_detail d ON d.result_id = r.id AND d.deleted = 0 LEFT JOIN mes_qc_indicator i ON i.id = d.indicator_id LEFT JOIN mes_qc_rqc_line l ON l.rqc_id = q.id AND l.indicator_id = d.indicator_id AND l.deleted = 0 WHERE q.deleted = 0 ) t <where> <if test="reqVO.qcType != null"> AND t.qcType = #{reqVO.qcType} </if> <if test="reqVO.inspectDate != null and reqVO.inspectDate.length > 0 and reqVO.inspectDate[0] != null"> AND t.inspectDate >= #{reqVO.inspectDate[0]} </if> <if test="reqVO.inspectDate != null and reqVO.inspectDate.length > 1 and reqVO.inspectDate[1] != null"> AND t.inspectDate <= #{reqVO.inspectDate[1]} </if> <if test="reqVO.code != null and reqVO.code != ''"> AND t.code LIKE CONCAT('%', #{reqVO.code}, '%') </if> <if test="reqVO.itemId != null"> AND t.itemId = #{reqVO.itemId} </if> <if test="reqVO.batchNo != null and reqVO.batchNo != ''"> AND t.batchNo LIKE CONCAT('%', #{reqVO.batchNo}, '%') </if> <if test="reqVO.checkResult != null"> AND t.checkResult = #{reqVO.checkResult} </if> <if test="reqVO.inspectorUserId != null"> AND t.inspectorUserId = #{reqVO.inspectorUserId} </if> </where> ORDER BY t.inspectDate DESC, t.qcId DESC, t.qcType ASC </select> </mapper> yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/companyconfig/SystemCompanyConfigController.java
ÎļþÒÑɾ³ý yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/companyconfig/vo/SystemCompanyConfigRespVO.java
ÎļþÒÑɾ³ý yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/companyconfig/vo/SystemCompanyConfigSaveReqVO.java
ÎļþÒÑɾ³ý yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/database/DatabaseBackupController.java
ÎļþÒÑɾ³ý yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/companyconfig/SystemCompanyConfigDO.java
ÎļþÒÑɾ³ý yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/companyconfig/SystemCompanyConfigMapper.java
ÎļþÒÑɾ³ý yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/companyconfig/SystemCompanyConfigService.java
ÎļþÒÑɾ³ý yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/companyconfig/SystemCompanyConfigServiceImpl.java
ÎļþÒÑɾ³ý yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/database/DatabaseBackupService.java
ÎļþÒÑɾ³ý yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/database/DatabaseBackupServiceImpl.java
ÎļþÒÑɾ³ý