From 20791bfadab91e8ca99e6409f9a405e23d0a6505 Mon Sep 17 00:00:00 2001
From: cuijian <cuijian@xalxzn.com>
Date: 星期一, 12 五月 2025 15:31:57 +0800
Subject: [PATCH] 工具信息参数
---
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java | 232 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 209 insertions(+), 23 deletions(-)
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
index fdb9c2a..b704de3 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
@@ -1,24 +1,43 @@
package org.jeecg.modules.eam.controller;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.parser.Feature;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.apache.commons.lang3.StringUtils;
import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.constant.CommonConstant;
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.entity.EamEquipment;
+import org.jeecg.modules.eam.entity.EamEquipmentExtend;
+import org.jeecg.modules.eam.request.EamEquipmentQuery;
+import org.jeecg.modules.eam.service.IEamEquipmentExtendService;
import org.jeecg.modules.eam.service.IEamEquipmentService;
+import org.jeecg.modules.eam.vo.EamEquipmentTree;
+import org.jeecg.modules.eam.vo.EquipmentSearchResult;
+import org.jeecg.modules.mdc.entity.MdcEquipment;
+import org.jeecg.modules.mdc.service.IMdcEquipmentService;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.entity.ImportParams;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
/**
* @Description: 璁惧鍙拌处
@@ -34,25 +53,34 @@
@Autowired
private IEamEquipmentService eamEquipmentService;
+ @Autowired
+ private IEamEquipmentExtendService eamEquipmentExtendService;
+
+ @Autowired
+ private IMdcEquipmentService mdcEquipmentService;
+
+ @Autowired
+ private ObjectMapper objectMapper;
+ @Autowired
+ private TranslateDictTextUtils translateDictTextUtils;
+
/**
* 鍒嗛〉鍒楄〃鏌ヨ
*
* @param eamEquipment
* @param pageNo
* @param pageSize
- * @param req
* @return
*/
- @AutoLog(value = "璁惧鍙拌处-鍒嗛〉鍒楄〃鏌ヨ")
+// @AutoLog(value = "璁惧鍙拌处-鍒嗛〉鍒楄〃鏌ヨ")
@ApiOperation(value = "璁惧鍙拌处-鍒嗛〉鍒楄〃鏌ヨ", notes = "璁惧鍙拌处-鍒嗛〉鍒楄〃鏌ヨ")
@GetMapping(value = "/list")
- public Result<?> queryPageList(EamEquipment eamEquipment,
+ public Result<?> queryPageList(EamEquipmentQuery eamEquipment,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
- @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
- HttpServletRequest req) {
- QueryWrapper<EamEquipment> queryWrapper = QueryGenerator.initQueryWrapper(eamEquipment, req.getParameterMap());
- Page<EamEquipment> page = new Page<EamEquipment>(pageNo, pageSize);
- IPage<EamEquipment> pageList = eamEquipmentService.page(page, queryWrapper);
+ @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
+// QueryWrapper<EamEquipment> queryWrapper = QueryGenerator.initQueryWrapper(eamEquipment, req.getParameterMap());
+ IPage<EamEquipment> page = new Page<>(pageNo, pageSize);
+ IPage<EamEquipment> pageList = eamEquipmentService.queryPageList(page, eamEquipment);
return Result.OK(pageList);
}
@@ -62,13 +90,22 @@
* @param eamEquipment
* @return
*/
- @AutoLog(value = "璁惧鍙拌处-娣诲姞")
+// @AutoLog(value = "璁惧鍙拌处-娣诲姞")
@ApiOperation(value = "璁惧鍙拌处-娣诲姞", notes = "璁惧鍙拌处-娣诲姞")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody EamEquipment eamEquipment) {
- boolean b = eamEquipmentService.saveEquipment(eamEquipment);
- if (!b) {
- Result.OK("娣诲姞澶辫触锛�");
+ EamEquipment entity = eamEquipmentService.saveEquipment(eamEquipment);
+ if (entity == null) {
+ return Result.OK("娣诲姞澶辫触锛�");
+ }
+ //璋冪敤mdcEquipment鎻掑叆MDC璁惧
+ if (CommonConstant.DEFAULT_1.equals(eamEquipment.getMdcFlag())) {
+ //鎻掑叆MDC璁惧
+ MdcEquipment mdcEquipment = new MdcEquipment();
+ mdcEquipment.setEquipmentId(entity.getEquipmentCode());
+ mdcEquipment.setEquipmentType(entity.getDeviceType());
+ mdcEquipment.setEquipmentName(entity.getEquipmentName());
+ mdcEquipmentService.addNewEquipmentFromEam(mdcEquipment, eamEquipment.getOrgId());
}
return Result.OK("娣诲姞鎴愬姛锛�");
}
@@ -79,7 +116,6 @@
* @param eamEquipment
* @return
*/
- @AutoLog(value = "璁惧鍙拌处-缂栬緫")
@ApiOperation(value = "璁惧鍙拌处-缂栬緫", notes = "璁惧鍙拌处-缂栬緫")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
public Result<?> edit(@RequestBody EamEquipment eamEquipment) {
@@ -93,11 +129,14 @@
* @param id
* @return
*/
- @AutoLog(value = "璁惧鍙拌处-閫氳繃id鍒犻櫎")
@ApiOperation(value = "璁惧鍙拌处-閫氳繃id鍒犻櫎", notes = "璁惧鍙拌处-閫氳繃id鍒犻櫎")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
- eamEquipmentService.removeById(id);
+ EamEquipment entity = eamEquipmentService.getById(id);
+ if (entity != null) {
+ entity.setDelFlag(CommonConstant.DEL_FLAG_1);
+ eamEquipmentService.updateById(entity);
+ }
return Result.OK("鍒犻櫎鎴愬姛!");
}
@@ -107,11 +146,17 @@
* @param ids
* @return
*/
- @AutoLog(value = "璁惧鍙拌处-鎵归噺鍒犻櫎")
@ApiOperation(value = "璁惧鍙拌处-鎵归噺鍒犻櫎", notes = "璁惧鍙拌处-鎵归噺鍒犻櫎")
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
- this.eamEquipmentService.removeByIds(Arrays.asList(ids.split(",")));
+ List<String> list = Arrays.asList(ids.split(","));
+ list.forEach(id -> {
+ EamEquipment entity = eamEquipmentService.getById(id);
+ if (entity != null) {
+ entity.setDelFlag(CommonConstant.DEL_FLAG_1);
+ eamEquipmentService.updateById(entity);
+ }
+ });
return Result.OK("鎵归噺鍒犻櫎鎴愬姛锛�");
}
@@ -121,12 +166,34 @@
* @param id
* @return
*/
- @AutoLog(value = "璁惧鍙拌处-閫氳繃id鏌ヨ")
@ApiOperation(value = "璁惧鍙拌处-閫氳繃id鏌ヨ", notes = "璁惧鍙拌处-閫氳繃id鏌ヨ")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
EamEquipment eamEquipment = eamEquipmentService.getById(id);
- return Result.OK(eamEquipment);
+ if (eamEquipment == null) {
+ return Result.error("鏈壘鍒板搴旀暟鎹�");
+ }
+ EamEquipmentExtend extend = eamEquipmentExtendService.getById(id);
+ if(extend != null){
+ eamEquipment.setRepairStatus(extend.getRepairStatus());
+ eamEquipment.setMaintenanceStatus(extend.getMaintenanceStatus());
+ }
+ try {
+ String json = objectMapper.writeValueAsString(eamEquipment);
+ JSONObject item = JSONObject.parseObject(json, Feature.OrderedField);
+ translateDictTextUtils.translateField("createBy", eamEquipment.getCreateBy(), item, "sys_user,realname,username");
+ translateDictTextUtils.translateField("updateBy", eamEquipment.getUpdateBy(), item, "sys_user,realname,username");
+ translateDictTextUtils.translateField("technologyStatus", eamEquipment.getTechnologyStatus(), item, "technology_status");
+ translateDictTextUtils.translateField("orgId", eamEquipment.getOrgId(), item, "mdc_production,production_name,id");
+ translateDictTextUtils.translateField("equipmentManager", eamEquipment.getEquipmentManager(), item, "sys_user,realname,username");
+ translateDictTextUtils.translateField("equipmentCategory", eamEquipment.getEquipmentCategory(), item, "equipment_category");
+ translateDictTextUtils.translateField("assetStatus", eamEquipment.getAssetStatus(), item, "asset_status");
+ translateDictTextUtils.translateField("repairStatus", eamEquipment.getRepairStatus(), item, "equipment_repair_status");
+ translateDictTextUtils.translateField("maintenanceStatus", eamEquipment.getMaintenanceStatus(), item, "equipment_maintenance_status");
+ return Result.OK(item);
+ } catch (JsonProcessingException e) {
+ return Result.error("鏁版嵁杞瘧澶辫触锛�");
+ }
}
/**
@@ -149,7 +216,126 @@
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
- return super.importExcel(request, response, EamEquipment.class);
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+ for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+ // 鑾峰彇涓婁紶鏂囦欢瀵硅薄
+ MultipartFile file = entity.getValue();
+ ImportParams params = new ImportParams();
+ params.setTitleRows(0);
+ params.setHeadRows(1);
+ params.setNeedSave(true);
+ params.setStartSheetIndex(0);
+ params.setSheetNum(1);
+ try {
+ List<EamEquipment> list = ExcelImportUtil.importExcel(file.getInputStream(), EamEquipment.class, params);
+ //update-begin-author:taoyan date:20190528 for:鎵归噺鎻掑叆鏁版嵁
+ long start = System.currentTimeMillis();
+// service.saveBatch(list);
+ StringBuilder sb = new StringBuilder();
+ for (EamEquipment eamEquipment : list) {
+ //蹇呭~瀛楁鏍¢獙
+ if (StringUtils.isBlank(eamEquipment.getEquipmentCode()) || StringUtils.isBlank(eamEquipment.getEquipmentName())) {
+ sb.append(String.format("璁惧缂栫爜[%s]鎴栬澶囧悕绉癧%s]涓虹┖锛屾棤娉曞鍏n\n", eamEquipment.getEquipmentCode(), eamEquipment.getEquipmentName()));
+ continue;
+ }
+ if (StringUtils.isBlank(eamEquipment.getEquipmentCategory())) {
+ sb.append(String.format("璁惧缂栫爜[%s]璁惧鍒嗙被涓虹┖锛屾棤娉曞鍏n\n", eamEquipment.getEquipmentCode()));
+ continue;
+ }
+ if (StringUtils.isBlank(eamEquipment.getOrgId()) || StringUtils.isBlank(eamEquipment.getEquipmentManager())) {
+ sb.append(String.format("璁惧缂栫爜[%s]浣跨敤杞﹂棿鎴栬澶囩鐞嗗憳涓虹┖锛屾棤娉曞鍏n\n", eamEquipment.getEquipmentCode()));
+ continue;
+ }
+// if (eamEquipment.getAcceptanceCheckDate() == null) {
+// sb.append(String.format("璁惧缂栫爜[%s]楠屾敹涓虹┖锛屾棤娉曞鍏n\r", eamEquipment.getEquipmentCode()));
+// continue;
+// }
+ if (StringUtils.isBlank(eamEquipment.getTechnologyStatus())) {
+ sb.append(String.format("璁惧缂栫爜[%s]鎶�鏈姸鎬佷负绌猴紝鏃犳硶瀵煎叆\n\r", eamEquipment.getEquipmentCode()));
+ continue;
+ }
+ EamEquipment one = eamEquipmentService.getOne(new LambdaQueryWrapper<EamEquipment>().eq(EamEquipment::getEquipmentCode, eamEquipment.getEquipmentCode()).eq(EamEquipment::getDelFlag, CommonConstant.DEL_FLAG_0));
+ if (one != null) {
+ sb.append(String.format("璁惧缂栫爜[%s]宸插瓨鍦紝鏃犳硶閲嶅瀵煎叆\n\r", eamEquipment.getEquipmentCode()));
+ continue;
+ }
+ if (!CommonConstant.DEFAULT_1.equals(eamEquipment.getMdcFlag())) {
+ eamEquipment.setMdcFlag(CommonConstant.DEFAULT_0);
+ }
+ EamEquipment equipment = eamEquipmentService.saveEquipment(eamEquipment);
+ if (equipment == null) {
+ //淇濆瓨澶辫触锛岃烦杩囨湰娆″惊鐜�
+ sb.append(String.format("璁惧缂栫爜[%s]淇濆瓨澶辫触锛屾棤娉曞鍏n\r", eamEquipment.getEquipmentCode()));
+ continue;
+ }
+ //璋冪敤mdcEquipment鎻掑叆MDC璁惧
+ if (CommonConstant.DEFAULT_1.equals(eamEquipment.getMdcFlag())) {
+ //鎻掑叆MDC璁惧
+ MdcEquipment mdcEquipment = new MdcEquipment();
+ mdcEquipment.setEquipmentId(eamEquipment.getEquipmentCode());
+ mdcEquipment.setEquipmentType(eamEquipment.getDeviceType());
+ mdcEquipment.setEquipmentName(eamEquipment.getEquipmentName());
+ mdcEquipmentService.addNewEquipmentFromEam(mdcEquipment, eamEquipment.getOrgId());
+ }
+ }
+ //400鏉� saveBatch娑堣�楁椂闂�1592姣 寰幆鎻掑叆娑堣�楁椂闂�1947姣
+ //1200鏉� saveBatch娑堣�楁椂闂�3687姣 寰幆鎻掑叆娑堣�楁椂闂�5212姣
+ log.info("娑堣�楁椂闂�" + (System.currentTimeMillis() - start) + "姣");
+ //update-end-author:taoyan date:20190528 for:鎵归噺鎻掑叆鏁版嵁
+ if (sb.length() > 0) {
+ return Result.ok(sb.toString());
+ }
+ return Result.ok("鏂囦欢瀵煎叆鎴愬姛锛佹暟鎹鏁帮細" + list.size());
+ } catch (Exception e) {
+ //update-begin-author:taoyan date:20211124 for: 瀵煎叆鏁版嵁閲嶅澧炲姞鎻愮ず
+ String msg = e.getMessage();
+ log.error(msg, e);
+ if (msg != null && msg.indexOf("Duplicate entry") >= 0) {
+ return Result.error("鏂囦欢瀵煎叆澶辫触:鏈夐噸澶嶆暟鎹紒");
+ } else {
+ return Result.error("鏂囦欢瀵煎叆澶辫触:" + e.getMessage());
+ }
+ //update-end-author:taoyan date:20211124 for: 瀵煎叆鏁版嵁閲嶅澧炲姞鎻愮ず
+ } finally {
+ try {
+ file.getInputStream().close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ return Result.error("鏂囦欢瀵煎叆澶辫触锛�");
+ }
+
+ @ApiOperation(value = "璁惧琛�-閫氳繃杞﹂棿ids鑾峰彇璁惧鏍�", notes = "璁惧琛�-閫氳繃杞﹂棿ids鑾峰彇璁惧鏍�")
+ @GetMapping(value = "/loadTreeListByProductionIds")
+ public Result<List<EamEquipmentTree>> loadTreeListByProductionIds(@RequestParam(name = "ids", required = true) String ids) {
+ Result<List<EamEquipmentTree>> result = new Result<>();
+ try {
+ List<EamEquipmentTree> mdcEquipmentTreeList = eamEquipmentService.loadTreeListByProductionIds(ids);
+ result.setSuccess(true);
+ result.setResult(mdcEquipmentTreeList);
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ }
+ return result;
+ }
+
+ /**
+ * 妫�绱㈣澶�
+ * @param keyword 鏌ヨ鍏抽敭璇� 璁惧缂栧彿锛岃澶囧悕绉版ā绯婂尮閰�
+ * @param pageSize 涓�娆¤繑鍥炲灏戣褰�
+ * @param id 璁惧涓婚敭
+ * @return
+ */
+ @ApiOperation(value = "璁惧琛�-寮傛鍔犺浇璁惧鍒楄〃", notes = "璁惧琛�-寮傛鍔犺浇璁惧鍒楄〃")
+ @GetMapping(value = "/asyncLoadEquipment")
+ public Result<?> asyncLoadEquipment(@RequestParam(name="keyword",required = false) String keyword,
+ @RequestParam(value = "pageSize", required = false, defaultValue = "20") Integer pageSize,
+ @RequestParam(name="id",required = false) String id) {
+ List<EquipmentSearchResult> resultList = eamEquipmentService.asyncLoadEquipment(keyword, pageSize, id);
+ return Result.ok(resultList);
}
}
--
Gitblit v1.9.3