Browse Source

Merge remote-tracking branch 'origin/master'

fangpy 1 năm trước cách đây
mục cha
commit
7080baaa5b

+ 4 - 4
bs-common/src/main/java/com/rongwei/safecommon/utils/SaveConstans.java

@@ -703,17 +703,17 @@ public class SaveConstans {
          */
         public static final String HAS_ONE_PRE_GB_AFTER_NOW="当前工序作业开始时间违反上一步工序作业最大等待时间限制";
         /**
-         * 设备已排产时间段不可排产其它工序作业
+         * 加工设备该加工时间段不可用
          */
-        public static final String EQUIPMENT_RUN_TIME="设备已排产时间段不可排产其它工序作业";
+        public static final String EQUIPMENT_RUN_TIME="加工设备该加工时间段不可用";
         /**
          * 上一工序作业流转时间不能大于上一工序作业最大等待时间
          */
         public static final String LZ_TIME_LESS_MAX_WAIT="上一工序作业流转时间不能大于上一工序作业最大等待时间";
         /**
-         * 排程过程中出现相同设备排产时间段有交叉
+         * 与加工设备其他作业加工时间重叠
          */
-        public static final String EQ_TIME_CROSS="排程过程中出现相同设备排产时间段有交叉";
+        public static final String EQ_TIME_CROSS="与加工设备其他作业加工时间重叠";
 
     }
 

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

@@ -252,7 +252,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
             // 获取该工序作业最早的计划开始时间
             Date planstartdate = processEqus.getPlanstartdate();
             // 获取开工时间间隔=所选作业明细最早计划开工时间-所选加工开始时间
