Jelajahi Sumber

feature 代码提交

xiahan 1 tahun lalu
induk
melakukan
96ea9bedbe

+ 4 - 1
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOperationOutMaterDao.java

@@ -1,7 +1,6 @@
 package com.rongwei.bscommon.sys.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.rongwei.bsentity.domain.ApsProcessOperationDo;
 import com.rongwei.bsentity.domain.ApsProcessOperationOutMaterDo;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
@@ -16,6 +15,10 @@ public interface ApsProcessOperationOutMaterDao extends BaseMapper<ApsProcessOpe
     @Select("SELECT * FROM aps_process_operation_out_mater WHERE DELETED = 0 AND MAINID = #{mainid}")
     List<ApsProcessOperationOutMaterDo> getProcessOperationOutMaterByMainId(@Param("mainid") String mainid);
 
+    void reportCheckUpdateAboutVolumesNum(@Param("id") String id,
+                                          @Param("unqualifiedQuantity") long unqualifiedQuantity,
+                                          @Param("qualifiedQuantity") long qualifiedQuantity,
+                                          @Param("inspectQuantity") int inspectQuantity);
 }
 
 

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

@@ -395,6 +395,7 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
 
     @Override
     @Transactional
+    @Deprecated
     public R changeOrder(ApsProductionOrderDo req) {
         if (ObjectUtil.isEmpty(req.getId())) {
             return R.error("订单Id不能为空");

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

@@ -258,7 +258,7 @@ public class GanttServiceImpl implements GanttService {
             workShopVo.setStart_date(workShopEntry.getValue().get(0).getPlanstartdate());
             resultVo.add(workShopVo);
             // 对数据按照设备进行分组
-            LinkedHashMap<String, List<GanttVos>> processMap = workShopEntry.getValue().stream().collect(Collectors.groupingBy(info -> info.getProcessdeviceid(),
+            LinkedHashMap<String, List<GanttVos>> processMap = workShopEntry.getValue().stream().collect(Collectors.groupingBy(GanttVos::getProcessdeviceid,
                     LinkedHashMap::new, Collectors.toList()));
             // 对数据按照 设备进行分组
             for (Map.Entry<String, List<GanttVos>> deviceEntry : processMap.entrySet()) {

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

@@ -2,7 +2,9 @@ package com.rongwei.bscommon.sys.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.rongwei.bscommon.sys.dao.ApsBlankOrderDao;
+import com.rongwei.bscommon.sys.dao.ApsProcessOperationOutMaterDao;
 import com.rongwei.bscommon.sys.service.ApsReportRecordsService;
 import com.rongwei.bscommon.sys.service.ReportCheckService;
 import com.rongwei.bsentity.domain.*;
@@ -18,9 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 import static com.rongwei.safecommon.utils.SaveConstans.WorkInProgressStatus.*;
@@ -60,6 +60,8 @@ public class ReportCheckServiceImpl implements ReportCheckService {
     private ApsProcessOperationOutMaterServiceImpl apsProcessOperationOutMaterService;
     @Autowired
     private ApsProcessOperationProcessEquServiceImpl apsProcessOperationProcessEquService;
+    @Autowired
+    private ApsProcessOperationOutMaterDao apsProcessOperationOutMaterDao;
 
     /**
      * 保存检验结果后更新相关信息
@@ -182,6 +184,14 @@ public class ReportCheckServiceImpl implements ReportCheckService {
         int qualifiedQuantity = qualifiedOutPutList.size();
         // 更新已检验卷数
         int inspectQuantity = reportOutputDos.size();
+        /***********************更新 工序作业输出物料的  输出已检验卷数 输出不合格卷数 输出合格卷数****************************************/
+        Map<String, List<ApsReportOutputDo>> collect = reportOutputDos.stream().collect(Collectors.groupingBy(ApsReportOutputDo::getOutputid));
+        collect.forEach((k, v) -> {
+            long unqualifiedQty = v.stream().filter(info -> NO.equals(info.getQualified())).count();
+            long passingQty = v.stream().filter(info -> YES.equals(info.getQualified())).count();
+            apsProcessOperationOutMaterDao.reportCheckUpdateAboutVolumesNum(k, unqualifiedQty, passingQty, v.size());
+        });
+        /*********************** 工序作业输出物料 更新结束****************************************/
         // 订单信息
         //currentProductionOrderDoDispose(productionOrderDo, unqualificationOutPutList);
         log.debug("开始更新在制品库存信息");
@@ -199,7 +209,7 @@ public class ReportCheckServiceImpl implements ReportCheckService {
 
         /**********************执行数据更新操作*************************/
         if (!nextProcessIds.isEmpty() && StringUtils.isNotBlank(toBeProcessedBatchNum)) {
-            log.debug("开始增加后道工序作业:{}的待加工批次号:{}",nextProcessIds,toBeProcessedBatchNum);
+            log.debug("开始增加后道工序作业:{}的待加工批次号:{}", nextProcessIds, toBeProcessedBatchNum);
             //更新后续工序的待加工批次号信息
             apsProcessOperationService.updateBachmaterialprocessByIds(nextProcessIds, toBeProcessedBatchNum,
                     unqualifiedQuantity);
@@ -208,31 +218,30 @@ public class ReportCheckServiceImpl implements ReportCheckService {
         }
         /***************************存在不合格批次信息时 更新更新报工记录对应订单的订单评审状态=待计划评审, 订单调整日期=今天*************************************/
         if (unqualifiedQuantity > 0) {
-            apsProductionOrderService.getBaseMapper().changeOrderById(productionOrderDo.getId());
+            LambdaUpdateWrapper<ApsProductionOrderDo> lambdaUpdateWrapper = Wrappers.lambdaUpdate();
+            lambdaUpdateWrapper.eq(ApsProductionOrderDo::getId,productionOrderDo.getId());
+            lambdaUpdateWrapper.set(ApsProductionOrderDo::getAuditstatus,"待提交");
+            lambdaUpdateWrapper.set(ApsProductionOrderDo::getChangedate,new Date());
+            apsProductionOrderService.update(lambdaUpdateWrapper);
         }
         /************************更新工序*******************************/
-        log.debug("开始更新工序作业明细");
-        // 更新工序作业明细表的输出已检验卷数,不合格卷数,合格卷数完工状态,作业状态,生产状态
-        apsProcessOperationProcessEquService.updateAboutCheckBatchNum(processOperationEquId, inspectQuantity,
-                qualifiedQuantity, unqualifiedQuantity, previousprocessid, currentProcessOperationMainDo.getId());
         // 更新工序主表的 已检验卷数,不合格卷数,合格卷数 , 完工状态,作业状态,生产状态
         log.debug("开始更新工序作业");
         apsProcessOperationService.updateAboutCheckBatchNum(currentProcessOperationMainDo.getId(), inspectQuantity,
                 qualifiedQuantity, unqualifiedQuantity);
+
+        log.debug("开始更新工序作业明细");
+        // 更新工序作业明细表的输出已检验卷数,不合格卷数,合格卷数完工状态,作业状态,生产状态
+        apsProcessOperationProcessEquService.updateAboutCheckBatchNum(processOperationEquId, inspectQuantity,
+                qualifiedQuantity, unqualifiedQuantity, previousprocessid, currentProcessOperationMainDo.getId());
+
         /***************更新在制品信息****************************/
-//        // 需要刪除的ID
-//        List<String> deletedIdList = apsWorkInProgressInventoryDos.stream()
-//                .filter(info -> DELETED.equals(info.getDeleted())).map(ApsWorkInProgressInventoryDo::getId).collect(Collectors.toList());
         List<ApsWorkInProgressInventoryDo> updateList = apsWorkInProgressInventoryDos.stream()
                 .filter(info -> NO_DELETED.equals(info.getDeleted())).collect(Collectors.toList());
         if (!updateList.isEmpty()) {
             log.debug("更新在制品信息");
             apsWorkInProgressInventoryService.updateWorkinprocessstatus(apsWorkInProgressInventoryDos);
         }
-//        if (!deletedIdList.isEmpty()) {
-//            log.debug("删除的在制品");
-//            apsWorkInProgressInventoryService.removeByIds(deletedIdList);
-//        }
         /********************************更新当前报工记录的待检验批次号*************************************/
 //        apsReportRecordsService.update(new LambdaUpdateWrapper<ApsReportRecordsDo>().eq(ApsReportRecordsDo::getId, id)
 //                .set(ApsReportRecordsDo::getCheckstatus, VERIFIED)
@@ -271,6 +280,7 @@ public class ReportCheckServiceImpl implements ReportCheckService {
                 .eq(ApsReportRecordsDo::getId, id));
         return R.ok();
     }
+
     /**
      * 更新工序作业对应的订单信息
      * 如果存在不合格的批次信息 需要更新 订单相关信息

+ 7 - 7
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsProcessOperationDao.xml

@@ -7,9 +7,9 @@
 
         update aps_process_operation
         <set>
-            <if test="batchNum != null and batchNum!=''">
-                BACHMATERIALPROCESS = CONCAT_WS(',',BACHMATERIALPROCESS,#{batchNum}),
-            </if>
+<!--            <if test="batchNum != null and batchNum!=''">-->
+<!--                BACHMATERIALPROCESS = CONCAT_WS(',',BACHMATERIALPROCESS,#{batchNum}),-->
+<!--            </if>-->
             INPUTUNQUALIFIEDROLL = INPUTUNQUALIFIEDROLL +#{unqualifiedQuantity}
         </set>
         <where>
@@ -25,14 +25,14 @@
             OUTPUTQUALIFIEDNUM = IFNULL(OUTPUTQUALIFIEDNUM,0)+ #{qualifiedQuantity},
             OUTPUTUNQUALIFIEDNUM = IFNULL(OUTPUTUNQUALIFIEDNUM,0) +#{unqualifiedQuantity},
             CHECKOUTROLL = IFNULL(CHECKOUTROLL,0) +#{currentCheckNum},
-            UNFINISHROLL = UNFINISHROLL -#{currentCheckNum}
+            UNFINISHROLL = UNFINISHROLL -#{currentCheckNum},
+            <!-- 完工状态-->
+            CLOSESTATUS = case when UNFINISHROLL -#{currentCheckNum} = SECONDROLL+CANCELROLL then '已完工' else '加工中' end,
 <!--            ,-->
 <!--            &lt;!&ndash;实际完工时间&ndash;&gt;-->
 <!--            ACTUALFINISHDATE = (select IF(COUNT(ID) !=0 ,NULL,NOW()) from aps_process_operation_process_equ where-->
 <!--            PROCESSID =#{id} and CLOSESTATUS !='已完工'),-->
-<!--            &lt;!&ndash; 完工状态&ndash;&gt;-->
-<!--            CLOSESTATUS = (select IF(COUNT(ID) !=0 ,'未完工','已完工') from aps_process_operation_process_equ where-->
-<!--            PROCESSID =#{id} and CLOSESTATUS !='已完工'),-->
+
 <!--            &lt;!&ndash; 作业状态&ndash;&gt;-->
 <!--            WORKSTATUS = (select IF(COUNT(ID) !=0 ,'加工中','已完工') from aps_process_operation_process_equ where-->
 <!--            PROCESSID =#{id} and CLOSESTATUS !='已完工'),-->

+ 23 - 0
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsProcessOperationOutMaterDao.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.rongwei.bscommon.sys.dao.ApsProcessOperationOutMaterDao">
+    <update id="reportCheckUpdateAboutVolumesNum">
+        update aps_process_operation_out_mater
+        <set>
+            <if test="unqualifiedQuantity != 0">
+                INSPECTROLLNUM=INSPECTROLLNUM+#{unqualifiedQuantity},
+            </if>
+            <if test="qualifiedQuantity!=0">
+                FAILROLLNUM=FAILROLLNUM+#{qualifiedQuantity},
+            </if>
+            <if test="inspectQuantity!=0">
+                GOODROLLNUM=GOODROLLNUM+#{inspectQuantity}
+            </if>
+        </set>
+        <where>
+            ID=#{id}
+        </where>
+    </update>
+</mapper>

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

@@ -257,7 +257,7 @@
             </if>
             <if test="processids != null ">and a1.PROCESSID in (${processids})</if>
         </where>
-        order by a1.PLANSTARTDATE asc,a1.PLANENDDATE,c.VALUE asc
+        order by a1.PROCESSWORKSHOP,a1.PROCESSDEVICE,a1.PLANSTARTDATE asc,a1.PLANENDDATE,c.VALUE asc
     </select>
     <select id="selectNeedUpdate" resultType="com.rongwei.bsentity.vo.CommonUpdateProductionStatusReq">
         SELECT