From 5ef47212d7a7d5d8fa2b02674c1f1263b07826d0 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期四, 07 十一月 2024 17:45:41 +0800
Subject: [PATCH] 修改工况bug,新增产品节点时存在

---
 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java |  182 ++++++++++++++++++++++++++++++++------------
 1 files changed, 131 insertions(+), 51 deletions(-)

diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java
index fde09e8..1285419 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java
@@ -6,130 +6,195 @@
 import com.zt.common.annotation.QueryParam;
 import com.zt.common.db.query.QueryFilter;
 import com.zt.common.servlet.Result;
-import com.zt.common.servlet.PageResult;
+import com.zt.common.utils.CacheUtils;
+import com.zt.common.utils.UUIDUtil;
 import com.zt.common.validator.AssertUtils;
 import com.zt.common.validator.ValidatorUtils;
 import com.zt.common.validator.group.AddGroup;
 import com.zt.common.validator.group.DefaultGroup;
 import com.zt.common.validator.group.UpdateGroup;
+import com.zt.life.core.service.ZtProductService;
+import com.zt.life.dto.ImportErrDto;
+import com.zt.life.modules.mainPart.basicInfo.model.ParamData;
 import com.zt.life.modules.mainPart.basicInfo.model.ProductImg;
-import com.zt.life.modules.mainPart.basicInfo.model.TyProductModel;
 import com.zt.life.modules.mainPart.basicInfo.model.XhProductModel;
+import com.zt.life.modules.mainPart.basicInfo.service.ParamDataService;
 import com.zt.life.modules.mainPart.basicInfo.service.XhProductModelService;
-import com.zt.life.modules.sysPictureBase.model.SysPictureBase;
-import com.zt.life.modules.sysPictureBase.service.SysPictureBaseService;
+import com.zt.life.modules.mainPart.sysPictureBase.service.SysPictureBaseService;
+import com.zt.life.util.ImportUtil;
 import com.zt.modules.oss.service.SysOssService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
-import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 import springfox.documentation.annotations.ApiIgnore;
 
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 
 /**
  * product_model
  *
- * @author zt generator 
+ * @author zt generator
  * @since 1.0.0 2024-02-29
  */
 @RestController
 @RequestMapping("/basicInfo/XhProductModel/")
-@Api(tags="product_model")
+@Api(tags = "product_model")
 public class XhProductModelController {
     @Autowired
     private XhProductModelService xhProductModelService;
 
-
-    @Autowired
-    private SysOssService sysOssService;
     @Autowired
     private SysPictureBaseService sysPictureBaseService;
+
+    @Autowired
+    private ParamDataService paramDataService;
 
     @GetMapping("page")
     @ApiOperation("鍒嗛〉")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = Constant.Q.PAGE, value = Constant.QV.PAGE, required = true, dataType = Constant.QT.INT),
-        @ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT),
-        @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING),
-        @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING),
-        @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = Constant.QT.STRING, format = "NAME^LK"),
-        @ApiImplicitParam(name = "nodeType", value = "鑺傜偣绫诲瀷", dataType = Constant.QT.STRING, format = "node_type^EQ"),
-        @ApiImplicitParam(name = "pid", value = "涓婄骇ID", dataType = Constant.QT.STRING)
+            @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING),
+            @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING),
+            @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = Constant.QT.STRING, format = "NAME^LK"),
+            @ApiImplicitParam(name = "productType", value = "鑺傜偣绫诲瀷", dataType = Constant.QT.STRING, format = "product_type^EQ"),
+            @ApiImplicitParam(name = "pid", value = "涓婄骇ID", dataType = Constant.QT.STRING)
     })
