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 cbf5e35..3151ee5 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 @@ -39,13 +39,12 @@ public class Item extends Entity { private boolean beWeight=false; /** 保质期限--版本 */ private Integer validPeriod=0;//是否保质期管理?判断是否有值? - private WarehouseArea warehouseArea;//默认库区 + private WarehouseArea warehouseArea;//推荐库区 + private WarehouseArea defaultWarehouseArea;//默认库区 private String shipRules;//库存价值等级 SAP下发 private int balanceNumber=0;//是否更新长宽高 private int packNumber=0;//规格数量 private String feeType;//货品类型 SAP OA - - private String CAname;//简称 /** 预警时间 */ @@ -63,10 +62,6 @@ public class Item extends Entity { /**创建日期*/ private Date createDate; - - - - /** 加工费用 --/投料点*/ private double price=0; @@ -169,7 +164,7 @@ public class Item extends Entity { // //小包装数量 private Number smallQty ; - private String smallUnit ; + private String smallUnit ;//否一包一个、是一包一个、是纸箱拆箱、是木箱拆箱、 private Number smallWeight ; private Number smallLength; private Number smallWidth ; @@ -190,7 +185,15 @@ public class Item extends Entity { private Number largeHeight; - public boolean isBeUnpacking() { + public WarehouseArea getDefaultWarehouseArea() { + return defaultWarehouseArea; + } + + public void setDefaultWarehouseArea(WarehouseArea defaultWarehouseArea) { + this.defaultWarehouseArea = defaultWarehouseArea; + } + + public boolean isBeUnpacking() { return beUnpacking; } diff --git a/src/main/java/com/dev/swms/server/model/base/item.hbm.xml b/src/main/java/com/dev/swms/server/model/base/item.hbm.xml index 1ca32f8..3377b34 100644 --- a/src/main/java/com/dev/swms/server/model/base/item.hbm.xml +++ b/src/main/java/com/dev/swms/server/model/base/item.hbm.xml @@ -128,7 +128,6 @@ class="com.dev.swms.server.model.base.Organization"> - @@ -142,14 +141,11 @@ type="string" length="500" /> - - - @@ -171,9 +167,12 @@ - + + + + diff --git a/src/main/java/com/dev/swms/server/model/inventory/Task.java b/src/main/java/com/dev/swms/server/model/inventory/Task.java index d3682dd..f5e60c3 100644 --- a/src/main/java/com/dev/swms/server/model/inventory/Task.java +++ b/src/main/java/com/dev/swms/server/model/inventory/Task.java @@ -157,8 +157,17 @@ public class Task extends VersionalEntity { private String oldZrw;//原子任务 private boolean beUnpacking=false;//是否最小包装 private String ncrCode;//不良品的NCR号 + private String smallUnit;//是否一包一个 + public String getSmallUnit() { + return smallUnit; + } + + public void setSmallUnit(String smallUnit) { + this.smallUnit = smallUnit; + } + public String getNcrCode() { return ncrCode; } diff --git a/src/main/java/com/dev/swms/server/model/inventory/task.hbm.xml b/src/main/java/com/dev/swms/server/model/inventory/task.hbm.xml index 9873fe2..a3729fc 100644 --- a/src/main/java/com/dev/swms/server/model/inventory/task.hbm.xml +++ b/src/main/java/com/dev/swms/server/model/inventory/task.hbm.xml @@ -175,6 +175,7 @@ + diff --git a/src/main/java/com/dev/swms/server/model/view/waveView.java b/src/main/java/com/dev/swms/server/model/view/waveView.java index 77085f0..aeb416e 100644 --- a/src/main/java/com/dev/swms/server/model/view/waveView.java +++ b/src/main/java/com/dev/swms/server/model/view/waveView.java @@ -5,13 +5,13 @@ import com.dev.energy.server.model.VersionalEntity; public class waveView extends VersionalEntity{ private static final long serialVersionUID = 1L; private Long id; - private long waveDocId; - private String zCode; - private int tnumber; - private int wlnumber; - private int number; - private int agvStatus; - private int taskCode; + private long waveDocId;//波次id + private String zCode;//库区 + private int tnumber;//合并后拣货任务行数 + private int wlnumber;//料号个数 + private int number;//推荐工作站数 + private int agvStatus;//agv任务状态 + private int taskCode;//子任务个数 public int getTaskCode() { 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 e4ad9fa..4347b4e 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 @@ -2192,7 +2192,7 @@ public class DefaultAgvTaskManager extends DefaultBaseManager implements AgvTask public void updateUrgentAgvPickTask(List ids) { for(Long id:ids) { String hql="select t.agvTask.id from Task t where t.agvTask.status='ATCALL' and t.pickTicketDetail.pickTicket.id="+id - +" and t.agvTask.jobPriorityType=0 and t."; + +" and t.agvTask.jobPriorityType=0 "; List agvids= commonDao.findByQuery(hql); updateUrgentAgvTask(agvids); } diff --git a/src/main/java/com/dev/swms/server/service/base/pojo/DefaultItemManager.java b/src/main/java/com/dev/swms/server/service/base/pojo/DefaultItemManager.java index 58d1a20..27b01fd 100644 --- a/src/main/java/com/dev/swms/server/service/base/pojo/DefaultItemManager.java +++ b/src/main/java/com/dev/swms/server/service/base/pojo/DefaultItemManager.java @@ -143,6 +143,7 @@ public class DefaultItemManager extends DefaultBaseManager implements i.setBeExtend1(item.isBeExtend1()); i.setBeExtend2(item.isBeExtend2()); i.setBeUnpacking(item.isBeUnpacking()); + i.setDefaultWarehouseArea(item.getDefaultWarehouseArea()); double a=length*width*height; if(i.getPackNumber()>0) { i.setVolume(a/i.getPackNumber()); diff --git a/src/main/java/com/dev/swms/server/service/interfaceLog/QueryAppManager.java b/src/main/java/com/dev/swms/server/service/interfaceLog/QueryAppManager.java index 533e82c..0d01be8 100644 --- a/src/main/java/com/dev/swms/server/service/interfaceLog/QueryAppManager.java +++ b/src/main/java/com/dev/swms/server/service/interfaceLog/QueryAppManager.java @@ -191,7 +191,7 @@ public interface QueryAppManager extends BaseManager { */ @Transactional JSONObject submitPCAndTaskAndtaskid(String taskid,String billCode,String serials,String mac,String quantity,String srcLoc,String itemCode, - String lsCode,long number,long userId,long warehouseId,Long s_id,boolean reSAP,String spr); + String lsCode,long number,long userId,long warehouseId,Long s_id,boolean reSAP,String spr,String beUnpacking); /** * PC拣货 完成后,回传SAP扣料 * @return @@ -216,7 +216,7 @@ public interface QueryAppManager extends BaseManager { */ @Transactional JSONObject picking(String taskId,long sid,String billCode,String serials,String itemCode,String mac,double quantity, - String lsCode,long number,long userId,long warehouseId,boolean reSAP,String spr,long location_id); + String lsCode,long number,long userId,long warehouseId,boolean reSAP,String spr,long location_id,String beUnpacking); //分配查询库存列表 JSONObject queryAllcateInv(long taskId,long userId,long warehouseId); 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 78008d3..8e9ec09 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 @@ -1,5 +1,7 @@ package com.dev.swms.server.service.interfaceLog.pojo; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.net.URLDecoder; import java.net.URLEncoder; import java.text.ParseException; @@ -3074,7 +3076,9 @@ public class DefaultInterfaceRespManager extends DefaultBaseManager implements I item.put("storageDate", inventory[13]+"");//库存日期 if(inventory[14]!=null&&inventory[14].toString().length()>0) { try { - item.put("unitPrice", Double.parseDouble(inventory[14]+""));//单价 + BigDecimal bd = new BigDecimal(inventory[14]+""); + bd=bd.setScale(2, RoundingMode.HALF_UP); + item.put("unitPrice", bd);//单价 }catch (Exception e) { item.put("unitPrice", 0);//单价 } 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 a47c549..b380c40 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 @@ -2014,24 +2014,59 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA String status = "0"; String msg = ""; String data = ""; - int zgz_qty = selectPickTicketTaskView1(gzzCode,0); - String billCodeqty="0"; + 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,"+ + "COUNT(DISTINCT t.BILLCODE ) as billhs, "+ + " max(sw.code) as sw_code "+ + "from task t "+ + "left join PICK_TICKET_DETAIL ptd on ptd.ID=t.PICK_TICKET_DETAIL_ID "+ + "left join PICK_TICKET pt on pt.ID =ptd.PICK_TICKET_ID "+ + "left join LOCATION loc1 on loc1.ID=t.SRC_LOC_ID "+ + "left join WAVE_DOC wd on wd.id=t.WAVE_DOC_ID "+ + "left join ITEM_KEY ik on t.ITEM_KEY_ID=ik.id "+ + "left join item i on i.ID=ik.ITEM_ID "+ + "left join Seed_Wall sw on sw.id=t.Seed_Wall_ID"+ + " where t.PLAN_QUANTITY_MU-t.MOVED_QUANTITY_MU>0 and t.PLAN_QUANTITY_MU>0" + + " and t.END_REGION='"+gzzCode+"'"; + + zgz_sql +=" group by t.BILLCODE,pt.id,wd.id,t.END_REGION "; + String billCodeqty="0";//子任务个数 + String billCode="";//子任务号 Session session = ((HibernateDaoSupport) this.commonDao).getSessionFactory().openSession(); Boolean isLk=Boolean.FALSE; boolean hhs=false; //是否有拣货完成的子任务,未合单。 try { if (userId > 0) { if (warehouseId > 0) { - //查询工作站子任务个数 + //查询工作站子任务需要绑定槽位格的个数 - String q_sql="select t.BILLCODE from task t where t.END_REGION='"+gzzCode+"' " - + " and t.PLAN_QUANTITY_MU-t.MOVED_QUANTITY_MU>0 and t.Seed_Wall_ID is null " - + " GROUP BY t.BILLCODE "; - Query query1 = session.createSQLQuery(q_sql.toString()); +// String q_sql="select t.BILLCODE from task t where t.END_REGION='"+gzzCode+"' " +// + " and t.PLAN_QUANTITY_MU-t.MOVED_QUANTITY_MU>0 and t.Seed_Wall_ID is null " +// + " GROUP BY t.BILLCODE "; + Query query1 = session.createSQLQuery(zgz_sql.toString()); List list1= (List)query1.list(); if(list1.size()>0) { - billCodeqty=list1.size()+""; +// billCodeqty=list1.size()+""; + int bilzte=0; + for(Object[] gzzTask:list1) { + String BILLCODE=gzzTask[0]==null?"":gzzTask[0].toString(); + String t_qty=gzzTask[1]==null?"0":gzzTask[1].toString(); + String gzz_t=gzzTask[4]==null?"":gzzTask[4].toString(); + + if(Integer.parseInt(t_qty)>0) { + zgz_qty+=Integer.parseInt(t_qty); + } + if(gzz_t==null||gzz_t.equals("")) { + bilzte++; + } + } + billCodeqty=bilzte+""; } if(gzzCode!=null&&!gzzCode.equals("601")&&!gzzCode.equals("602")&&!gzzCode.equals("603") &&!gzzCode.equals("604")&&!gzzCode.equals("605")) { @@ -2082,7 +2117,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA + "max(item.be_Extend1) as be_Extend1,max(item.be_Extend2) as be_Extend2, " + "max(ik.PROP_LC2) as propLC2,max(ik.PROP_LC3) as propLC3,max(pt.sourceType) as sourceType ," + " max(lt.TO_CELL_CODE) as END_REGION ,max(z.LEVELS) as LEVELS,max(ptd.strBill13) as strBill13," - + " item.BE_UNPACKING as BE_UNPACKING " + + " item.BE_UNPACKING as BE_UNPACKING,item.smallUnit as smallUnit " + " from task t " + " left join PICK_TICKET_DETAIL ptd on ptd.id=t.PICK_TICKET_DETAIL_ID " + " left join PICK_TICKET pt on pt.id=ptd.PICK_TICKET_ID " @@ -2230,9 +2265,10 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA 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); - obj.put("invQuantity", invQuantity); + 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='"+ 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); @@ -2273,14 +2309,15 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA } String receiver=arrier[30]==null?"":arrier[30].toString(); String beUnpacking=arrier[31]==null?"":arrier[31].toString(); - + String smallUnit=arrier[32]==null?"":arrier[32].toString(); obj.put("receiver", receiver); if(beUnpacking.equals("1")||beUnpacking.equals("true")) { beUnpacking="true"; }else { beUnpacking="false"; } - obj.put("beUnpacking", beUnpacking); +// obj.put("smallUnit", smallUnit); + obj.put("beUnpacking", smallUnit); array.add(obj); break; } @@ -2301,6 +2338,8 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA } else { msg = "无用户信息!"; } + + } catch (Exception e) { e.printStackTrace(); msg=e.getMessage(); @@ -2325,7 +2364,6 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA String zgz_hql=" select sum(ISNULL(t.hs,0)) from PickTicketTaskView t where 1=1"; if(gzzCode.indexOf("602")>=0){ zgz_hql+=" and t.targetArea in ('602','603') "; - }else if(gzzCode.indexOf("604")>=0){ zgz_hql+=" and t.targetArea in ('604','605') "; }else{ @@ -3456,7 +3494,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA obj.put("propLC2",thb.getPropLC3()); obj.put("be_Extend1",item.isBeExtend1()); obj.put("be_Extend2",item.isBeExtend2()); - obj.put("beUnpacking",item.isBeUnpacking());//是否最小包装 + obj.put("beUnpacking",item.getSmallUnit());//是否最小包装 if(thb.getSourceType()!=null&&thb.getSourceType().equals("313")) { obj.put("be_Supernova","true");//是否超发 }else { @@ -6137,7 +6175,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA @Override public synchronized JSONObject submitPCAndTaskAndtaskid(String taskid,String billCode,String serials,String mac, String quantity1, String srcLoc1, String itemCode,String lsCode,long number, long userId, long warehouseId,Long s_id, - boolean reSAP,String spr) { + boolean reSAP,String spr,String beUnpacking) { JSONObject resultJson = new JSONObject(); String status="0"; String msg=""; @@ -6231,7 +6269,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA unQty -= qty; } //打印数量 tqty - pickTicketManager.newPickConfirm(t.getId(), dstLP, srcLoc.getId(), ik.getLotInfo().getPropC1(), qty, userId, reSAP,spr,0L); + pickTicketManager.newPickConfirm(t.getId(), dstLP, srcLoc.getId(), ik.getLotInfo().getPropC1(), qty, userId, reSAP,spr,0L,beUnpacking); // tqty+=qty; pickids.add(t.getId()); strids.add(t.getCode()); @@ -6331,7 +6369,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA resultJson.put("data", data); return resultJson; } - pickTicketManager.newPickConfirm(Long.valueOf(taskid), dstLP, srcLocation.getId(), itemKey.getLotInfo().getPropC1(), Double.valueOf(quantity), userId, reSAP,spr,0L); + pickTicketManager.newPickConfirm(Long.valueOf(taskid), dstLP, srcLocation.getId(), itemKey.getLotInfo().getPropC1(), Double.valueOf(quantity), userId, reSAP,spr,0L,beUnpacking); //亮灯 if(zone.getId()==1765||zone.getId()==1763) { @@ -6458,7 +6496,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA t.setDstLP(s); } } - pickTicketManager.newPickConfirm(t.getId(), dstLP, srcLocc.getId(), ik.getLotInfo().getPropC1(), t.getPlanQuantity(), userId,reSAP,spr,0L); + pickTicketManager.newPickConfirm(t.getId(), dstLP, srcLocc.getId(), ik.getLotInfo().getPropC1(), t.getPlanQuantity(), userId,reSAP,spr,0L,beUnpacking); // tqty+=t.getPlanQuantity(); if(zone.getId()==1766){ @@ -6615,7 +6653,8 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA //PDA拣货 public JSONObject picking(String taskId,long dstLP,String billCode,String serials,String itemCode,String mac, - double quantity,String lsCode,long number,long userId,long warehouseId,boolean reSAP,String spr,long location_id){ + double quantity,String lsCode,long number,long userId,long warehouseId,boolean reSAP, + String spr,long location_id,String beUnpacking){ JSONObject resultJson = new JSONObject(); String status="0"; String msg=""; @@ -6696,7 +6735,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA unQty -= qty; } - pickTicketManager.newPickConfirm(t.getId(), dstLP, srcLoc.getId(), ik.getLotInfo().getPropC1(), qty, userId,reSAP,spr,location_id); + pickTicketManager.newPickConfirm(t.getId(), dstLP, srcLoc.getId(), ik.getLotInfo().getPropC1(), qty, userId,reSAP,spr,location_id, beUnpacking); pickids.add(t.getId()); strids.add(t.getCode());//需要亮灯的task @@ -6787,7 +6826,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA return resultJson; } } - pickTicketManager.newPickConfirm(t.getId(), dstLP, srcLoc.getId(), ik.getLotInfo().getPropC1(), quantity, userId,reSAP,spr,location_id); + pickTicketManager.newPickConfirm(t.getId(), dstLP, srcLoc.getId(), ik.getLotInfo().getPropC1(), quantity, userId,reSAP,spr,location_id, beUnpacking); //亮灯 if(zone.getId()==1765||zone.getId()==1763) { @@ -6920,7 +6959,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA dstLP=s.getId(); } } - pickTicketManager.newPickConfirm(t.getId(), dstLP, srcLoc.getId(), ik.getLotInfo().getPropC1(), t.getPlanQuantityMU(), userId,reSAP,spr,location_id); + pickTicketManager.newPickConfirm(t.getId(), dstLP, srcLoc.getId(), ik.getLotInfo().getPropC1(), t.getPlanQuantityMU(), userId,reSAP,spr,location_id, beUnpacking); //亮灯 if(xt.size()==1){ diff --git a/src/main/java/com/dev/swms/server/service/shipping/PickTicketManager.java b/src/main/java/com/dev/swms/server/service/shipping/PickTicketManager.java index 2acb35a..38754d8 100644 --- a/src/main/java/com/dev/swms/server/service/shipping/PickTicketManager.java +++ b/src/main/java/com/dev/swms/server/service/shipping/PickTicketManager.java @@ -524,7 +524,7 @@ public interface PickTicketManager extends BaseManager { //拣货 reSAP(回传SAP) @Transactional void newPickConfirm(long taskId,long dstLPId,long srcLocId,String propC1,double pickedQuantity, - long workerId,boolean reSAP,String spr,Long loc_id); + long workerId,boolean reSAP,String spr,Long loc_id,String beUnpacking); void submitSAP(PickTicket pt,Task task,BillType bt); 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 4ad9442..94aed5f 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,13 +148,13 @@ 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,-1) " - + "and wd.code='" + waveDocCode+ "' " - + "and t.WAVE_DOC_ID is not null"; + + " and t.agv_status in (0) " + + " and wd.code='" + waveDocCode+ "' " + + " and t.WAVE_DOC_ID is not null "; if (zone_id != null) { sql += " and z.id=" + zone_id; } - // sql += " and t.PLAN_QUANTITY_MU-t.MOVED_QUANTITY_MU>0 "; + sql += " and t.PLAN_QUANTITY_MU-t.MOVED_QUANTITY_MU>0 "; sql += "group by pt.code,t.BILLCODE,item.id,item.code,item.BE_MARK_WEIGHT,loc.id,loc.code,ik.PROP_C1,ik.PROP_C2,ik.PROP_C3,ik.PROP_D1,ik.PROP_D2,item.ISBOM " + "order by min(t.skips ),max(loc.code) asc, item.id,pt.code,t.BILLCODE "; LogPrint(log_sql, sql); @@ -613,7 +613,7 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements // task.setEndRegion(task.getOldGzz()); // } // if(task.getAgvStatus()>=1){ -// task.setAgvStatus(-1);//旧逻辑运行,状态不动,先注释 + task.setAgvStatus(-1);//旧逻辑运行,状态不动,先注释 // } task.setOldGzz(gongZuoZhan.code); @@ -1529,9 +1529,14 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements int hjCount = 0; int lkCount = 0; for (String code : lx_codes) { - lxCount += gzz_maps.get(code) == null ? 0 : gzz_maps.get(code); } + for (String code : hj_codes) { + hjCount += gzz_maps.get(code) == null ? 0 : gzz_maps.get(code); + } + for (String code : lk_codes) { + lkCount += gzz_maps.get(code) == null ? 0 : gzz_maps.get(code); + } //定义工作站最小能效数,自适应开启工作站数 //自适应合理开启工作站数gzz_codes,每个工作站暂定60 int lx_jianHuoXiaoLv=getValueGzzNumber(lx_sx); @@ -1561,12 +1566,6 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements } } } - for (String code : hj_codes) { - hjCount += gzz_maps.get(code) == null ? 0 : gzz_maps.get(code); - } - for (String code : lk_codes) { - lkCount += gzz_maps.get(code) == null ? 0 : gzz_maps.get(code); - } //有任务没有分配分配工作站错误 if(lx_wwc_list.size()>0) { if(lx_codes.size()>0) { @@ -1579,6 +1578,7 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements } 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); 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 8ea94d6..a9e5044 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 @@ -3297,7 +3297,7 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick List taskids = this.commonDao.findByQuery(" from Task t where t.pickTicketDetail.pickTicket.id=" + pickTicketId + " and t.movedQuantityMU0) { + task.setBeUnpacking(true); + task.setSmallUnit(beUnpacking); + item.setBeUnpacking(true); + item.setSmallUnit(beUnpacking); + commonDao.store(item); + } commonDao.store(task); }else { @@ -10056,12 +10062,12 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick Stock stock=list1.get(i); stock.setLocationIndex(stock.getLocationIndex()+1); commonDao.store(stock); - boolean sh=huichuanStock(stock.getLP()); - if(sh) { +// boolean sh=huichuanStock(stock.getLP()); +// if(sh) { obj.put("s_code", stock.getLP()); obj.put("s_id", stock.getId()); break; - } +// } } }else { throw new BusinessException("无可用容器码"); @@ -10162,7 +10168,7 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick +" and inv.itemKey.item.id="+rd.getItemKey().getItem().getId() +" and inv.itemKey.lotInfo.propC2='"+rd.getItemKey().getLotInfo().getPropC2()+"' " +" and inv.itemKey.lotInfo.propC9='"+rd.getItemKey().getLotInfo().getPropC9()+"' " - + " and inv.quantity-inv.queuedQuantity>"+allocatedQuantity + + " and inv.quantity-inv.queuedQuantity>="+allocatedQuantity + " "; if(rd.getBarCode()!=null&&rd.getBarCode().length()>0) { hql=" and inv.barCode='"+rd.getBarCode()+"' "; 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 eae47d8..010e2aa 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 @@ -477,7 +477,8 @@ public class ASNReceiveServlet extends HttpServlet { String beUnpacking=json.has("beUnpacking")?json.getString("beUnpacking"):"";//是否最小包装 try { - resultJson=app.picking(taskId,s_id,billCode,serials,itemCode,mac,quantity,lsCode,Long.parseLong(number), workerId, wId,false,applicant,loc_id); + resultJson=app.picking(taskId,s_id,billCode,serials,itemCode,mac,quantity,lsCode,Long.parseLong(number), + workerId, wId,false,applicant,loc_id,beUnpacking); try { app.submitSAP(taskId); @@ -736,6 +737,7 @@ public class ASNReceiveServlet extends HttpServlet { String serials =json.has("serials")?json.getString("serials"):""; String billCocd =json.has("taskCode")?json.getString("taskCode"):""; String mac =json.has("mac")?json.getString("mac"):""; + String beUnpacking=json.has("beUnpacking")?json.getString("beUnpacking"):"";//是否最小包装 String stockid =json.has("s_id")?json.getString("s_id"):"0"; // long s_id =json.has("s_id")?Long.parseLong(json.getString("s_id")==null?"0":json.getString("s_id")):0l; @@ -745,7 +747,7 @@ public class ASNReceiveServlet extends HttpServlet { long s_id =Long.parseLong(stockid); try { resultJson=app.submitPCAndTaskAndtaskid(taskid,billCocd,serials,mac,quantity,srcLoc,itemCode, - lsCode,Long.parseLong(number),workerId, wId,s_id,false,""); + lsCode,Long.parseLong(number),workerId, wId,s_id,false,"",beUnpacking); try { app.submitSAP(taskid); }catch (Exception e) { diff --git a/src/test/yao/2024.sql b/src/test/yao/2024.sql index a90e2a3..f0b1499 100644 --- a/src/test/yao/2024.sql +++ b/src/test/yao/2024.sql @@ -473,4 +473,16 @@ GO ------------2025-02-27 ALTER TABLE PrintTask add printType varchar(50) COLLATE Chinese_PRC_CI_AS NULL; GO -update PrintTask set printType='0' where printType is null; \ No newline at end of file +update PrintTask set printType='0' where printType is null; + +GO +ALTER TABLE ITEM add default_Warehouse_Area_ID numeric(19) NULL; +GO +ALTER TABLE ITEM +ADD CONSTRAINT FK_default_Warehouse_Area FOREIGN KEY (default_Warehouse_Area_ID) +REFERENCES [ZONE](ID); + +GO +----------2025-03-05 +ALTER TABLE task add small_Unit varchar(50) COLLATE Chinese_PRC_CI_AS NULL; +GO \ No newline at end of file diff --git a/src/webapp/WEB-INF/classes/config/origen/base/editItemDetailPage.xml b/src/webapp/WEB-INF/classes/config/origen/base/editItemDetailPage.xml index 6e40034..1df475c 100644 --- a/src/webapp/WEB-INF/classes/config/origen/base/editItemDetailPage.xml +++ b/src/webapp/WEB-INF/classes/config/origen/base/editItemDetailPage.xml @@ -89,6 +89,19 @@ + + + + + diff --git a/src/webapp/WEB-INF/classes/config/origen/base/maintainItemPage.xml b/src/webapp/WEB-INF/classes/config/origen/base/maintainItemPage.xml index e637116..7d1f5b2 100644 --- a/src/webapp/WEB-INF/classes/config/origen/base/maintainItemPage.xml +++ b/src/webapp/WEB-INF/classes/config/origen/base/maintainItemPage.xml @@ -61,6 +61,7 @@ cast(item.volume as string), item.unit, item.warehouseArea.name, + item.defaultWarehouseArea.name, item.goodType, item.shipRules, item.validPeriod, @@ -68,15 +69,19 @@ item.singleItem, item.brand, item.beUnpacking, + item.smallUnit, item.beMarkWeight, item.isBOM, item.beWeight, item.beInv, item.beSAPItem, item.saleTime, - item.strExtend1 + item.strExtend1, + item.strExtend2, + item.strExtend3 from Item item left join item.warehouseArea warehouseArea + left join item.defaultWarehouseArea where 1=1 /~item.code: and item.code like {item.code} ~/ /~item.warehouseArea.id: and item.warehouseArea.id = {item.warehouseArea.id} ~/ @@ -125,6 +130,8 @@ horizonAlign="center" /> + + + + @@ -83,6 +90,7 @@ inventoryLog.relatedBill, inventoryLog.logType, inventoryLog.billType.name, + inventoryLog.srcLoc.code, inventoryLog.location.code, inventoryLog.itemKey.item.code, @@ -98,6 +106,7 @@ inventoryLog.itemKey.lotInfo.propC3, inventoryLog.itemKey.lotInfo.propC9, inventoryLog.itemKey.lotInfo.propD2, + inventoryLog.srcLoc.zone.code, inventoryLog.endRegion, inventoryLog.strbill1, inventoryLog.LP, @@ -106,6 +115,7 @@ left join inventoryLog.billType left join inventoryLog.location left join inventoryLog.srcLoc + left join inventoryLog.srcLoc.zone left join inventoryLog.itemKey left join inventoryLog.itemKey.item WHERE 1=1 @@ -114,6 +124,7 @@ /~inventoryLog.location.code: AND inventoryLog.location.code like {inventoryLog.location.code}~/ /~inventoryLog.strbill1: AND inventoryLog.strbill1 = {inventoryLog.strbill1}~/ /~logType: AND inventoryLog.logType = {logType}~/ + /~inventory.kqName: AND inventoryLog.srcLoc.zone.id = {inventory.kqName}~/ /~billType.name: AND inventoryLog.billType.name = {billType.name}~/ /~relatedBill: AND inventoryLog.relatedBill LIKE {relatedBill}~/ /~soi: AND inventoryLog.SOI LIKE {soi}~/ @@ -165,6 +176,8 @@ title="工厂\公司" visible="true" horizonAlign="center" /> + + + + parameter="task.id,task.dstLP.id,task.srcLoc.id,task.itemKey.propC1,task.planQuantity,workerId,beUrgent,task.ncrCode,loc_id,task.smallUnit" />