From 4695b1501f8dd6850730aeb4131f88fef0e14c9f Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期二, 12 十二月 2023 10:28:56 +0800
Subject: [PATCH] 物品导入

---
 consum-base/src/main/java/com/consum/base/pojo/excel/ImportGoodsInfoTemplate.java        |    4 
 consum-base/src/main/java/com/consum/base/pojo/BaseGoodsTemplateParam.java               |   71 +---------
 consum-base/src/main/java/com/consum/base/service/impl/BaseGoodsTemplateServiceImpl.java |  103 ++++++++------
 consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java    |   73 +++++----
 consum-base/src/main/java/com/consum/base/service/impl/BaseCategoryServiceImpl.java      |   98 ++++++++-----
 consum-base/src/main/java/com/consum/base/service/BaseCategoryService.java               |   11 +
 admin-web/src/views/foundation/material/index.vue                                        |    2 
 7 files changed, 176 insertions(+), 186 deletions(-)

diff --git a/admin-web/src/views/foundation/material/index.vue b/admin-web/src/views/foundation/material/index.vue
index 7317e74..fbc8293 100644
--- a/admin-web/src/views/foundation/material/index.vue
+++ b/admin-web/src/views/foundation/material/index.vue
@@ -110,7 +110,7 @@
           dialogShow: false,
           fileSettings: {
               data: {},
-              uploadUrl: getBaseUrl()+"/pc/fin/sys/tenant/import", // 涓婁紶鍦板潃
+              uploadUrl: getBaseUrl()+"/pc/base/goods/template/import", // 涓婁紶鍦板潃
               accept: '.xls', // 鏍煎紡
               type: 'text', // 鍥炴樉褰㈠紡
               loading: false // 瀵煎叆鏁堟灉
diff --git a/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java b/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java
index da2fb8c..7a5e781 100644
--- a/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java
@@ -1,9 +1,11 @@
 package com.consum.base.controller;
 
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 
 import org.apache.commons.compress.utils.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -26,10 +28,12 @@
 import com.consum.base.pojo.BaseGoodsTemplateParam;
 import com.consum.base.pojo.excel.ImportGoodsInfoTemplate;
 import com.consum.base.pojo.response.GoodsTemplateVO;
+import com.consum.base.service.BaseCategoryService;
 import com.consum.base.service.BaseGoodsTemplateService;
 import com.consum.base.service.BaseWarehouseService;
 import com.consum.base.service.FinSysTenantService;
 import com.consum.base.service.LWhGoodsService;
+import com.consum.model.po.BaseCategory;
 import com.consum.model.po.BaseGoodsModels;
 import com.consum.model.po.BaseGoodsTemplate;
 import com.consum.model.po.BaseWarehouse;
@@ -38,7 +42,6 @@
 import com.consum.model.po.SDictData;
 import com.consum.model.vo.BaseGoodsTemplateVo;
 import com.walker.db.page.GenericPager;
-import com.walker.infrastructure.utils.DateUtils;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.web.ResponseValue;
 
@@ -66,6 +69,9 @@
 
     @Autowired
     private FinSysTenantService finSysTenantService;
+
+    @Autowired
+    private BaseCategoryService baseCategoryService;
 
     /**
      * @Description 鏂板鐗╁搧妯℃澘
@@ -298,48 +304,47 @@
                     String categoryOne = data.getCategoryOne();
                     String categoryTwo = data.getCategoryTwo();
                     String categoryThree = data.getCategoryThree();
-                    String goodName = data.getGoodName();
-                    String goodModel = data.getGoodModel();
+                    String goodsName = data.getGoodsName();
+                    String goodModelName = data.getGoodModelName();
                     String unit = data.getUnit();
                     String type = data.getType();
                     String agencyName = data.getAgencyName();
 
-                    list.stream().forEach(item -> {
-                        if (!item.getCategoryId().equals(categoryThree)) {
-                            BaseGoodsTemplateParam baseGoodsTemplate = new BaseGoodsTemplateParam();
-                            baseGoodsTemplate.setCategoryId(Long.valueOf(categoryThree));
-                            baseGoodsTemplate.setGoodsName(goodName);
-                            baseGoodsTemplate.setStates(1);
-                            FinSysTenant finSysTenant = finSysTenantService.selectByName(agencyName);
-                            baseGoodsTemplate.setAgencyId(finSysTenant.getId());
+                    BaseCategory baseCategory = baseCategoryService.getByCategoryByName(categoryThree);
+                    Long categoryId = baseCategory.getId();
 
-                            List<BaseGoodsModels> models = Lists.newArrayList();
-                            BaseGoodsModels baseGoodsModels = new BaseGoodsModels();
-                            baseGoodsModels.setModelName(goodModel);
-                            baseGoodsModels.setStates(1);
-                            baseGoodsModels.setGoodsTemplatesId(item.getId());
-                            baseGoodsModels.setUnit(unit);
-                            baseGoodsModels.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
-                            models.add(baseGoodsModels);
-                            baseGoodsTemplate.setModels(models);
-                        } else {
-                            List<BaseGoodsModels> models = item.getModels();
-                            BaseGoodsModels baseGoodsModels = new BaseGoodsModels();
-                            baseGoodsModels.setModelName(goodModel);
-                            baseGoodsModels.setStates(1);
-                            baseGoodsModels.setGoodsTemplatesId(item.getId());
-                            baseGoodsModels.setUnit(unit);
-                            baseGoodsModels.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
-                            models.add(baseGoodsModels);
-                        }
-                    });
+                    Optional<BaseGoodsTemplateParam> optional =
+                        list.stream().filter(item -> item.getCategoryId().equals(categoryId)).findFirst();
 
+                    if (optional.isPresent()) {
+                        BaseGoodsModels baseGoodsModels = new BaseGoodsModels();
+                        baseGoodsModels.setModelName(goodModelName);
+                        baseGoodsModels.setUnit(unit);
+                        optional.get().getModels().add(baseGoodsModels);
+                    } else {
+                        BaseGoodsTemplateParam baseGoodsTemplate = new BaseGoodsTemplateParam();
+                        baseGoodsTemplate.setCategoryId(categoryId);
+                        baseGoodsTemplate.setGoodsName(goodsName);
+                        baseGoodsTemplate.setStates(1);
+                        FinSysTenant finSysTenant = finSysTenantService.selectByName(agencyName);
+                        baseGoodsTemplate.setAgencyId(finSysTenant.getId());
+                        baseGoodsTemplate.setAgencyName(agencyName);
+
+                        List<BaseGoodsModels> models = new ArrayList<>();
+                        BaseGoodsModels baseGoodsModels = new BaseGoodsModels();
+                        baseGoodsModels.setModelName(goodModelName);
+                        baseGoodsModels.setUnit(unit);
+                        models.add(baseGoodsModels);
+                        baseGoodsTemplate.setModels(models);
+
+                        list.add(baseGoodsTemplate);
+                    }
                 }
 
                 @Override
                 public void doAfterAllAnalysed(AnalysisContext analysisContext) {
-                    for (BaseGoodsTemplateParam a : list) {
-                        baseGoodsTemplateService.add(a, sysInfo);
+                    for (BaseGoodsTemplateParam baseGoodsTemplate : list) {
+                        baseGoodsTemplateService.add(baseGoodsTemplate, null);
                     }
                 }
 
@@ -350,6 +355,8 @@
                         Integer row = excelDataConvertException.getRowIndex() + 1;
                         Integer column = excelDataConvertException.getColumnIndex() + 1;
                         throw new RuntimeException("绗�" + row + "琛岋紝绗�" + column + "鍒楄В鏋愬紓甯革紝璇锋纭~鍐�");
+                    } else {
+                        throw new RuntimeException(exception.getMessage());
                     }
                 }
             }).sheet(0).doRead();
diff --git a/consum-base/src/main/java/com/consum/base/pojo/BaseGoodsTemplateParam.java b/consum-base/src/main/java/com/consum/base/pojo/BaseGoodsTemplateParam.java
index df1593e..0aa533c 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/BaseGoodsTemplateParam.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/BaseGoodsTemplateParam.java
@@ -1,10 +1,13 @@
 package com.consum.base.pojo;
 
+import java.util.List;
+
 import com.consum.model.po.BaseGoodsModels;
 import com.walker.web.param.ParamRequest;
 
-import java.util.List;
+import lombok.Data;
 
+@Data
 public class BaseGoodsTemplateParam extends ParamRequest {
     private Long id;
     /**
@@ -36,67 +39,9 @@
      */
     private Long agencyId;
 
-    public Long getId() {
-        return id;
-    }
+    /**
+     * 鏈烘瀯鍚嶇О
+     */
+    private String agencyName;
 
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getGoodsCode() {
-        return goodsCode;
-    }
-
-    public void setGoodsCode(String goodsCode) {
-        this.goodsCode = goodsCode;
-    }
-
-    public Long getCategoryId() {
-        return categoryId;
-    }
-
-    public void setCategoryId(Long categoryId) {
-        this.categoryId = categoryId;
-    }
-
-    public String getGoodsName() {
-        return goodsName;
-    }
-
-    public void setGoodsName(String goodsName) {
-        this.goodsName = goodsName;
-    }
-
-    public List<BaseGoodsModels> getModels() {
-        return models;
-    }
-
-    public void setModels(List<BaseGoodsModels> models) {
-        this.models = models;
-    }
-
-    public Integer getStates() {
-        return states;
-    }
-
-    public void setStates(Integer states) {
-        this.states = states;
-    }
-
-    public String getClassification() {
-        return classification;
-    }
-
-    public void setClassification(String classification) {
-        this.classification = classification;
-    }
-
-    public Long getAgencyId() {
-        return agencyId;
-    }
-
-    public void setAgencyId(Long agencyId) {
-        this.agencyId = agencyId;
-    }
 }