-            long timeInterval = DateUtil.between(changingWiresVo.getProcessingTime(), planstartdate, DateUnit.SECOND,false);
+            long timeInterval = planstartdate.getTime()- changingWiresVo.getProcessingTime().getTime();
 
             // 待开工的直接修改
             if (JOBSTATUS_TO_BE_START.equals(processEqus.getWorkstatus())) {
@@ -261,8 +261,10 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
                 processEqus.setProcessworkshop(changingWiresVo.getWorkshopName());
                 processEqus.setProcessdeviceid(changingWiresVo.getEquId());
                 processEqus.setProcessdevice(changingWiresVo.getEquName());
-                processEqus.setPlanstartdate(DateUtil.offsetSecond(processEqus.getPlanstartdate(), (int) timeInterval));
-                processEqus.setPlanenddate(DateUtil.offsetSecond(processEqus.getPlanenddate(), (int) timeInterval));
+                // 计计划开工时间=计划开工时间-开工时间间隔
+                processEqus.setPlanstartdate(new Date(planstartdate.getTime()-timeInterval));
+                // 计划完工时间=计划完工时间-开工时间间隔
+                processEqus.setPlanenddate(new Date(processEqus.getPlanenddate().getTime()-timeInterval));
                 checkConflictVos.add(new CheckConflictVo(processEqus.getId(), processEqus.getProcessdeviceid(),
                         processEqus.getPlanstartdate(), processEqus.getPlanenddate()));
                 // 判断是否存在设备不可用
@@ -486,7 +488,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
             long timeInterval = DateUtil.between(planStartTime, oldPlanstartdate, DateUnit.SECOND, false);
             apsProcessOperationProcessEquDo.setPlanstartdate(planStartTime);
             // 自动计算计划完工时间=原完工时间+新计划开工时间-原计划开工时间
-            apsProcessOperationProcessEquDo.setPlanenddate(DateUtil.offsetSecond(apsProcessOperationProcessEquDo.getPlanenddate(), (int) timeInterval));
+            apsProcessOperationProcessEquDo.setPlanenddate(new Date(apsProcessOperationProcessEquDo.getPlanenddate().getTime()+jobDetailsVo.getPlanStartTime().getTime()-oldPlanstartdate.getTime()));
             // 获取更新之前的存在冲突的工序作业
             List<ApsProcessOperationProcessEquDo> beforeUpdatingConflictId = this.baseMapper.getConflictId(
                     oldEquId, id, oldPlanstartdate, oldPlanenddate);

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

@@ -320,7 +320,12 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                             apsProcessOperationOutMaterDo.setSinglerollweight(outMaterDo.getSinglerollweight());
                             apsProcessOperationOutMaterDo.setNumunit(blanckdata.getStr("NUMBERUNIT"));
                             apsProcessOperationOutMaterDo.setPlanstockrollnum(0);
-                            apsProcessOperationOutMaterDo.setPlanprodrollnum(0);
+                            //没有后道工序作业,计划成品卷数=计划输出卷数-计划备料卷数
+                            if (StringUtils.isBlank(apsProcessOperationDo.getNextprocessid())) {
+                                apsProcessOperationOutMaterDo.setPlanprodrollnum(apsProcessOperationDo.getPlanprocessrall());
+                            } else {
+                                apsProcessOperationOutMaterDo.setPlanprodrollnum(0);
+                            }
                             apsProcessOperationOutMaterDo.setMainid(processId);
                             apsProcessOperationOutMaterDo.setBlankid(blanckdata.getStr("ID"));
                             //输出物料
@@ -815,32 +820,30 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                     List<ApsProcessOperationOutMaterDo> apsProcessOperationOutMaterDoList1 = processOperationOutMaterDoList.stream().filter(apoom -> apsProcessOperationDo.getId().equals(apoom.getMainid())).collect(Collectors.toList());
                     List<String> planoutputList = new ArrayList<>();
                     for (ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo1 : apsProcessOperationOutMaterDoList1) {
-                        if (StringUtils.isBlank(apsProcessOperationOutMaterDo1.getProducttypeid())) {
-                            apsProcessOperationOutMaterDo1.setProducttypeid(apsProcessOperationOutMaterDo.getProducttypeid());
-                        }
                         String outProducttype = apsProcessOperationOutMaterDo1.getProducttype();
-                        if (StringUtils.isBlank(outProducttype)) {
+                        if (apsProcessOperationOutMaterDo1.getProducttyperule().equals("不变")) {
+                            apsProcessOperationOutMaterDo1.setProducttypeid(apsProcessOperationOutMaterDo.getProducttypeid());
                             outProducttype = apsProcessOperationOutMaterDo.getProducttype();
                             apsProcessOperationOutMaterDo1.setProducttype(outProducttype);
                         }
                         String outMeter = apsProcessOperationOutMaterDo1.getMetal();
-                        if (StringUtils.isBlank(outMeter)) {
+                        if (apsProcessOperationOutMaterDo1.getMetalrule().equals("不变")) {
                             outMeter = apsProcessOperationOutMaterDo.getMetal();
                             apsProcessOperationOutMaterDo1.setMetal(outMeter);
                         }
                         String outMetalstate = apsProcessOperationOutMaterDo1.getMetalstate();
-                        if (StringUtils.isBlank(outMetalstate)) {
+                        if (apsProcessOperationOutMaterDo1.getMetalstaterule().equals("不变")) {
                             outMetalstate = apsProcessOperationOutMaterDo.getMetalstate();
                             apsProcessOperationOutMaterDo1.setMetalstate(outMetalstate);
                         }
+
                         BigDecimal tval = changeSize(apsProcessOperationOutMaterDo.getThickness(), apsProcessOperationOutMaterDo1.getThickrule(), apsProcessOperationOutMaterDo1.getThickchange());
                         apsProcessOperationOutMaterDo1.setThickness(tval);
                         BigDecimal wval = changeSize(apsProcessOperationOutMaterDo.getProwidth(), apsProcessOperationOutMaterDo1.getWidthrule(), apsProcessOperationOutMaterDo1.getWidthchange());
                         apsProcessOperationOutMaterDo1.setProwidth(wval);
                         BigDecimal lval = changeSize(apsProcessOperationOutMaterDo.getProlength(), apsProcessOperationOutMaterDo1.getLengthrule(), apsProcessOperationOutMaterDo1.getLengthchange());
                         apsProcessOperationOutMaterDo1.setProlength(lval);
-//                        apsProcessOperationOutMaterDo1.setPlanrollnum(planinrall * apsProcessOperationOutMaterDo1.getOutval());
-                        apsProcessOperationOutMaterDo1.setPlanrollnum(apsProcessOperationDo.getPlanprocessrall());
+                        apsProcessOperationOutMaterDo1.setPlanrollnum(apsProcessOperationDo.getPlanprocessrall() * apsProcessOperationOutMaterDo1.getOutval());
                         //输入物料的输入单卷重*该输出物料的宽度/输入物料的宽度/该输出物料的横切分卷数
 //                        String singlerollweight = df.format(apsProcessOperationOutMaterDo.getSinglerollweight().multiply(wval == null ? BigDecimal.valueOf(1) : wval).divide(apsProcessOperationOutMaterDo.getProwidth() == null ? BigDecimal.valueOf(1) : apsProcessOperationOutMaterDo.getProwidth(), 2, BigDecimal.ROUND_HALF_UP).divide(new BigDecimal(apsProcessOperationOutMaterDo1.getCrosscutnum().toString()), 2, BigDecimal.ROUND_HALF_UP));
 //                        apsProcessOperationOutMaterDo1.setSinglerollweight(new BigDecimal(singlerollweight));
@@ -861,6 +864,8 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                         Integer planprodrollnum = 0;
                         if (StringUtils.isBlank(apsProcessOperationDo.getNextprocessid())) {
                             planprodrollnum = (planinrall * apsProcessOperationOutMaterDo1.getOutval()) - apsProcessOperationOutMaterDo1.getPlanstockrollnum();
+                            //没有后道工序作业,计划成品卷数=计划输出卷数-计划备料卷数
+                            apsProcessOperationOutMaterDo1.setPlanprodrollnum(apsProcessOperationOutMaterDo1.getPlanrollnum() - apsProcessOperationOutMaterDo1.getPlanstockrollnum());
                         } else {
                             planprodrollnum = apsProcessOperationOutMaterDo1.getPlanprodrollnum();
                         }

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

@@ -256,7 +256,6 @@ public class ReportCheckServiceImpl implements ReportCheckService {
                 .in(ApsReportOutputDo::getId,reportOutputDos.stream().map(ApsReportOutputDo::getId).collect(Collectors.toList()))
                 .set(ApsReportOutputDo::getCheckstatus,VERIFIED));
         reportRecordsDo.setCheckstatus(VERIFIED);
-
         apsReportRecordsService.update(new LambdaUpdateWrapper<ApsReportRecordsDo>()
                 .set(ApsReportRecordsDo::getCheckstatus,VERIFIED)
                 .set(ApsReportRecordsDo::getNeedcheckbatchnumber,null)

+ 1 - 1
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsBlankOrderDao.xml

@@ -182,7 +182,7 @@
                 <foreach collection="blankIds" item="id" open="(" close=")" separator=",">
                     #{id}
                 </foreach>
-                AND (CONFLICTDES is not null or  CONFLICTDES !='' )
+                AND (CONFLICTDES is not null AND  CONFLICTDES !='' )
             </where>
     </select>
 </mapper>

+ 1 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsCraftRouteOutMaterRequestDo.java

@@ -161,6 +161,7 @@ public class ApsCraftRouteOutMaterRequestDo extends BaseDo implements Serializab
     /**
      * 产品类型输出规则ID
      */
+    @Deprecated
     private String producttyperuleid;
 
     /**

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

@@ -9,5 +9,6 @@ public interface AspRiskSourceService extends IService<AspRiskSourceDo> {
 
     void test(Boolean haveJob,String filePath,String category);
 
+    void resetInfo();
 }
 

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

@@ -3,13 +3,16 @@ package com.rongwei.sfcommon.sys.service.impl;
 
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 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.base.BaseDo;
 import com.rongwei.rwcommon.utils.SecurityUtil;
 import com.rongwei.sfcommon.sys.dao.AspRiskSourceDao;
 import com.rongwei.sfcommon.sys.service.AspRiskSourceService;
@@ -27,6 +30,7 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 public class AspRiskSourceServiceImpl extends ServiceImpl<AspRiskSourceDao, AspRiskSourceDo> implements AspRiskSourceService {
@@ -175,4 +179,22 @@ public class AspRiskSourceServiceImpl extends ServiceImpl<AspRiskSourceDao, AspR
         //插入数据
         this.saveBatch(resList);
     }
+
+    @Override
+    public void resetInfo() {
+        List<AspRiskSourceDo> list = this.list(new LambdaQueryWrapper<AspRiskSourceDo>().eq(BaseDo::getDeleted, "0"));
+        if(list.isEmpty()){
+            log.debug("暂无需要重置信息的风险源信息");
+            return;
+        }
+        List<String> ids = list.stream().map(AspRiskSourceDo::getId).collect(Collectors.toList());
+        this.update(new LambdaUpdateWrapper<AspRiskSourceDo>()
+                .in(AspRiskSourceDo::getId,ids)
+                .set(AspRiskSourceDo::getAssessstatus,"dpg")
+                .set(AspRiskSourceDo::getAvgsalary,null)
+                .set(AspRiskSourceDo::getRating,null)
+                .set(AspRiskSourceDo::getRiskranking,null)
+        );
+
+    }
 }

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

@@ -146,5 +146,10 @@ public class AspRiskSourceDo extends BaseDo implements Serializable {
      */
     private String dutyofficername;
 
+    /**
+     * 评估状态
+     */
+    private String assessstatus;
+
     private static final long serialVersionUID = 1L;
-}
+}

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

@@ -6,6 +6,7 @@ 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.scheduling.annotation.Scheduled;
 import org.springframework.web.bind.annotation.*;
 
 
@@ -33,4 +34,18 @@ public class AspRiskSourceController {
         }
     }
 
+    /**
+     * 定义任务每年的第一天重置 风险源相关数据
+     * 定时任务 每天8点
+     *
+     * @return
+     */
+    @Scheduled(cron = "1 1 1 1 1 ?")
+    @PostMapping("/reset")
+    public R resetInfo() {
+        log.info("重置风险源相关信息");
+        aspRiskSourceService.resetInfo();
+        return R.ok();
+    }
+
 }