Browse Source

工序管理来自上一序也更新只tray和group表方便后续查询

yejian 3 years ago
parent
commit
5f5b19044b

+ 44 - 14
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionReadyCenter/service/impl/BomProcedureVersionServiceImpl.java

@@ -10,7 +10,9 @@ import com.github.zuihou.business.basics.service.CustService;
 import com.github.zuihou.business.edgeLibrary.entity.StockInfo;
 import com.github.zuihou.business.modelingCenter.dao.MModuleFieldMapper;
 import com.github.zuihou.business.modelingCenter.entity.MModuleField;
+import com.github.zuihou.business.operationManagementCenter.entity.TaskNode;
 import com.github.zuihou.business.productionReadyCenter.dao.AutoNodeMapper;
+import com.github.zuihou.business.productionReadyCenter.dao.BomProcedureMapper;
 import com.github.zuihou.business.productionReadyCenter.dao.BomProcedureRobotArmMapper;
 import com.github.zuihou.business.productionReadyCenter.dao.BomProcedureVersionMapper;
 import com.github.zuihou.business.productionReadyCenter.dto.BomProcedureVersionSaveDTO;
@@ -103,6 +105,8 @@ public class BomProcedureVersionServiceImpl extends SuperServiceImpl<BomProcedur
 
     @Autowired
     private BBomService bomService;
+    @Autowired
+    private BomProcedureMapper bomProcedureMapper;
 
 
     @Override
@@ -197,6 +201,7 @@ public class BomProcedureVersionServiceImpl extends SuperServiceImpl<BomProcedur
      * @param map
      * @return
      */
+    @Override
     public Map<String, Object> getList(Map<String, Object> map) {
         map.put("size","10000");
         return this.pageList(map);
@@ -513,8 +518,9 @@ public class BomProcedureVersionServiceImpl extends SuperServiceImpl<BomProcedur
 //                }
                 int sort=1;
                 for(BomProcedureTray tray:procedureTrayList){
-                    if(StringUtils.isEmpty(tray.getNo()))
+                    if(StringUtils.isEmpty(tray.getNo())) {
                         continue;
+                    }
                     //添加组
                     BomProcedureTrayGroup groupBean = new BomProcedureTrayGroup();
                     groupBean.setGroupSort(sort);
@@ -586,6 +592,29 @@ public class BomProcedureVersionServiceImpl extends SuperServiceImpl<BomProcedur
 //                    }
 //                }
             }
+        }else if("2".equals(bean.getTrayConf())){
+            // 来自上一工序
+            // 查找上一个工序的托盘夹具
+            BomProcedure currBomProcedure = bomProcedureMapper.selectOne(Wraps.<BomProcedure>lbQ().eq(BomProcedure::getId,bean.getId()));
+            BomProcedure preBomProcedure = bomProcedureMapper.selectOne(Wraps.<BomProcedure>lbQ().eq(BomProcedure::getBomId,bean.getBomId()).gt(BomProcedure::getSort,currBomProcedure.getSort()).orderByAsc(BomProcedure::getSort).last("limit 1"));
+
+            BomProcedureTrayGroup preBomProcedureTrayGroup = bomProcedureTrayGroupService.getOne(Wraps.<BomProcedureTrayGroup>lbQ().eq(BomProcedureTrayGroup::getProcedureId,preBomProcedure.getId()));
+            BomProcedureTrayGroup currGroupBean = new BomProcedureTrayGroup();
+            currGroupBean.setGroupSort(preBomProcedureTrayGroup.getGroupSort());
+            currGroupBean.setGroupPrority(preBomProcedureTrayGroup.getGroupPrority());
+            currGroupBean.setProcedureId(bean.getId());
+            bomProcedureTrayGroupService.save(currGroupBean);
+
+            List<BomProcedureTray> bomProcedureTrays = bomProcedureTrayService.list(Wraps.<BomProcedureTray>lbQ().eq(BomProcedureTray::getProcedureId,preBomProcedure.getId()));
+
+            // 插入当前工序的托盘夹具
+            for(BomProcedureTray tray:bomProcedureTrays){
+                //添加明细,添加选择的夹具
+                tray.setId(null);
+                tray.setProcedureId(currBomProcedure.getId());
+                tray.setGroupId(currGroupBean.getId());
+                bomProcedureTrayService.save(tray);
+            }
         }
 
         //查找目标工序
@@ -828,7 +857,7 @@ public class BomProcedureVersionServiceImpl extends SuperServiceImpl<BomProcedur
 
     /**
      *
-     * @param bean
+     * @param map
      * @return
      */
     @Override
@@ -841,6 +870,7 @@ public class BomProcedureVersionServiceImpl extends SuperServiceImpl<BomProcedur
         return getPreProcedureTray( bean);
     }
 
