From ee530992793ed7d0b7f16f1ce07b6c53ae265068 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期二, 22 七月 2025 13:56:40 +0800 Subject: [PATCH] art: 技术状态变更申请-字典转译 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusChangeController.java | 187 ++++++++++++++++++++++++++++------------------ 1 files changed, 115 insertions(+), 72 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusChangeController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusChangeController.java index bea94ef..88579eb 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusChangeController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusChangeController.java @@ -1,24 +1,28 @@ 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.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.parser.Feature; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; 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.common.util.TranslateDictTextUtils; +import org.jeecg.modules.eam.constant.TechnicalStatusChangeOrderStatusEnum; import org.jeecg.modules.eam.entity.EamTechnicalStatusChange; +import org.jeecg.modules.eam.entity.EamTechnicalStatusChangeDetail; +import org.jeecg.modules.eam.request.EamTechnicalStatusChangeQuery; +import org.jeecg.modules.eam.request.EamTechnicalStatusChangeRequest; import org.jeecg.modules.eam.service.IEamTechnicalStatusChangeService; 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: 鎶�鏈姸鎬佸彉鏇寸敵璇� @@ -33,84 +37,117 @@ public class EamTechnicalStatusChangeController extends JeecgController<EamTechnicalStatusChange, IEamTechnicalStatusChangeService> { @Autowired private IEamTechnicalStatusChangeService eamTechnicalStatusChangeService; + @Autowired + private ObjectMapper objectMapper; + @Autowired + private TranslateDictTextUtils translateDictTextUtils; /** * 鍒嗛〉鍒楄〃鏌ヨ * - * @param eamTechnicalStatusChange + * @param query * @param pageNo * @param pageSize - * @param req * @return */ @ApiOperation(value="鎶�鏈姸鎬佸彉鏇寸敵璇�-鍒嗛〉鍒楄〃鏌ヨ", notes="鎶�鏈姸鎬佸彉鏇寸敵璇�-鍒嗛〉鍒楄〃鏌ヨ") @GetMapping(value = "/list") - public Result<?> queryPageList(EamTechnicalStatusChange eamTechnicalStatusChange, + public Result<?> queryPageList(EamTechnicalStatusChangeQuery query, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper<EamTechnicalStatusChange> queryWrapper = QueryGenerator.initQueryWrapper(eamTechnicalStatusChange, req.getParameterMap()); + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) { Page<EamTechnicalStatusChange> page = new Page<EamTechnicalStatusChange>(pageNo, pageSize); - IPage<EamTechnicalStatusChange> pageList = eamTechnicalStatusChangeService.page(page, queryWrapper); + IPage<EamTechnicalStatusChange> pageList = eamTechnicalStatusChangeService.queryPageList(page, query); return Result.OK(pageList); } /** * 娣诲姞 * - * @param eamTechnicalStatusChange + * @param request * @return */ @AutoLog(value = "鎶�鏈姸鎬佸彉鏇寸敵璇�-娣诲姞") @ApiOperation(value="鎶�鏈姸鎬佸彉鏇寸敵璇�-娣诲姞", notes="鎶�鏈姸鎬佸彉鏇寸敵璇�-娣诲姞") @PostMapping(value = "/add") - public Result<?> add(@RequestBody EamTechnicalStatusChange eamTechnicalStatusChange) { - eamTechnicalStatusChangeService.save(eamTechnicalStatusChange); + public Result<?> add(@RequestBody EamTechnicalStatusChangeRequest request) { + if (request == null) { + return Result.error("娣诲姞鐨勫璞′笉鑳戒负绌猴紒"); + } + if(CollectionUtil.isEmpty(request.getTableDetailList())) { + return Result.error("璁惧鏄庣粏涓嶈兘涓虹┖锛�"); + } + boolean b = eamTechnicalStatusChangeService.addEamTechnicalStatusChange(request); + if (!b) { + return Result.error("娣诲姞澶辫触锛�"); + } return Result.OK("娣诲姞鎴愬姛锛�"); } /** * 缂栬緫 * - * @param eamTechnicalStatusChange + * @param request * @return */ @AutoLog(value = "鎶�鏈姸鎬佸彉鏇寸敵璇�-缂栬緫") @ApiOperation(value="鎶�鏈姸鎬佸彉鏇寸敵璇�-缂栬緫", notes="鎶�鏈姸鎬佸彉鏇寸敵璇�-缂栬緫") @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result<?> edit(@RequestBody EamTechnicalStatusChange eamTechnicalStatusChange) { - eamTechnicalStatusChangeService.updateById(eamTechnicalStatusChange); + public Result<?> edit(@RequestBody EamTechnicalStatusChangeRequest request) { + if (request == null) { + return Result.error("缂栬緫鐨勫璞′笉鑳戒负绌猴紒"); + } + boolean b = eamTechnicalStatusChangeService.editEamTechnicalStatusChange(request); + if (!b) { + return Result.error("缂栬緫澶辫触锛�"); + } 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) { - eamTechnicalStatusChangeService.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.eamTechnicalStatusChangeService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("鎵归噺鍒犻櫎鎴愬姛锛�"); - } - + + @AutoLog(value = "鎶�鏈姸鎬佸彉鏇寸敵璇�-鎻愪氦") + @ApiOperation(value = "鎶�鏈姸鎬佸彉鏇寸敵璇�-鎻愪氦", notes = "鎶�鏈姸鎬佸彉鏇寸敵璇�-鎻愪氦") + @GetMapping("/submit") + public Result<?> submit(@RequestParam(name = "id") String id) { + boolean b = eamTechnicalStatusChangeService.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) { + EamTechnicalStatusChange entity = eamTechnicalStatusChangeService.getById(id); + if (entity == null) { + return Result.error("瑕佷綔搴熺殑鏁版嵁涓嶅瓨鍦紝璇峰埛鏂伴噸璇曪紒"); + } + if (!TechnicalStatusChangeOrderStatusEnum.WAIT_SUBMIT.name().equals(entity.getChangeStatus())) { + return Result.error("璇ョ姸鎬佺殑鏁版嵁涓嶅厑璁歌繘琛屼綔搴燂紒"); + } + entity.setChangeStatus(TechnicalStatusChangeOrderStatusEnum.ABOLISH.name()); + eamTechnicalStatusChangeService.updateById(entity); + return Result.OK("浣滃簾鎴愬姛!"); + } + + @AutoLog(value = "鎶�鏈姸鎬佸彉鏇寸敵璇�-瀹℃壒") + @ApiOperation(value = "鎶�鏈姸鎬佸彉鏇寸敵璇�-瀹℃壒", notes = "鎶�鏈姸鎬佸彉鏇寸敵璇�-瀹℃壒") + @PostMapping("/approval") + public Result<?> approval(@RequestBody EamTechnicalStatusChangeRequest request) { + if (request == null) { + return Result.error("瀹℃壒鐨勫璞′笉鑳戒负绌猴紒"); + } + // 妫�鏌ヨ姹傚弬鏁� + if (StrUtil.isBlank(request.getTaskId()) || StrUtil.isBlank(request.getDataId()) || StrUtil.isBlank(request.getInstanceId())) { + return Result.error("瀹℃壒浠诲姟閿欒鎴栦笉瀛樺湪锛�"); + } + EamTechnicalStatusChange b = eamTechnicalStatusChangeService.approval(request); + if (b == null) { + return Result.error("鎿嶄綔澶辫触锛�"); + } + return Result.ok("鎿嶄綔鎴愬姛锛�"); + } + /** * 閫氳繃id鏌ヨ * @@ -122,30 +159,36 @@ @GetMapping(value = "/queryById") public Result<?> queryById(@RequestParam(name="id",required=true) String id) { EamTechnicalStatusChange eamTechnicalStatusChange = eamTechnicalStatusChangeService.getById(id); - return Result.OK(eamTechnicalStatusChange); + if (eamTechnicalStatusChange == null) { + return Result.error("鏈壘鍒板搴旀暟鎹�"); + } + try { + String json = objectMapper.writeValueAsString(eamTechnicalStatusChange); + JSONObject item = JSONObject.parseObject(json, Feature.OrderedField); + translateDictTextUtils.translateField("designer", eamTechnicalStatusChange.getDesigner(), item, "sys_user,realname,username"); + translateDictTextUtils.translateField("factoryOrgCode", eamTechnicalStatusChange.getFactoryOrgCode(), item, "eam_base_factory,factory_name,org_code"); + return Result.OK(item); + } catch (JsonProcessingException e) { + return Result.error("鏁版嵁杞瘧澶辫触锛�"); + } } - /** - * 瀵煎嚭excel - * - * @param request - * @param eamTechnicalStatusChange - */ - @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, EamTechnicalStatusChange eamTechnicalStatusChange) { - return super.exportXls(request, eamTechnicalStatusChange, EamTechnicalStatusChange.class, "鎶�鏈姸鎬佸彉鏇寸敵璇�"); - } - - /** - * 閫氳繃excel瀵煎叆鏁版嵁 - * - * @param request - * @param response - * @return - */ - @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, EamTechnicalStatusChange.class); - } + /** + * 楠屾敹 + * @param request + * @return + */ + @ApiOperation(value = "鎶�鏈姸鎬佸彉鏇寸敵璇锋槑缁�-楠屾敹", notes = "鎶�鏈姸鎬佸彉鏇寸敵璇锋槑缁�-楠屾敹") + @PostMapping(value = "/acceptance") + public Result<?> acceptance(@RequestBody EamTechnicalStatusChangeDetail request) { + if (request == null) { + return Result.error("楠屾敹缁撴灉瀵硅薄涓嶈兘涓虹┖锛�"); + } + boolean b = eamTechnicalStatusChangeService.acceptance(request); + if (!b) { + return Result.error("鎿嶄綔澶辫触锛�"); + } + return Result.OK("鎿嶄綔鎴愬姛锛�"); + } } -- Gitblit v1.9.3