容器号匹配日志修复

main
768863620@qq.com 2025-01-14 14:29:31 +08:00
parent c930e431ca
commit b5c5fd62b0
1 changed files with 52 additions and 41 deletions

View File

@ -197,14 +197,11 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements
//打印第一次分组,根据大小件拆分工单
//↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
logger.info("--------------------------Map<String, List<FenPei>> 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<FenPei> 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<GdPaiXu> GongDan_List = new ArrayList<GdPaiXu>();-------------------------------------------");
logger.info("---------------------↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓-------------------------------------------");
//logger.info("---------------------List<GdPaiXu> GongDan_List = new ArrayList<GdPaiXu>();-------------------------------------------");
//logger.info("---------------------↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓-------------------------------------------");
for (GongDanMingXi gdPaiXu : GongDan_List) {
logger.info("GongDan_WuLiao:" +gdPaiXu.gdh);
//logger.info("GongDan_WuLiao:" +gdPaiXu.gdh);
List<FenPei> 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<GongDanMingXi> 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<GongDanMingXi> 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<GongDanMingXi> 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<GongDanMingXi> list_show = twlFenZu.gdPaiXus; //当前头物料所有的工单组合,以及每个工单的物料明细
int this_fenzuCount=twlFenZu.wl_count; //当前分组总物料行数
@ -439,9 +435,9 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements
//当前工单的物料
List<FenPei> 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);
List<FenPei>list=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<String, List<FenPei>> GongDan_WuLiao_Map = new HashMap<>();-----------------------------------------------");
//logger.info("--------------------------Map<String, List<FenPei>> 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<GdPaiXu> GongDan_List = new ArrayList<GdPaiXu>();-------------------------------------------");
//logger.info("---------------------List<GdPaiXu> GongDan_List = new ArrayList<GdPaiXu>();-------------------------------------------");
for (GongDanMingXi gdPaiXu : GongDan_List) {
//logger.info("GongDan_WuLiao:" +gdPaiXu.gdh);
List<FenPei> 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的工单分到一个组里面 (尽量分配到同一工作站)