diff --git a/consum-base/src/main/java/com/consum/base/pojo/excel/ImportGoodsInfoTemplate.java b/consum-base/src/main/java/com/consum/base/pojo/excel/ImportGoodsInfoTemplate.java
index fa6df0d..fb1b3a7 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/excel/ImportGoodsInfoTemplate.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/excel/ImportGoodsInfoTemplate.java
@@ -20,9 +20,9 @@
     @ExcelProperty("涓夌骇鍒嗙被")
     private String categoryThree;
     @ExcelProperty("鐗╁搧鍚嶇О")
-    private String goodName;
+    private String goodsName;
     @ExcelProperty("瑙勬牸鍨嬪彿")
-    private String goodModel;
+    private String goodModelName;
     @ExcelProperty("鍗曚綅")
     private String unit;
     @ExcelProperty("閲囪喘绫诲瀷")
diff --git a/consum-base/src/main/java/com/consum/base/service/BaseCategoryService.java b/consum-base/src/main/java/com/consum/base/service/BaseCategoryService.java
index b0bc91a..f71b12e 100644
--- a/consum-base/src/main/java/com/consum/base/service/BaseCategoryService.java
+++ b/consum-base/src/main/java/com/consum/base/service/BaseCategoryService.java
@@ -1,12 +1,13 @@
 package com.consum.base.service;
 
