From 1cbbb341d22e3c46b15af65b6f97d738bae7ca95 Mon Sep 17 00:00:00 2001 From: yangbin <yangbin> Date: 星期二, 20 五月 2025 10:46:57 +0800 Subject: [PATCH] 自动化 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java | 146 ++++++++++++++++++++++++++++-------------------- 1 files changed, 85 insertions(+), 61 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..0d74404 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 @@ -1,30 +1,31 @@ package org.jeecg.modules.eam.controller; -import java.util.Arrays; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.parser.Feature; +import com.fasterxml.jackson.databind.ObjectMapper; 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.query.QueryGenerator; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.common.util.TranslateDictTextUtils; import org.jeecg.modules.eam.constant.BusinessCodeConst; -import org.jeecg.modules.eam.constant.ReportRepairEnum; import org.jeecg.modules.eam.entity.EamRepairOrder; -import org.jeecg.modules.eam.entity.EamReportRepair; +import org.jeecg.modules.eam.request.EamRepairOrderQuery; +import org.jeecg.modules.eam.request.EamRepairOrderRequest; +import org.jeecg.modules.eam.request.EamRepairOrderResponse; +import org.jeecg.modules.eam.request.EamReportRepairQuery; import org.jeecg.modules.eam.service.IEamRepairOrderService; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.system.base.controller.JeecgController; -import org.jeecg.modules.eam.service.IEamReportRepairService; -import org.jeecg.modules.mdc.util.DateUtils; -import org.jeecg.modules.system.service.ISysBusinessCodeRuleService; -import org.springframework.beans.factory.annotation.Autowired; +import org.jeecg.modules.system.entity.SysUser; +import org.jeecg.modules.system.service.ISysUserService; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import io.swagger.annotations.Api; @@ -45,27 +46,29 @@ private IEamRepairOrderService eamRepairOrderService; @Resource - private ISysBusinessCodeRuleService businessCodeRuleService; + private ObjectMapper objectMapper; @Resource - private IEamReportRepairService eamReportRepairService; + private TranslateDictTextUtils translateDictTextUtils; + + @Resource + private ISysUserService sysUserService; /** * 鍒嗛〉鍒楄〃鏌ヨ * - * @param eamRepairOrder + * @param eamRepairOrderQuery * @param pageNo * @param pageSize * @return */ - @AutoLog(value = "缁翠慨宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ") @ApiOperation(value = "缁翠慨宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ", notes = "缁翠慨宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ") @GetMapping(value = "/list") - public Result<?> queryPageList(EamRepairOrder eamRepairOrder, + public Result<?> queryPageList(EamRepairOrderQuery eamRepairOrderQuery, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { Page<EamRepairOrder> page = new Page<EamRepairOrder>(pageNo, pageSize); - IPage<EamRepairOrder> pageList = eamRepairOrderService.pageList(page, eamRepairOrder); + IPage<EamRepairOrder> pageList = eamRepairOrderService.pageList(page, eamRepairOrderQuery); return Result.OK(pageList); } @@ -82,63 +85,68 @@ 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 鍚姩娴佺▼ - + if (!BusinessCodeConst.PCR0002.equals(user.getPost())) { + return Result.error("棰嗗彇澶辫触,娌℃湁棰嗗彇鏉冮檺锛�"); + } + eamRepairOrderService.saveRepairOrder(eamRepairOrder); return Result.OK("娣诲姞鎴愬姛锛�"); } /** - * 缂栬緫 + * 鎸囨淳 * - * @param eamRepairOrder + * @param * @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 = "/assign") + public Result<?> assign(@RequestBody EamReportRepairQuery eamReportRepairQuery) { + if (StringUtils.isBlank(eamReportRepairQuery.getRepairer())) { + return Result.error("鎸囨淳澶辫触,璇烽�夋嫨缁翠慨宸ワ紒"); + } + // 鏍¢獙鎸囨淳鏉冮檺 + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (!BusinessCodeConst.PCR0004.equals(user.getPost())) { + return Result.error("鎸囨淳澶辫触,娌℃湁鎸囨淳鏉冮檺锛�"); + } + // 鏍¢獙缁翠慨宸ユ潈闄� + SysUser sysUser = sysUserService.getUserByName(eamReportRepairQuery.getRepairer()); + if (sysUser == null) { + return Result.error("鎸囨淳澶辫触,鏈壘鍒版缁翠慨宸ョ敤鎴凤紒"); + } + if (!BusinessCodeConst.PCR0002.equals(sysUser.getPost())) { + return Result.error("鎸囨淳澶辫触,姝ょ敤鎴蜂笉鏄淮淇伐锛�"); + } + eamRepairOrderService.assign(eamReportRepairQuery); + + return Result.OK("鎸囨淳鎴愬姛锛�"); } /** - * 閫氳繃id鍒犻櫎 + * 鎴戠殑寰呭姙 鎵ц/瀹℃壒 * - * @param id + * @param request * @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("鎵归噺鍒犻櫎鎴愬姛锛�"); + @AutoLog(value = "缁翠慨宸ュ崟-鎵ц/瀹℃壒") + @ApiOperation(value = "缁翠慨宸ュ崟-鎵ц/瀹℃壒", notes = "缁翠慨宸ュ崟-鎵ц/瀹℃壒") + @PostMapping(value = "/perform") + public Result<?> perform(@RequestBody EamRepairOrderRequest request) { + if (request == null) { + return Result.error("瀹℃壒鐨勫璞′笉鑳戒负绌猴紒"); + } + // 妫�鏌ヨ姹傚弬鏁� + if (StrUtil.isBlank(request.getTaskId()) || StrUtil.isBlank(request.getDataId()) || StrUtil.isBlank(request.getInstanceId())) { + return Result.error("瀹℃壒浠诲姟閿欒鎴栦笉瀛樺湪锛�"); + } + EamRepairOrder b = eamRepairOrderService.perform(request); + if(b == null) { + return Result.error("鎿嶄綔澶辫触锛�"); + } + return Result.OK("鎿嶄綔鎴愬姛!"); } /** @@ -151,8 +159,24 @@ @ApiOperation(value = "缁翠慨宸ュ崟-閫氳繃id鏌ヨ", notes = "缁翠慨宸ュ崟-閫氳繃id鏌ヨ") @GetMapping(value = "/queryById") public Result<?> queryById(@RequestParam(name = "id", required = true) String id) { - EamRepairOrder eamRepairOrder = eamRepairOrderService.getById(id); - return Result.OK(eamRepairOrder); + EamRepairOrderResponse eamRepairOrder = eamRepairOrderService.findById(id); + if (eamRepairOrder == null) { + return Result.error("鏈壘鍒板搴旀暟鎹紒"); + } + try { + String json = objectMapper.writeValueAsString(eamRepairOrder); + JSONObject item = JSONObject.parseObject(json, Feature.OrderedField); + translateDictTextUtils.translateField("createBy", eamRepairOrder.getCreateBy(), item, "sys_user,realname,username"); + translateDictTextUtils.translateField("breakdownFlag", eamRepairOrder.getBreakdownFlag(), item, "breakdown_flag"); + translateDictTextUtils.translateField("faultType", eamRepairOrder.getFaultType(), item, "fault_reason_category"); + translateDictTextUtils.translateField("reportStatus", eamRepairOrder.getReportStatus(), item, "report_repair_status"); + translateDictTextUtils.translateField("equipmentId", eamRepairOrder.getEquipmentId(), item, "eam_equipment,id,equipment_code"); + translateDictTextUtils.translateField("repairStatus", eamRepairOrder.getRepairStatus(), item, "report_repair_status"); + translateDictTextUtils.translateField("repairer", eamRepairOrder.getRepairer(), item, "sys_user,username,realname"); + return Result.OK(item); + } catch (Exception e) { + return Result.error("鏁版嵁杞瘧澶辫触锛�"); + } } /** -- Gitblit v1.9.3