Kaynağa Gözat

创新安全-风险源管理数据初始化导入,接口提交(未强校验,只可测试使用,不可生产调用)

sucheng 1 yıl önce
ebeveyn
işleme
feb47131ca

+ 13 - 0
cx-safe-check/cx-save-check-common/src/main/java/com/rongwei/sfcommon/sys/service/AspRiskSourceService.java

@@ -0,0 +1,13 @@
+package com.rongwei.sfcommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwe.scentity.domian.AspRiskSourceDo;
+
+
+
+public interface AspRiskSourceService extends IService<AspRiskSourceDo> {
+
+    void test(Boolean haveJob,String filePath,String category);
+
+}
+

+ 161 - 0
cx-safe-check/cx-save-check-common/src/main/java/com/rongwei/sfcommon/sys/service/impl/AspRiskSourceServiceImpl.java

@@ -0,0 +1,161 @@
+package com.rongwei.sfcommon.sys.service.impl;
+
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwe.scentity.domian.AspRiskSourceDo;
+import com.rongwei.rwadmincommon.system.domain.SysOrganizationDo;
+import com.rongwei.rwadmincommon.system.domain.SysUserDo;
+import com.rongwei.rwadmincommon.system.service.SysOrganizationService;
+import com.rongwei.rwadmincommon.system.service.SysUserService;
+import com.rongwei.rwcommon.utils.SecurityUtil;
+import com.rongwei.sfcommon.sys.dao.AspRiskSourceDao;
+import com.rongwei.sfcommon.sys.service.AspRiskSourceService;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+
+@Service
+public class AspRiskSourceServiceImpl extends ServiceImpl<AspRiskSourceDao, AspRiskSourceDo> implements AspRiskSourceService {
+
+    @Autowired
+    private SysUserService sysUserService;
+    @Autowired
+    private SysOrganizationService sysOrganizationService;
+
+    @Override
+    public void test(Boolean haveJob,String filePath,String category) {
+//        //获取文件目录
+//        String filePath = "C:\\Users\\shangmi\\Downloads\\设备活动分级管控清单.xls";
+        HashMap<String, String> map = new HashMap<>();
+        map.put("山东创新精铝金属制造有限公司","0001651000000017DRZ1");
+        map.put("山东创新板材有限公司","0001S31000000000J0TR");
+        map.put("山东创新箔材科技有限公司","0001651000000015EFDD");
+
+        HashMap<String, String> map2 = new HashMap<>();
+        map2.put("一","I");
+        map2.put("二","II");
+        map2.put("三","III");
+        map2.put("四","IV");
+
+
+        //初始化责任单位
+        HashMap<String, String> map3 = new HashMap<>();
+        List<SysOrganizationDo> organizationDoList = sysOrganizationService.list(new QueryWrapper<SysOrganizationDo>().lambda().isNotNull(SysOrganizationDo::getFullpid).eq(SysOrganizationDo::getDeleted,"0"));
+        for (SysOrganizationDo sysOrganizationDo : organizationDoList) {
+            map3.put(sysOrganizationDo.getFullpid().split(",")[1]+"-"+sysOrganizationDo.getFullname(), sysOrganizationDo.getId());
+        }
+
+        //初始化责任人
+        HashMap<String, String> map4 = new HashMap<>();
+        List<SysUserDo> userDoList = sysUserService.list(new QueryWrapper<SysUserDo>().lambda().eq(SysUserDo::getDeleted, "0"));
+        for (SysUserDo sysUserDo : userDoList) {
+            map4.put(sysUserDo.getName(),sysUserDo.getId());
+        }
+
+        List<AspRiskSourceDo> resList = new LinkedList<>();
+
+        //读取文件
+        try (FileInputStream fis = new FileInputStream(new File(filePath));
+             Workbook workbook = new HSSFWorkbook(fis)) {
+
+            Sheet sheet = workbook.getSheetAt(0); // 读取第一个工作表
+            for (Row row : sheet) {
+                String cell0 = row.getCell(0).getStringCellValue().trim();
+                if(ObjectUtil.isEmpty(cell0)){
+                    continue;
+                }
+                if(!map.containsKey(cell0)){
+                    continue;
+                }
+                AspRiskSourceDo aspRiskSourceDo = new AspRiskSourceDo();
+                //生成ID
+                aspRiskSourceDo.setId(SecurityUtil.getUUID());
+                //类别
+                aspRiskSourceDo.setCategory(category);
+
+                //所属工厂
+                aspRiskSourceDo.setTenantid(map.get(cell0));
+                //名称
+                aspRiskSourceDo.setName(row.getCell(1).getStringCellValue().trim());
+                if(haveJob) {
+                    //作业活动
+                    aspRiskSourceDo.setJobactivity(row.getCell(2).getStringCellValue().trim());
+                }
+                //作业步骤/内容(检查项目/作业步骤)
+                aspRiskSourceDo.setInspectionitem(row.getCell(3).getStringCellValue().trim());
+                //检查标准
+                aspRiskSourceDo.setInspectionstandard(row.getCell(4).getStringCellValue().trim());
+                //可能发生的事故类型及后果
+                aspRiskSourceDo.setEventuality(row.getCell(5).getStringCellValue().trim());
+                //工程技术措施
+                aspRiskSourceDo.setEngineeringmeasure(row.getCell(6).getStringCellValue().trim());
+                //管理措施
+                aspRiskSourceDo.setControlmeasure(row.getCell(7).getStringCellValue().trim());
+                //培训教育
+                aspRiskSourceDo.setEducationaltraining(row.getCell(8).getStringCellValue().trim());
+                //个体防护措施
+                aspRiskSourceDo.setSafeguardprocedures(row.getCell(9).getStringCellValue().trim());
+                //应急处置措施
+                aspRiskSourceDo.setImprintingmeasures(row.getCell(10).getStringCellValue().trim());
+                //评定级别
+                String cell15 = row.getCell(11).getStringCellValue().trim();
+                if(ObjectUtil.isEmpty(cell15)){
+                    continue;
+                }
+                if(!map2.containsKey(cell15)){
+                    continue;
+                }
+                aspRiskSourceDo.setRating(map2.get(cell15));
+                //风险分级
+                aspRiskSourceDo.setRiskranking(row.getCell(12).getStringCellValue().trim());
+                //管控层级
+                aspRiskSourceDo.setManagementlevel(row.getCell(13).getStringCellValue().trim());
+                //责任单位
+                String key = row.getCell(14).getStringCellValue().trim();
+                if(ObjectUtil.isNotEmpty(key)) {
+                    String[] split = key.split("、");
+                    List<String> orgNameList = new LinkedList<>();
+                    List<String> orgIdList = new LinkedList<>();
+                    for (String s : split) {
+                        orgNameList.add(s);
+                        orgIdList.add(map3.get(map.get(cell0) + "-" + s));
+                    }
+                    aspRiskSourceDo.setAccountabilityunnitname(String.join("/", orgNameList));
+                    aspRiskSourceDo.setAccountabilityunnitid(String.join(",", orgIdList));
+                }
+                //责任人
+                String key2 = row.getCell(15).getStringCellValue().trim();
+                if(ObjectUtil.isNotEmpty(key2)) {
+                    String[] split2 = key2.split("、");
+                    List<String> userNameList = new LinkedList<>();
+                    List<String> userIdList = new LinkedList<>();
+                    for (String s : split2) {
+                        userNameList.add(s);
+                        userIdList.add(map4.get(key2));
+                    }
+                    aspRiskSourceDo.setDutyofficername(String.join(",", userNameList));
+                    aspRiskSourceDo.setDutyofficerid(String.join(",", userIdList));
+                }
+
+                //合并
+                resList.add(aspRiskSourceDo);
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        //插入数据
+        this.saveBatch(resList);
+    }
+}

+ 36 - 0
cx-safe-check/cx-save-check-server/src/main/java/com/rongwei/savecheck/controller/AspRiskSourceController.java

@@ -0,0 +1,36 @@
+package com.rongwei.savecheck.controller;
+
+
+import com.rongwei.rwcommon.base.R;
+import com.rongwei.rwcommon.utils.StringUtils;
+import com.rongwei.sfcommon.sys.service.AspRiskSourceService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+
+@RestController
+@RequestMapping("aspRiskSource")
+@Slf4j
+public class AspRiskSourceController {
+    @Autowired
+    private AspRiskSourceService aspRiskSourceService;
+
+    /**
+     * 导入初始化数据
+     *
+     * @return
+     */
+    @GetMapping("/test")
+    public R test(@RequestParam Boolean haveJob,String filePath,String category) {
+        try {
+            aspRiskSourceService.test(haveJob,filePath,category);
+            return R.ok();
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error(StringUtils.spliceErrorMsg(e), e.fillInStackTrace());
+            return R.error();
+        }
+    }
+
+}