+import java.util.List;
+
 import com.consum.base.pojo.BaseCategoryParam;
 import com.consum.base.pojo.ProjectTreeResult;
 import com.consum.model.po.BaseCategory;
 import com.iplatform.model.po.S_user_core;
 import com.walker.db.page.GenericPager;
 import com.walker.jdbc.service.BaseService;
-import java.util.List;
 
 public interface BaseCategoryService extends BaseService {
 
@@ -27,4 +28,12 @@
     List<ProjectTreeResult> tree();
 
     List<BaseCategory> queryForLv3Tree();
+
+    /**
+     * 鏍规嵁鍚嶇О鏌ヨ鍒嗙被
+     * 
+     * @param categoryName
+     * @return
+     */
+    BaseCategory getByCategoryByName(String categoryName);
 }
diff --git a/consum-base/src/main/java/com/consum/base/service/impl/BaseCategoryServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/BaseCategoryServiceImpl.java
index 982610e..f2face6 100644
--- a/consum-base/src/main/java/com/consum/base/service/impl/BaseCategoryServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/impl/BaseCategoryServiceImpl.java
@@ -1,5 +1,13 @@
 package com.consum.base.service.impl;
 
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
 import com.consum.base.Constants;
 import com.consum.base.core.utils.IdUtil;
 import com.consum.base.pojo.BaseCategoryParam;
@@ -11,13 +19,6 @@
 import com.walker.infrastructure.utils.DateUtils;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
