波次提交

main
userName 2025-03-01 10:02:08 +08:00
parent cc566e8b66
commit f943b8ad32
10 changed files with 74 additions and 28 deletions

View File

@ -6,11 +6,11 @@ public interface WaveDocStatus {
*/
public static String OPEN = "OPEN";
/**
*
*
*/
public static String ACTIVE = "ACTIVE";
/**
* ;
* ;
*/
public static String ALLOCATE = "ALLOCATE";
/**

View File

@ -3229,11 +3229,17 @@ public class DefaultAutoAllocator extends DefaultBaseManager implements AutoAllo
WaveDoc w= commonDao.load(WaveDoc.class, id);
List<Task> tids=commonDao.findByQuery(" from Task t where t.agvStatus in(0,-1) and t.waveDoc.id= "+id);
Boolean beEnd=false;
List<Long> pdids=new ArrayList<Long>();//出库id
for(Task t:tids) {
PickTicketDetail ptd=commonDao.load(PickTicketDetail.class, t.getPickTicketDetail().getId());
PickTicket pt=commonDao.load(PickTicket.class, ptd.getPickTicket().getId());
if(!pdids.contains(ptd.getPickTicket().getId())) {
pdids.add(ptd.getPickTicket().getId());
}
if(!pt.getStatus().equals(PickTicketStatus.CHECK)) {
pt.setStatus(PickTicketStatus.CHECK);
commonDao.store(pt);
}
t.setStrBill1(UserHolder.getUser().getName());
t.setDateBill1(new Date());
t.setAgvStatus(1);//1=可以分配分拨墙并下发AGV
@ -3245,6 +3251,14 @@ public class DefaultAutoAllocator extends DefaultBaseManager implements AutoAllo
if(tids.size()==0) {
w.setStatus("ALLOCATE");
}
//给SAP回传状态
if(pdids.size()>0) {
for(Long pid:pdids) {
List<Task> tasks= commonDao.findByQuery(" from Task t where "
+ " t.pickTicketDetail.pickTicket.id="+pid+" and t.planQuantity>0 ");
boolean SAPstatus= interfaceReqManager.wmsSapZhuantaihuichuang(tasks, 0,"",1);//状态回传
}
}
//关闭未入波的数据
// if(beEnd) {
//

View File

@ -28,6 +28,7 @@ import com.dev.swms.server.model.inventory.Task;
import com.dev.swms.server.model.receiving.SlotType;
import com.dev.swms.server.model.shipping.NewWaveFlag;
import com.dev.swms.server.model.shipping.WaveDoc;
import com.dev.swms.server.model.shipping.WaveDocStatus;
import com.dev.swms.server.service.shipping.NewWaveManager;
import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
@ -122,7 +123,7 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements
+ "left join ITEM_KEY ik2 on ik2.id=b.ITEM_KEY_ID "
+ "left join item item2 on item2.id=ik2.ITEM_ID "
+ "where 1=1 and b.BILLCODE=t.BILLCODE and pt1.BILL_TYPE_ID=1094 and loc2.id=loc.id and item2.id=item.id "
// " and b.PLAN_QUANTITY_MU-b.MOVED_QUANTITY_MU>0 "+
+ " and b.PLAN_QUANTITY_MU-b.MOVED_QUANTITY_MU>0 "
+ " for xml Path('')),1,1,'') as taskId,"
+ "item.code as liaohao ,"
+ "max(z.id) as kuqu,"
@ -602,6 +603,7 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements
}
task.setOldZrw(fenPei.gdh + "-"
+ (fenPei.chf_fz + seq ));
}
// task.setBillCode(fenPei.gdh+"-"+lx+"-"+fenPei.chf_fz);
@ -614,7 +616,9 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements
// task.setAgvStatus(-1);//旧逻辑运行,状态不动,先注释
// }
task.setOldGzz(gongZuoZhan.code);
task.setBillCode(task.getOldZrw());
task.setEndRegion(task.getOldGzz());
task.setStrBill9(lx+"-"+fenPei.chf_fz);
task.setStrBill8(fenPei.twl);
this.commonDao.store(task);
@ -1377,7 +1381,8 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements
+ " LEFT JOIN ITEM item ON item.id= ik.ITEM_ID "
+ " LEFT JOIN WAVE_DOC wd ON wd.id= t.WAVE_DOC_ID "
+ " WHERE 1 = 1 AND pt.BILL_TYPE_ID= 1094 and loc.ZONE_ID in (1763,1765,1766) "
+ " AND t.agv_Status in (-2) " // (-1,1,2)
+ " AND t.agv_Status in (-1,1,2) " // (-1,1,2)
+ " AND t.PLAN_QUANTITY>0 and t.MOVED_QUANTITY_MU=0 "
+ " AND t.WAVE_DOC_ID IS NOT NULL and t.END_REGION is not null and wd.code!='"
+ waveDocCode
+ "' "
@ -1530,7 +1535,10 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements
//定义工作站最小能效数,自适应开启工作站数
//自适应合理开启工作站数gzz_codes每个工作站暂定60
int lx_jianHuoXiaoLv=getValueGzzNumber(lx_sx);
List<Object[]> lx_wwc_list=getTaskList(waveDoc.getCode(), NewWaveFlag.LXQ);
List<Object[]> lx_wwc_list=getTaskList(waveDoc.getCode(), NewWaveFlag.LXQ);//料箱区任务
List<Object[]> hj_wwc_list=getTaskList(waveDoc.getCode(), NewWaveFlag.HJQ);//货架区任务
List<Object[]> lk_wwc_list=getTaskList(waveDoc.getCode(), NewWaveFlag.LKQ);//立库区任务
if(lx_wwc_list.size()<=lx_jianHuoXiaoLv*5){//lx_jianHuoXiaoLv*lx_codes.size()/2
List<GongZuoZhan> gzlistGongZuoZhans = new ArrayList<DefaultNewWaveManager.GongZuoZhan>();
for (String gongzuozhancode : lx_codes) {
@ -1560,16 +1568,35 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements
lkCount += gzz_maps.get(code) == null ? 0 : gzz_maps.get(code);
}
//有任务没有分配分配工作站错误
allocateGZZ(lx_wwc_list, lx_codes,
(int) lx_sx.getTaskD(), lx_jianHuoXiaoLv, lxCount,
gzz_maps);
allocateGZZ(getTaskList(waveDoc.getCode(), NewWaveFlag.HJQ), hj_codes,
(int) hj_sx.getTaskD(), getValueGzzNumber(hj_sx), hjCount,
gzz_maps);
allocateGZZ(getTaskList(waveDoc.getCode(), NewWaveFlag.LKQ), lk_codes,
(int) lk_sx.getTaskD(), getValueGzzNumber(lk_sx), lkCount,
gzz_maps);
if(lx_wwc_list.size()>0) {
if(lx_codes.size()>0) {
allocateGZZ(lx_wwc_list, lx_codes,
(int) lx_sx.getTaskD(), lx_jianHuoXiaoLv, lxCount,
gzz_maps);
}else {
throw new BusinessException("请选择料箱区工作站!");
}
}
if(hj_wwc_list.size()>0) {
if(hj_codes.size()>0) {
allocateGZZ(hj_wwc_list, hj_codes,
(int) hj_sx.getTaskD(), getValueGzzNumber(hj_sx), hjCount,
gzz_maps);
}else {
throw new BusinessException("请选择货架区工作站!");
}
}
if(lk_wwc_list.size()>0) {
if(lk_codes.size()>0) {
allocateGZZ(lk_wwc_list, lk_codes,
(int) lk_sx.getTaskD(), getValueGzzNumber(lk_sx), lkCount,
gzz_maps);
}else {
throw new BusinessException("请选择立库工作站!");
}
}
waveDoc.setStatus(WaveDocStatus.ACTIVE);
commonDao.store(waveDoc);

View File

@ -4551,6 +4551,8 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick
newTask.setWorker2(t.getWorker2());
newTask.setDateBill1(t.getDateBill1());
newTask.setStrBill1(t.getStrBill1());
newTask.setStrBill10(t.getStrBill10());
newTask.setNcrCode(t.getNcrCode());
newTask.setStrBill3(t.getStrBill3());
commonDao.store(newTask);
t.setPlanQuantity(pickedQuantity);
@ -8511,7 +8513,6 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick
waveDoc.setEndDate(date2);
waveDoc.setPrintCount(taskqty);//拆分行数
commonDao.store(waveDoc);
// WaveDoc waveDoc=this.load(WaveDoc.class, waveDocId);
List<Long> pdids=new ArrayList<Long>();
for(Long id:ids){
Task task =this.load(Task.class, id);
@ -8530,10 +8531,9 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick
if(pdids.size()>0) {
for(Long pid:pdids) {
PickTicket pt= commonDao.load(PickTicket.class, pid);
List<Task> tasks= commonDao.findByQuery(" from Task t where "
+ " t.pickTicketDetail.pickTicket.id="+pid+" and t.planQuantity>0 ");
boolean SAPstatus= interfaceReqManager.wmsSapZhuantaihuichuang(tasks, 0,"",1);//状态回传
// interfaceReqManager.saptoWmsTaskStatus(tasks, 1, SAPstatus);
// List<Task> tasks= commonDao.findByQuery(" from Task t where "
// + " t.pickTicketDetail.pickTicket.id="+pid+" and t.planQuantity>0 ");
// boolean SAPstatus= interfaceReqManager.wmsSapZhuantaihuichuang(tasks, 0,"",1);//状态回传
shuaxinPick(pt);//刷新订单
}

View File

@ -414,6 +414,7 @@ public class ASNReceiveServlet extends HttpServlet {
String types =json.has("type")?json.getString("type"):"";
resultJson=app.queryTaskList(z_id,types, workerId, wId);
}else if("receiveTask".equals(methodType)){
//PDA领取拣货任务
String taskIds =json.has("taskIds")?json.getString("taskIds"):"";
resultJson=this.receiveTask(taskIds, workerId, wId, commonDao);
}else if("queryLoc".equals(methodType)){

View File

@ -43,6 +43,7 @@
<booleanList id="item.beMarkWeight" title="是否序列号" row="18" col="2" span="1" readOnly="false" required="false" reserve="false" forceOverride="true" inVisible="false"/>
<booleanList id="strExtend1" title="图片" row="20" col="2" span="1" readOnly="false" required="false" reserve="false" forceOverride="true" inVisible="false"/>
<booleanList id="item.beUnpacking" title="是否一包一个" row="20" col="2" span="1" readOnly="false" required="false" reserve="false" forceOverride="true" inVisible="false"/>
</inputUIs>
</search>
@ -66,7 +67,7 @@
item.alertLeadingDays,
item.singleItem,
item.brand,
item.beUnpacking,
item.beUnpacking,
item.beMarkWeight,
item.isBOM,
item.beWeight,
@ -87,7 +88,7 @@
/~item.beInv: and item.beInv = {item.beInv} ~/
/~strExtend1: and ((item.strExtend1 is not null and {strExtend1}=true)
or (item.strExtend1 is null and {strExtend1}=false) ) ~/
/~item.beUnpacking: and item.beUnpacking = {item.beUnpacking} ~/
/~item.beSAPItem: and item.beSAPItem = {item.beSAPItem} ~/
/~item.shipRules: and item.shipRules like {item.shipRules} ~/
/~item.CAname: and item.CAname like {item.CAname} ~/

View File

@ -76,7 +76,7 @@
<checkbox id="lk5" title="605" row="15" col="5" defaultValue="false" span="1" readOnly="false" required="false" reserve="false" forceOverride="true" inVisible="true"/>
</inputUIs>
<buttons>
<commit id="save" title="save"
<commit id="11save22" title="save"
enableType="none" invisible="false">
<mappings>
<mapping id="waveDoc.id" className="long"/>

View File

@ -53,6 +53,7 @@
pickTicket.allocatedQuantity,
pickTicket.pickedQuantity,
pickTicket.shippedQuantity,
pickTicket.shipmentMethod,
pickTicket.updateTime,
pickTicket.updateTime
from PickTicket pickTicket
@ -104,7 +105,8 @@
<column id="pickTicket.shippedQuantity" width="60"
title="发运数量" visible="true" horizonAlign="center"
dataType="double" />
<column id="pickTicket.shipmentMethod" width="140" title="交接位置"
visible="true" horizonAlign="center" />
<column id="pickTicket.updateTime1" title="创建日期" visible="true"
horizonAlign="center" format="dateFormatter"/>
<column id="pickTicket.updateTime2" title="创建时间" visible="true"

View File

@ -175,8 +175,9 @@
pickTicket.equatedQuantity,
t.barCode,
t.inventoryStatus,
t.beUnpacking,
pickTicketDetail.lineNumber,
t.beUnpacking,
pickTicket.updateTime,
pickTicket.updateTime,
t.strBill1,

View File

@ -48,9 +48,9 @@
containId="false" pageId="editbkcbPage2" >
<enableExpression><![CDATA[(${waveDoc.status} =='OPEN')]]></enableExpression>
</popup>
<popup id="issuedFpTask" title="分配" enableType="none" invisible="false"
<popup id="231issuedFpTask312" title="分配工作站" enableType="none" invisible="false"
containId="false" pageId="editbkfpPage" >
<!-- <enableExpression><![CDATA[(${waveDoc.status} =='OPEN')]]></enableExpression> -->
<enableExpression><![CDATA[(${waveDoc.status} =='OPEN')]]></enableExpression>
</popup>
<!-- <commit id="celenPick" title="下发" enableType="none"
invisible="false" >