diff --git a/src/main/java/com/dev/swms/server/model/base/Item.java b/src/main/java/com/dev/swms/server/model/base/Item.java index 3151ee5..0ace22c 100644 --- a/src/main/java/com/dev/swms/server/model/base/Item.java +++ b/src/main/java/com/dev/swms/server/model/base/Item.java @@ -133,7 +133,10 @@ public class Item extends Entity { private boolean beExtend1=false;//扩展1 private boolean beExtend2=false;//扩展2 private boolean beUnpacking=false;//是否最小包装 - + + private boolean beWholeLine=false;//是否整行发料,不满足整行需要备注。 + + private Double multipleOrder=0d;// private int codePat=0 ;// diff --git a/src/main/java/com/dev/swms/server/model/base/WarehouseArea.java b/src/main/java/com/dev/swms/server/model/base/WarehouseArea.java index 2b29a9e..33384bc 100644 --- a/src/main/java/com/dev/swms/server/model/base/WarehouseArea.java +++ b/src/main/java/com/dev/swms/server/model/base/WarehouseArea.java @@ -34,7 +34,7 @@ public class WarehouseArea extends Entity { /**备注*/ private String gdm;//固定地标点 private Long decLocId;//拣货货架ID - /** 是否扫描容器 */ + /** 是否料号交单 */ private boolean beStock;// /** 是否合单 */ private boolean beBill;// diff --git a/src/main/java/com/dev/swms/server/model/view/TaskHeBinView.java b/src/main/java/com/dev/swms/server/model/view/TaskHeBinView.java index bd7b783..856839f 100644 --- a/src/main/java/com/dev/swms/server/model/view/TaskHeBinView.java +++ b/src/main/java/com/dev/swms/server/model/view/TaskHeBinView.java @@ -45,7 +45,7 @@ public class TaskHeBinView extends Entity { private double quantity; private int levels=0;//库区是否合单任务 - /** 是否扫描容器 */ + /** 是否料号交单 */ private boolean beStock;// /** 是否合单 */ private boolean beBill;// diff --git a/src/main/java/com/dev/swms/server/service/base/pojo/DefaultAgvTaskManager.java b/src/main/java/com/dev/swms/server/service/base/pojo/DefaultAgvTaskManager.java index db934ee..ce2468f 100644 --- a/src/main/java/com/dev/swms/server/service/base/pojo/DefaultAgvTaskManager.java +++ b/src/main/java/com/dev/swms/server/service/base/pojo/DefaultAgvTaskManager.java @@ -1725,6 +1725,7 @@ public class DefaultAgvTaskManager extends DefaultBaseManager implements AgvTask flag = interfaceReqManager.agvASNOutbound("20501", agvTask.getContainerCode(), agvTask.getRobotJobId(), agvTask.getTargetAreaCode()); if (flag) { agvTask.setStatus(STATUS.RECEIVED); + agvTask.setArrivalTime(new Date()); commonDao.store(agvTask); } return flag; diff --git a/src/main/java/com/dev/swms/server/service/base/pojo/DefaultImportFileManager.java b/src/main/java/com/dev/swms/server/service/base/pojo/DefaultImportFileManager.java index c6a55e2..587f866 100644 --- a/src/main/java/com/dev/swms/server/service/base/pojo/DefaultImportFileManager.java +++ b/src/main/java/com/dev/swms/server/service/base/pojo/DefaultImportFileManager.java @@ -1111,7 +1111,7 @@ public class DefaultImportFileManager extends DefaultBaseManager implements Impo item.setGoodType(bs); */ if(zoneName!=null&&zoneName.length()>0) { - List zoneList= commonDao.findByQuery(" from WarehouseArea w where w.name='"+zoneName+"' and w.disabled=false "); + List zoneList= commonDao.findByQuery(" from WarehouseArea w where w.name='"+zoneName.trim()+"' and w.disabled=false "); if(zoneList.size()>0) { item.setDefaultWarehouseArea(zoneList.get(0)); } diff --git a/src/main/java/com/dev/swms/server/service/count/CountPlanManager.java b/src/main/java/com/dev/swms/server/service/count/CountPlanManager.java index d7843dd..3b56ab3 100644 --- a/src/main/java/com/dev/swms/server/service/count/CountPlanManager.java +++ b/src/main/java/com/dev/swms/server/service/count/CountPlanManager.java @@ -179,7 +179,7 @@ public interface CountPlanManager extends BaseManager { void AGVworke(Long countPlanId,boolean w1,boolean w2,boolean w3,boolean w4,boolean w5,boolean w6,boolean w7,boolean w8,boolean w9,boolean w10, boolean w11,boolean w12,boolean w13,boolean w14,boolean w15,boolean w16,boolean w17,boolean w18,boolean w19,boolean w20,boolean w21,boolean w22, boolean w601,boolean w602,boolean w603,boolean w604,boolean w605,double w31,double w32,double w33,double w34,double w35,double w36,double w37 - ,double w38,double w39,double w40,double w41); + ,double w38,double w39,double w40,double w41,double w42,double w43); @Transactional void AGVworke(Long countPlanId,boolean w1,boolean w2,boolean w3,boolean w4,boolean w5,boolean w6,boolean w7,boolean w8,boolean w9,boolean w10, boolean w11,boolean w12,boolean w13,boolean w14,boolean w15,boolean w16,boolean w17,boolean w18,boolean w19,boolean w20,boolean w21,boolean w22); diff --git a/src/main/java/com/dev/swms/server/service/count/pojo/DefaultCountPlanManager.java b/src/main/java/com/dev/swms/server/service/count/pojo/DefaultCountPlanManager.java index 0b78dad..9a75d98 100644 --- a/src/main/java/com/dev/swms/server/service/count/pojo/DefaultCountPlanManager.java +++ b/src/main/java/com/dev/swms/server/service/count/pojo/DefaultCountPlanManager.java @@ -1597,7 +1597,7 @@ public class DefaultCountPlanManager extends DefaultBaseManager implements boolean w18,boolean w19,boolean w20,boolean w21,boolean w22) { AGVworke( countPlanId, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12, w13, w14, w15, w16, w17, - w18, w19, w20, w21,w22,false,false,false,false,false,0,0,0,0,0,0,0,0,0,0,0); + w18, w19, w20, w21,w22,false,false,false,false,false,0,0,0,0,0,0,0,0,0,0,0,0,0); } public List quserCountPlanTask(long zone_id,long countPlanId) { List ddq=commonDao.findByQuery(" from CountRecord c where c.location.zone.id="+zone_id @@ -1608,7 +1608,8 @@ public class DefaultCountPlanManager extends DefaultBaseManager implements public void AGVworke(Long countPlanId,boolean w1,boolean w2,boolean w3,boolean w4,boolean w5,boolean w6,boolean w7,boolean w8,boolean w9,boolean w10, boolean w11,boolean w12,boolean w13,boolean w14,boolean w15,boolean w16,boolean w17, boolean w18,boolean w19,boolean w20,boolean w21,boolean w22,boolean w601,boolean w602,boolean w603,boolean w604,boolean w605, - double w31,double w32,double w33,double w34,double w35,double w36,double w37,double w38,double w39,double w40,double w41) { + double w31,double w32,double w33,double w34,double w35,double w36,double w37,double w38, + double w39,double w40,double w41,double w42,double w43) { CountPlan countPlan=commonDao.load(CountPlan.class, countPlanId); if(countPlan!=null) { //料箱区 @@ -1816,6 +1817,14 @@ public class DefaultCountPlanManager extends DefaultBaseManager implements if(wwc1.size()>0&&w41==0) { throw new BusinessException("1号万纬外仓有盘点任务,必须勾选"); } + List qd3=quserCountPlanTask(1819L, countPlanId);//7#3楼地堆区 + if(qd3.size()>0&&w42==0) { + throw new BusinessException("7#3楼地堆区有盘点任务,必须勾选"); + } + List qd4=quserCountPlanTask(1822L, countPlanId);//7#4楼地堆区 + if(qd4.size()>0&&w43==0) { + throw new BusinessException("7#4楼地堆区有盘点任务,必须勾选"); + } int l=0;//料箱区 for(Stock stock:sts) { //工作个数 @@ -1980,6 +1989,14 @@ public class DefaultCountPlanManager extends DefaultBaseManager implements //1号万纬外仓 distributeCountPlan(w41, wwc1); } + if(w42>0) { + //1号万纬外仓 + distributeCountPlan(w42, qd3); + } + if(w43>0) { + //1号万纬外仓 + distributeCountPlan(w43, qd4); + } List countRecords=commonDao.findByQuery(" from CountRecord c where c.countCode is null " +" and c.countPlan.id="+countPlanId+" order by c.location.zone.code,c.location.code"); if(countRecords.size()==0) { @@ -1990,7 +2007,7 @@ public class DefaultCountPlanManager extends DefaultBaseManager implements //无指定库区的料号一个任务号 String zondName="";//库区 String billcode="";//盘点单号 - for(CountRecord red:hxpq) { + for(CountRecord red:countRecords) { Location loc=commonDao.load(Location.class, red.getLocation().getId()); WarehouseArea zone=commonDao.load(WarehouseArea.class, loc.getZone().getId()); if(zondName.equals("")) { diff --git a/src/main/java/com/dev/swms/server/service/interfaceLog/pojo/DefaultInterfaceReqManager.java b/src/main/java/com/dev/swms/server/service/interfaceLog/pojo/DefaultInterfaceReqManager.java index b785a03..91548cf 100644 --- a/src/main/java/com/dev/swms/server/service/interfaceLog/pojo/DefaultInterfaceReqManager.java +++ b/src/main/java/com/dev/swms/server/service/interfaceLog/pojo/DefaultInterfaceReqManager.java @@ -519,7 +519,11 @@ public class DefaultInterfaceReqManager extends DefaultBaseManager implements In receivedRecord.getReceivedQuantity(), null, srcInv == null ? "" : srcInv.getStatus(), srcInv == null ? 0L : srcInv.getId(), null, asn.getBillType(), userId1, receivedRecord.getBarCode(), null,asn.getSourceType()); - + if(item!=null&&receivedRecord.getLocation()!=null) { + Location location=commonDao.load(Location.class, receivedRecord.getLocation().getId()); + item.setWarehouseArea(location.getZone()); + commonDao.store(item); + } inventoryManager.createReceivingInventory( receivedRecord,receivedRecord.getLocation()); } diff --git a/src/main/java/com/dev/swms/server/service/interfaceLog/pojo/DefaultInterfaceRespManager.java b/src/main/java/com/dev/swms/server/service/interfaceLog/pojo/DefaultInterfaceRespManager.java index 2792231..d600326 100644 --- a/src/main/java/com/dev/swms/server/service/interfaceLog/pojo/DefaultInterfaceRespManager.java +++ b/src/main/java/com/dev/swms/server/service/interfaceLog/pojo/DefaultInterfaceRespManager.java @@ -1811,7 +1811,7 @@ public class DefaultInterfaceRespManager extends DefaultBaseManager implements I ASNDetail asnDetail=EntityFactory.getEntity(ASNDetail.class); String adhql=" from ASNDetail ad where ad.lineNo='"+lineNo+"' and ad.asn.id="+asndb.getId(); if(strBill2!=null&&!strBill2.equals("")) { - adhql+=" and ad.strBill2='"+strBill2+"'"; + adhql+=" and ad.strBill2='"+strBill2.trim()+"'"; } List asnDetails = commonDao.findByQuery(adhql); // List asnDetails = commonDao.findByQuery(" from ASNDetail ad where ad.lineNo=:lineNo and ad.asn.id=:id", @@ -1989,7 +1989,7 @@ public class DefaultInterfaceRespManager extends DefaultBaseManager implements I } asnDetail.setExpectedQuantity(expectedQuantity); asnDetail.setItem(item); - asnDetail.setStrBill2(strBill2); + asnDetail.setStrBill2(strBill2.trim()); asnDetail.setStrBill1(strBill1); asnDetail.setStrBill3(strBill3); asnDetail.setStrBill4(strBill4); @@ -2116,7 +2116,6 @@ public class DefaultInterfaceRespManager extends DefaultBaseManager implements I } if(errorcode.equals("200")&&hs.equals("1")) { - for(int j=0;j billTypes=commonDao.findByQuery(" from BillType bt where bt.code='"+billType+"'"); @@ -2133,21 +2132,21 @@ public class DefaultInterfaceRespManager extends DefaultBaseManager implements I String strBill2=asn.has("SERNR") ? asn.getString("SERNR") : "";//序列号 String strBill7=asn.has("RSNUM") ? asn.getString("RSNUM") : "";//预留号 String strBill8=asn.has("RSPOS") ? asn.getString("RSPOS") : "";//预留项次号 - String propC3=asn.has("SBBST") ? asn.getString("SBBST") : "";//特殊标记 - +// String propC3=asn.has("SBBST") ? asn.getString("SBBST") : "";//特殊标记 + String propC3=asn.has("PROPC3") ? asn.getString("PROPC3") : "";//特殊标记入库 String strBill3=asn.has("ZXSQ") ? asn.getString("ZXSQ") : "";//是否线上质检 String sccj=asn.has("ZXXQ") ? asn.getString("ZXXQ") : "";//是否线下质检 String ZGDI=asn.has("ZGDI") ? asn.getString("ZGDI") : "";//是否发货 String MEINS=asn.has("MEINS") ? asn.getString("MEINS") : "";//单位 String ZOUTWMS=asn.has("ZOUTWMS") ? asn.getString("ZOUTWMS") : "";//是否出WMS仓 - String strBill4=asn.has("strBill4") ? asn.getString("strBill4") : "";//供应商号 + String propC5=asn.has("STRBILL4") ? asn.getString("STRBILL4") : "";//供应商号 String strBill5=asn.has("strBill5") ? asn.getString("strBill5") : "";//需求人 String sourceType=asn.has("BWART") ? asn.getString("BWART") : "";//移动类型 String strBill6=asn.has("strBill6") ? asn.getString("strBill6") : "";//删除标记 String propC9=asn.has("WERKS") ? asn.getString("WERKS") : "";//接受工厂 String propC2=asn.has("ZWERKST") ? asn.getString("ZWERKST") : "";//发出库存地 // String propC5=asn.has("ZSONUM") ? asn.getString("ZSONUM") : "";//特殊库存业务编号 - String propC5=asn.has("LIFNR") ? asn.getString("LIFNR") : "";//特殊库存业务编号 + String strBill4=asn.has("LIFNR") ? asn.getString("LIFNR") : "";//特殊库存业务编号发货 String DATUM=asn.has("DATUM") ? asn.getString("DATUM") : "2021-12-31"; //日期 年-月-日 String UZEIT=asn.has("UZEIT") ? asn.getString("UZEIT") : "00:00:00"; //时间 时:分:秒 diff --git a/src/main/java/com/dev/swms/server/service/interfaceLog/pojo/DefaultQueryAppManager.java b/src/main/java/com/dev/swms/server/service/interfaceLog/pojo/DefaultQueryAppManager.java index 6be9b2d..98e30ad 100644 --- a/src/main/java/com/dev/swms/server/service/interfaceLog/pojo/DefaultQueryAppManager.java +++ b/src/main/java/com/dev/swms/server/service/interfaceLog/pojo/DefaultQueryAppManager.java @@ -181,11 +181,13 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA + "item.ISBOM," + "(case when item.default_Warehouse_Area_ID is not NULL then item.default_Warehouse_Area_ID ELSE z.id END) as z_id," + "item.volume,item.BE_MARK_WEIGHT as beMarkWeight,item.FEE_TYPE," - + " item.be_Extend1,item.be_Extend2,asn.BILL_TYPE_ID,ad.strBill11,ad.bf_qty ,z.name as z_name " + + " item.be_Extend1,item.be_Extend2,asn.BILL_TYPE_ID,ad.strBill11,ad.bf_qty ,z.name as z_name," + + "z1.name as z1_name " + " from ASN_DETAIL ad " + " left join ASN asn on asn.id=ad.ASN_ID " + " left join ITEM item on item.id=ad.ITEM_ID " + " left join zone z on z.id=item.warehouse_Area_ID " + + " left join zone z1 on z1.id=item.default_Warehouse_Area_ID " + " where 1=1 and ( (ad.strBill=1 or ad.be_quality=0)) "; String jq=""; if(itemcode!=null&&!itemcode.equals("")) { @@ -324,7 +326,17 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA return resultJson; } } - zoneCode= arrier[23]==null?"":arrier[23].toString();//库区 + zoneCode= arrier[23]==null?"":arrier[23].toString();//推荐库区 + String zone1Code= arrier[24]==null?"":arrier[24].toString();//默认库区 + if(zone1Code!=null&&zone1Code.length()>0) { + obj.put("defaultZone", "默认库区"+zone1Code); + }else if(zoneCode!=null&&zoneCode.length()>0){ + obj.put("defaultZone", "推荐库区"+zoneCode); + obj.put("z_id", ""); + }else { + obj.put("defaultZone", "推荐库区无"); + obj.put("z_id", ""); + } array.add(obj); } data = array.toString(); @@ -2022,7 +2034,6 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA int zgz_qty =0; // zgz_qty = selectPickTicketTaskView1(gzzCode,0);//工作站任务数 String zgz_sql="select "+ -// "max(t.id) as id,"+ " t.BILLCODE as BILLCODE,"+ "COUNT(DISTINCT t.BILLCODE+loc1.code+i.CODE+ik.PROP_C2) as hs,"+ "t.END_REGION as targetArea,"+ @@ -2056,6 +2067,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA // + " GROUP BY t.BILLCODE "; Query query1 = session.createSQLQuery(zgz_sql.toString()); List list1= (List)query1.list(); + Map maplist=new HashMap(); if(list1.size()>0) { // billCodeqty=list1.size()+""; int bilzte=0; @@ -2067,6 +2079,9 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA if(Integer.parseInt(t_qty)>0) { zgz_qty+=Integer.parseInt(t_qty); } + if(!maplist.containsKey(BILLCODE)) { + maplist.put(BILLCODE, t_qty); + } if(gzz_t==null||gzz_t.equals("")) { bilzte++; } @@ -2116,7 +2131,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA + " sum(t.PLAN_QUANTITY_MU-t.MOVED_QUANTITY_MU) as quantity,max(ik.PROP_C5) as propC5," + " loc.id as locid, loc.code as locCode,ik.PROP_C1 as propC1,ik.PROP_C2 as propC2,ik.PROP_C3 as propC3," + " max(ik.PROP_C4) as propC4,MAX(s2.LP) as s_lp ,t.BILLCODE,MAX(CONVERT(varchar(100), " - + " ik.PROP_D2, 23)) as propD2 ,MAX(pt.code) as p_code,MAX(sw.code),MAX(lt.to_Cell_Code) AS to_Cell_Code,MAX(s3.LP) as LP," + + " ik.PROP_D2, 23)) as propD2 ,MAX(pt.code) as p_code,MAX(sw.code) as sw_code,MAX(lt.to_Cell_Code) AS to_Cell_Code,MAX(s3.LP) as LP," + " item.ISBOM as ISBOM,MAX(item.SINGLE_ITEM) as SINGLE_ITEM,item.id as i_id," + " MAX(item.STR_EXTEND1) as STR_EXTEND1,MAX(item.unit) as unit," + "max(item.be_Extend1) as be_Extend1,max(item.be_Extend2) as be_Extend2, " @@ -2269,13 +2284,21 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA obj.put("z", z);//第几个1 obj.put("w", w);//第几个0 - Double invQuantity= (Double) commonDao.findByQuery("select IsNULL(sum(ROUND(inv.quantity,3)),0) from Inventory inv where inv.quantity>0 and inv.location.id="+Long.parseLong(arrier[5].toString())+" and inv.itemKey.item.code='"+arrier[1].toString()+"' ").get(0); + Double invQuantity= (Double) commonDao.findByQuery("select IsNULL(sum(ROUND(inv.quantity,3)),0) " + + "from Inventory inv where inv.quantity>0 and inv.location.id=" + +Long.parseLong(arrier[5].toString())+" and inv.itemKey.item.code='" + +arrier[1].toString()+"' ").get(0); obj.put("invQuantity", invQuantity);//库位上库存数量 billCode=obj.get("taskCode").toString().trim();//子任务号 //子任务剩余任务数 - String z_hql=" select t.hs from PickTicketTaskView t where 1=1 and t.billcode='"+billCode +"' "; - Integer z_qty= Integer.parseInt(commonDao.findByQuery(z_hql).get(0).toString()) ; - obj.put("z_qty", z_qty); + Integer z_qty=0; +// String z_hql=" select t.hs from PickTicketTaskView t where 1=1 and t.billcode='"+billCode +"' "; +// z_qty= Integer.parseInt(commonDao.findByQuery(z_hql).get(0).toString()) ; + if(maplist.containsKey(billCode)) { + obj.put("z_qty", maplist.get(billCode)); + }else { + obj.put("z_qty", z_qty); + } //图片路径 String url=""; @@ -3310,7 +3333,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA + ", max(t.pickTicketDetail.pickTicket.equatedQuantity) as equatedQuantity," + " max(t.pickTicketDetail.strBill13) as strBill13 " + " , max(t.srcLoc.zone.id) as zone_id , t.srcLoc.zone.beBill as beBill," - + " max(t.srcLoc.zone.levels) as levels2 " + + " max(t.srcLoc.zone.levels) as levels2 ,t.srcLoc.zone.beStock as beStock " + " from Task t where " + " t.planQuantityMU>t.movedQuantityMU and t.agvTask.id is null and " + " t.agvStatus=1 and t.srcLoc.zone.carrierType.id=3 "; @@ -3322,7 +3345,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA }else if(type.equals("1")){ sql+=" and t.worker1.id>0 and t.worker1.id="+userId+" "; } - sql+=" group by t.billCode ,t.srcLoc.zone.beBill " + sql+=" group by t.billCode ,t.srcLoc.zone.beBill,t.srcLoc.zone.beStock " + " order by max(t.pickTicketDetail.pickTicket.equatedQuantity) desc,max(t.dateBill1),t.billCode "; List objs = commonDao.findByQuery(sql); if (objs .size() > 0) { @@ -3335,6 +3358,8 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA String receiver=object[5]==null?"":object[5].toString();//receiver备注, String zone_id=object[6]==null?"":object[6].toString();// String beBill=object[7]==null?"":object[7].toString();//是否合单 + String levels2=object[8]==null?"":object[8].toString();//合单标记 + String beStock=object[9]==null?"":object[9].toString();//是否料号交单 String hang=countLing(billCode); obj.put("taskCode", billCode); obj.put("qty", hang); @@ -3348,11 +3373,17 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA urgent="false"; } if(beBill!=null&&(beBill.equals("true")||beBill.equals("1"))) { +// if(levels2!=null&&!levels2.equals("0")) { obj.put("beBill", "是"); }else { obj.put("beBill", "否"); } - + if(beStock!=null&&(beStock.equals("true")||beStock.equals("1"))) { +// if(levels2!=null&&!levels2.equals("0")) { + obj.put("beStock", "是"); + }else { + obj.put("beStock", "否"); + } obj.put("urgent", urgent); array.add(obj); } @@ -3505,25 +3536,11 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA }else { obj.put("be_Supernova","false"); } -// if(thb.getLevels()==0) { - if(thb.isBeStock()) { - obj.put("isScode","true");//库区是否合单任务 - -// String shq=" from Task t where t.billCode='"+thb.getBillCode()+"' and t.planQuantityMU>0 " -// + " order by t.operateTime desc "; -// List listtask=commonDao.findByQuery(shq); -// if(listtask.size()>0) { -// Task ta=listtask.get(0); -// if(ta.getDstLP()!=null) { -// Stock stock=commonDao.load(Stock.class, ta.getDstLP().getId()); -// obj.put("s_code", stock.getLP()); -// obj.put("s_id", stock.getId()); -// } -// } - }else { - obj.put("isScode","false"); - } - +// if(thb.isBeStock()) { +// obj.put("isScode","true");//库区是否合单任务 +// }else { + obj.put("isScode","false");//是否扫描容器吗 +// } Double invQuantity= (Double) commonDao.findByQuery("select IsNULL(sum(ROUND(inv.quantity,3)),0) from Inventory inv " + "where inv.quantity>0 and inv.location.id="+loc.getId()+" and inv.itemKey.item.code='"+item.getCode()+"' ").get(0); @@ -3586,6 +3603,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA ItemKey ik=this.load(ItemKey.class, task.getItemKey().getId()); Item item=this.load(Item.class, ik.getItem().getId()); Location lc=commonDao.load(Location.class, task.getSrcLoc().getId()); + WarehouseArea zone=commonDao.load(WarehouseArea.class, lc.getZone().getId()); String [] str=null; String ho="";//凭证行号 String xlh="";//序列号 @@ -3635,6 +3653,20 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA }else { obj.put("beLOC", "false"); } + if(zone!=null&&zone.isBeStock()) { + String d=pickTicketManager.printLocationCodePick( "", userId, warehouseId); + if(d!=null&&d.length()>0) { + JSONObject obj2 =JSONObject.fromObject(d); + obj.put("s_id", obj2.has("s_id") ? obj2.getString("s_id") : ""); + obj.put("s_code", obj2.has("s_code") ? obj2.getString("s_code") : ""); + }else { + obj.put("s_id", ""); + obj.put("s_code", ""); + } + }else { + obj.put("s_id", ""); + obj.put("s_code", ""); + } data=obj.toString(); status = "1"; diff --git a/src/main/java/com/dev/swms/server/service/receiving/pojo/DefaultASNManager.java b/src/main/java/com/dev/swms/server/service/receiving/pojo/DefaultASNManager.java index 6b8cff1..0e35d60 100644 --- a/src/main/java/com/dev/swms/server/service/receiving/pojo/DefaultASNManager.java +++ b/src/main/java/com/dev/swms/server/service/receiving/pojo/DefaultASNManager.java @@ -4076,12 +4076,16 @@ public void addASNDetail(Long id,ASNDetail asnDetail) { List MoveDocDetails=commonDao.findByQuery(" from MoveDocDetail mdd where mdd.receivedRecordId="+r.getId()+" "); if(MoveDocDetails.size()>0){ MoveDocDetail mdd=MoveDocDetails.get(0); - if(stock!=null) { - mdd.setSrcLP(stock); - mdd.setSrcLPCode(stock.getLP()); + if(z.getId()==1766) { + commonDao.delete(mdd); + }else { + if(stock!=null) { + mdd.setSrcLP(stock); + mdd.setSrcLPCode(stock.getLP()); + } + mdd.setWarehouseArea(z); + commonDao.store(mdd); } - mdd.setWarehouseArea(z); - commonDao.store(mdd); } commonDao.store(r); @@ -4091,7 +4095,6 @@ public void addASNDetail(Long id,ASNDetail asnDetail) { + "receivedrecord where receivedrecord.beMoved=0 and receivedrecord.srcLP.LP='"+r.getSrcLP().getLP()+"' ");//根据这个容器号获取这个容器号的所有数据 if(ReceivedRecords.size()>0){ for (ReceivedRecord rr : ReceivedRecords) {//循环获取的容器号的所有数据 - ItemKey itemKey=rr.getItemKey(); if(z!=null) {//如果有这个库区 if(stock!=null) { rr.setSrcLP(stock); @@ -4102,12 +4105,16 @@ public void addASNDetail(Long id,ASNDetail asnDetail) { List MoveDocDetails=commonDao.findByQuery(" from MoveDocDetail mdd where mdd.receivedRecordId="+r.getId()+" "); if(MoveDocDetails.size()>0){ MoveDocDetail mdd=MoveDocDetails.get(0); - if(stock!=null) { - mdd.setSrcLP(stock); - mdd.setSrcLPCode(stock.getLP()); + if(z.getId()==1766) { + commonDao.delete(mdd); + }else { + if(stock!=null) { + mdd.setSrcLP(stock); + mdd.setSrcLPCode(stock.getLP()); + } + mdd.setWarehouseArea(z); + commonDao.store(mdd); } - mdd.setWarehouseArea(z); - commonDao.store(mdd); } } //查询库存 @@ -4129,21 +4136,22 @@ public void addASNDetail(Long id,ASNDetail asnDetail) { List MoveDocDetails=commonDao.findByQuery(" from MoveDocDetail mdd where mdd.receivedRecordId="+r.getId()+" "); if(MoveDocDetails.size()>0){ MoveDocDetail mdd=MoveDocDetails.get(0); - if(stock!=null) { - mdd.setSrcLP(stock); - mdd.setSrcLPCode(stock.getLP()); + if(z.getId()==1766) { + commonDao.delete(mdd); + }else { + if(stock!=null) { + mdd.setSrcLP(stock); + mdd.setSrcLPCode(stock.getLP()); + } + mdd.setWarehouseArea(z); + commonDao.store(mdd); } - mdd.setWarehouseArea(z); - commonDao.store(mdd); } commonDao.store(r); }else{ throw new BusinessException("料箱内由已上架物料,不能转换"); } - } - - } } diff --git a/src/main/java/com/dev/swms/server/service/receiving/pojo/DefaultMoveDocManager.java b/src/main/java/com/dev/swms/server/service/receiving/pojo/DefaultMoveDocManager.java index ca16eb3..628aa39 100644 --- a/src/main/java/com/dev/swms/server/service/receiving/pojo/DefaultMoveDocManager.java +++ b/src/main/java/com/dev/swms/server/service/receiving/pojo/DefaultMoveDocManager.java @@ -1069,7 +1069,10 @@ public class DefaultMoveDocManager extends DefaultBaseManager implements MoveDoc ||item.getFeeType()==null)) { interfaceReqManager.returnoutReceivedRecord(ids);// 提交SAP } -// inventoryManager.createReceivingInventory(r, dstloc);//添加库存记录 + if(item!=null&&dstloc!=null) { + item.setWarehouseArea(dstloc.getZone()); + commonDao.store(item); + } } } // 上架完成清空容器,立库区不清空 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 94aed5f..0b13149 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 @@ -148,7 +148,7 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements + "left join STOCK s1 on s1.id=loc.stock " + "left join WAVE_DOC wd on wd.id=t.WAVE_DOC_ID " + "where 1=1 and pt.BILL_TYPE_ID=1094 " - + " and t.agv_status in (0) " + + " and t.agv_status=0 " + " and wd.code='" + waveDocCode+ "' " + " and t.WAVE_DOC_ID is not null "; if (zone_id != null) { diff --git a/src/main/java/com/dev/swms/server/service/shipping/pojo/DefaultPickTicketManager.java b/src/main/java/com/dev/swms/server/service/shipping/pojo/DefaultPickTicketManager.java index ffbb480..906aa28 100644 --- a/src/main/java/com/dev/swms/server/service/shipping/pojo/DefaultPickTicketManager.java +++ b/src/main/java/com/dev/swms/server/service/shipping/pojo/DefaultPickTicketManager.java @@ -9440,7 +9440,6 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick WarehouseArea zone=commonDao.load(WarehouseArea.class, sloc.getZone().getId()); levels=zone.getLevels(); } -// tid=t.getId(); PickTicketDetail ptd=commonDao.load(PickTicketDetail.class, t.getPickTicketDetail().getId()); pt=commonDao.load(PickTicket.class, ptd.getPickTicket().getId()); bt=commonDao.load(BillType.class, pt.getBillType().getId()); @@ -9537,8 +9536,6 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick int sunot=0; for(Task t:tasks) { -// PickTicketDetail ptd=commonDao.load(PickTicketDetail.class, t.getPickTicketDetail().getId()); -// PickTicket pt=commonDao.load(PickTicket.class, ptd.getPickTicket().getId()); if(t.getSeedWall()!=null&&sunot<1) { SeedWall sw= commonDao.load(SeedWall.class, t.getSeedWall().getId()); sw.setStatus(WarehouseAreaStatus.FREE); @@ -9572,7 +9569,7 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick lp=s.getLP(); } inventoryManager.addInventoryLog(InventoryLogType.PROCESS_UP, 1, t.getBillCode(), mbloc, lp, ik, - t.getStorageDate(), pt.getCode(), t.getPlanQuantity(), null, "已出库", t.getId(), "合单",pt.getBillType() , + t.getStorageDate(), pt.getCode(), t.getPlanQuantity(), null, taskStatus, t.getId(), "合单",pt.getBillType() , userId,t.getBarCode(),srcLoc,pt.getSourceType()); } @@ -9589,11 +9586,6 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick } } - //刷新合单状态 -// String res=whetherOnebill(tid, commonDao,levels); -// if(res.equals("合单完成")){ -// msg+=";"+"可以交单"; -// } return msg; diff --git a/src/main/java/com/dev/swms/server/web/servlet/ASNReceiveServlet.java b/src/main/java/com/dev/swms/server/web/servlet/ASNReceiveServlet.java index 0d41426..eabd31e 100644 --- a/src/main/java/com/dev/swms/server/web/servlet/ASNReceiveServlet.java +++ b/src/main/java/com/dev/swms/server/web/servlet/ASNReceiveServlet.java @@ -35,6 +35,7 @@ import com.dev.energy.server.dao.CommonDao; import com.dev.energy.server.model.EntityFactory; import com.dev.energy.server.web.security.UserHolder; import com.dev.swms.server.model.base.BillType; +import com.dev.swms.server.model.base.ContainerType; import com.dev.swms.server.model.base.Equipment; import com.dev.swms.server.model.base.Item; import com.dev.swms.server.model.base.ItemKey; @@ -445,6 +446,7 @@ public class ASNReceiveServlet extends HttpServlet { resultJson=app.saveReDeposit(taskId,deposit,workerId, wId); }else if("scanpickItemCode".equals(methodType)){ + //PDA扫描料号 String taskId =json.has("taskId")?json.getString("taskId"):""; String jhItem =json.has("jhItem")?json.getString("jhItem"):""; resultJson=app.scanpickItemCode(taskId,jhItem,workerId, wId); @@ -1442,11 +1444,12 @@ public class ASNReceiveServlet extends HttpServlet { for(String id:result){ Stock s=commonDao.load(Stock.class, Long.parseLong(id)); LocationStorage l= commonDao.load(LocationStorage.class, l_id); - s.setLocationStorage(l); - commonDao.store(s); + s.setLocationStorage(l); + commonDao.store(s); + status="1"; + msg="操作成功!"; } - status="1"; - msg="操作成功!"; + } catch (Exception e) { msg=e.getMessage(); } @@ -2086,12 +2089,20 @@ public class ASNReceiveServlet extends HttpServlet { List Tasks= commonDao.findByQuery(" from Task t where t.billCode='"+code+"' "); if(Tasks.size()>0){ for(Task t:Tasks){ + if(t.getWorker1()==null) { t.setWorker1(worker1); t.setDateBill4(new Date()); commonDao.store(t); + status="1"; + msg="操作成功!"; + }else { + Worker worker2=commonDao.load(Worker.class, t.getWorker1().getId()); + status="2"; + msg="已经被"+worker2.getName()+"领取!"; + break; + } } - status="1"; - msg="操作成功!"; + }else{ msg = "找不到相应记录!"; } @@ -2523,10 +2534,26 @@ public class ASNReceiveServlet extends HttpServlet { if(invs.size()>0) { msg="该容器有库存不能绑定"; }else { - s.setStock(s1); - commonDao.store(s); - status="1"; - msg="成功!"; + + if(s1.getContainerType()!=null) { + ContainerType c=commonDao.load(ContainerType.class, s1.getContainerType().getId()); + if(c.getCode().equals("501")||c.getCode().equals("505") + ||c.getCode().equals("303")||c.getCode().equals("X1") + ||c.getCode().equals("X2")||c.getCode().equals("X4") + ||c.getCode().equals("X8")) { + s.setStock(s1); + commonDao.store(s); + status="1"; + msg="成功!"; + }else { + msg="该容器不能在工作站使用"; + } + }else { + s.setStock(s1); + commonDao.store(s); + status="1"; + msg="成功!"; + } } } diff --git a/src/main/java/com/dev/swms/server/web/servlet/PlanCountServlet.java b/src/main/java/com/dev/swms/server/web/servlet/PlanCountServlet.java index f0121fc..cd2f2cb 100644 --- a/src/main/java/com/dev/swms/server/web/servlet/PlanCountServlet.java +++ b/src/main/java/com/dev/swms/server/web/servlet/PlanCountServlet.java @@ -243,11 +243,19 @@ public class PlanCountServlet extends HttpServlet { List Tasks= commonDao.findByQuery(" from CountRecord t where t.needCount=0 and t.worker1.id is null and t.countCode='"+code+"' "); if(Tasks.size()>0){ for(CountRecord t:Tasks){ - t.setWorker1(worker1); - commonDao.store(t); + if(t.getWorker()==null) { + t.setWorker1(worker1); + commonDao.store(t); + status="1"; + msg="操作成功!"; + }else { + Worker worker2=commonDao.load(Worker.class, t.getWorker1().getId()); + status="0"; + msg="已经被"+worker2.getName()+"领取!"; + break; + } } - status="1"; - msg="操作成功!"; + }else{ msg = "找不到相应记录!"; } diff --git a/src/webapp/WEB-INF/classes/config/origen/base/editBillTypeConfigPage.xml b/src/webapp/WEB-INF/classes/config/origen/base/editBillTypeConfigPage.xml index e1e3346..04a362a 100644 --- a/src/webapp/WEB-INF/classes/config/origen/base/editBillTypeConfigPage.xml +++ b/src/webapp/WEB-INF/classes/config/origen/base/editBillTypeConfigPage.xml @@ -6,7 +6,6 @@ height="400"> - diff --git a/src/webapp/WEB-INF/classes/config/origen/base/editWarehouseAreaPage.xml b/src/webapp/WEB-INF/classes/config/origen/base/editWarehouseAreaPage.xml index 0b4c6d9..ce16d84 100644 --- a/src/webapp/WEB-INF/classes/config/origen/base/editWarehouseAreaPage.xml +++ b/src/webapp/WEB-INF/classes/config/origen/base/editWarehouseAreaPage.xml @@ -40,7 +40,7 @@ trimSpace="true" isPrecision="true"> - +