任务分配处理
parent
709b9cf354
commit
2f43563fbe
|
|
@ -85,7 +85,7 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements
|
|||
}
|
||||
|
||||
public void allocateGZZ(String waveDocCode, Long zone_id,
|
||||
List<String> gzz_codes, int cfhs, int jhxl, int syhs,
|
||||
List<String> gzz_codes, int cfhs, int jianHuoXiaoLv, int FenPeiWeiChuLiRenWu,
|
||||
Map<String, Integer> gzz_maps) {
|
||||
Session session = ((HibernateDaoSupport) this.commonDao)
|
||||
.getSessionFactory().openSession();
|
||||
|
|
@ -352,12 +352,12 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements
|
|||
}
|
||||
Collections.sort(gzlistGongZuoZhans);
|
||||
|
||||
int count_all = syhs + list_fenpei.size();// 所有未处理的数据
|
||||
int count_all = FenPeiWeiChuLiRenWu + list_fenpei.size();// 所有未处理的数据
|
||||
int gzz_nx_avg = count_all / gzz_codes.size();// 得到工作站的平均能效,
|
||||
Map<String, GongZuoZhan> gzzMap = new HashMap<>();
|
||||
|
||||
if (gzz_nx_avg < jhxl) {
|
||||
gzz_nx_avg = jhxl;
|
||||
LogPrint(log_GongZuoZhanMinXi,"gzz_nx_avg:"+gzz_nx_avg+"");
|
||||
if (gzz_nx_avg < jianHuoXiaoLv) {
|
||||
gzz_nx_avg = jianHuoXiaoLv;
|
||||
int fenpeiALl = 0;
|
||||
for (GongZuoZhan gongZuoZhan : gzlistGongZuoZhans) {
|
||||
int notFinished = gongZuoZhan.notFinished;
|
||||
|
|
@ -382,7 +382,7 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements
|
|||
gzzMap.put(gzz.code, gzz);
|
||||
}
|
||||
}
|
||||
|
||||
LogPrint(log_GongZuoZhanMinXi,"gzz_nx_avg:"+gzz_nx_avg+"jianHuoXiaoLv:"+jianHuoXiaoLv);
|
||||
LogPrint(
|
||||
log_GongZuoZhanMinXi,
|
||||
"---------------------------------------------------工作站详情-----------------------------------------------------------------------------------------------");
|
||||
|
|
@ -404,6 +404,7 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements
|
|||
for (TwlFenZu twlFenZu : twlFenZuList) {
|
||||
List<GongDanMingXi> gongDanList = twlFenZu.gdPaiXus; // 当前头物料所有的工单组合,以及每个工单的物料明细
|
||||
int this_fenzuCount = twlFenZu.wl_count; // 当前分组总物料行数
|
||||
int this_notFenPei=this_fenzuCount;
|
||||
List<GongZuoZhan> listGzz = FaiXuGzz(gzzMap); // 工作站根据可分配数量进行排序
|
||||
|
||||
if (gongDanList.size() == 1) {
|
||||
|
|
@ -411,11 +412,13 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements
|
|||
GongZuoZhan curr_gzz = PiPeiGongZuoZhanForGzzxAndRqh(listGzz,
|
||||
gongDanMingXi, cfhs);
|
||||
List<FenPei> list_wList = gongDanMingXi.list;
|
||||
|
||||
for (FenPei fenPei : list_wList) {
|
||||
curr_gzz.renWuList.add(fenPei);
|
||||
curr_gzz.RongQIHaoMap.put(fenPei.rqh, "");
|
||||
curr_gzz.GongZuoZhongXinMap.put(fenPei.gzzx, "");
|
||||
}
|
||||
this_notFenPei=this_notFenPei-list_wList.size();
|
||||
gzzMap.put(curr_gzz.code, curr_gzz);
|
||||
|
||||
} else {
|
||||
|
|
@ -427,10 +430,10 @@ 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;
|
||||
int GzzRenwuOver = (list_wList.size() + curr_gzz.notFinished + curr_gzz.renWuList.size()) - curr_gzz.maxRenWu;
|
||||
// LogPrint(listGzz.size());
|
||||
if (chao <= cfhs || index == gongDanList.size() - 1) {
|
||||
//如果当前任务分配进此工作站不超过最大任务数,或者 当前任务在内 剩余数量不超过 拆分行数或者 当前工单是最后一个工单
|
||||
if (GzzRenwuOver <= 0 || (this_notFenPei<=cfhs||index == gongDanList.size() - 1)) {
|
||||
// LogPrint("11=="+listGzz.get(gzz_index));
|
||||
// 如果当前待分配+此工作站未完成+已分配任务数 小于最大任务数 //将当前任务分配到此工作站
|
||||
for (FenPei fenPei : list_wList) {
|
||||
|
|
@ -438,6 +441,7 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements
|
|||
curr_gzz.RongQIHaoMap.put(fenPei.rqh, "");
|
||||
curr_gzz.GongZuoZhongXinMap.put(fenPei.gzzx, "");
|
||||
}
|
||||
this_notFenPei=this_notFenPei-list_wList.size();
|
||||
if (index == gongDanList.size() - 1) {
|
||||
// 最后一个工单
|
||||
gzzMap.put(curr_gzz.code, curr_gzz);
|
||||
|
|
@ -452,6 +456,7 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements
|
|||
curr_gzz.RongQIHaoMap.put(fenPei.rqh, "");
|
||||
curr_gzz.GongZuoZhongXinMap.put(fenPei.gzzx, "");
|
||||
}
|
||||
this_notFenPei=this_notFenPei-list_wList.size();
|
||||
if (index == gongDanList.size() - 1) {
|
||||
// 最后一个工单
|
||||
gzzMap.put(curr_gzz.code, curr_gzz);
|
||||
|
|
|
|||
Loading…
Reference in New Issue