Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

fangpy 1 rok temu
rodzic
commit
9612a7b319
18 zmienionych plików z 625 dodań i 18 usunięć
  1. 5 0
      cx-aps/cx-aps-common/pom.xml
  2. 6 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOperationProcessEquDao.java
  3. 27 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/SlaveOracleDao.java
  4. 1 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProductDetailService.java
  5. 17 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/SlaveSourceService.java
  6. 29 9
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProcessOperationProcessEquServiceImpl.java
  7. 23 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProductDetailServiceImpl.java
  8. 31 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/SlaveSourceServiceImpl.java
  9. 6 0
      cx-aps/cx-aps-entity/pom.xml
  10. 3 8
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProductionOrderDo.java
  11. 57 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/VNcOrderDetailVo.java
  12. 38 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/VNcOrderVo.java
  13. 13 1
      cx-aps/cx-aps-server/src/main/java/com/rongwei/bsserver/controller/ApsProductDetailController.java
  14. 9 0
      cx-safe-check/cx-save-check-common/src/main/java/com/rongwei/sfcommon/sys/dao/AspRiskSourceDao.java
  15. 13 0
      cx-safe-check/cx-save-check-common/src/main/java/com/rongwei/sfcommon/sys/service/AspRiskSourceService.java
  16. 161 0
      cx-safe-check/cx-save-check-common/src/main/java/com/rongwei/sfcommon/sys/service/impl/AspRiskSourceServiceImpl.java
  17. 150 0
      cx-safe-check/cx-save-check-entity/src/main/java/com/rongwe/scentity/domian/AspRiskSourceDo.java
  18. 36 0
      cx-safe-check/cx-save-check-server/src/main/java/com/rongwei/savecheck/controller/AspRiskSourceController.java

+ 5 - 0
cx-aps/cx-aps-common/pom.xml

@@ -66,6 +66,11 @@
             <artifactId>javase</artifactId>
             <version>3.4.1</version>
         </dependency>
+        <dependency>
+            <groupId>com.oracle.database.jdbc</groupId>
+            <artifactId>ojdbc8</artifactId>
+            <version>19.7.0.0</version>
+        </dependency>
 
     </dependencies>
 </project>

+ 6 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOperationProcessEquDao.java

@@ -61,6 +61,12 @@ public interface ApsProcessOperationProcessEquDao extends BaseMapper<ApsProcessO
     void updateEquByCancelRecord(@Param("deviceId") String deviceId);
 
     List<ApsProductDetailDo> selectNeedUpdate(@Param("productIdList") List<String> productIdList);
+
+    @Select("select apo.PRODUCTIONORDERID from aps_blank_order apo LEFT JOIN aps_process_operation apo2 ON apo2.DELETED = 0 AND apo.ID = apo2.BLANKID where apo.DELETED = 0 AND apo2.ID = #{processOperationId} limit 1")
+    String selectOrderIdByProcessOperationId(@Param("processOperationId") String processOperationId);
+
+    @Select("select apo.ID AS 'blankId',MIN(apo2.PROCESSSTATUS) AS 'productionStatus' from aps_blank_order apo LEFT JOIN aps_process_operation apo2 ON apo2.DELETED = 0 AND apo.ID = apo2.BLANKID where apo.DELETED = 0 AND apo.PRODUCTIONORDERID = #{orderId} GROUP BY apo.ID")
+    List<CommonUpdateProductionStatusReq> selectProcessMinStatusList(@Param("orderId") String orderId);
 }
 
 

+ 27 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/SlaveOracleDao.java

@@ -0,0 +1,27 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.rongwei.bsentity.domain.VNcOrderDetailVo;
+import com.rongwei.bsentity.domain.VNcOrderVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+@Mapper
+public interface SlaveOracleDao {
+
+    /**
+     * 获取创新数据库的客户订单
+     * @return
+     */
+    @Select("select * from V_NC_ORDER where ORDERNO=#{ncOrderNo}")
+    VNcOrderVo getVNcOrderVo(@Param("ncOrderNo") String ncOrderNo);
+
+    /**
+     * 获取创新数据库的客户订单明细
+     * @return
+     */
+    @Select("select * from V_NC_ORDER_DETAIL where ORDERNO=#{ncOrderNo}")
+    List<VNcOrderDetailVo> getVNcOrderDetailVo(@Param("ncOrderNo") String ncOrderNo);
+}

