Forráskód Böngészése

耗材管理导入

HuRongxin 3 hónapja
szülő
commit
55f0af8ca7

+ 55 - 7
ruoyi-admin/src/main/java/org/dromara/web/service/impl/SuppliesManageServiceImpl.java

@@ -17,10 +17,14 @@ import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.system.config.RedisUtil;
+import org.dromara.system.domain.SysDept;
+import org.dromara.system.domain.SysDiseaseLabel;
 import org.dromara.system.domain.SysFoodCategory;
 import org.dromara.system.domain.SysFoodIngredient;
 import org.dromara.system.domain.vo.SysDeptVo;
 import org.dromara.system.domain.vo.SysDiseaseLabelVo;
+import org.dromara.system.mapper.SysDeptMapper;
+import org.dromara.system.mapper.SysDiseaseLabelMapper;
 import org.dromara.system.service.ISysDeptService;
 import org.dromara.system.service.ISysDictDataService;
 import org.dromara.system.service.ISysDiseaseLabelService;
@@ -56,8 +60,12 @@ public class SuppliesManageServiceImpl implements ISuppliesManageService {
 
     private final SuppliesManageMapper baseMapper;
 
+    private final SysDeptMapper deptMapper;
+
     private final ISysDeptService deptService;
 
+    private final SysDiseaseLabelMapper labelMapper;
+
     private final SuppliesCategoryMapper categoryMapper;
 
     private final ISysDictDataService dictDataService;
@@ -66,6 +74,7 @@ public class SuppliesManageServiceImpl implements ISuppliesManageService {
 
     private final ISysDiseaseLabelService diseaseLabelService;
 
+
     /**
      * 查询耗材管理
      *
@@ -296,6 +305,13 @@ public class SuppliesManageServiceImpl implements ISuppliesManageService {
 
         List<SuppliesCategory> categoryList = categoryMapper.selectList(Wrappers.lambdaQuery(SuppliesCategory.class).select(SuppliesCategory::getCategoryId, SuppliesCategory::getCategoryName));
         Map<String, String> categoryMap = categoryList.stream().collect(Collectors.toMap(k1 -> k1.getCategoryName(), k2 -> String.valueOf(k2.getCategoryId()), (k1, k2) -> k1));
+
+        List<SysDiseaseLabel> disLabelList = labelMapper.selectList(Wrappers.lambdaQuery(SysDiseaseLabel.class).select(SysDiseaseLabel::getLabelId, SysDiseaseLabel::getLabelName));
+        Map<String, String> labelMap = disLabelList.stream().collect(Collectors.toMap(k1 -> k1.getLabelName(), k2 -> String.valueOf(k2.getLabelId()), (k1, k2) -> k1));
+
+        List<SysDept> deptlList = deptMapper.selectList(Wrappers.lambdaQuery(SysDept.class).select(SysDept::getDeptId, SysDept::getDeptName));
+        Map<String, String> deptMap = deptlList.stream().collect(Collectors.toMap(k1 -> k1.getDeptName(), k2 -> String.valueOf(k2.getDeptId()), (k1, k2) -> k1));
+
         List<SuppliesManage> suppliesManages = new ArrayList<>();
         StringBuilder builder = new StringBuilder();
         //根据excel中的值获取字典label
@@ -339,6 +355,8 @@ public class SuppliesManageServiceImpl implements ISuppliesManageService {
             suppliesManage.setShelfLife(v.get(3));
             suppliesManage.setProductQualification(productQualificationMap.get(v.get(4)));
             StringBuilder categoryIds = new StringBuilder();
+            StringBuilder labelIds = new StringBuilder();
+            StringBuilder deptIds = new StringBuilder();
 
             List<String> suppliesNames = Arrays.stream(v.get(5).split("/")).map(String::trim).filter(StringUtils::isNotBlank).collect(Collectors.toList());
             List<String> categories = new ArrayList<>();
@@ -361,15 +379,42 @@ public class SuppliesManageServiceImpl implements ISuppliesManageService {
                 suppliesManage.setBrand(colVal);
 
             }
+            colVal = v.get(13);
+            if (StrUtil.isNotBlank(colVal)) {
+                List<String> labelNames = Arrays.stream(colVal.split(",")).map(String::trim).filter(StringUtils::isNotBlank).collect(Collectors.toList());
+                List<String> dLabelNameList = new ArrayList<>();
+                for (String name : labelNames) {
+                    dLabelNameList.add(labelMap.get(name));
+                }
+                String label = String.join(",", dLabelNameList); // 自动处理逗号
+                labelIds.append(label);
+                suppliesManage.setProductLabel(labelIds.toString());
+            }
+            colVal = v.get(14);
+            if (StrUtil.isNotBlank(colVal)) {
+                List<String> deptNames = Arrays.stream(colVal.split(",")).map(String::trim).filter(StringUtils::isNotBlank).collect(Collectors.toList());
+                List<String> deptNameList = new ArrayList<>();
+                for (String name : deptNames) {
+                    SysDeptVo deptVo = deptMapper.selectVoById(deptMap.get(name));
+                    if (null != deptVo) {
+                        if (deptVo.getParentId() > 0) {
+                            deptNameList.add(deptVo.getParentId() + "," + deptVo.getDeptId());
+                        } else {
+                            deptNameList.add(deptVo.getDeptId().toString());
+                        }
+                    }
+                }
+                String deptId = String.join(";", deptNameList); // 自动处理逗号
+                deptIds.append(deptId);
+                suppliesManage.setApplicableDepartment(deptIds.toString());
+            }
+
             colVal = v.get(15);
             if (StrUtil.isNotBlank(colVal)) {
                 suppliesManage.setSupplier(productSupplierMap.get(colVal));
             }
+
             colVal = v.get(16);
-            if (StrUtil.isNotBlank(colVal)) {
-                suppliesManage.setApprovalNumber(colVal);
-            }
-            colVal = v.get(17);
             if (StrUtil.isNotBlank(colVal)) {
                 try {
                     suppliesManage.setProductLicenseExpiry(sdf.parse(colVal));
@@ -377,18 +422,21 @@ public class SuppliesManageServiceImpl implements ISuppliesManageService {
                     throw new RuntimeException(e);
                 }
             }
-            colVal = v.get(18);
+            colVal = v.get(17);
             if (StrUtil.isNotBlank(colVal)) {
                 suppliesManage.setApprovalNumber(colVal);
             }
-
+            colVal = v.get(18);
+            if (StrUtil.isNotBlank(colVal)) {
+                suppliesManage.setLicenseExpiryReminder(colVal);
+            }
             colVal = v.get(19);
             if (StrUtil.isNotBlank(colVal)) {
                 suppliesManage.setManufacturer(productManufacturerMap.get(colVal));
             }
             colVal = v.get(20);
             if (StrUtil.isNotBlank(colVal)) {
-                suppliesManage.setPutFlag(putFlagMap.get(colVal));
+                suppliesManage.setPutFlag(putFlagMap.get("已" + colVal));
             }
 
             suppliesManages.add(suppliesManage);

BIN
ruoyi-admin/src/main/resources/download-template/suppliesManage.xlsx