-import org.springframework.beans.BeanUtils;
-import org.springframework.stereotype.Service;
-
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.List;
-import java.util.stream.Collectors;
 
 /**
  * @Description 鐗╁搧鍒嗙被
@@ -27,7 +28,8 @@
 @Service
 public class BaseCategoryServiceImpl extends BaseServiceImpl implements BaseCategoryService {
 
-    private static final String QUERY_TREE_ALL = "select * from base_category where states = 1  order by FATHER_CATEGORY_ID, LEVELS ASC";
+    private static final String QUERY_TREE_ALL =
+        "select * from base_category where states = 1  order by FATHER_CATEGORY_ID, LEVELS ASC";
 
     /**
      * @Description 鏂板鍒嗙被
@@ -38,24 +40,24 @@
         BaseCategory baseCategory = new BaseCategory();
         BeanUtils.copyProperties(param, baseCategory);
         baseCategory.setId(IdUtil.generateId());
-        //灞傜骇
+        // 灞傜骇
         if (baseCategory.getFatherCategoryId() == null) {
-            //涓�绾у垎绫�
+            // 涓�绾у垎绫�
             baseCategory.setFatherCategoryId(0L);
             baseCategory.setLevels(Constants.LEVELS_ONE);
         } else {
-            //鏍规嵁鐖剁被id鏌ヨ涓婄骇鍒嗙被淇℃伅
+            // 鏍规嵁鐖剁被id鏌ヨ涓婄骇鍒嗙被淇℃伅
             BaseCategory category = this.get(new BaseCategory(baseCategory.getFatherCategoryId()));
-            if (category.getFatherCategoryId() == 0L) {  //浜岀骇鍒嗙被
+            if (category.getFatherCategoryId() == 0L) { // 浜岀骇鍒嗙被
                 baseCategory.setLevels(Constants.LEVELS_TWO);
-            } else {  //涓夌骇鍒嗙被
+            } else { // 涓夌骇鍒嗙被
                 baseCategory.setLevels(Constants.LEVELS_THREE);
             }
         }
-        //鍒涘缓浜篿d鍜屽垱寤轰汉濮撳悕
+        // 鍒涘缓浜篿d鍜屽垱寤轰汉濮撳悕
         baseCategory.setCreateUserId(currentUser.getId());
         baseCategory.setCreateUserName(currentUser.getUser_name());
-        //鍒涘缓鏃堕棿
+        // 鍒涘缓鏃堕棿
         baseCategory.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
 
         return this.insert(baseCategory);
@@ -72,10 +74,10 @@
         StringBuilder sql = new StringBuilder("SELECT * FROM base_category WHERE 1 = 1 ");
         HashMap<String, Object> paramts = new HashMap<>();
 
-        //鍒嗙被鍚嶇О
+        // 鍒嗙被鍚嶇О
         sql.append(" and category_name =:category_name ");
         paramts.put("category_name", categoryName);
-        //鐖剁被id
+        // 鐖剁被id
         sql.append(" and father_category_id =:father_category_id ");
         paramts.put("father_category_id", fatherCategoryId);
 
@@ -90,24 +92,24 @@
     public GenericPager<BaseCategory> queryBaseCategoryList(BaseCategoryParam param) {
         StringBuilder sql = new StringBuilder("SELECT * FROM base_category WHERE 1 = 1 ");
         HashMap<String, Object> paramts = new HashMap<>();
-        //鍒嗙被鍚嶇О
+        // 鍒嗙被鍚嶇О
         if (param.getFatherCategoryId() != null) {
             sql.append("and father_category_id =:fatherCategoryId ");
             paramts.put("fatherCategoryId", param.getFatherCategoryId());
         } else {
             sql.append("and levels =1 ");
         }
-        //鍒嗙被鍚嶇О
+        // 鍒嗙被鍚嶇О
         if (!StringUtils.isEmpty(param.getCategoryName())) {
             sql.append(" and category_name like:category_name ");
             paramts.put("category_name", StringUtils.CHAR_PERCENT + param.getCategoryName() + StringUtils.CHAR_PERCENT);
         }
-        //绫诲埆
+        // 绫诲埆
         if (!StringUtils.isEmpty(param.getClassification())) {
             sql.append(" and classification =:classification ");
             paramts.put("classification", param.getClassification());
         }
-        //鐘舵��
+        // 鐘舵��
         if (param.getStates() != null) {
             sql.append(" and states =:states ");
             paramts.put("states", param.getStates());
@@ -144,9 +146,9 @@
      */
     public int updateById(BaseCategory baseCategory, S_user_core currentUser) {
         baseCategory.setStates(Constants.STATES_DELETED);
-        //鍒犻櫎鏃堕棿
+        // 鍒犻櫎鏃堕棿
         baseCategory.setDTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
-        //鍒犻櫎浜篿d鍜屽垹闄や汉濮撳悕
+        // 鍒犻櫎浜篿d鍜屽垹闄や汉濮撳悕
         baseCategory.setDUserId(currentUser.getId());
         baseCategory.setDUserName(currentUser.getUser_name());
         return this.update(baseCategory);
@@ -169,16 +171,16 @@
      */
     public List<BaseCategory> queryForTree() {
         // 灞曠ず鍏ㄩ儴鑺傜偣
-        return this.select(QUERY_TREE_ALL, new Object[]{}, new BaseCategory());
+        return this.select(QUERY_TREE_ALL, new Object[] {}, new BaseCategory());
     }
 
     public List<ProjectTreeResult> tree() {
         BaseCategory categoryParam = new BaseCategory();
         categoryParam.setStates(1);
-        //鏌ュ嚭鎵�鏈夊垎绫�
+        // 鏌ュ嚭鎵�鏈夊垎绫�
         List<BaseCategory> all = select(categoryParam);
-        //缁勮鎴愮埗瀛愭爲褰㈢粨鏋�
-        //1绾у垎绫�
+        // 缁勮鎴愮埗瀛愭爲褰㈢粨鏋�
+        // 1绾у垎绫�
         List<ProjectTreeResult> menus = all.stream().filter(entity -> entity.getLevels() == 1).map(entity -> {
             ProjectTreeResult projectTreeResult = new ProjectTreeResult(entity);
             if (getChildren(projectTreeResult, all).isEmpty()) {
@@ -187,7 +189,8 @@
                 projectTreeResult.setChildren(getChildren(projectTreeResult, all));
             }
             return projectTreeResult;
-        }).sorted(Comparator.comparingInt(menu -> (menu.getSort() == null ? 0 : menu.getSort()))).collect(Collectors.toList());
+        }).sorted(Comparator.comparingInt(menu -> (menu.getSort() == null ? 0 : menu.getSort())))
+            .collect(Collectors.toList());
         return menus;
 
     }