+ 1 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProductDetailService.java

@@ -16,4 +16,5 @@ import java.util.Map;
  */
 public interface ApsProductDetailService extends IService<ApsProductDetailDo> {
 
+    R getCustomOrderData(Map<String, Object> params);
 }

+ 17 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/SlaveSourceService.java

@@ -0,0 +1,17 @@
+package com.rongwei.bscommon.sys.service;
+
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.rongwei.bsentity.domain.VNcOrderDetailVo;
+import com.rongwei.bsentity.domain.VNcOrderVo;
+
+import java.util.List;
+
+public interface SlaveSourceService {
+
+    @DS("slave")
+    VNcOrderVo getVNcOrderVo(String ncOrderNo);
+
+    @DS("slave")
+    List<VNcOrderDetailVo> getVNcOrderDetailVo(String ncOrderNo);
+}

+ 29 - 9
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProcessOperationProcessEquServiceImpl.java

@@ -182,19 +182,39 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
     }
 
     private void updateBlank(String processOperationId) {
-        //查询此工序作业的所属坯料计划的最小生产状态和坯料计划ID
-        CommonUpdateProductionStatusReq two = this.baseMapper.selectProcessMinStatus(processOperationId);
-        if (ObjectUtil.isEmpty(two)) {
+        //查询此工序的所属订单ID
+        String orderId = this.baseMapper.selectOrderIdByProcessOperationId(processOperationId);
+
+        //查询此工序所属订单的所有坯料计划的最小生产状态和坯料计划ID
+        List<CommonUpdateProductionStatusReq> twoList = this.baseMapper.selectProcessMinStatusList(orderId);
+
+        //查询此坯料计划目前的生产状态信息
+        List<ApsBlankOrderDo> list = apsBlankOrderService.list(new QueryWrapper<ApsBlankOrderDo>().lambda().eq(ApsBlankOrderDo::getProductionorderid, orderId));
+
+        if (twoList.size() <= 0 || list.size() <= 0){
             return;
         }
-        //更新坯料计划的生产状态
-        ApsBlankOrderDo apsBlankOrderDo = new ApsBlankOrderDo();
-        apsBlankOrderDo.setId(two.getBlankId());
-        apsBlankOrderDo.setProductstatus(two.getProductionStatus());
-        apsBlankOrderService.updateById(apsBlankOrderDo);
+        List<ApsBlankOrderDo> needUpdateList = new LinkedList<>();
+        for (CommonUpdateProductionStatusReq two : twoList) {
+            for (ApsBlankOrderDo apsBlankOrderDo : list) {
+                //如果不为空,并且状态不同
+                if(ObjectUtil.isNotEmpty(two.getBlankId()) && two.getBlankId().equals(apsBlankOrderDo.getId())
+                        && ObjectUtil.isNotEmpty(two.getProductionStatus()) && ObjectUtil.isNotEmpty(apsBlankOrderDo.getProductstatus())
+                        && !two.getProductionStatus().equals(apsBlankOrderDo.getProductstatus())){
+                    //更新坯料计划的生产状态
+                    ApsBlankOrderDo blankOrderDo = new ApsBlankOrderDo();
+                    blankOrderDo.setId(two.getBlankId());
+                    blankOrderDo.setProductstatus(two.getProductionStatus());
+                    needUpdateList.add(blankOrderDo);
+                }
+            }
+        }
+        //更新坯料计划
+        apsBlankOrderService.updateBatchById(needUpdateList);
+
 
         //更新订单
-        updateOrder(two.getBlankId());
+        updateOrder(twoList.get(0).getBlankId());
     }
 
 

+ 23 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProductDetailServiceImpl.java

@@ -3,8 +3,11 @@ package com.rongwei.bscommon.sys.service.impl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.rongwei.bscommon.sys.dao.ApsProductDetailDao;
 import com.rongwei.bscommon.sys.service.ApsProductDetailService;
+import com.rongwei.bscommon.sys.service.SlaveSourceService;
 import com.rongwei.bsentity.domain.ApsProductDetailDo;
+import com.rongwei.bsentity.domain.VNcOrderVo;
 import com.rongwei.rwcommon.base.R;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Map;
@@ -20,4 +23,24 @@ import java.util.Map;
 @Service
 public class ApsProductDetailServiceImpl extends ServiceImpl<ApsProductDetailDao, ApsProductDetailDo> implements ApsProductDetailService {
 
+    @Autowired
+    private SlaveSourceService slaveSourceService;
+
+    /*
+    获取客户订单
+     */
+    @Override
+    public R getCustomOrderData(Map<String, Object> params) {
+        R r = new R();
+        String ncOrderNo = params.get("CUSTOMORDERNO").toString();
+        VNcOrderVo vNcOrderVo = slaveSourceService.getVNcOrderVo(ncOrderNo);
+        if (vNcOrderVo == null) {
+            return R.error("客户订单系统没有找到该订单");
+        } else {
+            vNcOrderVo.setVNcOrderDetailVoList(slaveSourceService.getVNcOrderDetailVo(ncOrderNo));
+            r.setCode("200");
+            r.setData(vNcOrderVo);
+            return r;
+        }
+    }
 }

+ 31 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/SlaveSourceServiceImpl.java

@@ -0,0 +1,31 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.rongwei.bscommon.sys.dao.SlaveOracleDao;
+import com.rongwei.bscommon.sys.service.SlaveSourceService;
+import com.rongwei.bsentity.domain.VNcOrderDetailVo;
+import com.rongwei.bsentity.domain.VNcOrderVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class SlaveSourceServiceImpl implements SlaveSourceService {
+
+    @Autowired
+    private SlaveOracleDao slaveOracleDao;
+
+    @Override
+    @DS("slave")
+    public VNcOrderVo getVNcOrderVo(String ncOrderNo) {
+        return slaveOracleDao.getVNcOrderVo(ncOrderNo);
+    }
+
+    @Override
+    @DS("slave")
+    public List<VNcOrderDetailVo> getVNcOrderDetailVo(String ncOrderNo) {
+        return slaveOracleDao.getVNcOrderDetailVo(ncOrderNo);
+    }
+
+}

+ 6 - 0
cx-aps/cx-aps-entity/pom.xml

@@ -23,6 +23,12 @@
                 </exclusion>
             </exclusions>
         </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
+            <version>3.5.0</version>
+            <scope>compile</scope>
+        </dependency>
 
         <dependency>
             <groupId>com.rongwei</groupId>

+ 3 - 8
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProductionOrderDo.java

@@ -122,22 +122,17 @@ public class ApsProductionOrderDo extends BaseDo implements Serializable {
     /**
      * 是否来自NC系统
      */
-    private String isfromnc;
-
-    /**
-     * NC订单号
-     */
-    private String ncorderno;
+    private String isfromcustom;
 
     /**
      * NC订单类型
      */
-    private String ncordertype;
+    private String customordertype;
 
     /**
      * NC订单状态
      */
-    private String ncorderstatus;
+    private String customorderstatus;
 
     /**
      * 所属租户ID

+ 57 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/VNcOrderDetailVo.java

@@ -0,0 +1,57 @@
+package com.rongwei.bsentity.domain;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class VNcOrderDetailVo {
+    /**
+     * 物料编码
+     */
+    private String materialcode;
+    /**
+     * 物料名称
+     */
+    private String materialname;
+    /**
+     * 规格
+     */
+    private String specialfication;
+    /**
+     * 合金
+     */
+    private String alloy;
+    /**
+     * 合金状态
+     */
+    private String alloystatus;
+    /**
+     * 厚度(mm)
+     */
+    private BigDecimal thickness;
+    /**
+     * 宽度(mm)
+     */
+    private BigDecimal prowidth;
+    /**
+     * 长度(mm)
+     */
+    private BigDecimal prolength;
+    /**
+     * 订单总数量
+     */
+    private Integer totalordercount;
+    /**
+     * 卷数
+     */
+    private Integer rollnum;
+    /**
+     * 数量单位
+     */
+    private String numberunit;
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 38 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/VNcOrderVo.java

@@ -0,0 +1,38 @@
+package com.rongwei.bsentity.domain;
+
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class VNcOrderVo {
+    /**
+     * 客户订单号
+     */
+    private String customorderno;
+    /**
+     * 客户名称
+     */
+    private String customname;
+    /**
+     * 下单日期
+     */
+    private Date orderdate;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 期望交货期
+     */
+    private Date deliverydate;
+    /**
+     * 所属分厂
+     */
+    private String belongfactory;
+    /**
+     * 订单明细
+     */
+    private List<VNcOrderDetailVo> vNcOrderDetailVoList;
+}

+ 13 - 1
cx-aps/cx-aps-server/src/main/java/com/rongwei/bsserver/controller/ApsProductDetailController.java

@@ -28,6 +28,18 @@ public class ApsProductDetailController {
     @Autowired
     private ApsProductDetailService apsProductDetailService;
 
-
+    /*
+    获取客户订单
+     */
+    @PostMapping("/getCustomOrderData")
+    public R getCustomOrderData(@RequestBody Map<String, Object> params) {
+        try {
+            log.info("获取客户订单;参数为:{}", params);
+            return apsProductDetailService.getCustomOrderData(params);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return R.error("获取客户订单系统订单失败,请联系管理员");
+        }
+    }
 }
 

+ 9 - 0
cx-safe-check/cx-save-check-common/src/main/java/com/rongwei/sfcommon/sys/dao/AspRiskSourceDao.java

@@ -0,0 +1,9 @@
+package com.rongwei.sfcommon.sys.dao;
+
+
+import com.rongwe.scentity.domian.AspRiskSourceDo;
+import com.rongwei.rwcommon.base.BaseDao;
+
+public interface AspRiskSourceDao extends BaseDao<AspRiskSourceDo> {
+
+}

+ 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);
+    }
+}

