From befc2c71a29f225aaa707c90effc03c67c8ac964 Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期三, 09 四月 2025 11:38:41 +0800 Subject: [PATCH] 维修工单 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamRepairOrderService.java | 5 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamRepairOrder.java | 1 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java | 99 +++++++++++++++++++++++++++++++- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java | 64 +++------------------ 4 files changed, 109 insertions(+), 60 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java index e30c5b6..3b830f4 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java @@ -22,6 +22,7 @@ import lombok.extern.slf4j.Slf4j; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.modules.eam.service.IEamReportRepairService; +import org.jeecg.modules.flowable.apithird.service.FlowCommonService; import org.jeecg.modules.mdc.util.DateUtils; import org.jeecg.modules.system.service.ISysBusinessCodeRuleService; import org.springframework.beans.factory.annotation.Autowired; @@ -44,12 +45,6 @@ @Resource private IEamRepairOrderService eamRepairOrderService; - @Resource - private ISysBusinessCodeRuleService businessCodeRuleService; - - @Resource - private IEamReportRepairService eamReportRepairService; - /** * 鍒嗛〉鍒楄〃鏌ヨ * @@ -58,7 +53,6 @@ * @param pageSize * @return */ - @AutoLog(value = "缁翠慨宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ") @ApiOperation(value = "缁翠慨宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ", notes = "缁翠慨宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ") @GetMapping(value = "/list") public Result<?> queryPageList(EamRepairOrder eamRepairOrder, @@ -82,63 +76,23 @@ if (StringUtils.isBlank(eamRepairOrder.getReportId())) { return Result.error("棰嗗彇澶辫触,璇烽�夋嫨缁翠慨璁板綍锛�"); } - String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.REPAIR_ORDER_CODE_RULE); - eamRepairOrder.setRepairCode(codeSeq); - EamReportRepair eamReportRepair = eamReportRepairService.getById(eamRepairOrder.getReportId()); - eamRepairOrder.setDelFlag(CommonConstant.DEL_FLAG_0); - eamRepairOrder.setEquipmentId(eamReportRepair.getEquipmentId()); - eamReportRepair.setReportStatus(ReportRepairEnum.UNDER_REPAIR.name()); - eamRepairOrder.setRepairStatus(ReportRepairEnum.UNDER_REPAIR.name()); - eamRepairOrder.setActualStartTime(DateUtils.getNow()); - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - eamRepairOrder.setRepairer(user.getRealname()); - eamReportRepairService.updateById(eamReportRepair); - eamRepairOrderService.save(eamRepairOrder); - // TODO 鍚姩娴佺▼ - + eamRepairOrderService.saveRepairOrder(eamRepairOrder); return Result.OK("娣诲姞鎴愬姛锛�"); } /** - * 缂栬緫 + * 鎵ц缁翠慨 * * @param eamRepairOrder * @return */ - @AutoLog(value = "缁翠慨宸ュ崟-缂栬緫") - @ApiOperation(value = "缁翠慨宸ュ崟-缂栬緫", notes = "缁翠慨宸ュ崟-缂栬緫") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) - public Result<?> edit(@RequestBody EamRepairOrder eamRepairOrder) { - eamRepairOrderService.updateById(eamRepairOrder); - return Result.OK("缂栬緫鎴愬姛!"); - } + @AutoLog(value = "缁翠慨宸ュ崟-鎵ц") + @ApiOperation(value = "缁翠慨宸ュ崟-鎵ц", notes = "缁翠慨宸ュ崟-鎵ц") + @PostMapping(value = "/perform") + public Result<?> perform(@RequestBody EamRepairOrder eamRepairOrder) { - /** - * 閫氳繃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) { - eamRepairOrderService.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.eamRepairOrderService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("鎵归噺鍒犻櫎鎴愬姛锛�"); +// eamRepairOrderService.updateById(eamRepairOrder); + return Result.OK("鎵ц鎴愬姛!"); } /** diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamRepairOrder.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamRepairOrder.java index ad67170..9d50b04 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamRepairOrder.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamRepairOrder.java @@ -58,6 +58,7 @@ */ @Excel(name = "缁翠慨鐘舵��", width = 15) @ApiModelProperty(value = "缁翠慨鐘舵��") + @Dict(dicCode = "report_repair_status") private String repairStatus; /** * 缁翠慨寮�濮嬫椂闂� diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamRepairOrderService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamRepairOrderService.java index 0382d2c..c04f23e 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamRepairOrderService.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamRepairOrderService.java @@ -20,4 +20,9 @@ */ IPage<EamRepairOrder> pageList(Page<EamRepairOrder> page, EamRepairOrder eamRepairOrder); + /** + * 棰嗗彇宸ュ崟锛屽惎鍔ㄧ淮淇祦绋� + * @param eamRepairOrder + */ + void saveRepairOrder(EamRepairOrder eamRepairOrder); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java index 5612c98..314cd31 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java @@ -4,25 +4,54 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.system.vo.LoginUser; +import org.jeecg.modules.eam.constant.BusinessCodeConst; +import org.jeecg.modules.eam.constant.ReportRepairEnum; +import org.jeecg.modules.eam.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamRepairOrder; +import org.jeecg.modules.eam.entity.EamReportRepair; import org.jeecg.modules.eam.mapper.EamRepairOrderMapper; +import org.jeecg.modules.eam.service.IEamEquipmentService; import org.jeecg.modules.eam.service.IEamRepairOrderService; +import org.jeecg.modules.eam.service.IEamReportRepairService; +import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness; +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.mdc.util.DateUtils; +import org.jeecg.modules.system.service.ISysBusinessCodeRuleService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; +import javax.annotation.Resource; +import java.util.*; /** * @Description: 缁翠慨宸ュ崟 * @Author: Lius * @Date: 2025-04-03 */ -@Service -public class EamRepairOrderServiceImpl extends ServiceImpl<EamRepairOrderMapper, EamRepairOrder> implements IEamRepairOrderService { +@Service("IEamRepairOrderService") +public class EamRepairOrderServiceImpl extends ServiceImpl<EamRepairOrderMapper, EamRepairOrder> implements IEamRepairOrderService, FlowCallBackServiceI { + + @Resource + private FlowCommonService flowCommonService; + + @Resource + private ISysBusinessCodeRuleService businessCodeRuleService; + + @Resource + private IEamReportRepairService eamReportRepairService; + + @Resource + private IFlowDefinitionService flowDefinitionService; + + @Resource + private IEamEquipmentService eamEquipmentService; /** * 鍒嗛〉鍒楄〃 @@ -45,4 +74,64 @@ } return this.baseMapper.pageList(page, eamRepairOrder, sysUser.getId(), equipmentIds); } + + @Override + @Transactional(rollbackFor = Exception.class) + public void saveRepairOrder(EamRepairOrder eamRepairOrder) { + String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.REPAIR_ORDER_CODE_RULE); + eamRepairOrder.setRepairCode(codeSeq); + EamReportRepair eamReportRepair = eamReportRepairService.getById(eamRepairOrder.getReportId()); + eamRepairOrder.setDelFlag(CommonConstant.DEL_FLAG_0); + eamRepairOrder.setEquipmentId(eamReportRepair.getEquipmentId()); + eamRepairOrder.setRepairStatus(ReportRepairEnum.UNDER_REPAIR.name()); + eamRepairOrder.setActualStartTime(DateUtils.getNow()); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + eamRepairOrder.setRepairer(user.getRealname()); + super.save(eamRepairOrder); + EamEquipment eamEquipment = eamEquipmentService.getById(eamReportRepair.getEquipmentId()); + // 鍚姩缁翠慨娴佺▼ + flowCommonService.initActBusiness("缁翠慨宸ュ崟鍙凤細" + codeSeq + ", 璁惧缂栧彿锛�" + eamEquipment.getEquipmentCode() + "寮�濮嬬淮淇�", + eamRepairOrder.getId(), + "IEamRepairOrderService", + "eam_repair", + null); + Map<String, Object> variables = new HashMap<>(); + variables.put("dataId", eamRepairOrder.getId()); + variables.put("organization", "缁翠慨宸ュ崟鍚姩娴佺▼"); + variables.put("comment", "缁翠慨宸ュ崟鍚姩娴佺▼"); + variables.put("proofreading", true); + List<String> usernames = new ArrayList<>(); + usernames.add(user.getUsername()); + variables.put("NextAssignee", usernames); + Result result = flowDefinitionService.startProcessInstanceByKey("eam_repair", variables); + if (!result.isSuccess()) { + super.removeById(eamRepairOrder); + } else { + eamReportRepair.setReportStatus(ReportRepairEnum.UNDER_REPAIR.name()); + eamReportRepairService.updateById(eamReportRepair); + } + } + + + @Override + public void afterFlowHandle(FlowMyBusiness business) { + + } + + @Override + public Object getBusinessDataById(String dataId) { + return null; + } + + @Override + public Map<String, Object> flowValuesOfTask(String taskNameId, Map<String, Object> values) { + return Collections.emptyMap(); + } + + @Override + public List<String> flowCandidateUsernamesOfTask(String taskNameId, Map<String, Object> values) { + //鑾峰彇涓嬩竴姝ュ鐞嗕汉 + Object object=values.get("NextAssignee"); + return (List<String>) object; + } } -- Gitblit v1.9.3