From 089b302259e03ce52fc102bcf168d1fa048fffe9 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期四, 26 九月 2024 16:38:28 +0800
Subject: [PATCH] 修改

---
 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java |  123 +++++++++++++++++++++++++++++++----------
 1 files changed, 93 insertions(+), 30 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 4716cef..e9b3576 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,82 +6,84 @@
 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.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.servlet.http.HttpServletResponse;
+import javax.annotation.Resource;
 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.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 Result<List<XhProductModel>> page(@ApiIgnore @QueryParam QueryFilter 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);
         if (data.getOperatImg() != null) {
             data.setOperatImgName(sysPictureBaseService.get(data.getOperatImg()).getName());
@@ -95,14 +97,52 @@
         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;
+    }
+
+
     @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);
+        }
 
         xhProductModelService.insert(xhProductModel);
 
@@ -110,10 +150,17 @@
     }
 
     @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();
@@ -122,7 +169,7 @@
     @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);
@@ -133,12 +180,28 @@
     @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){
+        for(Long id : ids){
+            XhProductModel data = xhProductModelService.get(id);
+            if (data.getProductType().equals("1")||data.getProductType().equals("3")||data.getProductType().equals("4")){
+                xhProductModelService.deleteLogic(id);
+              /*  List<Long> list =xhProductModelService.getByPid(id);
+                Long[] L = list.stream().toArray(Long[]::new);*/
+                Long[] list =xhProductModelService.getByPid(id);
+                this.deleteByProduct(list);
+            }else if(data.getProductType().equals("2")){
+                xhProductModelService.deleteByShipId(data.getShipId());
+            }else if(data.getProductType().equals("5")){
+                xhProductModelService.deleteLogic(id);
+            }
+        }
+    }
 }

--
Gitblit v1.9.1