diff --git a/src/main/java/com/dev/swms/server/service/shipping/pojo/DefaultNewWaveManager.java b/src/main/java/com/dev/swms/server/service/shipping/pojo/DefaultNewWaveManager.java index 0990cc7..2f3cdf8 100644 --- a/src/main/java/com/dev/swms/server/service/shipping/pojo/DefaultNewWaveManager.java +++ b/src/main/java/com/dev/swms/server/service/shipping/pojo/DefaultNewWaveManager.java @@ -197,14 +197,11 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements //打印第一次分组,根据大小件拆分工单 //↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ - logger.info("--------------------------Map> GongDan_WuLiao_Map = new HashMap<>();-----------------------------------------------"); - logger.info("-------------------------↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓-----------------------------------------------"); - for (String key : GongDan_WuLiao_Map.keySet()) { - logger.info("GongDan_WuLiao:" +key); + //logger.info("GongDan_WuLiao:" +key); List list_ff =GongDan_WuLiao_Map.get(key); for (FenPei fenPei : list_ff) { - logger.info(":" +fenPei.gdh+"--"+fenPei.wllx+"---"+fenPei.twl+"---"+fenPei.rqh+"---"+fenPei.chf_fz+"---"+fenPei.chf); + //logger.info(":" +fenPei.gdh+"--"+fenPei.wllx+"---"+fenPei.twl+"---"+fenPei.rqh+"---"+fenPei.chf_fz+"---"+fenPei.chf); } } //↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ @@ -225,13 +222,13 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements //↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ - logger.info("---------------------List GongDan_List = new ArrayList();-------------------------------------------"); - logger.info("---------------------↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓-------------------------------------------"); + //logger.info("---------------------List GongDan_List = new ArrayList();-------------------------------------------"); + //logger.info("---------------------↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓-------------------------------------------"); for (GongDanMingXi gdPaiXu : GongDan_List) { - logger.info("GongDan_WuLiao:" +gdPaiXu.gdh); + //logger.info("GongDan_WuLiao:" +gdPaiXu.gdh); List list_FenPei =gdPaiXu.list; for (FenPei fenPei : list_FenPei) { - logger.info(":" +fenPei.gdh+"--"+fenPei.wllx+"---"+fenPei.twl+"---"+fenPei.rqh); + //logger.info(":" +fenPei.gdh+"--"+fenPei.wllx+"---"+fenPei.twl+"---"+fenPei.rqh); } } //↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ @@ -273,16 +270,14 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements } } - logger.info("-----------------------------------------------------------------------"); - logger.info("-----------------------------------------------------------------------"); - logger.info("---------------------------打印计算结果--------------------------------------------"); + //logger.info("-----------------------------------------------------------------------"); + //logger.info("-----------------------------------------------------------------------"); + //logger.info("---------------------------打印计算结果--------------------------------------------"); int twl_count = 0; for (String twlKey : touwuliao_map.keySet()) { List list_show = touwuliao_map.get(twlKey); for (GongDanMingXi fenPei2 : list_show) { - logger.info("twl" + fenPei2.twl + " GDH:" + fenPei2.gdh - + " twlKey:" + twlKey + " GDHCount:" - + fenPei2.hangshu); + //logger.info("twl" + fenPei2.twl + " GDH:" + fenPei2.gdh+ " twlKey:" + twlKey + " GDHCount:"+ fenPei2.hangshu); twl_count++; StringBuffer rqm = new StringBuffer(); for (FenPei fff : fenPei2.list) { @@ -290,14 +285,14 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements } } - logger.info("-----------------------------------------------------------------------"); + //logger.info("-----------------------------------------------------------------------"); } // 计算没个容器号出现得次数(在每个头物料得分组里面) - logger.info("-------------------------------------------------------------------------------打印工单容器号----------------------------------------------------------------------------------------------------------------------------"); + //logger.info("-------------------------------------------------------------------------------打印工单容器号----------------------------------------------------------------------------------------------------------------------------"); for (String twlKey : touwuliao_map.keySet()) { List list_show = touwuliao_map.get(twlKey); @@ -352,8 +347,8 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements paixu.add(twlFenZu); } Collections.sort(paixu); - logger.info("---------------------------------------------------最后结果-----------------------------------------------------------------------------------------------"); - logger.info("-------------------------------------------------最后结果-------------------------------------------------------------------------------------------------"); + logger.info("---------------------------------------------------头物料拆分结果-----------------------------------------------------------------------------------------------"); + logger.info("↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓"); int wlcountString=0; for (TwlFenZu twlFenZu : paixu) { List list_show = twlFenZu.gdPaiXus; @@ -368,11 +363,10 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements logger.info(rqm.toString()); } logger.info("--------------------------------------------------------------------------------------------------------------------------------------------------"); - logger.info("--------------------------------------------------------------------------------------------------------------------------------------------------"); } - logger.info("---------------------------------------------最后结果-----------------------------------------------------------------------------------------------------"); - logger.info("----------------------------------------------最后结果--------------------------------------------------------------------------------------------------"); + logger.info("↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"); + logger.info("---------------------------------------------------头物料拆分结果-----------------------------------------------------------------------------------------------"); logger.info("GongDan_wuLiaoMingXiCout:"+GongDan_wuLiaoMingXiCout+"wlcountString:"+wlcountString); @@ -408,12 +402,14 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements gzzMap.put(code,gzz); } } - + logger.info("---------------------------------------------------工作站详情-----------------------------------------------------------------------------------------------"); + logger.info("↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓"); for (String key : gzzMap.keySet()) { GongZuoZhan gongZuoZhan=gzzMap.get(key); logger.info("Code:"+gongZuoZhan.code+" notFinished:"+gongZuoZhan.notFinished+" maxRenWu:"+gongZuoZhan.maxRenWu+" isEnble:"+gongZuoZhan.isEnble); } - + logger.info("↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"); + logger.info("---------------------------------------------------工作站详情-----------------------------------------------------------------------------------------------"); for (TwlFenZu twlFenZu : paixu) { List list_show = twlFenZu.gdPaiXus; //当前头物料所有的工单组合,以及每个工单的物料明细 int this_fenzuCount=twlFenZu.wl_count; //当前分组总物料行数 @@ -439,9 +435,9 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements //当前工单的物料 List list_wList=gongDanMingXi.list; int chao=(list_wList.size()+curr_gzz.notFinished+curr_gzz.renWuList.size())-curr_gzz.maxRenWu; - logger.info(listGzz.size()); + //logger.info(listGzz.size()); if(chao<=cfhs||index==list_show.size()-1){ - logger.info("11=="+listGzz.get(gzz_index)); + //logger.info("11=="+listGzz.get(gzz_index)); //如果当前待分配+此工作站未完成+已分配任务数 小于最大任务数 //将当前任务分配到此工作站 for (FenPei fenPei : list_wList) { curr_gzz.renWuList.add(fenPei); @@ -478,9 +474,8 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements for (String key : gzzMap.keySet()) { GongZuoZhan gongZuoZhan=gzzMap.get(key); logger.info("----------------------------------------------------开始分配----------------------------------------------------------------------"); - logger.info("--------------------------------------------------------------------------------------------------------------------------"); logger.info("Code:"+gongZuoZhan.code+" notFinished:"+gongZuoZhan.notFinished+" maxRenWu:"+gongZuoZhan.maxRenWu+" isEnble:"+gongZuoZhan.isEnble); - logger.info("--------------------------------------------------------------------------------------------------------------------------"); + logger.info("↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓"); for (FenPei fenPei : gongZuoZhan.renWuList) { fenPeiCount=fenPeiCount+1; String[] ids=fenPei.tsakId.split(","); @@ -494,12 +489,13 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements task.setEndRegion(gongZuoZhan.code); //task.setAgvStatus(1);//下发 this.commonDao.store(task); - logger.info("one:"+task.getBillCode()+"---"+task.getEndRegion()+"--two:-"+task.getOldGzz()+"---"+task.getOldZrw()+"--three:-"+fenPei.gdh+"-"+fenPei.chf_fz+"-----"+gongZuoZhan.code); + //logger.info("one:"+task.getBillCode()+"---"+task.getEndRegion()+"--two:-"+task.getOldGzz()+"---"+task.getOldZrw()+"--three:-"+fenPei.gdh+"-"+fenPei.chf_fz+"-----"+gongZuoZhan.code); + } - - logger.info(""+fenPei.twl_fz+"---"+fenPei.chf_fz+"---"+fenPei.chf+"---"+fenPei.gdh+"---"+fenPei.rqh); + logger.info("工作站:"+gongZuoZhan.code+" 工单号:"+fenPei.gdh+" 容器号:"+fenPei.rqh+" 拆分号:"+fenPei.chf+" 拆分组:"+fenPei.chf_fz+" 头物料:"+fenPei.twl_fz); + //logger.info(""+fenPei.twl_fz+"---"+fenPei.chf_fz+"---"+fenPei.chf+"---"+fenPei.gdh+"---"+fenPei.rqh); } - logger.info("--------------------------------------------------------------------------------------------------------------------------"); + logger.info("↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"); } logger.info("GongDan_wuLiaoMingXiCout:"+GongDan_wuLiaoMingXiCout+"wlcountString:"+wlcountString+" fenPeiCount:"+fenPeiCount); // 写入数据库 @@ -516,13 +512,25 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements GongZuoZhan check=listGzz.get(0); int max_rqh_count=0; int max_gzzx=0; + logger.info("------------------------匹配容器号和工作中心-----------------------------------------------"); + logger.info("↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓"); + logger.info("当前工单号:"+gongDanMingXi.gdh); for (GongZuoZhan gzz : listGzz) { + logger.info("当前工作站:"+gzz.code); + Listlist=gzz.renWuList; + StringBuffer sb_gzzx=new StringBuffer(); + StringBuffer sb_rqh=new StringBuffer(); + for (FenPei fenPei : list) { + sb_gzzx.append(fenPei.gzzx+" , "); + sb_rqh.append(fenPei.rqh+" , "); + } int chao=(list_wList.size()+gzz.notFinished+gzz.renWuList.size())-gzz.maxRenWu; - logger.info(listGzz.size()); + //logger.info(listGzz.size()); if(chao>cfhs){ + logger.info("工作站:"+gzz.code+"超出:"+chao+"无法分配,跳过此工作站"); continue; } - + StringBuffer sb_pipei=new StringBuffer(); int rqh_count=0; int gzzx=0; for (FenPei fenPei : list_wList) { @@ -531,9 +539,14 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements } if(gzz.RongQIHaoMap.containsKey(fenPei.rqh)){ rqh_count=rqh_count+1; + sb_pipei.append(fenPei.rqh); } } - Boolean isPiPeiGzzx=true; + logger.info("工作站:"+gzz.code+" gzzx:"+gzzx+" rqh_count:"+rqh_count); + logger.info(sb_gzzx.toString()); + logger.info(sb_rqh.toString()); + logger.info("匹配上的容器号: "+sb_pipei.toString()); + Boolean isPiPeiGzzx=false; if(isPiPeiGzzx){ if(max_gzzx==0 && gzzx==0 && rqh_count>max_rqh_count){ //如果工作中心未匹配过,且本次未匹配到工作中心 容器号 匹配 度大优先 @@ -562,8 +575,9 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements } } } - logger.info("------------------------匹配容器号和工作中心-----------------------------------------------"); + logger.info("容器号匹配次数:"+max_rqh_count+" 工作中心匹配次数:"+max_gzzx+" 工单号:"+gongDanMingXi.gdh+" 工作站:"+check.code); + logger.info("↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"); logger.info("------------------------匹配容器号和工作中心-----------------------------------------------"); return check; } @@ -625,8 +639,6 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements //打印第一次分组,根据大小件拆分工单 //↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ - //logger.info("--------------------------Map> GongDan_WuLiao_Map = new HashMap<>();-----------------------------------------------"); - //logger.info("--------------------------Map> GongDan_WuLiao_Map = new HashMap<>();-----------------------------------------------"); for (String key : GongDan_WuLiao_Map.keySet()) { //logger.info("GongDan_WuLiao:" +key); @@ -653,8 +665,7 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements //↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ - //logger.info("---------------------List GongDan_List = new ArrayList();-------------------------------------------"); - //logger.info("---------------------List GongDan_List = new ArrayList();-------------------------------------------"); + for (GongDanMingXi gdPaiXu : GongDan_List) { //logger.info("GongDan_WuLiao:" +gdPaiXu.gdh); List list_FenPei =gdPaiXu.list; @@ -662,7 +673,7 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements //logger.info(":" +fenPei.gdh+"--"+fenPei.wllx+"---"+fenPei.twl+"---"+fenPei.rqh); } } - //↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ + // 先根据头物料分组 如果头物料相同 且工单总行数 差异小于4的工单分到一个组里面 (尽量分配到同一工作站)