@@ -196,20 +199,21 @@
      * 閫掑綊鏌ユ壘鎵�鏈夎彍鍗曠殑瀛愯彍鍗�
      */
     private List<ProjectTreeResult> getChildren(ProjectTreeResult root, List<BaseCategory> all) {
-        List<ProjectTreeResult> children = all.stream().filter(entity -> entity.getFatherCategoryId().equals(root.getId())).map(entity -> {
+        List<ProjectTreeResult> children =
+            all.stream().filter(entity -> entity.getFatherCategoryId().equals(root.getId())).map(entity -> {
 
-            ProjectTreeResult projectTreeResult = new ProjectTreeResult(entity);
-            //閫氳繃閫掑綊鎵惧埌瀛愬垎绫�
-            if (getChildren(projectTreeResult, all).isEmpty()) {
-                projectTreeResult.setChildren(null);
-            } else {
-                projectTreeResult.setChildren(getChildren(projectTreeResult, all));
-            }
-            return projectTreeResult;
-        }).sorted(Comparator.comparingInt(menu -> (menu.getSort() == null ? 0 : menu.getSort()))).collect(Collectors.toList());
+                ProjectTreeResult projectTreeResult = new ProjectTreeResult(entity);
+                // 閫氳繃閫掑綊鎵惧埌瀛愬垎绫�
+                if (getChildren(projectTreeResult, all).isEmpty()) {
+                    projectTreeResult.setChildren(null);
+                } else {
+                    projectTreeResult.setChildren(getChildren(projectTreeResult, all));
+                }
+                return projectTreeResult;
+            }).sorted(Comparator.comparingInt(menu -> (menu.getSort() == null ? 0 : menu.getSort())))
+                .collect(Collectors.toList());
         return children;
     }
-
 
     /**
      * @return
@@ -218,7 +222,19 @@
      * @Date 2023/10/30
      */
     public List<BaseCategory> queryForLv3Tree() {
-        StringBuilder sql = new StringBuilder("SELECT * FROM base_category WHERE states = 1 and levels = 3 order by ORDER_NUMBER,CREATE_TIME desc");
-        return this.select(sql.toString(), new Object[]{}, new BaseCategory());
+        StringBuilder sql = new StringBuilder(
+            "SELECT * FROM base_category WHERE states = 1 and levels = 3 order by ORDER_NUMBER,CREATE_TIME desc");
+        return this.select(sql.toString(), new Object[] {}, new BaseCategory());
+    }
+
+    @Override
+    public BaseCategory getByCategoryByName(String categoryName) {
+        StringBuilder sql = new StringBuilder("SELECT * FROM base_category WHERE 1 = 1 ");
+        HashMap<String, Object> paramts = new HashMap<>();
+        // 鍒嗙被鍚嶇О
+        sql.append(" and category_name =:category_name ");
+        paramts.put("category_name", categoryName);
+        BaseCategory baseCategory = this.get(sql.toString(), paramts, new BaseCategory());
+        return baseCategory;
     }
 }
