Ver código fonte

排产检查设备是否在线,如果设备不在线不能进行排产

yejian 2 anos atrás
pai
commit
97d9d34c0f

+ 1 - 1
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/operationManagementCenter/service/impl/OrderServiceImpl.java

@@ -601,7 +601,7 @@ public class OrderServiceImpl extends SuperServiceImpl<OrderMapper, Order> imple
                 }
                 for(BomProcedure bomProcedure : bomProcedures){
                     if(CollectionUtil.isEmpty(bomProcedure.getProductionresourceList())){
-                        return R.fail("当前排产零件中存在未配置加工设备,无法进行排产");
+                        return R.fail("当前排产零件中存在未配置加工设备、设备不在线或报警,无法进行排产");
                     }
                 }
             }

+ 3 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionReadyCenter/dao/BomProcedureProductionresourceMapper.java

@@ -7,6 +7,7 @@ import com.github.zuihou.business.productionReadyCenter.entity.BomProcedureVersi
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -20,4 +21,6 @@ import java.util.List;
 @Repository
 public interface BomProcedureProductionresourceMapper extends SuperMapper<BomProcedureProductionresource> {
     List<BomProcedureProductionresource> getResourcelist(BomProcedureVersion bean);
+
+    List<BomProcedureProductionresource> selectBomProcedureProductionresource(Map queryMap);
 }

+ 7 - 2
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionReadyCenter/service/impl/BomProcedureServiceImpl.java

@@ -5,6 +5,7 @@ import com.github.zuihou.business.productionReadyCenter.entity.*;
 import com.github.zuihou.business.productionReadyCenter.service.BomProcedureService;
 import com.github.zuihou.base.service.SuperServiceImpl;
 
+import com.github.zuihou.common.util.StringUtil;
 import com.github.zuihou.database.mybatis.conditions.Wraps;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -45,8 +46,12 @@ public class BomProcedureServiceImpl extends SuperServiceImpl<BomProcedureMapper
     public Map<Long, List<BomProcedure>> getBomProcedureMap(List<Long>bomIdList) {
         //List<BomProcedure> bomProcedureList = baseMapper.selectList(Wraps.<BomProcedure>lbQ().in(BomProcedure::getBomId,bomIdList).orderByDesc(BomProcedure::getSort));
         List<BomProcedure> bomProcedureList = getPreProcedureListByBom(bomIdList);
-                List<Long>procedureIdList = bomProcedureList.stream().map(p -> p.getId()).collect(Collectors.toList());
-        List<BomProcedureProductionresource> productionresourceList = bomProcedureProductionresourceMapper.selectList(Wraps.<BomProcedureProductionresource>lbQ().in(BomProcedureProductionresource::getProcedureId,procedureIdList));
+        List<Long> procedureIdList = bomProcedureList.stream().map(p -> p.getId()).collect(Collectors.toList());
+//        List<BomProcedureProductionresource> productionresourceList = bomProcedureProductionresourceMapper.selectList(Wraps.<BomProcedureProductionresource>lbQ().in(BomProcedureProductionresource::getProcedureId,procedureIdList));
+        Map queryMap = new HashMap();
+        queryMap.put("bomProcedures",StringUtil.changeIdsListToSubQueryStr(procedureIdList));
+        List<BomProcedureProductionresource> productionresourceList = bomProcedureProductionresourceMapper.selectBomProcedureProductionresource(queryMap);
+
         List<BomProcedureMeterial> meterialList = bomProcedureMeterialMapper.selectList(Wraps.<BomProcedureMeterial>lbQ().in(BomProcedureMeterial::getProcedureId,procedureIdList));
        // List<BomProcedureTray> procedureTrayList = bomProcedureTrayMapper.selectList(Wraps.<BomProcedureTray>lbQ().in(BomProcedureTray::getProcedureId,procedureIdList));
         List<BomProcedureProgram> programList = bomProcedureProgramMapper.selectList(Wraps.<BomProcedureProgram>lbQ().in(BomProcedureProgram::getProcedureId,procedureIdList));

+ 9 - 0
imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/productionReadyCenter/BomProcedureProductionresourceMapper.xml

@@ -46,5 +46,14 @@
           and a.procedure_id = #{id}
         </if>
     </select>
+    <select id="selectBomProcedureProductionresource" resultType="com.github.zuihou.business.productionReadyCenter.entity.BomProcedureProductionresource">
+        SELECT
+          a.id,a.resource_id,a.prority,a.procedure_id,a.bom_id,a.resource_business_id
+        FROM imcs_b_bom_procedure_productionresource a,
+             imcs_tenant_productionresource b
+        WHERE a.resource_id = b.id
+        AND b.online_status IN ('1','2')
+        AND a.procedure_id IN (${bomProcedures})
+    </select>
 
 </mapper>