-    public PageResult<XhProductModel> page(@ApiIgnore @QueryParam QueryFilter queryFilter){
-        return PageResult.ok(xhProductModelService.page(queryFilter));
+    public Result<List<XhProductModel>> page(@ApiIgnore @QueryParam QueryFilter queryFilter) {
+        return Result.ok(xhProductModelService.page(queryFilter));
     }
 
     @GetMapping("tree")
-    public Result<List<XhProductModel>> getTreeList() {
-        List<XhProductModel> list = xhProductModelService.getAllTree();
+    public Result<List<XhProductModel>> getTreeList(Boolean showXdy, Integer ztShow, Long productId) {
+        List<XhProductModel> list = xhProductModelService.getAllTree(showXdy, ztShow, productId);
+
 
         return Result.ok(list);
     }
 
     @GetMapping("getProduct")
     public Result<List<ProductImg>> getProduct(Long productId) {
-
         List<ProductImg> list = xhProductModelService.getProduct(productId);
-
         return Result.ok(list);
     }
 
     @GetMapping("{id}")
     @ApiOperation("淇℃伅")
-    public Result<XhProductModel> get(@PathVariable("id") Long id){
+    public Result<XhProductModel> get(@PathVariable("id") Long id) {
         XhProductModel data = xhProductModelService.get(id);
-        Long busid = null;
-        String fileName = "";
-        if (StringUtils.isNotBlank(data.getOperationalStatus())&&sysOssService.get(Long.parseLong(data.getOperationalStatus()))!=null){
-            busid =sysOssService.get(Long.parseLong(data.getOperationalStatus())).getBusiId();
-            fileName =sysPictureBaseService.get(busid).getName();
-            data.setOperationalStatus(fileName);
-        }
-        if (StringUtils.isNotBlank(data.getStandbyState())&&sysOssService.get(Long.parseLong(data.getStandbyState()))!=null){
-            busid =sysOssService.get(Long.parseLong(data.getStandbyState())).getBusiId();
-            fileName =sysPictureBaseService.get(busid).getName();
-            data.setStandbyState(fileName);
-        }
-        if (StringUtils.isNotBlank(data.getFaultState())&&sysOssService.get(Long.parseLong(data.getFaultState()))!=null){
-            busid =sysOssService.get(Long.parseLong(data.getFaultState())).getBusiId();
-            fileName =sysPictureBaseService.get(busid).getName();
-            data.setFaultState(fileName);
+        if (data.getOperatImg() != null) {
+            data.setOperatImgName(sysPictureBaseService.get(data.getOperatImg()).getName());
         }
         return Result.ok(data);
     }
 
+    @GetMapping("getImg")
+    @ApiOperation("淇℃伅")
+    public void getImg(HttpServletResponse response, Long id) {
+        xhProductModelService.getImg(response, id);
+    }
+
+
     @GetMapping("getProductList")
-    public Result<List<XhProductModel>> getProductList() {
-        List<XhProductModel> list = xhProductModelService.getProductList();
+    public Result<List<XhProductModel>> getProductList(Long shipId, Integer productType) {
+        if(productType==2){
+            shipId =null;
+        }
+        List<XhProductModel> list = xhProductModelService.getProductList(shipId, productType - 1);
+        if(productType == 5){
+            List<XhProductModel> list2 =  xhProductModelService.getProductList(shipId, productType - 2);
+            list.addAll(list2);
+        }
         return Result.ok(list);
     }
+
+    @GetMapping("getTaskProductList")
+    public Result<List<XhProductModel>> getTaskProductList() {
+        List<XhProductModel> list = xhProductModelService.getTaskProductList();
+        return Result.ok(list);
+    }
+
+    @PostMapping("importProductExcel")
+    @ApiOperation("瀵煎叆浜у搧妯″瀷")
+    @LogOperation("瀵煎叆浜у搧妯″瀷")
+    public Result importProductExcel(MultipartFile file, String progressId, Long pid) {
+        Result<List<ImportErrDto>> result = Result.ok();
+        try {
+            List<Map<String, Object>> importResults = xhProductModelService.importProductExcel(file, progressId, pid);
+            StringBuilder str = new StringBuilder();
+            ImportUtil.importResult(result, importResults, str);
+            ImportUtil.ImportErrResult(result, importResults, str);
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return result;
+    }
+
+    @GetMapping("exportData")
+    @ApiOperation("瀵煎嚭浜у搧妯″瀷")
+    @LogOperation("瀵煎嚭浜у搧妯″瀷")
+    public Result exportDataExcel(HttpServletRequest request, HttpServletResponse response, Long shipId, String fileName) {
+        xhProductModelService.exportDataExcel(request, response, shipId, fileName);
+
+        return null;
+    }
+
 
     @PostMapping
     @ApiOperation("鏂板")
     @LogOperation("鏂板")
-    public Result insert(@RequestBody XhProductModel xhProductModel){
+    public Result insert(@RequestBody XhProductModel xhProductModel) {
         //鏁堥獙鏁版嵁
         ValidatorUtils.validateEntity(xhProductModel, AddGroup.class, DefaultGroup.class);
-        Integer no = xhProductModelService.getNo(xhProductModel.getPid());
-        xhProductModel.setSort(no + 1);
 
+        Integer no = xhProductModelService.getNo(xhProductModel.getPid(), xhProductModel.getProductType());
+        if (xhProductModel.getSort() == null || xhProductModel.getSort() < no) {
+            xhProductModel.setSort(no + 1);
+        }
+        if (xhProductModel.getProductType().equals("2")) {
+            Long id = UUIDUtil.generateId();
+            xhProductModel.setId(id);
+            xhProductModel.setShipId(id);
+
+            ParamData data = new ParamData();
+            data.setShipId(id);
+            data.setProductId(id);
+
+            paramDataService.insert(data);
+        }
+        xhProductModel.setNamePath(xhProductModel.getNamePath() + "," + xhProductModel.getName());
         xhProductModelService.insert(xhProductModel);
-
+        ParamData data = new ParamData();
+        data.setShipId(xhProductModel.getShipId());
+        data.setProductId(xhProductModel.getId());
+        paramDataService.insert(data);
+        Map<Long, XhProductModel> imgMap = new HashMap<>();
+        imgMap = (Map<Long, XhProductModel>) CacheUtils.get("sysImgCache", "sysImgCache");
+        imgMap.put(xhProductModel.getId(), xhProductModel);
         return Result.ok();
     }
 
     @PostMapping("get")
-    public Result getSelect(@RequestBody List<XhProductModel> list){
-        for(XhProductModel xhProductModel:list){
+    public Result getSelect(@RequestBody List<XhProductModel> list) {
+        for (XhProductModel xhProductModel : list) {
             xhProductModel.setSrcId(xhProductModel.getId());
             xhProductModel.setId(null);
+            xhProductModel.setSort(xhProductModel.getSort());
+            xhProductModel.setProductType(xhProductModel.getNodeType());
+            if (xhProductModel.getNamePath() == null) {
+                xhProductModel.setNamePath(xhProductModel.getName());
+            } else {
+                xhProductModel.setNamePath(xhProductModel.getNamePath() + "," + xhProductModel.getName());
+            }
             this.insert(xhProductModel);
         }
         return Result.ok();
@@ -138,10 +203,13 @@
     @PutMapping
     @ApiOperation("淇敼")
     @LogOperation("淇敼")
-    public Result update(@RequestBody XhProductModel xhProductModel){
+    public Result update(@RequestBody XhProductModel xhProductModel) {
         //鏁堥獙鏁版嵁
         ValidatorUtils.validateEntity(xhProductModel, UpdateGroup.class, DefaultGroup.class);
         xhProductModelService.update(xhProductModel);
+        Map<Long, XhProductModel> imgMap = new HashMap<>();
+        imgMap = (Map<Long, XhProductModel>) CacheUtils.get("sysImgCache", "sysImgCache");
+        imgMap.put(xhProductModel.getId(), xhProductModel);
 
         return Result.ok();
     }
@@ -149,12 +217,24 @@
     @DeleteMapping
     @ApiOperation("鍒犻櫎")
     @LogOperation("鍒犻櫎")
-    public Result delete(@RequestBody Long[] ids){
+    public Result delete(@RequestBody Long[] ids) {
         //鏁堥獙鏁版嵁
         AssertUtils.isArrayEmpty(ids, "id");
-        xhProductModelService.delete(ids);
+        this.deleteByProduct(ids);
 
         return Result.ok();
     }
 
+    private void deleteByProduct(Long[] ids) {
+        Map<Long, XhProductModel> imgMap = new HashMap<>();
+        imgMap = (Map<Long, XhProductModel>) CacheUtils.get("sysImgCache", "sysImgCache");
+        for (Long id : ids) {
+            Long[] list = xhProductModelService.getByPid(id);
+            if (list.length > 0){
+                this.deleteByProduct(list);
+            }
+            imgMap.remove(id);
+            xhProductModelService.deleteLogic(id);
+        }
+    }
 }

--
Gitblit v1.9.1