+    @Override
     public List<BomProcedureTray> getPreProcedureTray(BomProcedureVersion bean) {
         List<BomProcedureTray> procedureTrayList = new ArrayList<BomProcedureTray>();
 //        //看似冗余,不能删除,防止前端数据没传
@@ -856,8 +886,9 @@ public class BomProcedureVersionServiceImpl extends SuperServiceImpl<BomProcedur
             List<BomProcedureVersion> list = baseMapper.selectList(Wraps.<BomProcedureVersion>lbQ().
                     eq(BomProcedureVersion::getVersionId,bean.getVersionId()).gt(BomProcedureVersion::getSort,bean.getSort()).orderByAsc(BomProcedureVersion::getSort));
 
-            if(list==null||list.size()==0)
+            if(list==null||list.size()==0) {
                 return procedureTrayList;
+            }
             //最终需要查询的工艺
             BomProcedureVersion targetBomProcedureVersion  = null;
             for(BomProcedureVersion bomProcedureVersion:list){
@@ -883,7 +914,7 @@ public class BomProcedureVersionServiceImpl extends SuperServiceImpl<BomProcedur
 
     /**
      * 获取上一序
-     * @param bean
+     * @param map
      * @return
      */
     @Override
@@ -897,6 +928,7 @@ public class BomProcedureVersionServiceImpl extends SuperServiceImpl<BomProcedur
         return list;
     }
 
+    @Override
     public List<BomProcedureMeterial> getPreMeterialList(BomProcedureVersion bean) {
         List<BomProcedureMeterial> bomProcedureMeterialList = new ArrayList<BomProcedureMeterial>();
 //        //看似冗余,不能删除,防止前端数据没传
@@ -909,13 +941,11 @@ public class BomProcedureVersionServiceImpl extends SuperServiceImpl<BomProcedur
         }else if("2".equals(bean.getMeterialConf())) {//来自于上一序
             //取出当前工艺之后的工艺
 //            BomProcedureVersion srcBean = baseMapper.selectById(bean.getId());
-            List<BomProcedureVersion> list = baseMapper.selectList(Wraps.<BomProcedureVersion>lbQ().
-                    eq(BomProcedureVersion::getVersionId,bean.getVersionId()).gt(BomProcedureVersion::getSort,bean.getSort()).orderByAsc(BomProcedureVersion::getSort));
+            List<BomProcedureVersion> list = baseMapper.selectList(Wraps.<BomProcedureVersion>lbQ().eq(BomProcedureVersion::getVersionId,bean.getVersionId()).gt(BomProcedureVersion::getSort,bean.getSort()).orderByAsc(BomProcedureVersion::getSort));
 
-            if(list==null||list.size()==0)
+            if(list==null||list.size()==0){
                 return bomProcedureMeterialList;
-
-
+            }
             //最终需要查询的工艺
             BomProcedureVersion targetBomProcedureVersion  = null;
             for(BomProcedureVersion bomProcedureVersion:list){
@@ -945,7 +975,8 @@ public class BomProcedureVersionServiceImpl extends SuperServiceImpl<BomProcedur
      * @param bean
      * @return
      */
-    public List<BomProcedureTray>getBomProcedureTrayList(BomProcedureVersion bean){
+    @Override
+    public List<BomProcedureTray> getBomProcedureTrayList(BomProcedureVersion bean){
         //托盘夹具
         List<BomProcedureTray> procedureTrayList = baseMapper.getProcedureTray(bean);
 //        //托盘对应位置数据
@@ -990,12 +1021,11 @@ public class BomProcedureVersionServiceImpl extends SuperServiceImpl<BomProcedur
         //最终需要查询的工艺
         BomProcedureVersion targetBomProcedure = null;
 
-        List<BomProcedureVersion> list = baseMapper.selectList(Wraps.<BomProcedureVersion>lbQ().
-                eq(BomProcedureVersion::getVersionId,procedure.getVersionId()).gt(BomProcedureVersion::getSort,procedure.getSort()).orderByAsc(BomProcedureVersion::getSort));
+        List<BomProcedureVersion> list = baseMapper.selectList(Wraps.<BomProcedureVersion>lbQ().eq(BomProcedureVersion::getVersionId,procedure.getVersionId()).gt(BomProcedureVersion::getSort,procedure.getSort()).orderByAsc(BomProcedureVersion::getSort));
 
-        if(list==null||list.size()==0)
+        if(list==null||list.size()==0) {
             return targetBomProcedure;
-
+        }
         for(BomProcedureVersion bp:list){
             if(!"2".equals(bp.getTrayConf())){//非上一工序
                 targetBomProcedure = bp;