+ 150 - 0
cx-safe-check/cx-save-check-entity/src/main/java/com/rongwe/scentity/domian/AspRiskSourceDo.java

@@ -0,0 +1,150 @@
+package com.rongwe.scentity.domian;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+
+/**
+ * asp_risk_source
+ * @author 
+ */
+@TableName("asp_risk_source")
+@Data
+public class AspRiskSourceDo extends BaseDo implements Serializable {
+    /**
+     * 主键
+     */
+    private String id;
+
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+    /**
+     * 序号
+     */
+    private String serialnumber;
+
+    /**
+     * 类别(数据字典:1、设备设施;2、作业活动)
+     */
+    private String category;
+
+    /**
+     * 名称
+     */
+    private String name;
+
+    /**
+     * 车间ID
+     */
+    private String workshopid;
+
+    /**
+     * 车间
+     */
+    private String workshopname;
+
+    /**
+     * 工序ID
+     */
+    private String processid;
+
+    /**
+     * 工序
+     */
+    private String process;
+
+    /**
+     * 检查项目
+     */
+    private String inspectionitem;
+
+    /**
+     * 作业活动
+     */
+    private String jobactivity;
+
+    /**
+     * 检查标准
+     */
+    private String inspectionstandard;
+
+    /**
+     * 可能发生的事故类型及后果
+     */
+    private String eventuality;
+
+    /**
+     * 工程技术措施
+     */
+    private String engineeringmeasure;
+
+    /**
+     * 管理措施
+     */
+    private String controlmeasure;
+
+    /**
+     * 教育培训
+     */
+    private String educationaltraining;
+
+    /**
+     * 个体防护措施
+     */
+    private String safeguardprocedures;
+
+    /**
+     * 应急处置措施
+     */
+    private String imprintingmeasures;
+
+    /**
+     * 评定级别
+     */
+    private String rating;
+
+    /**
+     * 平均分
+     */
+    private String avgsalary;
+
+    /**
+     * 风险分级
+     */
+    private String riskranking;
+
+    /**
+     * 管控层(数据字典:1、班组级;2、车间级;3、工厂级)
+     */
+    private String managementlevel;
+
+    /**
+     * 责任单位
+     */
+    private String accountabilityunnitname;
+
+    /**
+     * 责任单位ID
+     */
+    private String accountabilityunnitid;
+
+    /**
+     * 责任人ID
+     */
+    private String dutyofficerid;
+
+    /**
+     * 责任人
+     */
+    private String dutyofficername;
+
+    private static final long serialVersionUID = 1L;
+}

+ 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();
+        }
+    }
+
+}