xiongchao 4 жил өмнө
parent
commit
4d84f8462b

+ 9 - 2
platform-common/src/main/java/com/platform/common/util/DateUtils.java

@@ -221,6 +221,13 @@ public class DateUtils {
         return dateToZoneId(date).atZone(ZONE_ID).toLocalDateTime();
     }
 
+    public static long getDurationMinutes(LocalDateTime startTime, LocalDateTime  endTime ){
+        Duration duration = Duration.between(startTime,endTime);
+        return duration.toMinutes();
+    }
+
+
+
     public static String dateDiff(LocalDateTime end, LocalDateTime now){
         //获取秒数
         long nowSecond = now.toEpochSecond(ZoneOffset.ofHours(0));
@@ -240,8 +247,8 @@ public class DateUtils {
 
     public static void main(String[] args) {
         LocalDateTime now = LocalDateTime.now();
-        LocalDateTime end = LocalDateTime.of(2020, 12, 25, 15, 30, 38);
-        System.out.println(dateDiff(end, now));
+        LocalDateTime end = LocalDateTime.of(2021, 5, 6, 9, 30, 38);
+        System.out.println(getDurationMinutes(end, now));
     }
     /**
      * date 转 LocalDate

+ 17 - 0
platform-dao/src/main/java/com/platform/dao/dto/check/CheckJobDTO.java

@@ -96,6 +96,23 @@ public class CheckJobDTO extends BaseDTO implements Serializable {
      * 任务开始时间开始
      */
     private LocalDateTime startTimeStart;
+    /**
+     * 查询月份
+     */
+    private LocalDate searchMonth;
+    /**
+     * 查询天
+     */
+    private LocalDate searchDay;
+    /**
+     * 搜索开始时间
+     */
+    private LocalDateTime searchStartTime;
+
+    /**
+     * 搜索结束时间
+     */
+    private LocalDateTime searchEndTime;
     /**
      * 任务开始时间结束
      */

+ 28 - 8
platform-dao/src/main/java/com/platform/dao/dto/sb/SbInfoDTO.java

@@ -317,6 +317,33 @@ public class SbInfoDTO extends BaseDTO implements Serializable {
      */
     private List<String> positionIds;
 
+    /**
+     *测量设备相关参数
+     */
+    private String zzh;//制造号(车架号)/系列号(出厂编号)
+    private String fdjxh;//发动机型号/准确度等级
+    private LocalDate checkDate;//检定日期(新增字段)
+    private Integer checkPeriod;//检定周期(新增字段),以月为单位
+    private String dph;//检定单位
+    private String zaiz;//检定人
+    private Integer rlType;//检定结论:合格不合格
+    private Integer color;//是否周检查
+    private String sbdh;//检定证书编号
+    private Integer seatNumber;//预警天数,默认45天
+
+    //private Integer financingFlag;//是否固定资产/这个通过financingNo是否为空判断,不需要单独字段,暂时不新增
+
+    /**
+     * 特种设备相关参数
+     */
+    private String registerNo;//注册代码(新增字段)
+    private String characterType;//介质属性(新增字段)
+    private String usedNo;//使用登记证编号(新增字段)
+    private String supplier;//维护供应商(新增字段)
+    private String repairUserSecond;//第二维修人员(新增字段)
+    private String batchNo;//设备批号(新增字段)
+    private LocalDate registerDate;// 登记日期(新增字段)
+
     /**
      * 维保手册
      */
@@ -341,19 +368,12 @@ public class SbInfoDTO extends BaseDTO implements Serializable {
      * 维保手册
      */
     private List<SysFile> sbFileList;
-    private String zzh;//制造号(车架号)
-    private String fdjxh;//发动机型号
+
     private String fdjh;//发动机号
     private String cph;//车牌号
-    private String dph;//底盘号
     private String zz;//自重
-    private String zaiz;//载重
-    private Integer rlType;//燃料类别:需增加数据字典
-    private Integer color;//颜色:需增加数据字典
-    private Integer seatNumber;//座位数
     private String zjm;//助记码
     private String jbdh;//交保单号
-    private String sbdh;//商保单号
     private String bxgs;//保险公司
 
     private BigDecimal totalMiles;//总行驶里程

+ 41 - 32
platform-dao/src/main/java/com/platform/dao/entity/sb/SbInfo.java

@@ -24,10 +24,6 @@ public class SbInfo implements Serializable {
      * 验收单id
      */
     private String checkId;
-    /**
-     * 卡片编号
-     */
-    private String cardNo;
     /**
      * 主键
      */
@@ -61,10 +57,6 @@ public class SbInfo implements Serializable {
      * 自重/大小/尺寸
      */
     private String zz;
-    /**
-     * 制造号(车架号)/系列号
-     */
-    private String zzh;
     /**
      * 车牌号/房间
      */
@@ -90,7 +82,7 @@ public class SbInfo implements Serializable {
      */
     private LocalDate startDate;
     /**
-     * 财务编码/资产
+     * 财务编码/固定资产编号
      */
     private String financingNo;
     /**
@@ -251,23 +243,11 @@ public class SbInfo implements Serializable {
      * 购置日期
      */
     private LocalDate buyDate;
-
-    /**
-     * 下次检定日期
-     */
-    private LocalDate nextCheckDate;
     /**
      * 保修截至日期
      */
     private LocalDate guaranteeDate;
-    /**
-     * 预计工作年限
-     */
-    private Double workYear;
-    /**
-     * 预计报废日期
-     */
-    private LocalDate retirementDate;
+
     /**
      * 折旧方式
      */
@@ -312,26 +292,55 @@ public class SbInfo implements Serializable {
      * 创建人姓名
      */
     private String createdUserName;
-    /**
-     * 修改人姓名
-     */
+
     private String updateUserName;
-    private String fdjxh;//发动机型号
-    private String dph;//底盘号
-    private String zaiz;//载重
+
+    /**
+     *测量设备相关参数
+     */
+    private String cardNo;// 卡片编号/测量设备编号
+    private String zzh;//制造号(车架号)/系列号(出厂编号)
+    private String fdjxh;//发动机型号/准确度等级
+    private LocalDate checkDate;//检定日期(新增字段)
+    private Integer checkPeriod;//检定周期(新增字段),以月为单位
+    private LocalDate nextCheckDate;//有效日期(下次鉴定日期)
+    private String dph;//检定单位
+    private String zaiz;//检定人
+    private Integer rlType;//检定结论:合格不合格
+    private Integer color;//是否周检查
+    private String sbdh;//检定证书编号
+    private Integer seatNumber;//预警天数,默认45天
+
+    //private Integer financingFlag;//是否固定资产/这个通过financingNo是否为空判断,不需要单独字段,暂时不新增
+
+    /**
+     * 特种设备相关参数
+     */
+    private String registerNo;//注册代码(新增字段)
+    private String characterType;//介质属性(新增字段)
+    private String usedNo;//使用登记证编号(新增字段)
+    private String supplier;//维护供应商(新增字段)
+    private String repairUserSecond;//第二维修人员(新增字段)
+    private String batchNo;//设备批号(新增字段)
+    private Double workYear;// 预计工作年限(年为单位)
+    private LocalDate retirementDate;// 设计到期年限
+    private LocalDate registerDate;// 登记日期(新增字段)
+
+
+
+
     private LocalDate lastRepaireTime;//最近维修时间
     private Integer repaireTimes;//维修次数
 
+
+
     private LocalDate lastBaoyangTime;//最近保养时间
     private double lastBaoyangMiles;//最近保养里程
     private double lastBaoyangHours;//最近保养台时
     private Integer baoyangTimes;//保养次数
 
-    private Integer rlType;//燃料类别:需增加数据字典
-    private Integer color;//颜色:需增加数据字典
-    private Integer seatNumber;//座位数
+
     private LocalDate spDate;//上牌日期
-    private String sbdh;//商保单号
     private LocalDate jbdDate;//交保到期日
     private LocalDate sbdDate;//商报到期日
     private String bxgs;//保险公司

+ 15 - 30
platform-dao/src/main/java/com/platform/dao/util/CustomExcelImportUtil.java

@@ -474,10 +474,10 @@ public class CustomExcelImportUtil {
                 "C:\\Users\\cyz\\Desktop\\固定资产0207(1)\\固定资产折旧明细表-2020年12月-苏丹.xls",
                 "C:\\Users\\cyz\\Desktop\\固定资产0207(1)\\固定资产折旧明细表-2020年12月-坦桑尼亚.xls",
                 "C:\\Users\\cyz\\Desktop\\固定资产0207(1)\\固定资产折旧明细表-2020年12月-苏丹.xls"};*/
-        String[] files = {"C:\\Users\\cyz\\Desktop\\备件基础信息20210328-修正.xls"};
+        String[] files = {"C:\\Users\\cyz\\Desktop\\新增气动平衡吊 备件导入清单.xls"};
         InputStream inputstream = new FileInputStream(files[0]);
         LocalDateTime now = LocalDateTime.now();
-        //List<SparePartInfoVO> list = importSparePartInfoList(now, inputstream);
+        List<SparePartInfoVO> list = importSparePartInfoList(now, inputstream);
         //List<SbInfo> list = importSbInfoList(inputstream);
         // List<SbModel> list = importModelList(inputstream);
         //List<SbInfo> list = importSbInfoListForUpdateValue(inputstream);
@@ -489,7 +489,7 @@ public class CustomExcelImportUtil {
         });*/
 
 
-        List<SparePartInfoVO> list = importSparePartInfoListForUpdate(LocalDateTime.now(), inputstream);
+        //List<SparePartInfoVO> list = importSparePartInfoListForUpdate(LocalDateTime.now(), inputstream);
         list.forEach(item -> {
             System.out.println(item.toString());
         });
@@ -1044,40 +1044,25 @@ public class CustomExcelImportUtil {
 
         StringBuffer error = new StringBuffer();
         System.out.println("处理行数:" + rowCounts);
-        for (int i = 1; i <= rowCounts; i++) {
+        for (int i = 2; i <= rowCounts; i++) {
             record = new SparePartInfoVO();
             Row row = sheet.getRow(i);
-            String index = getCellValue(row.getCell(0));
+           // String index = getCellValue(row.getCell(0));
             try {
-
-                record.setParentName(row.getCell(1).getStringCellValue());
-                record.setMiddleName(row.getCell(2).getStringCellValue());
-                record.setChildName(getCellValue(row.getCell(3)));
-                record.setName(row.getCell(4).getStringCellValue());
-                record.setNo(getCellValue(row.getCell(5)));
-                record.setInitNo(getCellValue(row.getCell(6)));
-                record.setGgxh(getCellValue(row.getCell(7)));
-                record.setUnitBz(row.getCell(8).getStringCellValue());
-                record.setUnit(row.getCell(10).getStringCellValue());
-                String num = getCellValue(row.getCell(11));
-                if (StringUtils.isBlank(num)) {
-                    record.setNum(new BigDecimal(0));
-                } else {
-                    record.setNum(new BigDecimal(num));
-                }
-                String value = getCellValue(row.getCell(12));
+                record.setParentName(row.getCell(3).getStringCellValue());
+                //record.setMiddleName(row.getCell(2).getStringCellValue());
+                //record.setChildName(getCellValue(row.getCell(3)));
+                record.setName(row.getCell(2).getStringCellValue());
+                record.setNo(getCellValue(row.getCell(1)));
+                record.setInitNo(getCellValue(row.getCell(9)));
+                record.setGgxh(getCellValue(row.getCell(8)));
+                record.setUnit(row.getCell(7).getStringCellValue());
+                String value = getCellValue(row.getCell(6));
                 if (StringUtils.isBlank(value)) {
                     record.setInitialValue(0.0);
                 } else {
                     record.setInitialValue(new Double(value));
                 }
-                record.setStoreId(getCellValue(row.getCell(14)));
-                /*if (getCellValue(row.getCell(14)) == null) {
-                    throw new BusinessException("请设置对应仓库");
-                }*/
-                record.setSbName(row.getCell(15).getStringCellValue());
-                record.setSbModel(getCellValue(row.getCell(16)));
-                record.setRemark(row.getCell(18).getStringCellValue());
                 record.setMinStock(new BigDecimal(100));
                 record.setMaxStock(new BigDecimal(1000));
                 record.setCreatedTime(time);
@@ -1109,7 +1094,7 @@ public class CustomExcelImportUtil {
                     result.add(record);
                 //}
             } catch (Exception e) {
-                error.append(index).append("," + e.getCause());
+                error.append("," + e.getCause());
             }
         }
 

+ 28 - 8
platform-dao/src/main/java/com/platform/dao/vo/sb/SbInfoVO.java

@@ -280,6 +280,34 @@ public class SbInfoVO extends BaseVO implements Serializable {
      * 修改人姓名
      */
     private String updateUserName;
+
+    /**
+     *测量设备相关参数
+     */
+    private String zzh;//制造号(车架号)/系列号(出厂编号)
+    private String fdjxh;//发动机型号/准确度等级
+    private LocalDate checkDate;//检定日期(新增字段)
+    private Integer checkPeriod;//检定周期(新增字段),以月为单位
+    private String dph;//检定单位
+    private String zaiz;//检定人
+    private Integer rlType;//检定结论:合格不合格
+    private Integer color;//是否周检查
+    private String sbdh;//检定证书编号
+    private Integer seatNumber;//预警天数,默认45天
+
+   // private Integer financingFlag;//是否固定资产/这个通过financingNo是否为空判断,不需要单独字段,暂时不新增
+
+    /**
+     * 特种设备相关参数
+     */
+    private String registerNo;//注册代码(新增字段)
+    private String characterType;//介质属性(新增字段)
+    private String usedNo;//使用登记证编号(新增字段)
+    private String supplier;//维护供应商(新增字段)
+    private String repairUserSecond;//第二维修人员(新增字段)
+    private String batchNo;//设备批号(新增字段)
+    private LocalDate registerDate;// 登记日期(新增字段)
+
     /**
      * 上层类型名称
      */
@@ -330,13 +358,9 @@ public class SbInfoVO extends BaseVO implements Serializable {
      * 维保手册
      */
     private List<SysFile> sbFileList;
-    private String zzh;//制造号(车架号)
-    private String fdjxh;//发动机型号
     private String fdjh;//发动机号
     private String cph;//车牌号
-    private String dph;//底盘号
     private String zz;//自重
-    private String zaiz;//载重
     private LocalDate lastRepaireTime;//最近维修时间
     private Integer repaireTimes;//维修次数
 
@@ -345,13 +369,9 @@ public class SbInfoVO extends BaseVO implements Serializable {
     private double lastBaoyangHours;//最近保养台时
     private Integer baoyangTimes;//保养次数
 
-    private Integer rlType;//燃料类别:需增加数据字典
-    private Integer color;//颜色:需增加数据字典
-    private Integer seatNumber;//座位数
     private String zjm;//助记码
     private LocalDate spDate;//上牌日期
     private String jbdh;//交保单号
-    private String sbdh;//商保单号
     private LocalDate jbdDate;//交保到期日
     private LocalDate sbdDate;//商报到期日
     private String bxgs;//保险公司

+ 18 - 1
platform-dao/src/main/resources/mapper/check/CheckJobMapper.xml

@@ -143,6 +143,12 @@
         <if test="type != null and type != ''">
             and checkjob.type = #{type}
         </if>
+        <if test="searchStartTime != null">
+            and checkjob.start_time <![CDATA[ >= ]]> #{searchStartTime}
+        </if>
+        <if test="searchEndTime != null">
+            and checkjob.start_time <![CDATA[ <= ]]> #{searchEndTime}
+        </if>
     </sql>
     <select id="selectList" parameterType="com.platform.dao.dto.check.CheckJobDTO" resultType="com.platform.dao.vo.query.check.CheckJobVO">
         select checkjob.*, u.real_name as checkUserName, plan.name planName, plan.no planNo,sbinfo.name sbName, partinfo.name partName,standard.name standardName
@@ -181,7 +187,7 @@
         where plan.id = #{planId}
     </select>
 
-    <select id="selectLastJob" parameterType="com.platform.dao.dto.check.CheckJobDTO"
+    <!--<select id="selectLastJob" parameterType="com.platform.dao.dto.check.CheckJobDTO"
             resultType="com.platform.dao.vo.query.check.CheckJobVO">
         select checkjob.*
         from t_check_job as checkjob
@@ -191,5 +197,16 @@
         and checkjob.type = #{type}
         order by checkjob.created_time desc
         limit 1
+    </select>-->
+
+    <select id="selectLastJob" parameterType="com.platform.dao.dto.check.CheckJobDTO"
+            resultType="com.platform.dao.vo.query.check.CheckJobVO">
+        select checkjob.*
+        from t_check_job as checkjob
+        where
+          checkjob.sb_id = #{sbId}
+          and checkjob.standard_id = #{standardId}
+        order by checkjob.created_time desc
+            limit 1
     </select>
 </mapper>

+ 20 - 2
platform-dao/src/main/resources/mapper/sb/SbInfoMapper.xml

@@ -48,7 +48,16 @@
         jbd_date,
         sbd_date,
         bxgs,
-        sb_date
+        sb_date,
+        check_date,
+        check_period,
+        register_no,
+        character_type,
+        used_no,
+        supplier,
+        repair_user_second,
+        batch_no,
+        register_date
     </sql>
 
     <sql id="Left_Column">
@@ -112,7 +121,16 @@
         sb.unit,
         sb.use_type as useType,
         sbType.name as typeName,producer.name as producerName,
-        position.name as positionName
+        position.name as positionName,
+        check_date,
+        check_period,
+        register_no,
+        character_type,
+        used_no,
+        supplier,
+        repair_user_second,
+        batch_no,
+        register_date
     </sql>
 
     <sql id="deptSql">

+ 2 - 2
platform-rest/src/main/java/com/platform/rest/task/CheckJobTask.java

@@ -26,11 +26,11 @@ public class CheckJobTask {
     }
 
     /**
-     * 点检任务生成:根据上次执行的结果设置下次日期,根据设备id来查询执行内容。移动端需要看到执行内容和标准
+     * 保养任务生成:根据上次执行的结果设置下次日期,根据设备id来查询执行内容。移动端需要看到执行内容和标准
      * 注意:此处适合设备直接绑定标准的项目
      */
     public void genCheckJobBySbId () {
-        checkJobService.genTask(1);
+        checkJobService.genTaskBySbId(2);
     }
 
     /**

+ 51 - 8
platform-service/src/main/java/com/platform/service/check/impl/CheckJobServiceImpl.java

@@ -36,6 +36,7 @@ import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.temporal.ChronoUnit;
+import java.time.temporal.TemporalAdjusters;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -77,6 +78,35 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
         return new MyPage(mapper.selectList(model));
     }
 
+    @Override
+    public List<CheckJob> getModelListByDTO(CheckJobDTO model) {
+        if (model.getFilter() != null && DataFilterTypeEnum.SELF.getValue() == model.getFilter().intValue()) {
+            UserInfo userInfo = SecurityUtils.getUserInfo();
+            model.setCheckUserId(userInfo.getUserId());
+        }
+        if(model.getSearchMonth() != null){
+            LocalDate firstDay = model.getSearchMonth().with(TemporalAdjusters.firstDayOfMonth());
+            LocalDate lastDay = model.getSearchMonth().with(TemporalAdjusters.lastDayOfMonth());
+            LocalTime.of(0,0,0);
+            //获取月的第一天0时0分0秒
+            LocalDateTime firstDayTime = LocalDateTime.of(firstDay, LocalTime.of(0,0,0));
+            //获取月的第一天0时0分0秒
+            LocalDateTime lastDayTime = LocalDateTime.of(lastDay, LocalTime.of(23,59,59));
+            model.setSearchStartTime(firstDayTime);
+            model.setSearchEndTime(lastDayTime);
+        }
+        if(model.getSearchDay() != null){
+            //获取月的第一天0时0分0秒
+            LocalDateTime firstDayTime = LocalDateTime.of(model.getSearchDay(), LocalTime.of(0,0,0));
+            //获取月的第一天0时0分0秒
+            LocalDateTime lastDayTime = LocalDateTime.of(model.getSearchDay(), LocalTime.of(59,59,59));
+            model.setSearchStartTime(firstDayTime);
+            model.setSearchEndTime(lastDayTime);
+        }
+         List<CheckJobVO> voList = mapper.selectList(model);
+         return BeanConverterUtil.copyListProperties(voList, CheckJob.class);
+    }
+
     @Override
     public AbstractPageResultBean<CheckJob> selectPageInfo(CheckJobDTO model, int pageNum, int pageSize) {
         if (model.getFilter() != null && DataFilterTypeEnum.SELF.getValue() == model.getFilter().intValue()) {
@@ -233,7 +263,7 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
 
         // 查询每个标准是否有已经存在未执行的任务,如果有则不生成,否则直接生成。
         Weekend<CheckJob> weekend = new Weekend<>(CheckJob.class);
-        weekend.weekendCriteria().andEqualTo(CheckJob::getStatus, CheckJobStatusEnum.NOT_EXECUTE.getValue());
+        weekend.weekendCriteria().andNotEqualTo(CheckJob::getStatus, CheckJobStatusEnum.FINISHED.getValue());
         List<CheckJob> checkJobs = mapper.selectByExample(weekend);
         for(CheckStandard standard: standardList){
             if(!CheckPlanPeriodTypeEnum.MILES.getValue().equals(standard.getPeriodType()) && !CheckPlanPeriodTypeEnum.TAISHI.getValue().equals(standard.getPeriodType()) ){
@@ -246,6 +276,7 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
                 if(!find){
                     CheckJob checkJob = new CheckJob();
                     checkJob.setSbId(standard.getSbId());
+                    checkJob.setStandardHours(standard.getStandardHours());
                     checkJob.setStatus(CheckJobStatusEnum.NOT_EXECUTE.getValue());
                     // 计算计划开始时间和结束时间
                     calcTime(checkJob, currentDate, standard);
@@ -455,24 +486,35 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
     }
     private void calcTime(CheckJob checkJob, LocalDateTime currentDate, CheckStandard checkStandard) {
         LocalDate endDate = null;
-        checkJob.setStartTime(currentDate.toLocalDate());
+        //checkJob.setStartTime(currentDate.toLocalDate());
+
+        // 查询上次任务生成时间
+        CheckJobDTO job = new CheckJobDTO();
+        job.setSbId(checkJob.getSbId());
+        job.setStandardId(checkJob.getStandardId());
+        CheckJobVO vo = mapper.selectLastJob(job);
+
+        LocalDateTime localDateTime = currentDate;
+        if(vo != null){
+            localDateTime = vo.getActualEndTime();
+        }
         if (CheckPlanPeriodTypeEnum.DAY.getValue().equals(checkStandard.getPeriodType())) {
-            endDate = DateUtils.plus(currentDate.toLocalDate(), checkStandard.getPeriod(), ChronoUnit.DAYS);
+            endDate = DateUtils.plus(localDateTime.toLocalDate(), checkStandard.getPeriod(), ChronoUnit.DAYS);
         }
         if (CheckPlanPeriodTypeEnum.WEEK.getValue().equals(checkStandard.getPeriodType())) {
-            endDate = DateUtils.plus(currentDate.toLocalDate(), checkStandard.getPeriod() * 7, ChronoUnit.DAYS);
+            endDate = DateUtils.plus(localDateTime.toLocalDate(), checkStandard.getPeriod() * 7, ChronoUnit.DAYS);
         }
         if (CheckPlanPeriodTypeEnum.MONTH.getValue().equals(checkStandard.getPeriodType())) {
-            endDate = DateUtils.plus(currentDate.toLocalDate(), checkStandard.getPeriod(), ChronoUnit.MONTHS);
+            endDate = DateUtils.plus(localDateTime.toLocalDate(), checkStandard.getPeriod(), ChronoUnit.MONTHS);
         }
         if (CheckPlanPeriodTypeEnum.SEASON.getValue().equals(checkStandard.getPeriodType())) {
-            endDate = DateUtils.plus(currentDate.toLocalDate(), checkStandard.getPeriod() * 3, ChronoUnit.MONTHS);
+            endDate = DateUtils.plus(localDateTime.toLocalDate(), checkStandard.getPeriod() * 3, ChronoUnit.MONTHS);
         }
         if (CheckPlanPeriodTypeEnum.YEAR.getValue().equals(checkStandard.getPeriodType())) {
-            endDate = DateUtils.plus(currentDate.toLocalDate(), checkStandard.getPeriod(), ChronoUnit.YEARS);
+            endDate = DateUtils.plus(localDateTime.toLocalDate(), checkStandard.getPeriod(), ChronoUnit.YEARS);
         }
         endDate = DateUtils.plus(endDate, -1, ChronoUnit.DAYS);
-        checkJob.setEndTime(endDate);
+        checkJob.setStartTime(endDate);
 
     }
 
@@ -506,6 +548,7 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
         CheckJob checkJob = mapper.selectByPrimaryKey(dto.getId());
         checkJob.setStatus(CheckJobStatusEnum.FINISHED.getValue());
         checkJob.setActualEndTime(now);
+        checkJob.setRealHours(DateUtils.getDurationMinutes(checkJob.getActualStartTime(), checkJob.getActualEndTime()) + "");
         UserInfo userInfo = SecurityUtils.getUser().getUserInfo();
         checkJob.setUpdateTime(now);
         checkJob.setUpdateUserId(userInfo.getUserId());

+ 2 - 2
platform-service/src/main/java/com/platform/service/check/impl/CheckStandardServiceImpl.java

@@ -144,8 +144,8 @@ public class CheckStandardServiceImpl extends BaseServiceImpl<CheckStandardMappe
     public void modModelByDTO(CheckStandardDTO model) {
         Weekend<CheckStandard> weekendExsit = new Weekend<>(CheckStandard.class);
         weekendExsit.weekendCriteria().andEqualTo(CheckStandard::getSbId, model.getSbId()).andEqualTo(CheckStandard::getName, model.getName());
-        Integer exsitCount = mapper.selectCountByExample(weekendExsit);
-        if(exsitCount>0){
+        CheckStandard exsitCount = mapper.selectOneByExample(weekendExsit);
+        if(exsitCount != null && !exsitCount.getId().equals(model.getId())){
             throw new BusinessException("名称已存在,请重新命名");
         }
 

+ 10 - 15
platform-service/src/main/java/com/platform/service/sqarepartmanage/impl/SparePartInfoServiceImpl.java

@@ -609,14 +609,9 @@ public class SparePartInfoServiceImpl extends BaseServiceImpl<SparePartInfoMappe
         try {
             List<SparePartInfoVO> items = CustomExcelImportUtil.importSparePartInfoList(now, file.getInputStream());
             if (!CollectionUtils.isEmpty(items)) {
-
                 List<SparePartInfo> addItemsReal = new ArrayList<SparePartInfo>();
-                List<SbModel> modelList = sbModelMapper.selectAll();
                 List<SpareType> typeList = spareTypeMapper.selectAll();
-                List<SbModelSpareBom> bomList = new ArrayList<SbModelSpareBom>();
                 List<SpareStore> spareStoreList = new ArrayList<SpareStore>();
-                List<String> modelIdsWithBom = new ArrayList<String>();
-                List<SbModel> addSbModelItems = new ArrayList<SbModel>();
                 for (SparePartInfoVO item : items) {
                     // 新增的,需要设置id和类别
                     item.setId(IdGeneratorUtils.getObjectId());
@@ -642,7 +637,7 @@ public class SparePartInfoServiceImpl extends BaseServiceImpl<SparePartInfoMappe
                     }
 
                     // 设置型号bom
-                    boolean findModel = false;
+                    /*boolean findModel = false;
                     if(StringUtils.isNotBlank(item.getSbModel())){
                         SbModelSpareBom bom = new SbModelSpareBom();
                         bom.setSpareId(item.getId());
@@ -702,20 +697,20 @@ public class SparePartInfoServiceImpl extends BaseServiceImpl<SparePartInfoMappe
                         }else{
                             bomList.add(bom);
                         }
-                    }
+                    }*/
 
                     // 设置库存,还是从库存里面走,但是如果名称一样怎么办,还是需要从这里走
                     SpareStore spareStore = new SpareStore();
                     spareStore.setSpareId(item.getId());
                     spareStore.setId(IdGeneratorUtils.getObjectId());
-                    spareStore.setStoreId(item.getStoreId());
+                    spareStore.setStoreId("9");
                     BigDecimal price = new BigDecimal(item.getInitialValue());
 
                     spareStore.setPrice(new BigDecimal(item.getInitialValue()));
-                    spareStore.setNum(item.getNum());
-                    spareStore.setInitNum(item.getNum());
-                    spareStore.setInitPrice(spareStore.getPrice());
-                    spareStore.setInitPurchasePrice(spareStore.getPrice());
+                    spareStore.setNum(new BigDecimal(0));
+                    spareStore.setInitNum(new BigDecimal(0));
+                    spareStore.setInitPrice(new BigDecimal(0));
+                    spareStore.setInitPurchasePrice(new BigDecimal(0));
                     spareStore.setCreatedTime(now);
                     spareStore.setCreatedUserId("1");
                     spareStore.setUpdateTime(now);
@@ -728,17 +723,17 @@ public class SparePartInfoServiceImpl extends BaseServiceImpl<SparePartInfoMappe
                     addItemsReal = BeanConverterUtil.copyListProperties(addItems,SparePartInfo.class);
                     mapper.insertListforComplex(addItemsReal);
                 }
-                if(!CollectionUtils.isEmpty(addSbModelItems)){
+               /* if(!CollectionUtils.isEmpty(addSbModelItems)){
                     sbModelMapper.insertListforComplex(addSbModelItems);
                 }
                 if(!CollectionUtils.isEmpty(bomList)){
                     sbModelSpareBomMapper.insertListforComplex(bomList);
-                }
+                }*/
                 if(!CollectionUtils.isEmpty(spareStoreList)){
                     spareStoreMapper.insertListforComplex(spareStoreList);
                 }
             }
-            return "总计新增导入:"+ (addItems.size()) + "已存在未导入数量:"  + modelExist.size() + ",找不到如下型号,已经添加:" + modelError.toString();
+            return "总计新增导入:"+ (addItems.size()) ;
         } catch (Exception e) {
             throw new BusinessException(e.getMessage());
         }