diff --git a/consum-base/src/main/java/com/consum/base/service/impl/BaseGoodsTemplateServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/BaseGoodsTemplateServiceImpl.java
index 9a063c0..1df8590 100644
--- a/consum-base/src/main/java/com/consum/base/service/impl/BaseGoodsTemplateServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/impl/BaseGoodsTemplateServiceImpl.java
@@ -1,6 +1,14 @@
 package com.consum.base.service.impl;
 
-import cn.hutool.core.convert.Convert;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
 import com.consum.base.Constants;
 import com.consum.base.core.CodeGeneratorService;
 import com.consum.base.core.utils.IdUtil;
@@ -8,21 +16,19 @@
 import com.consum.base.service.BaseCategoryService;
 import com.consum.base.service.BaseGoodsModelsService;
 import com.consum.base.service.BaseGoodsTemplateService;
-import com.consum.model.po.*;
+import com.consum.model.po.BaseCategory;
+import com.consum.model.po.BaseGoodsModels;
+import com.consum.model.po.BaseGoodsTemplate;
+import com.consum.model.po.FinSysTenantUser;
+import com.consum.model.po.SDictData;
 import com.consum.model.vo.BaseGoodsTemplateVo;
 import com.iplatform.model.po.S_user_core;
 import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.DateUtils;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import cn.hutool.core.convert.Convert;
 
 /**
  * @Description 鐗╁搧妯℃澘
@@ -50,7 +56,7 @@
         StringBuilder sql = new StringBuilder("SELECT * FROM base_goods_template WHERE 1 = 1 ");
         HashMap<String, Object> paramts = new HashMap<>();
 
-        //鍒嗙被id
+        // 鍒嗙被id
         if (categoryId != null) {
             sql.append(" and category_id =:category_id ");
             paramts.put("category_id", categoryId);
@@ -67,35 +73,38 @@
      */
     @Override
     public int add(BaseGoodsTemplateParam param, FinSysTenantUser currentUser) {
-        //1.鏂板鐗╁搧妯℃澘
+        // 1.鏂板鐗╁搧妯℃澘
         BaseGoodsTemplate baseGoodsTemplate = new BaseGoodsTemplate();
         BeanUtils.copyProperties(param, baseGoodsTemplate);
         long goodsTemplatesId = IdUtil.generateId();
         baseGoodsTemplate.setId(goodsTemplatesId);
-        //鏍规嵁鍒嗙被id鏌ヨ鍒嗙被
+        // 鏍规嵁鍒嗙被id鏌ヨ鍒嗙被
         BaseCategory baseCategory = this.baseCategoryService.get(new BaseCategory(param.getCategoryId()));
         if (baseCategory != null) {
             baseGoodsTemplate.setCategoryName(baseCategory.getCategoryName());
             String classification = baseCategory.getClassification();
-            //鐗╁搧缂栫爜
-            String goodsCode = codeGeneratorService.createGoodsTemplateCode(Convert.toStr(classification,"C"));
+            // 鐗╁搧缂栫爜
+            String goodsCode = codeGeneratorService.createGoodsTemplateCode(Convert.toStr(classification, "C"));
             baseGoodsTemplate.setGoodsCode(goodsCode);
-            //绫诲埆
+            // 绫诲埆
             baseGoodsTemplate.setClassification(classification);
         }
-        //TODO 涓�绾т簩绾т笁绾ф満鏋勭紪鍙�
-        //褰撳墠鏈烘瀯鐨勭埗绾ф満鏋勭紪鍙�
-        //鏈烘瀯灞傜骇
-        //鏈烘瀯缂栧彿
-        baseGoodsTemplate.setAgencyId(Long.valueOf(currentUser.getTenantId()));
-        //鏈烘瀯鍚嶇О
-        baseGoodsTemplate.setAgencyName(currentUser.getTenantName());
-        //鍒涘缓鏃堕棿
+        // TODO 涓�绾т簩绾т笁绾ф満鏋勭紪鍙�
+        // 褰撳墠鏈烘瀯鐨勭埗绾ф満鏋勭紪鍙�
+        // 鏈烘瀯灞傜骇
+        if (currentUser != null) {
+            // 鏈烘瀯缂栧彿
+            baseGoodsTemplate.setAgencyId(Long.valueOf(currentUser.getTenantId()));
+            // 鏈烘瀯鍚嶇О
+            baseGoodsTemplate.setAgencyName(currentUser.getTenantName());
+        }
+
+        // 鍒涘缓鏃堕棿
         long createTime = DateUtils.getDateTimeNumber(System.currentTimeMillis());
         baseGoodsTemplate.setCreateDate(createTime);
         int flag1 = this.insert(baseGoodsTemplate);
 
-        //2.鏂板瑙勬牸鍨嬪彿
+        // 2.鏂板瑙勬牸鍨嬪彿
         List<BaseGoodsModels> models = param.getModels();
         int flag2 = 0;
         if (!CollectionUtils.isEmpty(models)) {
@@ -125,32 +134,32 @@
         StringBuilder sql = new StringBuilder("SELECT * FROM base_goods_template WHERE 1 = 1 ");
         HashMap<String, Object> paramts = new HashMap<>();
 
-        //鐗╁搧鍚嶇О
+        // 鐗╁搧鍚嶇О
         if (!StringUtils.isEmpty(param.getGoodsName())) {
             sql.append(" and goods_name like:goods_name ");
             paramts.put("goods_name", StringUtils.CHAR_PERCENT + param.getGoodsName() + StringUtils.CHAR_PERCENT);
         }
-        //鐗╁搧缂栧彿
+        // 鐗╁搧缂栧彿
         if (!StringUtils.isEmpty(param.getGoodsCode())) {
             sql.append(" and goods_code like:goods_code ");
             paramts.put("goods_code", StringUtils.CHAR_PERCENT + param.getGoodsCode() + StringUtils.CHAR_PERCENT);
         }
-        //鍒嗙被id
+        // 鍒嗙被id
         if (param.getCategoryId() != null) {
             sql.append(" and category_id =:category_id ");
             paramts.put("category_id", param.getCategoryId());
         }
-        //绫诲埆
+        // 绫诲埆
         if (!StringUtils.isEmpty(param.getClassification())) {
             sql.append(" and classification =:classification ");
             paramts.put("classification", param.getClassification());
         }
-        //鎵�灞炴満鏋�
+        // 鎵�灞炴満鏋�
         if (param.getAgencyId() != null) {
             sql.append(" and agency_id =:agency_id ");
             paramts.put("agency_id", param.getAgencyId());
         }
-        //鐘舵��
+        // 鐘舵��
         if (param.getStates() != null) {
             sql.append(" and states =:states ");
             paramts.put("states", param.getStates());
@@ -168,17 +177,17 @@
      */
     @Override
     public BaseGoodsTemplateVo getById(Long id) {
-        //1.鏍规嵁鐗╁搧id鏌ヨ鐗╁搧妯℃澘
+        // 1.鏍规嵁鐗╁搧id鏌ヨ鐗╁搧妯℃澘
         BaseGoodsTemplate goodsTemplate = this.get(new BaseGoodsTemplate(id));
-        //2.鏍规嵁鐗╁搧id鏌ヨ瑙勬牸鍨嬪彿
+        // 2.鏍规嵁鐗╁搧id鏌ヨ瑙勬牸鍨嬪彿
         StringBuilder sql = new StringBuilder("SELECT * FROM base_goods_models WHERE 1 = 1 ");
         HashMap<String, Object> paramts = new HashMap<>();
-        //鎵�灞炵墿鍝佹ā鐗堢紪鍙�
+        // 鎵�灞炵墿鍝佹ā鐗堢紪鍙�
         sql.append(" and goods_templates_id =:goods_templates_id ");
         paramts.put("goods_templates_id", id);
         List<BaseGoodsModels> modelsList = this.select(sql.toString(), paramts, new BaseGoodsModels());
 
-        //3.灏佽
+        // 3.灏佽
         BaseGoodsTemplateVo vo = new BaseGoodsTemplateVo();
         if (goodsTemplate != null) {
             BeanUtils.copyProperties(goodsTemplate, vo);
@@ -196,7 +205,7 @@
      */
     @Override
     public int updateBaseGoodsTemplate(BaseGoodsTemplateParam param) {
-        //1.淇敼鐗╁搧妯℃澘
+        // 1.淇敼鐗╁搧妯℃澘
         BaseGoodsTemplate baseGoodsTemplate = new BaseGoodsTemplate();
         BeanUtils.copyProperties(param, baseGoodsTemplate);
         BaseCategory baseCategory = this.baseCategoryService.get(new BaseCategory(param.getCategoryId()));
@@ -204,7 +213,7 @@
             baseGoodsTemplate.setCategoryName(baseCategory.getCategoryName());
         }
         int flag1 = this.update(baseGoodsTemplate);
-        //2.淇敼瑙勬牸鍨嬪彿鐨勫崟浣�
+        // 2.淇敼瑙勬牸鍨嬪彿鐨勫崟浣�
         // TODO id 鐗╁搧鍨嬪彿淇敼寰呮暣鐞�
         List<BaseGoodsModels> modelsList = param.getModels();
         for (BaseGoodsModels baseGoodsModel : modelsList) {
@@ -230,10 +239,10 @@
         StringBuilder sql = new StringBuilder("SELECT * FROM base_goods_template WHERE 1 = 1 ");
         HashMap<String, Object> paramts = new HashMap<>();
 
-        //鐗╁搧鍚嶇О
+        // 鐗╁搧鍚嶇О
         sql.append(" and goods_name =:goods_name ");
         paramts.put("goods_name", goodsName);
-        //鍒嗙被id
+        // 鍒嗙被id
         sql.append(" and category_id =:category_id ");
         paramts.put("category_id", categoryId);
 
@@ -247,7 +256,9 @@
      * @return
      */
 
-    private static String QUERY_GOODSINFO_BY_MODELID = "SELECT model.MODEL_NAME modelName,model.UNIT,temp.id goodsId, temp.GOODS_CODE goodsCode,temp.GOODS_NAME goodsName,temp.CLASSIFICATION classification,temp.CATEGORY_ID categoryId FROM BASE_GOODS_MODELS model LEFT JOIN BASE_GOODS_TEMPLATE temp ON model.GOODS_TEMPLATES_ID=temp.id WHERE 1=1 ";
+    private static String QUERY_GOODSINFO_BY_MODELID =
+        "SELECT model.MODEL_NAME modelName,model.UNIT,temp.id goodsId, temp.GOODS_CODE goodsCode,temp.GOODS_NAME goodsName,temp.CLASSIFICATION classification,temp.CATEGORY_ID categoryId FROM BASE_GOODS_MODELS model LEFT JOIN BASE_GOODS_TEMPLATE temp ON model.GOODS_TEMPLATES_ID=temp.id WHERE 1=1 ";
+
     @Override
     public Map<String, Object> queryGoodsInfoByModelId(Long modelId) {
         StringBuilder sqlStr = new StringBuilder(QUERY_GOODSINFO_BY_MODELID);
@@ -282,9 +293,9 @@
     @Override
     public int updateById(BaseGoodsTemplate goodsTemplate, S_user_core currentUser) {
         goodsTemplate.setStates(Constants.STATES_DELETED);
-        //鍒犻櫎鏃堕棿
+        // 鍒犻櫎鏃堕棿
         goodsTemplate.setDTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
-        //鍒犻櫎浜篿d鍜屽垹闄や汉濮撳悕
+        // 鍒犻櫎浜篿d鍜屽垹闄や汉濮撳悕
         goodsTemplate.setDUserId(currentUser.getId());
         goodsTemplate.setDUserName(currentUser.getUser_name());
         return this.update(goodsTemplate);
@@ -298,8 +309,9 @@
      */
     @Override
     public List<SDictData> queryClassificationCode() {
-        StringBuilder sql = new StringBuilder("SELECT * FROM s_dict_data WHERE dict_type = 'CLASSIFICATION_CODE' order by dict_sort");
-        return this.select(sql.toString(), new Object[]{}, new SDictData());
+        StringBuilder sql =
+            new StringBuilder("SELECT * FROM s_dict_data WHERE dict_type = 'CLASSIFICATION_CODE' order by dict_sort");
+        return this.select(sql.toString(), new Object[] {}, new SDictData());
     }
 
     /**
@@ -318,11 +330,12 @@
      * @param agencyId
      * @param categoryId
      * @param states
-     * @param goodsName  鍏ㄥ尮閰嶏紒锛侊紒
+     * @param goodsName 鍏ㄥ尮閰嶏紒锛侊紒
      * @return
      */
     @Override
-    public List<BaseGoodsTemplate> queryGoodsTemplateByCategoryId(Long agencyId, Long categoryId, Short states, String goodsName) {
+    public List<BaseGoodsTemplate> queryGoodsTemplateByCategoryId(Long agencyId, Long categoryId, Short states,
+        String goodsName) {
         StringBuilder sql = new StringBuilder("SELECT * FROM base_goods_template WHERE 1=1 ");
         Map<String, Object> params = new HashMap<>();
         if (agencyId != null) {

--
Gitblit v1.9.1