db/430É豸¹ÜÀíÊý¾Ý¿âÉè¼Æ.pdma.json
@@ -2,9 +2,9 @@ "name": "430设å¤ç®¡çæ°æ®åºè®¾è®¡", "describe": "æè¿°è®¾å¤ç®¡çæ°æ®åºè®¾è®¡ææ¡£", "avatar": "", "version": "4.9.4", "version": "4.9.2", "createdTime": "2025-3-10 16:38:19", "updatedTime": "2025-7-17 16:59:40", "updatedTime": "2025-7-17 19:49:48", "dbConns": [], "profile": { "default": { @@ -13631,7 +13631,9 @@ "attr8": "", "attr9": "", "id": "1CC43FB0-98B8-4000-91A3-E077BD7EA4E8", "baseType": "" "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "" } ], "correlations": [], @@ -13992,7 +13994,9 @@ "attr8": "", "attr9": "", "id": "5B168FA5-7457-48C0-BD48-0D892AE5EBAF", "baseType": "" "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "type": "" }, { "defKey": "training_user_time", @@ -14018,7 +14022,9 @@ "attr8": "", "attr9": "", "id": "6AE68254-FA3D-4CBE-94B4-1A13BDC7DE19", "baseType": "" "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "" }, { "defKey": "report_id", @@ -31111,7 +31117,7 @@ "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": true, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", @@ -31334,7 +31340,25 @@ "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" }, { "defKey": "depart_header_signature_comment", "defKey": "depart_header_signature_result", "defName": "使ç¨åä½å®¤ä¸»ç®¡ç¾åç»æ", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792", "id": "491BB748-36C9-4CD5-8FA5-5C7AA60327B2" }, { "defKey": "depart_header_comment", "defName": "使ç¨åä½å®¤ä¸»ç®¡æè§", "comment": "", "type": "", @@ -31418,8 +31442,26 @@ "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" }, { "defKey": "depart_leader_signature_comment", "defName": "使ç¨åä½é¨ä¸»ç®¡ç¾å", "defKey": "depart_leader_signature_result", "defName": "使ç¨åä½é¨ä¸»ç®¡ç¾åç»æ", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792", "id": "577D41D0-1925-4629-A179-E3F0BB23E3F7" }, { "defKey": "depart_leader_comment", "defName": "使ç¨åä½é¨ä¸»ç®¡æè§", "comment": "", "type": "", "len": "", @@ -31472,6 +31514,24 @@ "attr9": "", "id": "403E2E22-E3B6-4385-8438-50D2548E2766", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "remark", "defName": "夿³¨", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "id": "26D9A490-CD27-4C33-893B-962EA8DFCF2F" } ], "correlations": [], @@ -31719,6 +31779,24 @@ "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" }, { "defKey": "application_id", "defName": "ç³è¯·åID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "BF662050-3C75-4F7A-8784-6C0E0DBEC5DD" }, { "defKey": "equipment_id", "defName": "设å¤ID", "comment": "", @@ -31756,26 +31834,8 @@ }, { "defKey": "deactivate_duration", "defName": "åç¨æ¶é¿", "defName": "å·²åç¨æ¶é¿", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", "extProps": {}, "domain": "FF4459C5-6B45-4DBF-8FC0-E06239BC05B4", "id": "2E37AD51-B4B4-4122-99D5-8552F099EF2A" }, { "defKey": "deactivate_duration_unit", "defName": "åç¨æ¶é¿åä½", "comment": "天ãæãå¹´", "type": "", "len": "", "scale": "", @@ -31787,8 +31847,8 @@ "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792", "id": "583D0E63-78AF-46F4-BD7A-4224161872CF" "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "id": "2E37AD51-B4B4-4122-99D5-8552F099EF2A" } ], "correlations": [], @@ -33156,4 +33216,4 @@ "enable": true } ] } } lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java
@@ -37,6 +37,8 @@ String TECHNICAL_STATUS_CHANGE_CODE_RULE = "TechnicalStatusChangeCodeRule"; //ææ¯ç¶æåæ´ç¼ç è§å String TECHNICAL_STATUS_EVALUATION_APPLY_CODE_RULE = "TechnicalStatusEvaluationApplyCodeRule"; //åç¨å 工设å¤ç³è¯·ç¼ç è§å String TECHNICAL_STATUS_DEACTIVATE_CODE_RULE = "TechnicalStatusDeactivateCodeRule"; /** * å¤ä»¶è¯·è´åç¶æ 1:å·²å建 2:å·²æäº¤ 3:å·²éè¿ 4:已驳å 5:已宿 */ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/HfTemplateCategoryEnum.java
@@ -12,5 +12,6 @@ TECHNICAL_STATUS_EVALUATION_ORDER_CHANGE, //ææ¯ç¶æé´å®å·¥ååæ´ TECHNICAL_STATUS_CHANGE, //ææ¯ç¶æåæ´ç³è¯· TECHNICAL_STATUS_EVALUATION_APPLY, //ææ¯ç¶æé´å®ç³è¯· TECHNICAL_STATUS_DEACTIVATE, //åç¨å 工设å¤ç³è¯·å ; } lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/TechnicalStatusDeactivateStatusEnum.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,21 @@ package org.jeecg.modules.eam.constant; public enum TechnicalStatusDeactivateStatusEnum { WAIT_SUBMIT, //å¾ æäº¤ DEPART_HEADER_SIGNING, //使ç¨åä½å®¤çº§ä¸»ç®¡ç¾åä¸ DEPART_LEADER_SIGNING, //使ç¨åä½é¨çº§ä¸»ç®¡ç¾åä¸ ABOLISH, //å·²ä½åº REJECTED, //已驳å COMPLETED, //已宿 ; public static TechnicalStatusDeactivateStatusEnum getInstance(String code) { TechnicalStatusDeactivateStatusEnum[] values = TechnicalStatusDeactivateStatusEnum.values(); for (TechnicalStatusDeactivateStatusEnum value : values) { if (value.name().equals(code)) { return value; } } return null; } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusChangeController.java
@@ -19,8 +19,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; /** * @Description: ææ¯ç¶æåæ´ç³è¯· * @Author: jeecg-boot @@ -41,15 +39,13 @@ * @param query * @param pageNo * @param pageSize * @param req * @return */ @ApiOperation(value="ææ¯ç¶æåæ´ç³è¯·-å页å表æ¥è¯¢", notes="ææ¯ç¶æåæ´ç³è¯·-å页å表æ¥è¯¢") @GetMapping(value = "/list") public Result<?> queryPageList(EamTechnicalStatusChangeQuery query, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) { Page<EamTechnicalStatusChange> page = new Page<EamTechnicalStatusChange>(pageNo, pageSize); IPage<EamTechnicalStatusChange> pageList = eamTechnicalStatusChangeService.queryPageList(page, query); return Result.OK(pageList); lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusDeactivateController.java
@@ -1,6 +1,7 @@ package org.jeecg.modules.eam.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; @@ -9,143 +10,145 @@ import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.modules.eam.constant.TechnicalStatusDeactivateStatusEnum; import org.jeecg.modules.eam.entity.EamTechnicalStatusDeactivate; import org.jeecg.modules.eam.request.EamTechnicalStatusDeactivateQuery; import org.jeecg.modules.eam.request.EamTechnicalStatusDeactivateRequest; import org.jeecg.modules.eam.service.IEamTechnicalStatusDeactivateService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; /** /** * @Description: åç¨å 工设å¤ç³è¯·å * @Author: jeecg-boot * @Date: 2025-07-09 * @Date: 2025-07-09 * @Version: V1.0 */ @Slf4j @Api(tags="åç¨å 工设å¤ç³è¯·å") @Api(tags = "åç¨å 工设å¤ç³è¯·å") @RestController @RequestMapping("/eam/eamTechnicalStatusDeactivate") public class EamTechnicalStatusDeactivateController extends JeecgController<EamTechnicalStatusDeactivate, IEamTechnicalStatusDeactivateService> { @Autowired private IEamTechnicalStatusDeactivateService eamTechnicalStatusDeactivateService; /** * å页å表æ¥è¯¢ * * @param eamTechnicalStatusDeactivate * @param pageNo * @param pageSize * @param req * @return */ @ApiOperation(value="åç¨å 工设å¤ç³è¯·å-å页å表æ¥è¯¢", notes="åç¨å 工设å¤ç³è¯·å-å页å表æ¥è¯¢") @GetMapping(value = "/list") public Result<?> queryPageList(EamTechnicalStatusDeactivate eamTechnicalStatusDeactivate, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { QueryWrapper<EamTechnicalStatusDeactivate> queryWrapper = QueryGenerator.initQueryWrapper(eamTechnicalStatusDeactivate, req.getParameterMap()); Page<EamTechnicalStatusDeactivate> page = new Page<EamTechnicalStatusDeactivate>(pageNo, pageSize); IPage<EamTechnicalStatusDeactivate> pageList = eamTechnicalStatusDeactivateService.page(page, queryWrapper); return Result.OK(pageList); } /** * æ·»å * * @param eamTechnicalStatusDeactivate * @return */ @AutoLog(value = "åç¨å 工设å¤ç³è¯·å-æ·»å ") @ApiOperation(value="åç¨å 工设å¤ç³è¯·å-æ·»å ", notes="åç¨å 工设å¤ç³è¯·å-æ·»å ") @PostMapping(value = "/add") public Result<?> add(@RequestBody EamTechnicalStatusDeactivate eamTechnicalStatusDeactivate) { eamTechnicalStatusDeactivateService.save(eamTechnicalStatusDeactivate); return Result.OK("æ·»å æåï¼"); } /** * ç¼è¾ * * @param eamTechnicalStatusDeactivate * @return */ @AutoLog(value = "åç¨å 工设å¤ç³è¯·å-ç¼è¾") @ApiOperation(value="åç¨å 工设å¤ç³è¯·å-ç¼è¾", notes="åç¨å 工设å¤ç³è¯·å-ç¼è¾") @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) public Result<?> edit(@RequestBody EamTechnicalStatusDeactivate eamTechnicalStatusDeactivate) { eamTechnicalStatusDeactivateService.updateById(eamTechnicalStatusDeactivate); return Result.OK("ç¼è¾æå!"); } /** * éè¿idå é¤ * * @param id * @return */ @AutoLog(value = "åç¨å 工设å¤ç³è¯·å-éè¿idå é¤") @ApiOperation(value="åç¨å 工设å¤ç³è¯·å-éè¿idå é¤", notes="åç¨å 工设å¤ç³è¯·å-éè¿idå é¤") @DeleteMapping(value = "/delete") public Result<?> delete(@RequestParam(name="id",required=true) String id) { eamTechnicalStatusDeactivateService.removeById(id); return Result.OK("å 餿å!"); } /** * æ¹éå é¤ * * @param ids * @return */ @AutoLog(value = "åç¨å 工设å¤ç³è¯·å-æ¹éå é¤") @ApiOperation(value="åç¨å 工设å¤ç³è¯·å-æ¹éå é¤", notes="åç¨å 工设å¤ç³è¯·å-æ¹éå é¤") @DeleteMapping(value = "/deleteBatch") public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) { this.eamTechnicalStatusDeactivateService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("æ¹éå 餿åï¼"); } /** * éè¿idæ¥è¯¢ * * @param id * @return */ @AutoLog(value = "åç¨å 工设å¤ç³è¯·å-éè¿idæ¥è¯¢") @ApiOperation(value="åç¨å 工设å¤ç³è¯·å-éè¿idæ¥è¯¢", notes="åç¨å 工设å¤ç³è¯·å-éè¿idæ¥è¯¢") @GetMapping(value = "/queryById") public Result<?> queryById(@RequestParam(name="id",required=true) String id) { EamTechnicalStatusDeactivate eamTechnicalStatusDeactivate = eamTechnicalStatusDeactivateService.getById(id); return Result.OK(eamTechnicalStatusDeactivate); } @Autowired private IEamTechnicalStatusDeactivateService eamTechnicalStatusDeactivateService; /** * 导åºexcel * * @param request * @param eamTechnicalStatusDeactivate */ @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, EamTechnicalStatusDeactivate eamTechnicalStatusDeactivate) { return super.exportXls(request, eamTechnicalStatusDeactivate, EamTechnicalStatusDeactivate.class, "åç¨å 工设å¤ç³è¯·å"); } /** * å页å表æ¥è¯¢ * * @param query * @param pageNo * @param pageSize * @return */ @ApiOperation(value = "åç¨å 工设å¤ç³è¯·å-å页å表æ¥è¯¢", notes = "åç¨å 工设å¤ç³è¯·å-å页å表æ¥è¯¢") @GetMapping(value = "/list") public Result<?> queryPageList(EamTechnicalStatusDeactivateQuery query, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { Page<EamTechnicalStatusDeactivate> page = new Page<>(pageNo, pageSize); IPage<EamTechnicalStatusDeactivate> pageList = eamTechnicalStatusDeactivateService.queryPageList(page, query); return Result.OK(pageList); } /** * éè¿excelå¯¼å ¥æ°æ® * * @param request * @param response * @return */ @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, EamTechnicalStatusDeactivate.class); } /** * æ·»å * * @param request * @return */ @AutoLog(value = "åç¨å 工设å¤ç³è¯·å-æ·»å ") @ApiOperation(value = "åç¨å 工设å¤ç³è¯·å-æ·»å ", notes = "åç¨å 工设å¤ç³è¯·å-æ·»å ") @PostMapping(value = "/add") public Result<?> add(@RequestBody EamTechnicalStatusDeactivateRequest request) { if (request == null) { return Result.error("æ·»å ç对象ä¸è½ä¸ºç©ºï¼"); } if (CollectionUtil.isEmpty(request.getTableDetailList())) { return Result.error("è®¾å¤æç»ä¸è½ä¸ºç©ºï¼"); } boolean b = eamTechnicalStatusDeactivateService.addTechnicalStatusDeactivate(request); if (!b) { return Result.error("æ·»å 失败ï¼"); } return Result.OK("æ·»å æåï¼"); } /** * ç¼è¾ * * @param request * @return */ @AutoLog(value = "åç¨å 工设å¤ç³è¯·å-ç¼è¾") @ApiOperation(value = "åç¨å 工设å¤ç³è¯·å-ç¼è¾", notes = "åç¨å 工设å¤ç³è¯·å-ç¼è¾") @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) public Result<?> edit(@RequestBody EamTechnicalStatusDeactivateRequest request) { if (request == null) { return Result.error("ç¼è¾ç对象ä¸è½ä¸ºç©ºï¼"); } boolean b = eamTechnicalStatusDeactivateService.editTechnicalStatusDeactivate(request); if (!b) { return Result.error("ç¼è¾å¤±è´¥ï¼"); } return Result.OK("ç¼è¾æå!"); } @AutoLog(value = "åç¨å 工设å¤ç³è¯·å-æäº¤") @ApiOperation(value = "åç¨å 工设å¤ç³è¯·å-æäº¤", notes = "åç¨å 工设å¤ç³è¯·å-æäº¤") @GetMapping("/submit") public Result<?> submit(@RequestParam(name = "id") String id) { boolean b = eamTechnicalStatusDeactivateService.submit(id); if (!b) { return Result.error("æäº¤å¤±è´¥ï¼"); } return Result.OK("æäº¤æå!"); } @AutoLog(value = "åç¨å 工设å¤ç³è¯·å-ä½åº") @ApiOperation(value = "åç¨å 工设å¤ç³è¯·å-ä½åº", notes = "åç¨å 工设å¤ç³è¯·å-ä½åº") @GetMapping("/abolish") public Result<?> abolish(@RequestParam(name = "id") String id) { EamTechnicalStatusDeactivate entity = eamTechnicalStatusDeactivateService.getById(id); if (entity == null) { return Result.error("è¦ä½åºçæ°æ®ä¸åå¨ï¼è¯·å·æ°éè¯ï¼"); } if (!TechnicalStatusDeactivateStatusEnum.WAIT_SUBMIT.name().equals(entity.getApplicationStatus())) { return Result.error("è¯¥ç¶æçæ°æ®ä¸å 许è¿è¡ä½åºï¼"); } entity.setApplicationStatus(TechnicalStatusDeactivateStatusEnum.ABOLISH.name()); eamTechnicalStatusDeactivateService.updateById(entity); return Result.OK("ä½åºæå!"); } @AutoLog(value = "ææ¯ç¶æåæ´ç³è¯·-审æ¹") @ApiOperation(value = "ææ¯ç¶æåæ´ç³è¯·-审æ¹", notes = "ææ¯ç¶æåæ´ç³è¯·-审æ¹") @PostMapping("/approval") public Result<?> approval(@RequestBody EamTechnicalStatusDeactivateRequest request) { if (request == null) { return Result.error("审æ¹ç对象ä¸è½ä¸ºç©ºï¼"); } // æ£æ¥è¯·æ±åæ° if (StrUtil.isBlank(request.getTaskId()) || StrUtil.isBlank(request.getDataId()) || StrUtil.isBlank(request.getInstanceId())) { return Result.error("审æ¹ä»»å¡é误æä¸åå¨ï¼"); } EamTechnicalStatusDeactivate b = eamTechnicalStatusDeactivateService.approval(request); if (b == null) { return Result.error("æä½å¤±è´¥ï¼"); } return Result.ok("æä½æåï¼"); } /** * éè¿idæ¥è¯¢ * * @param id * @return */ @AutoLog(value = "åç¨å 工设å¤ç³è¯·å-éè¿idæ¥è¯¢") @ApiOperation(value = "åç¨å 工设å¤ç³è¯·å-éè¿idæ¥è¯¢", notes = "åç¨å 工设å¤ç³è¯·å-éè¿idæ¥è¯¢") @GetMapping(value = "/queryById") public Result<?> queryById(@RequestParam(name = "id", required = true) String id) { EamTechnicalStatusDeactivate eamTechnicalStatusDeactivate = eamTechnicalStatusDeactivateService.getById(id); return Result.OK(eamTechnicalStatusDeactivate); } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusDeactivateDetailController.java
@@ -1,151 +1,46 @@ package org.jeecg.modules.eam.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.modules.eam.entity.EamTechnicalStatusDeactivateDetail; import org.jeecg.modules.eam.service.IEamTechnicalStatusDeactivateDetailService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; import java.util.List; /** /** * @Description: åç¨å 工设å¤ç³è¯·åæç» * @Author: jeecg-boot * @Date: 2025-07-09 * @Date: 2025-07-09 * @Version: V1.0 */ @Slf4j @Api(tags="åç¨å 工设å¤ç³è¯·åæç»") @Api(tags = "åç¨å 工设å¤ç³è¯·åæç»") @RestController @RequestMapping("/eam/eamTechnicalStatusDeactivateDetail") public class EamTechnicalStatusDeactivateDetailController extends JeecgController<EamTechnicalStatusDeactivateDetail, IEamTechnicalStatusDeactivateDetailService> { @Autowired private IEamTechnicalStatusDeactivateDetailService eamTechnicalStatusDeactivateDetailService; /** * å页å表æ¥è¯¢ * * @param eamTechnicalStatusDeactivateDetail * @param pageNo * @param pageSize * @param req * @return */ @ApiOperation(value="åç¨å 工设å¤ç³è¯·åæç»-å页å表æ¥è¯¢", notes="åç¨å 工设å¤ç³è¯·åæç»-å页å表æ¥è¯¢") @GetMapping(value = "/list") public Result<?> queryPageList(EamTechnicalStatusDeactivateDetail eamTechnicalStatusDeactivateDetail, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { QueryWrapper<EamTechnicalStatusDeactivateDetail> queryWrapper = QueryGenerator.initQueryWrapper(eamTechnicalStatusDeactivateDetail, req.getParameterMap()); Page<EamTechnicalStatusDeactivateDetail> page = new Page<EamTechnicalStatusDeactivateDetail>(pageNo, pageSize); IPage<EamTechnicalStatusDeactivateDetail> pageList = eamTechnicalStatusDeactivateDetailService.page(page, queryWrapper); return Result.OK(pageList); } /** * æ·»å * * @param eamTechnicalStatusDeactivateDetail * @return */ @AutoLog(value = "åç¨å 工设å¤ç³è¯·åæç»-æ·»å ") @ApiOperation(value="åç¨å 工设å¤ç³è¯·åæç»-æ·»å ", notes="åç¨å 工设å¤ç³è¯·åæç»-æ·»å ") @PostMapping(value = "/add") public Result<?> add(@RequestBody EamTechnicalStatusDeactivateDetail eamTechnicalStatusDeactivateDetail) { eamTechnicalStatusDeactivateDetailService.save(eamTechnicalStatusDeactivateDetail); return Result.OK("æ·»å æåï¼"); } /** * ç¼è¾ * * @param eamTechnicalStatusDeactivateDetail * @return */ @AutoLog(value = "åç¨å 工设å¤ç³è¯·åæç»-ç¼è¾") @ApiOperation(value="åç¨å 工设å¤ç³è¯·åæç»-ç¼è¾", notes="åç¨å 工设å¤ç³è¯·åæç»-ç¼è¾") @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) public Result<?> edit(@RequestBody EamTechnicalStatusDeactivateDetail eamTechnicalStatusDeactivateDetail) { eamTechnicalStatusDeactivateDetailService.updateById(eamTechnicalStatusDeactivateDetail); return Result.OK("ç¼è¾æå!"); } /** * éè¿idå é¤ * * @param id * @return */ @AutoLog(value = "åç¨å 工设å¤ç³è¯·åæç»-éè¿idå é¤") @ApiOperation(value="åç¨å 工设å¤ç³è¯·åæç»-éè¿idå é¤", notes="åç¨å 工设å¤ç³è¯·åæç»-éè¿idå é¤") @DeleteMapping(value = "/delete") public Result<?> delete(@RequestParam(name="id",required=true) String id) { eamTechnicalStatusDeactivateDetailService.removeById(id); return Result.OK("å 餿å!"); } /** * æ¹éå é¤ * * @param ids * @return */ @AutoLog(value = "åç¨å 工设å¤ç³è¯·åæç»-æ¹éå é¤") @ApiOperation(value="åç¨å 工设å¤ç³è¯·åæç»-æ¹éå é¤", notes="åç¨å 工设å¤ç³è¯·åæç»-æ¹éå é¤") @DeleteMapping(value = "/deleteBatch") public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) { this.eamTechnicalStatusDeactivateDetailService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("æ¹éå 餿åï¼"); } /** * éè¿idæ¥è¯¢ * * @param id * @return */ @AutoLog(value = "åç¨å 工设å¤ç³è¯·åæç»-éè¿idæ¥è¯¢") @ApiOperation(value="åç¨å 工设å¤ç³è¯·åæç»-éè¿idæ¥è¯¢", notes="åç¨å 工设å¤ç³è¯·åæç»-éè¿idæ¥è¯¢") @GetMapping(value = "/queryById") public Result<?> queryById(@RequestParam(name="id",required=true) String id) { EamTechnicalStatusDeactivateDetail eamTechnicalStatusDeactivateDetail = eamTechnicalStatusDeactivateDetailService.getById(id); return Result.OK(eamTechnicalStatusDeactivateDetail); } @Autowired private IEamTechnicalStatusDeactivateDetailService deactivateDetailService; /** * 导åºexcel * * @param request * @param eamTechnicalStatusDeactivateDetail */ @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, EamTechnicalStatusDeactivateDetail eamTechnicalStatusDeactivateDetail) { return super.exportXls(request, eamTechnicalStatusDeactivateDetail, EamTechnicalStatusDeactivateDetail.class, "åç¨å 工设å¤ç³è¯·åæç»"); } /** * å表æ¥è¯¢ * * @param applicationId * @return */ @ApiOperation(value = "åç¨å 工设å¤ç³è¯·åæç»-å表æ¥è¯¢", notes = "åç¨å 工设å¤ç³è¯·åæç»-å表æ¥è¯¢") @GetMapping(value = "/queryList") public Result<?> queryList(@RequestParam("applicationId") String applicationId) { List<EamTechnicalStatusDeactivateDetail> list = deactivateDetailService.queryList(applicationId); return Result.OK(list); } /** * éè¿excelå¯¼å ¥æ°æ® * * @param request * @param response * @return */ @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, EamTechnicalStatusDeactivateDetail.class); } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusDeactivate.java
@@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import org.jeecg.common.aspect.annotation.Dict; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @@ -48,35 +51,56 @@ private String deactivateOrderNum; /**ç³è¯·äºº*/ @ApiModelProperty(value = "ç³è¯·äºº") @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") private String applicant; /**ç³è¯·é¨é¨*/ @ApiModelProperty(value = "ç³è¯·é¨é¨") @Dict(dictTable = "eam_base_factory", dicText = "factory_name", dicCode = "org_code") private String factoryOrgCode; /**ç³è¯·æ¥æ*/ @ApiModelProperty(value = "ç³è¯·æ¥æ") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date applyDate; /**ç³è¯·åç¶æ;å¾ æäº¤ãå¾ åä½å®¤çº§é¢å¯¼å®¡æ ¸ãç产设å¤ç®¡çä¸»ç®¡å®¡æ ¸ãå¾ ä¿éé¨é¢å¯¼å®¡æ ¸ãå·²ä½åºã已宿*/ @ApiModelProperty(value = "ç³è¯·åç¶æ;å¾ æäº¤ãå¾ åä½å®¤çº§é¢å¯¼å®¡æ ¸ãç产设å¤ç®¡çä¸»ç®¡å®¡æ ¸ãå¾ ä¿éé¨é¢å¯¼å®¡æ ¸ãå·²ä½åºã已宿") private String applicationStatus; /**使ç¨åä½å®¤ä¸»ç®¡ç¾å*/ @ApiModelProperty(value = "使ç¨åä½å®¤ä¸»ç®¡ç¾å") @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") private String departHeaderSignature; /**使ç¨åä½å®¤ä¸»ç®¡ç¾åç»æ*/ @ApiModelProperty(value = "使ç¨åä½å®¤ä¸»ç®¡ç¾åç»æ") @Dict(dicCode = "approved_rejected") private String departHeaderSignatureResult; /**使ç¨åä½å®¤ä¸»ç®¡ç¾åæ¶é´*/ @ApiModelProperty(value = "使ç¨åä½å®¤ä¸»ç®¡ç¾åæ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date departHeaderSignatureTime; /**使ç¨åä½å®¤ä¸»ç®¡æè§*/ @ApiModelProperty(value = "使ç¨åä½å®¤ä¸»ç®¡æè§") private String departHeaderSignatureComment; private String departHeaderComment; /**使ç¨åä½é¨ä¸»ç®¡ç¾å*/ @ApiModelProperty(value = "使ç¨åä½é¨ä¸»ç®¡ç¾å") @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") private String departLeaderSignature; /**使ç¨åä½é¨ä¸»ç®¡ç¾åç»æ*/ @ApiModelProperty(value = "使ç¨åä½é¨ä¸»ç®¡ç¾åç»æ") @Dict(dicCode = "approved_rejected") private String departLeaderSignatureResult; /**使ç¨åä½é¨ä¸»ç®¡ç¾åæ¶é´*/ @ApiModelProperty(value = "使ç¨åä½é¨ä¸»ç®¡ç¾åæ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date departLeaderSignatureTime; /**使ç¨åä½é¨ä¸»ç®¡ç¾å*/ @ApiModelProperty(value = "使ç¨åä½é¨ä¸»ç®¡ç¾å") private String departLeaderSignatureComment; /**使ç¨åä½é¨ä¸»ç®¡æè§*/ @ApiModelProperty(value = "使ç¨åä½é¨ä¸»ç®¡æè§") private String departLeaderComment; /**HFç¼ç */ @ApiModelProperty(value = "HFç¼ç ") private String hfCode; /**夿³¨*/ @ApiModelProperty(value = "夿³¨") private String remark; } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusDeactivateDetail.java
@@ -1,6 +1,7 @@ package org.jeecg.modules.eam.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; @@ -40,6 +41,9 @@ /**æ´æ°æ¶é´*/ @ApiModelProperty(value = "æ´æ°æ¶é´") private Date updateTime; /**ç³è¯·åID*/ @ApiModelProperty(value = "ç³è¯·åID") private String applicationId; /**设å¤ID*/ @ApiModelProperty(value = "设å¤ID") private String equipmentId; @@ -48,8 +52,16 @@ private String deactivateReason; /**åç¨æ¶é¿*/ @ApiModelProperty(value = "åç¨æ¶é¿") private java.math.BigDecimal deactivateDuration; /**åç¨æ¶é¿åä½;天ãæãå¹´*/ @ApiModelProperty(value = "åç¨æ¶é¿åä½;天ãæãå¹´") private String deactivateDurationUnit; private String deactivateDuration; //å表å±ç¤º @TableField(exist = false) private String equipmentCode; @TableField(exist = false) private String equipmentName; @TableField(exist = false) private String equipmentModel; @TableField(exist = false) private String factoryName; } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamTechnicalStatusDeactivateDetailMapper.java
@@ -2,6 +2,8 @@ import java.util.List; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Constants; import org.apache.ibatis.annotations.Param; import org.jeecg.modules.eam.entity.EamTechnicalStatusDeactivateDetail; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -14,4 +16,10 @@ */ public interface EamTechnicalStatusDeactivateDetailMapper extends BaseMapper<EamTechnicalStatusDeactivateDetail> { /** * å表æ¥è¯¢ * @param queryWrapper * @return */ List<EamTechnicalStatusDeactivateDetail> queryList(@Param(Constants.WRAPPER) QueryWrapper<EamTechnicalStatusDeactivateDetail> queryWrapper); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamTechnicalStatusDeactivateDetailMapper.xml
@@ -2,4 +2,13 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.jeecg.modules.eam.mapper.EamTechnicalStatusDeactivateDetailMapper"> <select id="queryList" resultType="org.jeecg.modules.eam.entity.EamTechnicalStatusDeactivateDetail"> select ems.*, e.equipment_code, e.equipment_name, e.equipment_model, f.factory_name from dbo.eam_technical_status_deactivate_detail ems inner join eam_equipment e on ems.equipment_id = e.id left join eam_base_factory f on e.factory_org_code = f.org_code ${ew.customSqlSegment} </select> </mapper> lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamTechnicalStatusDeactivateQuery.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package org.jeecg.modules.eam.request; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @Data public class EamTechnicalStatusDeactivateQuery { private String deactivateOrderNum; @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date dateBegin; @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date dateEnd; private String applicationStatus; private String factoryOrgCode; private String column; private String order; } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamTechnicalStatusDeactivateRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,43 @@ package org.jeecg.modules.eam.request; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import org.jeecg.modules.eam.entity.EamTechnicalStatusDeactivateDetail; import org.jeecg.modules.flowable.domain.vo.FlowTaskVo; import java.io.Serializable; import java.util.List; @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @ApiModel(value="åç¨å 工设å¤ç³è¯·å审æ¹å¯¹è±¡", description="åç¨å 工设å¤ç³è¯·å") public class EamTechnicalStatusDeactivateRequest extends FlowTaskVo implements Serializable { /**主é®*/ @ApiModelProperty(value = "主é®") private String id; /**ç³è¯·åä½*/ @ApiModelProperty(value = "ç³è¯·åä½") private String factoryOrgCode; /**使ç¨åä½å®¤ä¸»ç®¡ç¾åç»æ*/ @ApiModelProperty(value = "使ç¨åä½å®¤ä¸»ç®¡ç¾åç»æ") private String departHeaderSignatureResult; /**使ç¨åä½å®¤ä¸»ç®¡æè§*/ @ApiModelProperty(value = "使ç¨åä½å®¤ä¸»ç®¡æè§") private String departHeaderComment; /**使ç¨åä½é¨ä¸»ç®¡ç¾åç»æ*/ @ApiModelProperty(value = "使ç¨åä½é¨ä¸»ç®¡ç¾åç»æ") private String departLeaderSignatureResult; /**使ç¨åä½é¨ä¸»ç®¡ç¾å*/ @ApiModelProperty(value = "使ç¨åä½é¨ä¸»ç®¡ç¾å") private String departLeaderComment; /**夿³¨*/ @ApiModelProperty(value = "夿³¨") private String remark; /**å表 è®¾å¤æç»*/ @ApiModelProperty(value = "å表 è®¾å¤æç»") private List<EamTechnicalStatusDeactivateDetail> tableDetailList; } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusDeactivateDetailService.java
@@ -3,6 +3,8 @@ import org.jeecg.modules.eam.entity.EamTechnicalStatusDeactivateDetail; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; /** * @Description: åç¨å 工设å¤ç³è¯·åæç» * @Author: jeecg-boot @@ -11,4 +13,15 @@ */ public interface IEamTechnicalStatusDeactivateDetailService extends IService<EamTechnicalStatusDeactivateDetail> { /** * å表æ¥è¯¢ * @param applicationId * @return */ List<EamTechnicalStatusDeactivateDetail> queryList(String applicationId); /** * å é¤ç³è¯·åä¸çè®¾å¤æç» * @param applicationId */ void removeByChangeId(String applicationId); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusDeactivateService.java
@@ -1,7 +1,11 @@ package org.jeecg.modules.eam.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.jeecg.modules.eam.entity.EamTechnicalStatusDeactivate; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.eam.request.EamTechnicalStatusDeactivateQuery; import org.jeecg.modules.eam.request.EamTechnicalStatusDeactivateRequest; /** * @Description: åç¨å 工设å¤ç³è¯·å @@ -11,4 +15,39 @@ */ public interface IEamTechnicalStatusDeactivateService extends IService<EamTechnicalStatusDeactivate> { /** * å页æ¥è¯¢ * @param page * @param query * @return */ IPage<EamTechnicalStatusDeactivate> queryPageList(Page<EamTechnicalStatusDeactivate> page, EamTechnicalStatusDeactivateQuery query); /** * æ°å¢ * @param request * @return */ boolean addTechnicalStatusDeactivate(EamTechnicalStatusDeactivateRequest request); /** * ç¼è¾ * @param request * @return */ boolean editTechnicalStatusDeactivate(EamTechnicalStatusDeactivateRequest request); /** * æäº¤ * @param id * @return */ boolean submit(String id); /** * å®¡æ¹æµç¨ * @param request * @return */ EamTechnicalStatusDeactivate approval(EamTechnicalStatusDeactivateRequest request); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusDeactivateDetailServiceImpl.java
@@ -1,11 +1,14 @@ package org.jeecg.modules.eam.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.modules.eam.entity.EamTechnicalStatusDeactivateDetail; import org.jeecg.modules.eam.mapper.EamTechnicalStatusDeactivateDetailMapper; import org.jeecg.modules.eam.service.IEamTechnicalStatusDeactivateDetailService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import java.util.List; /** * @Description: åç¨å 工设å¤ç³è¯·åæç» @@ -16,4 +19,18 @@ @Service public class EamTechnicalStatusDeactivateDetailServiceImpl extends ServiceImpl<EamTechnicalStatusDeactivateDetailMapper, EamTechnicalStatusDeactivateDetail> implements IEamTechnicalStatusDeactivateDetailService { @Override public List<EamTechnicalStatusDeactivateDetail> queryList(String applicationId) { QueryWrapper<EamTechnicalStatusDeactivateDetail> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ems.application_id", applicationId); queryWrapper.orderByAsc("ems.create_time"); return this.getBaseMapper().queryList(queryWrapper); } @Override public void removeByChangeId(String applicationId) { LambdaQueryWrapper<EamTechnicalStatusDeactivateDetail> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(EamTechnicalStatusDeactivateDetail::getApplicationId, applicationId); this.remove(queryWrapper); } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusDeactivateServiceImpl.java
@@ -1,11 +1,55 @@ package org.jeecg.modules.eam.service.impl; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.DataBaseConstant; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.TranslateDictTextUtils; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.eam.constant.BusinessCodeConst; import org.jeecg.modules.eam.constant.HfTemplateCategoryEnum; import org.jeecg.modules.eam.constant.TechnicalStatusDeactivateStatusEnum; import org.jeecg.modules.eam.constant.TechnicalStatusEvaluationOrderChangeStatusEnum; import org.jeecg.modules.eam.entity.EamBaseHFCode; import org.jeecg.modules.eam.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamTechnicalStatusDeactivate; import org.jeecg.modules.eam.mapper.EamTechnicalStatusDeactivateMapper; import org.jeecg.modules.eam.request.EamTechnicalStatusDeactivateQuery; import org.jeecg.modules.eam.request.EamTechnicalStatusDeactivateRequest; import org.jeecg.modules.eam.service.IEamBaseHFCodeService; import org.jeecg.modules.eam.service.IEamEquipmentService; import org.jeecg.modules.eam.service.IEamTechnicalStatusDeactivateDetailService; import org.jeecg.modules.eam.service.IEamTechnicalStatusDeactivateService; import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness; import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService; import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI; import org.jeecg.modules.flowable.apithird.service.FlowCommonService; import org.jeecg.modules.flowable.service.IFlowDefinitionService; import org.jeecg.modules.flowable.service.IFlowTaskService; import org.jeecg.modules.system.entity.BaseFactory; import org.jeecg.modules.system.entity.BaseFactoryUser; import org.jeecg.modules.system.service.IBaseFactoryService; import org.jeecg.modules.system.service.IBaseFactoryUserService; import org.jeecg.modules.system.service.ISysBusinessCodeRuleService; import org.jeecg.modules.system.service.ISysUserService; import org.jeecg.modules.system.vo.UserSelector; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import java.util.*; import java.util.stream.Collectors; /** * @Description: åç¨å 工设å¤ç³è¯·å @@ -13,7 +57,340 @@ * @Date: 2025-07-09 * @Version: V1.0 */ @Service public class EamTechnicalStatusDeactivateServiceImpl extends ServiceImpl<EamTechnicalStatusDeactivateMapper, EamTechnicalStatusDeactivate> implements IEamTechnicalStatusDeactivateService { @Service("IEamTechnicalStatusDeactivateService") public class EamTechnicalStatusDeactivateServiceImpl extends ServiceImpl<EamTechnicalStatusDeactivateMapper, EamTechnicalStatusDeactivate> implements IEamTechnicalStatusDeactivateService, FlowCallBackServiceI { @Autowired private IBaseFactoryUserService baseFactoryUserService; @Autowired private IBaseFactoryService baseFactoryService; @Autowired private ISysBusinessCodeRuleService businessCodeRuleService; @Autowired private IEamBaseHFCodeService hfCodeService; @Autowired private IEamTechnicalStatusDeactivateDetailService deactivateDetailService; @Autowired private IEamEquipmentService equipmentService; @Autowired private ISysUserService sysUserService; @Autowired private FlowCommonService flowCommonService; @Autowired private IFlowDefinitionService flowDefinitionService; @Autowired private IFlowMyBusinessService flowMyBusinessService; @Autowired private IFlowTaskService flowTaskService; @Autowired private TranslateDictTextUtils translateDictTextUtils; @Override public IPage<EamTechnicalStatusDeactivate> queryPageList(Page<EamTechnicalStatusDeactivate> page, EamTechnicalStatusDeactivateQuery query) { QueryWrapper<EamTechnicalStatusDeactivate> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("del_flag", CommonConstant.DEL_FLAG_0); //ç¨æ·æ°æ®æé LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); if (sysUser == null) { return page; } //æ ¹æ®ä¸å¿è¿æ»¤æ°æ®æé List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService. list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId, sysUser.getId())); if (!CollectionUtils.isEmpty(baseFactoryUserList)) { Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet()); Set<String> factoryCodeList = baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet()); queryWrapper.in("factory_org_code", factoryCodeList); } else { return page; } if (query != null) { //ç¼ç æ¨¡ç³æ¥è¯¢ if (StringUtils.isNotBlank(query.getDeactivateOrderNum())) { queryWrapper.like("deactivate_order_num", query.getDeactivateOrderNum()); } //ä¿å »åç±» if (StringUtils.isNotBlank(query.getApplicationStatus())) { queryWrapper.eq("application_status", query.getApplicationStatus()); } if (query.getDateBegin() != null && query.getDateEnd() != null) { queryWrapper.between("apply_date", query.getDateBegin(), query.getDateEnd()); } //ç³è¯·åä½ if (StringUtils.isNotBlank(query.getFactoryOrgCode())) { queryWrapper.eq("factory_org_code", query.getFactoryOrgCode()); } //æåº if (StringUtils.isNotBlank(query.getColumn()) && StringUtils.isNotBlank(query.getOrder())) { String column = query.getColumn(); if (column.endsWith(CommonConstant.DICT_TEXT_SUFFIX)) { column = column.substring(0, column.lastIndexOf(CommonConstant.DICT_TEXT_SUFFIX)); } if (DataBaseConstant.SQL_ASC.equalsIgnoreCase(query.getOrder())) { queryWrapper.orderByAsc(oConvertUtils.camelToUnderline(column)); } else { queryWrapper.orderByDesc(oConvertUtils.camelToUnderline(column)); } } else { queryWrapper.orderByDesc("create_time"); } } else { queryWrapper.orderByDesc("create_time"); } return this.getBaseMapper().selectPage(page, queryWrapper); } @Override @Transactional(rollbackFor = Exception.class) public boolean addTechnicalStatusDeactivate(EamTechnicalStatusDeactivateRequest request) { //ç¨æ·æ°æ®æé LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); if (sysUser == null) { throw new JeecgBootException("è·åç»å½ç¨æ·ä¿¡æ¯å¤±è´¥ï¼"); } EamTechnicalStatusDeactivate order = new EamTechnicalStatusDeactivate(); order.setApplicant(sysUser.getUsername()); order.setApplyDate(new Date()); order.setRemark(request.getRemark()); order.setApplicationStatus(TechnicalStatusDeactivateStatusEnum.WAIT_SUBMIT.name()); order.setFactoryOrgCode(request.getFactoryOrgCode()); String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.TECHNICAL_STATUS_DEACTIVATE_CODE_RULE); order.setDeactivateOrderNum(codeSeq); //å 餿 è®° order.setDelFlag(CommonConstant.DEL_FLAG_0); //åç¨å 工设å¤ç³è¯·å EamBaseHFCode eamBaseHFCode = hfCodeService.selectByCategory(HfTemplateCategoryEnum.TECHNICAL_STATUS_DEACTIVATE.name()); if (eamBaseHFCode == null) { throw new JeecgBootException("æªé ç½®åç¨å 工设å¤ç³è¯·åçHFç¼ç ï¼æ·»å 失败ï¼"); } order.setHfCode(eamBaseHFCode.getHfCode()); this.getBaseMapper().insert(order); //å¤çæç»æ°æ® request.getTableDetailList().forEach(detail -> { EamEquipment equipment = equipmentService.getById(detail.getEquipmentId()); if (equipment == null) { throw new JeecgBootException("设å¤[" + detail.getEquipmentCode() + "]ä¸åå¨ï¼"); } detail.setId(null); detail.setCreateBy(null); detail.setCreateTime(null); detail.setUpdateBy(null); detail.setUpdateTime(null); }); deactivateDetailService.saveBatch(request.getTableDetailList()); return true; } @Override @Transactional(rollbackFor = Exception.class) public boolean editTechnicalStatusDeactivate(EamTechnicalStatusDeactivateRequest request) { EamTechnicalStatusDeactivate entity = this.getBaseMapper().selectById(request.getId()); if(entity == null) { throw new JeecgBootException("è¦ç¼è¾çæ°æ®ä¸åå¨ï¼"); } if(!TechnicalStatusDeactivateStatusEnum.WAIT_SUBMIT.name().equals(entity.getApplicationStatus())) { throw new JeecgBootException("åªæå¾ æäº¤çç¶æææ¯æç¼è¾ï¼"); } //ç¨æ·æ°æ®æé LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); if (sysUser == null) { throw new JeecgBootException("è·åç»å½ç¨æ·ä¿¡æ¯å¤±è´¥ï¼"); } entity.setRemark(request.getRemark()); entity.setFactoryOrgCode(request.getFactoryOrgCode()); this.getBaseMapper().updateById(entity); //å é¤åæ¥çè®¾å¤æç» deactivateDetailService.removeByChangeId(entity.getId()); //å¤çæç»æ°æ® request.getTableDetailList().forEach(detail -> { EamEquipment equipment = equipmentService.getById(detail.getEquipmentId()); if (equipment == null) { throw new JeecgBootException("设å¤[" + detail.getEquipmentCode() + "]ä¸åå¨ï¼"); } detail.setId(null); detail.setCreateBy(null); detail.setCreateTime(null); detail.setUpdateBy(null); detail.setUpdateTime(null); }); deactivateDetailService.saveBatch(request.getTableDetailList()); return true; } @Override @Transactional(rollbackFor = Exception.class) public boolean submit(String id) { EamTechnicalStatusDeactivate entity = this.getBaseMapper().selectById(id); if (entity == null) { throw new JeecgBootException("è¦æäº¤çå·¥åä¸åå¨ï¼è¯·å·æ°éè¯ï¼"); } if (!TechnicalStatusDeactivateStatusEnum.WAIT_SUBMIT.name().equals(entity.getApplicationStatus())) { throw new JeecgBootException("该工åå·²è¿è¡è¿æäº¤ï¼"); } LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); if(sysUser == null || !sysUser.getUsername().equals(entity.getApplicant())) { throw new JeecgBootException("䏿¯æ¬äººï¼ä¸è½æäº¤æ¤å·¥åï¼"); } entity.setApplicationStatus(TechnicalStatusDeactivateStatusEnum.DEPART_HEADER_SIGNING.name()); //æ¥è¯¢ä¸çº§å®¡æ¹äººå List<UserSelector> userSelectors = sysUserService.selectOperatorList(null, entity.getFactoryOrgCode(), BusinessCodeConst.PCR0011); if (CollectionUtil.isEmpty(userSelectors)) { throw new JeecgBootException("è®¾å¤æªåé ç»ä½¿ç¨åä½ä¸»ç®¡å®¤çº§é¢å¯¼ï¼æ æ³æäº¤ï¼"); } List<String> userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); //æ´æ°å®ä½ this.getBaseMapper().updateById(entity); //使ç¨åä½ç¿»è¯ String factoryName = translateDictTextUtils.translateField("factory_org_code", entity.getFactoryOrgCode(), "eam_base_factory, factory_name, org_code"); //å¯å¨æµç¨ flowCommonService.initActBusiness("å·¥åå·: " + entity.getDeactivateOrderNum() + ";ç³è¯·åä½: " + factoryName, entity.getId(), "IEamTechnicalStatusDeactivateService", "technical_status_deactivate_process", null); Map<String, Object> variables = new HashMap<>(); variables.put("dataId", entity.getId()); if (StrUtil.isEmpty(entity.getRemark())) { variables.put("organization", "æ°å¢åç¨å 工设å¤ç³è¯·é»è®¤å¯å¨æµç¨"); variables.put("comment", "æ°å¢åç¨å 工设å¤ç³è¯·é»è®¤å¯å¨æµç¨"); } else { variables.put("organization", entity.getRemark()); variables.put("comment", entity.getRemark()); } variables.put("proofreading", true); variables.put("NextAssignee", userApprovalList); Result<?> result = flowDefinitionService.startProcessInstanceByKey("technical_status_deactivate_process", variables); if(result == null || !result.isSuccess()) { throw new JeecgBootException("å¯å¨æµç¨å¤±è´¥ï¼"); } return true; } @Override @Transactional(rollbackFor = Exception.class) public EamTechnicalStatusDeactivate approval(EamTechnicalStatusDeactivateRequest request) { EamTechnicalStatusDeactivate entity = this.getBaseMapper().selectById(request.getId()); if (entity == null) { throw new JeecgBootException("审æ¹çæ°æ®å·²å é¤ï¼è¯·å·æ°éè¯ï¼"); } // è·åå½åç»å½ç¨æ· LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); if (user == null || StrUtil.isBlank(user.getId())) { throw new JeecgBootException("æªè·åå°ç»å½ç¨æ·ï¼è¯·éæ°ç»å½ååè¯ï¼"); } request.setAssignee(user.getUsername()); // è·åæµç¨ä¸å¡è®°å½ FlowMyBusiness flowMyBusiness = flowMyBusinessService.getFlowMyBusiness(request.getInstanceId(), request.getTaskId()); if (flowMyBusiness == null) { throw new JeecgBootException("æµç¨å®ä¾ä¸åå¨ï¼è¯·å·æ°åéè¯ï¼"); } boolean userAuthorized = flowMyBusinessService.isUserAuthorized(flowMyBusiness, user); if (!userAuthorized) { throw new JeecgBootException("ç¨æ·æ ææä½æ¤ä»»å¡ï¼è¯·å·æ°åéè¯ï¼"); } // 认é¢ä»»å¡ if (!flowMyBusinessService.claimTask(flowMyBusiness.getTaskId(), user)) { throw new JeecgBootException("ä»»å¡ä¸åå¨ã已宿æå·²è¢«ä»äººè®¤é¢ï¼"); } TechnicalStatusDeactivateStatusEnum status = TechnicalStatusDeactivateStatusEnum.getInstance(entity.getApplicationStatus()); if (status == null) { return null; } //æµç¨åé Map<String, Object> values = new HashMap<>(); List<String> userApprovalList; List<UserSelector> userSelectors; switch (status) { case DEPART_HEADER_SIGNING: userSelectors = sysUserService.selectOperatorList(null, entity.getFactoryOrgCode(), BusinessCodeConst.PCR0018); if (CollectionUtil.isEmpty(userSelectors)) { throw new JeecgBootException("è®¾å¤æªåé ç»ä½¿ç¨åä½ä¸»ç®¡é¨çº§é¢å¯¼ï¼æ æ³è¿å ¥ä¸çº§å®¡æ¹ï¼"); } userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); values.put("dataId", entity.getId()); if(StringUtils.isBlank(request.getDepartHeaderComment())) { values.put("organization", "åç¨å 工设å¤ç³è¯·ä½¿ç¨åä½ä¸»ç®¡å®¤çº§é¢å¯¼"); values.put("comment", "åç¨å 工设å¤ç³è¯·ä½¿ç¨åä½ä¸»ç®¡å®¤çº§é¢å¯¼"); request.setComment("åç¨å 工设å¤ç³è¯·ä½¿ç¨åä½ä¸»ç®¡å®¤çº§é¢å¯¼"); } else { values.put("organization", request.getDepartHeaderComment()); values.put("comment", request.getDepartHeaderComment()); request.setComment(request.getDepartHeaderComment()); } //设置entity entity.setDepartHeaderSignature(user.getUsername()); entity.setDepartHeaderSignatureTime(new Date()); entity.setDepartHeaderComment(request.getDepartHeaderComment()); entity.setDepartHeaderSignatureResult(request.getDepartHeaderSignatureResult()); values.put("departHeaderConfirmFlag", request.getDepartHeaderSignatureResult()); if(BusinessCodeConst.APPROVED.equals(request.getDepartHeaderSignatureResult())) { //éè¿ entity.setApplicationStatus(TechnicalStatusDeactivateStatusEnum.DEPART_LEADER_SIGNING.name()); values.put("NextAssignee", userApprovalList); }else { //驳å entity.setApplicationStatus(TechnicalStatusDeactivateStatusEnum.REJECTED.name()); } break; case DEPART_LEADER_SIGNING: //é¨é¨é¢å¯¼å®¡æ ¸ values.put("dataId", entity.getId()); if(StringUtils.isBlank(request.getDepartLeaderComment())) { values.put("organization", "åç¨å 工设å¤ç³è¯·é¨çº§é¢å¯¼å®¡æ ¸"); values.put("comment", "åç¨å 工设å¤ç³è¯·é¨çº§é¢å¯¼å®¡æ ¸"); request.setComment("åç¨å 工设å¤ç³è¯·é¨çº§é¢å¯¼å®¡æ ¸"); } else { values.put("organization", request.getDepartLeaderComment()); values.put("comment", request.getDepartLeaderComment()); request.setComment(request.getDepartLeaderComment()); } //设置entity entity.setDepartLeaderSignature(user.getUsername()); entity.setDepartLeaderSignatureTime(new Date()); entity.setDepartLeaderSignatureResult(request.getDepartLeaderSignatureResult()); entity.setDepartLeaderComment(request.getDepartLeaderComment()); if(BusinessCodeConst.APPROVED.equals(request.getDepartLeaderSignatureResult())) { //éè¿ entity.setApplicationStatus(TechnicalStatusEvaluationOrderChangeStatusEnum.COMPLETED.name()); }else { //驳å entity.setApplicationStatus(TechnicalStatusEvaluationOrderChangeStatusEnum.REJECTED.name()); } break; } request.setValues(values); // 宿æµç¨ä»»å¡ Result<?> result = flowTaskService.complete(request); if (!result.isSuccess()) { throw new JeecgBootException("审æ¹å¤±è´¥ï¼è¯·å·æ°æ¥çï¼"); } //ä¿åå·¥å this.getBaseMapper().updateById(entity); return entity; } @Override public void afterFlowHandle(FlowMyBusiness business) { business.getTaskNameId();//æ¥ä¸æ¥å®¡æ¹çèç¹ business.getValues();//åç«¯ä¼ è¿æ¥çåæ° business.getActStatus(); } @Override public Object getBusinessDataById(String dataId) { return this.getById(dataId); } @Override public Map<String, Object> flowValuesOfTask(String taskNameId, Map<String, Object> values) { return null; } @Override public List<String> flowCandidateUsernamesOfTask(String taskNameId, Map<String, Object> values) { //ä¸å¡æ¯å¦å¹²é¢æµç¨ï¼ä¸å¡å¹²é¢ï¼æµç¨å¹²é¢ï¼æå®äººåè¿è¡å¤ç //è·åä¸ä¸æ¥å¤ç人 Object object = values.get("NextAssignee"); return (List<String>) object; } }