db/430É豸¹ÜÀíÊý¾Ý¿âÉè¼Æ.pdma.json
@@ -4,7 +4,7 @@ "avatar": "", "version": "4.9.2", "createdTime": "2025-3-10 16:38:19", "updatedTime": "2025-7-16 17:21:35", "updatedTime": "2025-7-17 15:28:19", "dbConns": [], "profile": { "default": { @@ -30579,6 +30579,24 @@ "id": "054483BD-F2AA-4DD4-9A80-704EE7CDB735" }, { "defKey": "equipment_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": "725DECE8-22D5-4ABF-9EF1-08F2ABA68507" }, { "defKey": "applicant", "defName": "ç³è¯·äºº", "comment": "", @@ -30727,6 +30745,24 @@ "id": "69D24654-9C0B-41E5-BACA-8205ADC593B5" }, { "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": "12E6E83C-632B-4282-B140-0A3ADA001810" }, { "defKey": "depart_header_comment", "defName": "ç³è¯·åä½å®¤çº§é¢å¯¼æè§", "comment": "", @@ -30764,7 +30800,7 @@ }, { "defKey": "production_header_signature_time", "defName": "ç产设å¤ç®¡ç主管ç¾ååä»¶", "defName": "ç产设å¤ç®¡ç主管ç¾åæ¶é´", "comment": "", "type": "", "len": "", @@ -30779,6 +30815,24 @@ "extProps": {}, "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "id": "211441D2-7629-4881-8140-77EBB38A346E" }, { "defKey": "production_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": "75B946F2-25CB-4A20-9ABF-CE46C4F8F22E" }, { "defKey": "production_header_comment", @@ -30835,6 +30889,24 @@ "id": "235E86E2-B79D-456A-AFA0-0402225859F7" }, { "defKey": "production_support_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": "E0246F70-42C2-4A36-8594-1A001E5CDB91" }, { "defKey": "production_support_comment", "defName": "ç产ä¿éé¨é¢å¯¼æè§", "comment": "", lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java
@@ -32,9 +32,11 @@ //ææ¯ç¶æé´å®å·¥åç¼ç è§å String TECHNICAL_STATUS_EVALUATION_ORDER_CODE_RULE = "TechnicalStatusEvaluationOrderCodeRule"; //ææ¯ç¶æé´å®å·¥ååæ´ç¼ç è§å String TECHNICAL_STATUS_EVALUATION_ORDER_CHANG_CODE_RULE = "TechnicalStatusEvaluationOrderChangeCodeRule"; String TECHNICAL_STATUS_EVALUATION_ORDER_CHANGE_CODE_RULE = "TechnicalStatusEvaluationOrderChangeCodeRule"; //ææ¯ç¶æåæ´ç¼ç è§å String TECHNICAL_STATUS_CHANG_CODE_RULE = "TechnicalStatusChangeCodeRule"; String TECHNICAL_STATUS_CHANGE_CODE_RULE = "TechnicalStatusChangeCodeRule"; //ææ¯ç¶æåæ´ç¼ç è§å String TECHNICAL_STATUS_EVALUATION_APPLY_CODE_RULE = "TechnicalStatusEvaluationApplyCodeRule"; /** * å¤ä»¶è¯·è´åç¶æ 1:å·²å建 2:å·²æäº¤ 3:å·²éè¿ 4:已驳å 5:已宿 */ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/HfTemplateCategoryEnum.java
@@ -11,5 +11,6 @@ TECHNICAL_STATUS_EVALUATION_PRECISION_CHECK, //设å¤ç²¾åº¦æ£æ¥å TECHNICAL_STATUS_EVALUATION_ORDER_CHANGE, //ææ¯ç¶æé´å®å·¥ååæ´ TECHNICAL_STATUS_CHANGE, //ææ¯ç¶æåæ´ç³è¯· TECHNICAL_STATUS_EVALUATION_APPLY, //ææ¯ç¶æé´å®ç³è¯· ; } lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/TechnicalStatusEvaluationApplicationStatusEnum.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,22 @@ package org.jeecg.modules.eam.constant; public enum TechnicalStatusEvaluationApplicationStatusEnum { WAIT_SUBMIT, //å¾ æäº¤ DEPART_HEADER_SIGNING, //ç³è¯·åä½å®¤çº§é¢å¯¼ç¾åä¸ PRODUCTION_HEADER_SIGNING, //ç产设å¤ç®¡ç主管ç¾å PRODUCTION_SUPPORT_SIGNING, //ç产ä¿éé¨é¢å¯¼ç¾å ABOLISH, //å·²ä½åº REJECTED, //已驳å COMPLETED, //已宿 ; public static TechnicalStatusEvaluationApplicationStatusEnum getInstance(String code) { TechnicalStatusEvaluationApplicationStatusEnum[] values = TechnicalStatusEvaluationApplicationStatusEnum.values(); for (TechnicalStatusEvaluationApplicationStatusEnum value : values) { if (value.name().equals(code)) { return value; } } return null; } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationApplicationController.java
@@ -1,6 +1,6 @@ package org.jeecg.modules.eam.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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 +9,147 @@ 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.TechnicalStatusEvaluationApplicationStatusEnum; import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationApplication; import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationApplicationQuery; import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationApplicationRequest; import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationApplicationService; 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/eamTechnicalStatusEvaluationApplication") public class EamTechnicalStatusEvaluationApplicationController extends JeecgController<EamTechnicalStatusEvaluationApplication, IEamTechnicalStatusEvaluationApplicationService> { @Autowired private IEamTechnicalStatusEvaluationApplicationService eamTechnicalStatusEvaluationApplicationService; /** * å页å表æ¥è¯¢ * * @param eamTechnicalStatusEvaluationApplication * @param pageNo * @param pageSize * @param req * @return */ @ApiOperation(value="å å·¥è®¾å¤ææ¯é´å®ç³è¯·-å页å表æ¥è¯¢", notes="å å·¥è®¾å¤ææ¯é´å®ç³è¯·-å页å表æ¥è¯¢") @GetMapping(value = "/list") public Result<?> queryPageList(EamTechnicalStatusEvaluationApplication eamTechnicalStatusEvaluationApplication, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { QueryWrapper<EamTechnicalStatusEvaluationApplication> queryWrapper = QueryGenerator.initQueryWrapper(eamTechnicalStatusEvaluationApplication, req.getParameterMap()); Page<EamTechnicalStatusEvaluationApplication> page = new Page<EamTechnicalStatusEvaluationApplication>(pageNo, pageSize); IPage<EamTechnicalStatusEvaluationApplication> pageList = eamTechnicalStatusEvaluationApplicationService.page(page, queryWrapper); return Result.OK(pageList); } /** * æ·»å * * @param eamTechnicalStatusEvaluationApplication * @return */ @AutoLog(value = "å å·¥è®¾å¤ææ¯é´å®ç³è¯·-æ·»å ") @ApiOperation(value="å å·¥è®¾å¤ææ¯é´å®ç³è¯·-æ·»å ", notes="å å·¥è®¾å¤ææ¯é´å®ç³è¯·-æ·»å ") @PostMapping(value = "/add") public Result<?> add(@RequestBody EamTechnicalStatusEvaluationApplication eamTechnicalStatusEvaluationApplication) { eamTechnicalStatusEvaluationApplicationService.save(eamTechnicalStatusEvaluationApplication); return Result.OK("æ·»å æåï¼"); } /** * ç¼è¾ * * @param eamTechnicalStatusEvaluationApplication * @return */ @AutoLog(value = "å å·¥è®¾å¤ææ¯é´å®ç³è¯·-ç¼è¾") @ApiOperation(value="å å·¥è®¾å¤ææ¯é´å®ç³è¯·-ç¼è¾", notes="å å·¥è®¾å¤ææ¯é´å®ç³è¯·-ç¼è¾") @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) public Result<?> edit(@RequestBody EamTechnicalStatusEvaluationApplication eamTechnicalStatusEvaluationApplication) { eamTechnicalStatusEvaluationApplicationService.updateById(eamTechnicalStatusEvaluationApplication); 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) { eamTechnicalStatusEvaluationApplicationService.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.eamTechnicalStatusEvaluationApplicationService.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) { EamTechnicalStatusEvaluationApplication eamTechnicalStatusEvaluationApplication = eamTechnicalStatusEvaluationApplicationService.getById(id); return Result.OK(eamTechnicalStatusEvaluationApplication); } @Autowired private IEamTechnicalStatusEvaluationApplicationService eamTechnicalStatusEvaluationApplicationService; /** * 导åºexcel * * @param request * @param eamTechnicalStatusEvaluationApplication */ @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, EamTechnicalStatusEvaluationApplication eamTechnicalStatusEvaluationApplication) { return super.exportXls(request, eamTechnicalStatusEvaluationApplication, EamTechnicalStatusEvaluationApplication.class, "å å·¥è®¾å¤ææ¯é´å®ç³è¯·"); } /** * å页å表æ¥è¯¢ * * @param query * @param pageNo * @param pageSize * @param req * @return */ @ApiOperation(value = "å å·¥è®¾å¤ææ¯é´å®ç³è¯·-å页å表æ¥è¯¢", notes = "å å·¥è®¾å¤ææ¯é´å®ç³è¯·-å页å表æ¥è¯¢") @GetMapping(value = "/list") public Result<?> queryPageList(EamTechnicalStatusEvaluationApplicationQuery query, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { Page<EamTechnicalStatusEvaluationApplication> page = new Page<EamTechnicalStatusEvaluationApplication>(pageNo, pageSize); IPage<EamTechnicalStatusEvaluationApplication> pageList = eamTechnicalStatusEvaluationApplicationService.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, EamTechnicalStatusEvaluationApplication.class); } /** * æ·»å * * @param request * @return */ @AutoLog(value = "å å·¥è®¾å¤ææ¯é´å®ç³è¯·-æ·»å ") @ApiOperation(value = "å å·¥è®¾å¤ææ¯é´å®ç³è¯·-æ·»å ", notes = "å å·¥è®¾å¤ææ¯é´å®ç³è¯·-æ·»å ") @PostMapping(value = "/add") public Result<?> add(@RequestBody EamTechnicalStatusEvaluationApplication request) { if (request == null) { return Result.error("æ·»å ç对象ä¸è½ä¸ºç©ºï¼"); } boolean b = eamTechnicalStatusEvaluationApplicationService.addEamTechnicalStatusEvaluationApplication(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 EamTechnicalStatusEvaluationApplication request) { if (request == null) { return Result.error("ç¼è¾ç对象ä¸è½ä¸ºç©ºï¼"); } boolean b = eamTechnicalStatusEvaluationApplicationService.editEamTechnicalStatusEvaluationApplication(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 = eamTechnicalStatusEvaluationApplicationService.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) { EamTechnicalStatusEvaluationApplication entity = eamTechnicalStatusEvaluationApplicationService.getById(id); if (entity == null) { return Result.error("è¦ä½åºçæ°æ®ä¸åå¨ï¼è¯·å·æ°éè¯ï¼"); } if (!TechnicalStatusEvaluationApplicationStatusEnum.WAIT_SUBMIT.name().equals(entity.getApplicationStatus())) { return Result.error("è¯¥ç¶æçæ°æ®ä¸å 许è¿è¡ä½åºï¼"); } entity.setApplicationStatus(TechnicalStatusEvaluationApplicationStatusEnum.ABOLISH.name()); eamTechnicalStatusEvaluationApplicationService.updateById(entity); return Result.OK("ä½åºæå!"); } @AutoLog(value = "å å·¥è®¾å¤ææ¯é´å®ç³è¯·-审æ¹") @ApiOperation(value = "å å·¥è®¾å¤ææ¯é´å®ç³è¯·-审æ¹", notes = "å å·¥è®¾å¤ææ¯é´å®ç³è¯·-审æ¹") @PostMapping("/approval") public Result<?> approval(@RequestBody EamTechnicalStatusEvaluationApplicationRequest request) { if (request == null) { return Result.error("审æ¹ç对象ä¸è½ä¸ºç©ºï¼"); } // æ£æ¥è¯·æ±åæ° if (StrUtil.isBlank(request.getTaskId()) || StrUtil.isBlank(request.getDataId()) || StrUtil.isBlank(request.getInstanceId())) { return Result.error("审æ¹ä»»å¡é误æä¸åå¨ï¼"); } EamTechnicalStatusEvaluationApplication b = eamTechnicalStatusEvaluationApplicationService.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) { EamTechnicalStatusEvaluationApplication eamTechnicalStatusEvaluationApplication = eamTechnicalStatusEvaluationApplicationService.getById(id); return Result.OK(eamTechnicalStatusEvaluationApplication); } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationApplication.java
@@ -1,13 +1,17 @@ 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 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; @@ -46,46 +50,84 @@ /**ç³è¯·åå·*/ @ApiModelProperty(value = "ç³è¯·åå·") private String applicationOrderNum; /**设å¤ID*/ @ApiModelProperty(value = "设å¤ID") private String equipmentId; /**ç³è¯·äºº*/ @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 = "ç³è¯·åä½å®¤çº§é¢å¯¼ç¾åæ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date departHeaderSignatureTime; /**ç³è¯·åä½å®¤çº§é¢å¯¼ç¾åç»æ*/ @ApiModelProperty(value = "ç³è¯·åä½å®¤çº§é¢å¯¼ç¾åç»æ") @Dict(dicCode = "approved_rejected") private String departHeaderSignatureResult; /**ç³è¯·åä½å®¤çº§é¢å¯¼æè§*/ @ApiModelProperty(value = "ç³è¯·åä½å®¤çº§é¢å¯¼æè§") private String departHeaderComment; /**ç产设å¤ç®¡ç主管ç¾å*/ @ApiModelProperty(value = "ç产设å¤ç®¡ç主管ç¾å") @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") private String productionHeaderSignature; /**ç产设å¤ç®¡ç主管ç¾ååä»¶*/ @ApiModelProperty(value = "ç产设å¤ç®¡ç主管ç¾ååä»¶") /**ç产设å¤ç®¡ç主管ç¾åæ¶é´*/ @ApiModelProperty(value = "ç产设å¤ç®¡ç主管ç¾åæ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date productionHeaderSignatureTime; /**ç产设å¤ç®¡ç主管ç¾åç»æ*/ @ApiModelProperty(value = "ç产设å¤ç®¡ç主管ç¾åç»æ") @Dict(dicCode = "approved_rejected") private String productionHeaderSignatureResult; /**ç产设å¤ç®¡ç主管æè§*/ @ApiModelProperty(value = "ç产设å¤ç®¡ç主管æè§") private String productionHeaderComment; /**ç产ä¿éé¨é¢å¯¼ç¾å*/ @ApiModelProperty(value = "ç产ä¿éé¨é¢å¯¼ç¾å") @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") private String productionSupportSignature; /**ç产ä¿éé¨é¢å¯¼ç¾åæ¶é´*/ @ApiModelProperty(value = "ç产ä¿éé¨é¢å¯¼ç¾åæ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date productionSupportSignatureTime; /**ç产ä¿éé¨é¢å¯¼ç¾åè§£ç»æ*/ @ApiModelProperty(value = "ç产ä¿éé¨é¢å¯¼ç¾åè§£ç»æ") @Dict(dicCode = "approved_rejected") private String productionSupportSignatureResult; /**ç产ä¿éé¨é¢å¯¼æè§*/ @ApiModelProperty(value = "ç产ä¿éé¨é¢å¯¼æè§") private String productionSupportComment; /**HFç¼ç */ @ApiModelProperty(value = "HFç¼ç ") private String hfCode; /**夿³¨*/ @ApiModelProperty(value = "夿³¨") private String remark; @TableField(exist = false) private String equipmentCode; @TableField(exist = false) private String equipmentName; @TableField(exist = false) private String equipmentModel; } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamTechnicalStatusEvaluationApplicationMapper.java
@@ -1,10 +1,13 @@ package org.jeecg.modules.eam.mapper; import java.util.List; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationApplication; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationOrderChange; /** * @Description: å å·¥è®¾å¤ææ¯é´å®ç³è¯· @@ -14,4 +17,11 @@ */ public interface EamTechnicalStatusEvaluationApplicationMapper extends BaseMapper<EamTechnicalStatusEvaluationApplication> { /** * å页æ¥è¯¢ * @param page * @param queryWrapper * @return */ IPage<EamTechnicalStatusEvaluationApplication> queryPageList(Page<EamTechnicalStatusEvaluationApplication> page, @Param(Constants.WRAPPER) QueryWrapper<EamTechnicalStatusEvaluationOrderChange> queryWrapper); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamTechnicalStatusEvaluationApplicationMapper.xml
@@ -2,4 +2,11 @@ <!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.EamTechnicalStatusEvaluationApplicationMapper"> <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationApplication"> select ems.*, e.equipment_code, e.equipment_name, e.equipment_model from eam_technical_status_evaluation_application ems inner join eam_equipment e on ems.equipment_id = e.id ${ew.customSqlSegment} </select> </mapper> lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamTechnicalStatusEvaluationApplicationQuery.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ 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 EamTechnicalStatusEvaluationApplicationQuery { private String applicationOrderNum; private String equipmentId; @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/EamTechnicalStatusEvaluationApplicationRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,48 @@ 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.flowable.domain.vo.FlowTaskVo; import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @ApiModel(value="ææ¯ç¶æé´å®ç³è¯·å®¡æ¹å¯¹è±¡", description="ææ¯ç¶æé´å®ç³è¯·å®¡æ¹") public class EamTechnicalStatusEvaluationApplicationRequest extends FlowTaskVo implements Serializable { /**主é®*/ @ApiModelProperty(value = "主é®") private String id; /**设å¤ID*/ @ApiModelProperty(value = "设å¤ID") private String equipmentId; /**ç³è¯·é¨é¨*/ @ApiModelProperty(value = "ç³è¯·é¨é¨") private String factoryOrgCode; /**夿³¨*/ @ApiModelProperty(value = "夿³¨") private String remark; /**ç³è¯·åä½å®¤çº§é¢å¯¼ç¾åç»æ*/ @ApiModelProperty(value = "ç³è¯·åä½å®¤çº§é¢å¯¼ç¾åç»æ") private String departHeaderSignatureResult; /**ç³è¯·åä½å®¤çº§é¢å¯¼æè§*/ @ApiModelProperty(value = "ç³è¯·åä½å®¤çº§é¢å¯¼æè§") private String departHeaderComment; /**ç产设å¤ç®¡ç主管ç¾åç»æ*/ @ApiModelProperty(value = "ç产设å¤ç®¡ç主管ç¾åç»æ") private String productionHeaderSignatureResult; /**ç产设å¤ç®¡ç主管æè§*/ @ApiModelProperty(value = "ç产设å¤ç®¡ç主管æè§") private String productionHeaderComment; /**ç产ä¿éé¨é¢å¯¼ç¾åè§£ç»æ*/ @ApiModelProperty(value = "ç产ä¿éé¨é¢å¯¼ç¾åè§£ç»æ") private String productionSupportSignatureResult; /**ç产ä¿éé¨é¢å¯¼æè§*/ @ApiModelProperty(value = "ç产ä¿éé¨é¢å¯¼æè§") private String productionSupportComment; } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationApplicationService.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.EamTechnicalStatusEvaluationApplication; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationApplicationQuery; import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationApplicationRequest; /** * @Description: å å·¥è®¾å¤ææ¯é´å®ç³è¯· @@ -11,4 +15,39 @@ */ public interface IEamTechnicalStatusEvaluationApplicationService extends IService<EamTechnicalStatusEvaluationApplication> { /** * å页æ¥è¯¢ * @param page * @param query * @return */ IPage<EamTechnicalStatusEvaluationApplication> queryPageList(Page<EamTechnicalStatusEvaluationApplication> page, EamTechnicalStatusEvaluationApplicationQuery query); /** * æ°å¢ * @param request * @return */ boolean addEamTechnicalStatusEvaluationApplication(EamTechnicalStatusEvaluationApplication request); /** * ç¼è¾ * @param request * @return */ boolean editEamTechnicalStatusEvaluationApplication(EamTechnicalStatusEvaluationApplication request); /** * æäº¤ * @param id * @return */ boolean submit(String id); /** * å®¡æ¹ * @param request * @return */ EamTechnicalStatusEvaluationApplication approval(EamTechnicalStatusEvaluationApplicationRequest request); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusChangeServiceImpl.java
@@ -153,7 +153,7 @@ order.setRemark(request.getRemark()); order.setChangeStatus(TechnicalStatusChangeOrderStatusEnum.WAIT_SUBMIT.name()); order.setFactoryOrgCode(request.getFactoryOrgCode()); String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.TECHNICAL_STATUS_CHANG_CODE_RULE); String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.TECHNICAL_STATUS_CHANGE_CODE_RULE); order.setChangeOrderNum(codeSeq); //å 餿 è®° order.setDelFlag(CommonConstant.DEL_FLAG_0); lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationApplicationServiceImpl.java
@@ -1,11 +1,53 @@ package org.jeecg.modules.eam.service.impl; import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationApplication; import org.jeecg.modules.eam.mapper.EamTechnicalStatusEvaluationApplicationMapper; import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationApplicationService; import org.springframework.stereotype.Service; 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.oConvertUtils; import org.jeecg.modules.eam.constant.BusinessCodeConst; import org.jeecg.modules.eam.constant.HfTemplateCategoryEnum; import org.jeecg.modules.eam.constant.TechnicalStatusEvaluationApplicationStatusEnum; import org.jeecg.modules.eam.entity.EamBaseHFCode; import org.jeecg.modules.eam.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationApplication; import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationOrderChange; import org.jeecg.modules.eam.mapper.EamTechnicalStatusEvaluationApplicationMapper; import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationApplicationQuery; import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationApplicationRequest; import org.jeecg.modules.eam.service.IEamBaseHFCodeService; import org.jeecg.modules.eam.service.IEamEquipmentService; import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationApplicationService; 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 java.util.*; import java.util.stream.Collectors; /** * @Description: å å·¥è®¾å¤ææ¯é´å®ç³è¯· @@ -13,7 +55,353 @@ * @Date: 2025-07-09 * @Version: V1.0 */ @Service public class EamTechnicalStatusEvaluationApplicationServiceImpl extends ServiceImpl<EamTechnicalStatusEvaluationApplicationMapper, EamTechnicalStatusEvaluationApplication> implements IEamTechnicalStatusEvaluationApplicationService { @Service("IEamTechnicalStatusEvaluationApplicationService") public class EamTechnicalStatusEvaluationApplicationServiceImpl extends ServiceImpl<EamTechnicalStatusEvaluationApplicationMapper, EamTechnicalStatusEvaluationApplication> implements IEamTechnicalStatusEvaluationApplicationService, FlowCallBackServiceI { @Autowired private IBaseFactoryUserService baseFactoryUserService; @Autowired private IBaseFactoryService baseFactoryService; @Autowired private IEamEquipmentService equipmentService; @Autowired private ISysBusinessCodeRuleService businessCodeRuleService; @Autowired private IEamBaseHFCodeService hfCodeService; @Autowired private FlowCommonService flowCommonService; @Autowired private IFlowDefinitionService flowDefinitionService; @Autowired private IFlowMyBusinessService flowMyBusinessService; @Autowired private IFlowTaskService flowTaskService; @Autowired private ISysUserService sysUserService; @Override public IPage<EamTechnicalStatusEvaluationApplication> queryPageList(Page<EamTechnicalStatusEvaluationApplication> page, EamTechnicalStatusEvaluationApplicationQuery query) { QueryWrapper<EamTechnicalStatusEvaluationOrderChange> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ems.del_flag", CommonConstant.DEL_FLAG_0); //ç¨æ·æ°æ®æé LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); if (sysUser == null) { return page; } if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { //éæ©äºè®¾å¤ï¼æ ¹æ®è®¾å¤idè¿æ»¤è®¾å¤ List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); queryWrapper.in("e.equipment_code", equipArr); } else { //没æéæ©è®¾å¤ï¼æ ¹æ®ä¸å¿è¿æ»¤è®¾å¤ 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("e.factory_org_code", factoryCodeList); } else { return page; } } if (query != null) { //ç¼ç æ¨¡ç³æ¥è¯¢ if (StringUtils.isNotBlank(query.getApplicationOrderNum())) { queryWrapper.like("ems.application_order_num", query.getApplicationOrderNum()); } //è®¾å¤ if (StringUtils.isNotBlank(query.getEquipmentId())) { queryWrapper.eq("ems.equipment_id", query.getEquipmentId()); } //使ç¨åä½ if(StringUtils.isNotBlank(query.getFactoryOrgCode())) { queryWrapper.eq("ems.factory_org_code", query.getFactoryOrgCode()); } //ä¿å »åç±» if (StringUtils.isNotBlank(query.getApplicationStatus())) { queryWrapper.eq("ems.application_status", query.getApplicationStatus()); } if (query.getDateBegin() != null && query.getDateEnd() != null) { queryWrapper.between("ems.apply_date", query.getDateBegin(), query.getDateEnd()); } //æåº 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("ems." + oConvertUtils.camelToUnderline(column)); } else { queryWrapper.orderByDesc("ems." + oConvertUtils.camelToUnderline(column)); } } else { queryWrapper.orderByDesc("ems.create_time"); } } else { queryWrapper.orderByDesc("ems.create_time"); } return this.getBaseMapper().queryPageList(page, queryWrapper); } @Override @Transactional(rollbackFor = Exception.class) public boolean addEamTechnicalStatusEvaluationApplication(EamTechnicalStatusEvaluationApplication request) { //æ¥è¯¢è®¾å¤ EamEquipment equipment = equipmentService.getById(request.getEquipmentId()); if (equipment == null) { throw new JeecgBootException("设å¤ä¿¡æ¯ä¸åå¨ï¼æä½å¤±è´¥ï¼"); } //ç¨æ·æ°æ®æé LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); if (sysUser == null) { throw new JeecgBootException("ç»å½ç¨æ·ä¿¡æ¯ä¸ºç©ºï¼æä½å¤±è´¥ï¼"); } String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.TECHNICAL_STATUS_EVALUATION_APPLY_CODE_RULE); request.setApplicationOrderNum(codeSeq); request.setId(null); request.setApplicationStatus(TechnicalStatusEvaluationApplicationStatusEnum.WAIT_SUBMIT.name()); request.setDelFlag(CommonConstant.DEL_FLAG_0); request.setApplicant(sysUser.getUsername()); request.setApplyDate(new Date()); request.setFactoryOrgCode(equipment.getFactoryOrgCode()); //ææ¯ç¶æé´å®è¡¨ EamBaseHFCode eamBaseHFCode = hfCodeService.selectByCategory(HfTemplateCategoryEnum.TECHNICAL_STATUS_EVALUATION_APPLY.name()); if (eamBaseHFCode == null) { throw new JeecgBootException("æªé ç½®ææ¯ç¶æé´å®ç³è¯·çHFç¼ç ï¼æ·»å 失败ï¼"); } request.setHfCode(eamBaseHFCode.getHfCode()); this.getBaseMapper().insert(request); return true; } @Override @Transactional(rollbackFor = Exception.class) public boolean editEamTechnicalStatusEvaluationApplication(EamTechnicalStatusEvaluationApplication request) { EamTechnicalStatusEvaluationApplication entity = this.getBaseMapper().selectById(request.getId()); if(entity == null) { throw new JeecgBootException("ç¼è¾çæ°æ®å·²å é¤ï¼è¯·å·æ°éè¯ï¼"); } if(!TechnicalStatusEvaluationApplicationStatusEnum.WAIT_SUBMIT.name().equals(entity.getApplicationStatus())) { throw new JeecgBootException("åªæå¾ æäº¤ç¶ææå¯ç¼è¾ï¼"); } entity.setRemark(request.getRemark()); this.getBaseMapper().updateById(entity); return true; } @Override @Transactional(rollbackFor = Exception.class) public boolean submit(String id) { EamTechnicalStatusEvaluationApplication entity = this.getBaseMapper().selectById(id); if (entity == null) { throw new JeecgBootException("è¦æäº¤çå·¥åä¸åå¨ï¼è¯·å·æ°éè¯ï¼"); } if (!TechnicalStatusEvaluationApplicationStatusEnum.WAIT_SUBMIT.name().equals(entity.getApplicationStatus())) { throw new JeecgBootException("该工åå·²è¿è¡è¿æäº¤ï¼"); } EamEquipment equipment = equipmentService.getById(entity.getEquipmentId()); if (equipment == null) { throw new JeecgBootException("设å¤ä¸åå¨ï¼æ·»å 失败ï¼"); } LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); if(sysUser == null || !sysUser.getUsername().equals(entity.getApplicant())) { throw new JeecgBootException("䏿¯æ¬äººï¼ä¸è½æäº¤æ¤å·¥åï¼"); } entity.setApplicationStatus(TechnicalStatusEvaluationApplicationStatusEnum.DEPART_HEADER_SIGNING.name()); //æ¥è¯¢ä¸çº§å®¡æ¹äººå List<UserSelector> userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.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); //å¯å¨æµç¨ flowCommonService.initActBusiness("å·¥åå·: " + entity.getApplicationOrderNum() + ";设å¤ç¼å·: " + equipment.getEquipmentCode() + ";å®è£ ä½ç½®" + equipment.getInstallationPosition(), entity.getId(), "IEamTechnicalStatusEvaluationApplicationService", "technical_status_evaluation_apply_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_evaluation_apply_process", variables); if(result == null || !result.isSuccess()) { throw new JeecgBootException("å¯å¨æµç¨å¤±è´¥ï¼"); } return true; } @Override @Transactional(rollbackFor = Exception.class) public EamTechnicalStatusEvaluationApplication approval(EamTechnicalStatusEvaluationApplicationRequest request) { EamTechnicalStatusEvaluationApplication 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("ä»»å¡ä¸åå¨ã已宿æå·²è¢«ä»äººè®¤é¢ï¼"); } EamEquipment equipment = equipmentService.getById(entity.getEquipmentId()); if (equipment == null) { throw new JeecgBootException("设å¤ä¸åå¨ï¼è¯·æ£æ¥ï¼"); } TechnicalStatusEvaluationApplicationStatusEnum status = TechnicalStatusEvaluationApplicationStatusEnum.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(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0006); 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(TechnicalStatusEvaluationApplicationStatusEnum.PRODUCTION_HEADER_SIGNING.name()); values.put("NextAssignee", userApprovalList); }else { //驳å entity.setApplicationStatus(TechnicalStatusEvaluationApplicationStatusEnum.REJECTED.name()); } break; case PRODUCTION_HEADER_SIGNING: //é¨é¨é¢å¯¼å®¡æ ¸ userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0017); 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.getProductionHeaderComment())) { values.put("organization", "ææ¯ç¶æé´å®ç³è¯·ç产设å¤ç®¡çä¸»ç®¡å®¡æ ¸"); values.put("comment", "ææ¯ç¶æé´å®ç³è¯·ç产设å¤ç®¡çä¸»ç®¡å®¡æ ¸"); request.setComment("ææ¯ç¶æé´å®ç³è¯·ç产设å¤ç®¡çä¸»ç®¡å®¡æ ¸"); } else { values.put("organization", request.getProductionHeaderComment()); values.put("comment", request.getProductionHeaderComment()); request.setComment(request.getProductionHeaderComment()); } //设置entity entity.setProductionHeaderSignature(user.getUsername()); entity.setProductionHeaderSignatureTime(new Date()); entity.setProductionHeaderSignatureResult(request.getProductionHeaderSignatureResult()); entity.setProductionHeaderComment(request.getProductionHeaderComment()); if(BusinessCodeConst.APPROVED.equals(request.getProductionHeaderSignatureResult())) { //éè¿ entity.setApplicationStatus(TechnicalStatusEvaluationApplicationStatusEnum.PRODUCTION_SUPPORT_SIGNING.name()); values.put("NextAssignee", userApprovalList); }else { //驳å entity.setApplicationStatus(TechnicalStatusEvaluationApplicationStatusEnum.REJECTED.name()); } break; case PRODUCTION_SUPPORT_SIGNING: //维修室主任ç¾å values.put("dataId", entity.getId()); if(StringUtils.isBlank(request.getProductionSupportComment())) { values.put("organization", "ææ¯ç¶æé´å®å·¥ååæ´ç产ä¿éé¨å®¡æ ¸"); values.put("comment", "ææ¯ç¶æé´å®å·¥ååæ´ç产ä¿éé¨å®¡æ ¸"); request.setComment("ææ¯ç¶æé´å®å·¥ååæ´ç产ä¿éé¨å®¡æ ¸"); } else { values.put("organization", request.getProductionSupportComment()); values.put("comment", request.getProductionSupportComment()); request.setComment(request.getProductionSupportComment()); } //设置entity entity.setProductionSupportSignature(user.getUsername()); entity.setProductionSupportSignatureTime(new Date()); entity.setProductionSupportSignatureResult(request.getProductionSupportSignatureResult()); entity.setProductionSupportComment(request.getProductionSupportComment()); if(BusinessCodeConst.APPROVED.equals(request.getProductionSupportSignatureResult())) { //éè¿ entity.setApplicationStatus(TechnicalStatusEvaluationApplicationStatusEnum.COMPLETED.name()); }else { //驳å entity.setApplicationStatus(TechnicalStatusEvaluationApplicationStatusEnum.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; } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderChangeServiceImpl.java
@@ -163,7 +163,7 @@ if (sysUser == null) { throw new JeecgBootException("ç»å½ç¨æ·ä¿¡æ¯ä¸ºç©ºï¼æä½å¤±è´¥ï¼"); } String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.TECHNICAL_STATUS_EVALUATION_ORDER_CHANG_CODE_RULE); String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.TECHNICAL_STATUS_EVALUATION_ORDER_CHANGE_CODE_RULE); request.setChangeOrderNum(codeSeq); request.setId(null); request.setChangeStatus(TechnicalStatusEvaluationOrderChangeStatusEnum.WAIT_SUBMIT.name());