diff --git a/src/main/java/com/dev/energy/server/action/QueryAction.java b/src/main/java/com/dev/energy/server/action/QueryAction.java index 0dd57e9..0526e38 100644 --- a/src/main/java/com/dev/energy/server/action/QueryAction.java +++ b/src/main/java/com/dev/energy/server/action/QueryAction.java @@ -266,7 +266,7 @@ public class QueryAction extends AbstractAction implements ApplicationContextAwa } public TableConfig buildGrid(TableConfig tableConfig) { - //log.info("------------------------------------------------------------------------------------------------开始查询------------------------------------------------------------------------------------------------: "); + log.info("------------------------------------------------------------------------------------------------开始查询------------------------------------------------------------------------------------------------: "); Object controlResult = actionControlTurnExcute(tableConfig.getPageId(), new Object[]{tableConfig}); if (controlResult != null) { return (TableConfig) controlResult; @@ -896,7 +896,18 @@ public class QueryAction extends AbstractAction implements ApplicationContextAwa } public TableConfig scrollableQuery(TableConfig tableConfig, Map queryParams) { + String paramTirm=queryParams.get("param").toString(); + if(paramTirm.startsWith("%") && paramTirm.endsWith("%") && paramTirm.length() >= 2) { + paramTirm=paramTirm.substring(1, paramTirm.length()-1); + paramTirm=paramTirm.trim(); + paramTirm="%"+paramTirm+"%"; + queryParams.put("param", paramTirm); + } + for(Object ojb:queryParams.values()) { + logger.info(ojb.toString()); + } String inter = getIntercepterName(queryParams); + Map pageParams = tableConfig.getParams(); pageParams.put("pagingPage", new StringBuilder().append(tableConfig.getCurrentPage()).toString()); if (!pageParams.containsKey("pagingNumberPer")) { diff --git a/src/main/java/com/dev/swms/server/interfaces/ItemJobLauncher.java b/src/main/java/com/dev/swms/server/interfaces/ItemJobLauncher.java index 7701725..0cf06bc 100644 --- a/src/main/java/com/dev/swms/server/interfaces/ItemJobLauncher.java +++ b/src/main/java/com/dev/swms/server/interfaces/ItemJobLauncher.java @@ -235,7 +235,7 @@ public class ItemJobLauncher implements ApplicationListener { int e=0; switch (a) { case 1: - logger.info("1"); + logger.info("1---------"); if (true) { List agvTasks = commonDao.findByQuery(" from AgvTask agvTask " + " where 1=1 " //agvTask.beIssue=true @@ -243,14 +243,17 @@ public class ItemJobLauncher implements ApplicationListener { + " and agvTask.type in ('AGV取料') " // + " and substring(agvTask.targetArea,0,4) not in ('204','203') " // + " and substring(agvTask.targetArea,0,4) in ('201') " - + + " and substring(agvTask.targetArea,0,4) in ('203','204','205','206','207'," + + "'208','209','210','211','212','213') " ); for (AgvTask agvTask : agvTasks) { long time = agvTask.getLeaveTime().getTime(); long time1= (new Date()).getTime(); - if (time1-time>=60000) { + logger.info(time+"------1-----------"+time1); + if (time1-time>=35000) { agvTaskManager.wcsNextPT(agvTask.getRobotJobId(), agvTask.getContainerCode(), WcsCSDCode.getWcsCSDCode(agvTask.getTargetAreaCode())); + logger.info("1-----------"); } } } @@ -282,14 +285,14 @@ public class ItemJobLauncher implements ApplicationListener { + " where agvTask.beIssue=true " + " and agvTask.status in ('ATPICK') " + " and agvTask.type in ('呼叫货架') " - + " and substring(agvTask.targetArea,0,4) in ('102','107') " -// + " and substring(agvTask.targetArea,0,4) in ('201','202','203','204','205','206','207'" -// + ",'208','209','210','211','212','213') " +// + " and substring(agvTask.targetArea,0,4) in ('102','107') " + + " and substring(agvTask.targetArea,0,4) in ('203','204','205','206','207'" + + ",'208','209','210','211','212','213') " ); for (AgvTask agvTask : agvTasks) { long time = agvTask.getLeaveTime().getTime(); long time1= (new Date()).getTime(); - if (time1-time>=60000) { + if (time1-time>=35000) { // agvTaskManager.wcsNextPT(agvTask.getRobotJobId(), agvTask.getContainerCode(), // WcsCSDCode.getWcsCSDCode(agvTask.getTargetAreaCode())); agvTaskManager.returnHj(agvTask.getId()); 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 141e6c9..be46ce7 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 @@ -49,7 +49,10 @@ public class Item extends Entity { private String CAname;//简称 /** 预警时间 */ private Integer alertLeadingDays=0; - private int saleTime=0;//热度 + private int saleTime=0;//1月个热度; + private int heatThreeMonths ;//3个月 + private int heatSixMonths;//6个月 + /**签核状态*/ private String issuestate; @@ -122,6 +125,8 @@ public class Item extends Entity { private String smallClass;//g物料分组 /** 最后盘点日期 */ private Date cycleDate; + /** 最后拣货日期 */ + private Date pickingDate; protected String strExtend4;//发红规则-库存单位 protected String strExtend5;//是否条码管理-换算方向 private String storageType;//存储类型 g客户 @@ -189,7 +194,33 @@ public class Item extends Entity { private Number largeHeight; - public boolean isBeImageFile() { + + + public Date getPickingDate() { + return pickingDate; + } + + public void setPickingDate(Date pickingDate) { + this.pickingDate = pickingDate; + } + + public int getHeatThreeMonths() { + return heatThreeMonths; + } + + public void setHeatThreeMonths(int heatThreeMonths) { + this.heatThreeMonths = heatThreeMonths; + } + + public int getHeatSixMonths() { + return heatSixMonths; + } + + public void setHeatSixMonths(int heatSixMonths) { + this.heatSixMonths = heatSixMonths; + } + + public boolean isBeImageFile() { return beImageFile; } 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 33384bc..fc02fc4 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 @@ -33,7 +33,7 @@ public class WarehouseArea extends Entity { private double grossWeight=0;//空货架重量 /**备注*/ private String gdm;//固定地标点 - private Long decLocId;//拣货货架ID + private Long decLocId;//料箱库区最大入库料箱数30000 /** 是否料号交单 */ private boolean beStock;// /** 是否合单 */ 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 aabeecb..ebe3ddf 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 @@ -49,6 +49,7 @@ + @@ -84,6 +85,8 @@ length="150" /> + + - @@ -55,6 +54,9 @@ + + + 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 b8084a4..62265d8 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 @@ -2076,7 +2076,7 @@ public class DefaultAgvTaskManager extends DefaultBaseManager implements AgvTask for(int i=0;i agvTasktypes = commonDao.findByQuery(" from AgvTask agvTask " + List agvTasktypes = commonDao.findByQuery("select agvTask.id from AgvTask agvTask " + " where agvTask.beIssue=true " + " and agvTask.classification not in ('"+agvType+"') " + " and agvTask.status in ('ATPICK','ATCALL','ATWAIT','ATWORK') " @@ -2097,7 +2097,13 @@ public class DefaultAgvTaskManager extends DefaultBaseManager implements AgvTask + " order by agvTask.jobPriorityType desc,agvTask.jobPriority desc " ); for (AgvTask agvTask : agvTasks) { - + String hql1="select agvTask.id from AgvTask agvTask where " + + " agvTask.status in('ATCALL','ATWAIT','ATPICK','ATWORK','NONCHECKED') " + + " and agvTask.beIssue=true and agvTask.containerCode='"+agvTask.getContainerCode()+"'"; + List agvids=commonDao.findByQuery(hql1); + if(agvids.size()>0) { + continue; + } if(agvTask.getClassification().equals("拣货")) { String endRegion=""; String sql="select t.endRegion from Task t where t.agvTask.id="+agvTask.getId(); @@ -2114,19 +2120,18 @@ public class DefaultAgvTaskManager extends DefaultBaseManager implements AgvTask } } }else if(agvTask.getClassification().equals("盘点")) { - String sql="select agvTask.id from AgvTask agvTask where agvTask.classification='盘点' " + /*String sql="select agvTask.id from AgvTask agvTask where agvTask.classification='盘点' " // + " and agvTask.targetArea='"+agvTask.getTargetArea()+"'" + " and agvTask.status in('ATCALL','ATWAIT','ATPICK','NONCHECKED') " + " and agvTask.beIssue=true and agvTask.containerCode='"+agvTask.getContainerCode()+"'"; List agvids=commonDao.findByQuery(sql); if(agvids.size()>0) { continue; - } + }*/ } boolean flag= sendAgvTask(agvTask); if (flag) { - break; } } 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 39149ed..fd5ed32 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 @@ -192,7 +192,9 @@ public interface CountPlanManager extends BaseManager { double sapUnfinished(Map map); @Transactional - JSONObject checkCountRecordItem(String crIds ,String propD2,String barCodes,String propC1,String countQuantity,long userId,long warehouseId,CommonDao commonDao); + JSONObject checkCountRecordItem(String crIds ,String propD2,String barCodes,String propC1,String countQuantity,long userId,long warehouseId); + @Transactional + void updatePlancount(Long id); @Transactional void cleanCountRecordVIEW(List ids); 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 94a6b85..ae1be55 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 @@ -14,6 +14,8 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; +import org.apache.commons.codec.EncoderException; +import org.hibernate.Query; import org.hibernate.Session; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import org.springframework.transaction.annotation.Transactional; @@ -69,6 +71,7 @@ import com.dev.swms.server.service.sequence.BussinessCodeManager; import com.dev.swms.server.utils.DoubleUtils; import com.dev.swms.server.utils.TimeNumberUtils; import com.dev.swms.server.web.filter.WarehouseHolder; +import com.sun.istack.internal.logging.Logger; import com.dev.energy.client.ui.table.RowData; import com.dev.energy.server.dao.CommonDao; import com.dev.energy.server.exception.BusinessException; @@ -1509,7 +1512,7 @@ public class DefaultCountPlanManager extends DefaultBaseManager implements commonDao.store(cr); } - List cpts=commonDao.findByQuery(" from CountRecord c where c.delta=0 and c.countPlan.id="+countPlanId); + List cpts=commonDao.findByQuery("select c.id from CountRecord c where c.delta=0 and c.countPlan.id="+countPlanId); if(cpts.size()==0) { CountPlan cp1=commonDao.load(CountPlan.class, countPlanId); cp1.setStatus(CountStatus.CLOSE); @@ -2155,7 +2158,8 @@ public class DefaultCountPlanManager extends DefaultBaseManager implements } return quantity; } - public JSONObject checkCountRecordItem(String crIds ,String propD2,String barCodes,String propC1,String countQuantity,long userId,long warehouseId,CommonDao commonDao) { + + public JSONObject checkCountRecordItem(String crIds ,String propD2,String barCodes,String propC1,String countQuantity,long userId,long warehouseId) { JSONObject resultJson = new JSONObject(); String status="0"; String msg=""; @@ -2187,7 +2191,6 @@ public class DefaultCountPlanManager extends DefaultBaseManager implements if(pqty>=0) { CountRecord countRecord=Tasks.get(0); ItemKey ik=commonDao.load(ItemKey.class, countRecord.getItemKey().getId()); - Item item=commonDao.load(Item.class, ik.getItem().getId()); CountPlan cp=commonDao.load(CountPlan.class, countRecord.getCountPlan().getId()); cp.setStatus(CountStatus.COUNT); commonDao.store(cp); @@ -2321,20 +2324,34 @@ public class DefaultCountPlanManager extends DefaultBaseManager implements } } //产生差异明细 - List cpts=commonDao.findByQuery("select c.id from CountRecord c where c.needCount=0 and c.countPlan.id="+cp.getId()); + List cpts=commonDao.findByQuery("select c.id from CountRecord c where c.needCount=0 " + + " and c.countPlan.id="+countRecord.getCountPlan().getId()); if(cpts.size()==0) { - adjustment(cp.getId(),userId); + adjustment(countRecord.getCountPlan().getId(),userId); } + //刷新完成行 - List cps= commonDao.findByQuery("select sum(c.finishNo) from CountRecordVIEW c where c.needCount=1 and c.countPlan.id="+cp.getId()); - if(cps.size()>0&&cps.get(0)!=null) { - cp.setFinishNo(Integer.parseInt(cps.get(0).toString())); +// List cps= commonDao.findByQuery("select count(c.id) " +// + " from CountRecord c where c.needCount=1 and c.countPlan.id="+cp.getId()); + if(cpts.size()>0&&cpts.get(0)!=null) { + int countqty=Integer.parseInt(cpts.get(0).toString());//未盘点行数 + if(cp.getCountQty() cps= commonDao.findByQuery("select sum(c.finishNo) from CountRecordVIEW c " +// + "where c.needCount=1 and c.countPlan.id="+cp.getId()); + Session session = ((HibernateDaoSupport) this.commonDao).getSessionFactory().openSession(); + try { + + Query query = session.createSQLQuery(sql); + List cps= (List)query.list(); + + if(cps.size()>0&&cps.get(0)!=null) { + cp.setFinishNo(Integer.parseInt(cps.get(0).toString())); + logger.info("完成行数---"+cp.getFinishNo()); + if(cp.getFinishNo() sts=commonDao.findByQuery(shql); - if(sts.size()>30500) { - mgs="库内料箱超过30500个!不能入库"; + Long zxl=30000l; + WarehouseArea whar=commonDao.load(WarehouseArea.class, 1763L);//获取入库料箱限制数 + if(whar!=null&&whar.getDecLocId()!=null&&whar.getDecLocId()>0L) { + zxl=whar.getDecLocId(); + } + if(sts.size()>zxl) { + mgs="库内料箱超过"+zxl+"个!不能入库"; return mgs; } String hql="select agv.id from AgvTask agv where agv.status in('ATWORK','ATPICK','ATWAIT') " 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 4e22ed3..4240fcc 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 @@ -75,6 +75,7 @@ import com.dev.swms.server.service.shipping.PickTicketManager; import com.dev.swms.server.utils.DateUtil; import com.dev.swms.server.utils.TimeNumberUtils; import com.dev.swms.server.web.filter.WarehouseHolder; +import com.sun.istack.internal.logging.Logger; public class DefaultInterfaceRespManager extends DefaultBaseManager implements InterfaceRespManager{ protected final InterfaceManager interfaceManager; @@ -234,6 +235,7 @@ public class DefaultInterfaceRespManager extends DefaultBaseManager implements I JSONObject jsonStr = JSONObject.fromObject(URLDecoder.decode(str,"UTF-8"));//url解密 jsonArray = JSONArray.fromObject(jsonStr.get("header")); } catch (Exception e) { + System.out.println(e.getMessage()); // TODO Auto-generated catch block /*MsgException msg = MsgException.getInstance(); msg.setReturnFlag("0"); @@ -1695,6 +1697,9 @@ public class DefaultInterfaceRespManager extends DefaultBaseManager implements I String hs="1"; String msg="成功"; JSONObject json1 = new JSONObject(); + if(jsonArray.size()>0) { + + for(int j=0;j billTypes=commonDao.findByQuery(" from BillType bt where bt.code='"+billType+"'"); @@ -2084,12 +2089,15 @@ public class DefaultInterfaceRespManager extends DefaultBaseManager implements I asnDetail.setLotInfo(lotInfo); asnDetail.setAsn(asndb); asnManager.addASNDetail(asndb.getId(),asnDetail); - } } List ids=new ArrayList(); pickTicketManager.arrangeUrgent(ids); - + }else { + code="500"; + hs="0"; + msg="报文错误"; + } json0.accumulate("returnCode", code); json0.accumulate("returnFlag", hs); json0.accumulate("returnDesc", msg); @@ -2684,8 +2692,8 @@ public class DefaultInterfaceRespManager extends DefaultBaseManager implements I if(msg==null || msg.length()<=0){ try { - List moveDocs = commonDao.findByQuery(" from PickTicket md where md.sourceId=:mdCode and md.sourceType=:sourceType ", - new String[] { "mdCode","sourceType"},new Object[] {mdCode,ptSourceType}); + List moveDocs = commonDao.findByQuery(" from PickTicket md where md.sourceId=:mdCode ", + new String[] { "mdCode"},new Object[] {mdCode}); if (moveDocs.size()>0) { moveDoc=moveDocs.get(0); moveDoc.setBillType(billType); @@ -3439,7 +3447,7 @@ public class DefaultInterfaceRespManager extends DefaultBaseManager implements I // type=TranType.zt_in;executeLibraryTask // if ("1".equals(LibraryTaskType.rk)) { List lts = commonDao.findByQuery(" from LibraryTask ltask where ltask.barcode='"+stock.getLP()+"' " - + " and ltask.type="+LibraryTaskType.rk + + " and ltask.type='"+LibraryTaskType.rk+"'" + " and ltask.status in ('NONCHECKED','ATCALL','ATWORK','ATPICK')"); if (lts.size()>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 57a5436..bb80d80 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 @@ -186,10 +186,11 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA + "(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,ad.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," - + "z1.name as z1_name, item.be_Image_File as be_Image_File " + + "z1.name as z1_name, item.be_Image_File as be_Image_File,bt.NAME as bt_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 BILL_TYPE bt on bt.id=asn.BILL_TYPE_ID " // + " left join MATERIAL_FACTORY mf on mf.id=ad.ITEM_ID and mf.plan_Code=ad.PROP_C9" + " left join zone z on z.id=item.warehouse_Area_ID " + " left join zone z1 on z1.id=item.default_Warehouse_Area_ID " @@ -222,12 +223,9 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA return resultJson; } } -// sql+=" and (item.be_mark_weight=1 ) "; }else if(type.equals("1")) { -// sql+=" and (item.be_mark_weight=0 ) "; } -// sql+= " and ((ad.ftl_qty=0 and ad.EXPECTED_QUANTITY>ad.RECEIVED_QUANTITY) or (ad.ftl_qty>0 and ad.ftl_qty>ad.RECEIVED_QUANTITY)) " sql+= " order by ad.strBill8,item.code"; Query query = session.createSQLQuery(sql); @@ -239,16 +237,6 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA + "where (asn.code='"+asn_code.trim()+"' or " + " ad.strBill7='"+asn_code.trim()+"')" + " and ( (ad.strBill=1 or ad.be_quality=0))"; - - -// Query query1 = session.createSQLQuery(sql1); -// //整理完成 -// List asnds=(List)query1.list(); -// logger.info("-----------itemCode-0004"+itemcode); -// String sql2=sql1+" and ad.EXPECTED_QUANTITY=ad.RECEIVED_QUANTITY "; - //整理完成 -// Query query2 = session.createSQLQuery(sql2); -// List asds=(List)query2.list(); int ah=0; int wcxhlhh=0;//完成的序列号行数 int wcshh=0;//完成非序列号行数 @@ -334,8 +322,10 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA obj.put("ISBOM", arrier[i++]==null?"":arrier[i-1]); obj.put("z_id", arrier[i++]==null?"":arrier[i-1]); String zxmx=""; + String billCode= arrier[26]==null?"":arrier[26].toString();//单据类型 + logger.info("单据类型:"+billCode); double volume=Double.parseDouble(arrier[15].toString()); - if(volume<=0){ + if(volume<=0&&!billCode.equals("移位单")&&!billCode.equals("转库单")){ zxmx="是"; }else{ zxmx="否"; @@ -391,12 +381,6 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA obj.put("defaultZone", "推荐库区无"); obj.put("z_id", ""); } -// String beImageFile= arrier[25]==null?"":arrier[25].toString();//是否拍照上传 -// if(beImageFile.equals("TURE")||beImageFile.equals("true")||beImageFile.equals("1")) { -// obj.put("beImageFile", "true"); -// }else { -// obj.put("beImageFile", "false"); -// } if(zxmx.equals("是")) { obj.put("beImageFile", "false"); }else { @@ -407,7 +391,6 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA data = array.toString(); status = "1"; msg=jq; -// logger.info("-----------itemCode-0006"+itemcode); }else{ msg = "找不到相应入库整理记录!"; status = "0"; @@ -434,10 +417,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA } } - -// }else{ -// msg = "barCode参数错误或为空!"; -// } + } else { msg = "无区仓库信息!"; @@ -5117,6 +5097,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA newtask.setAgvStatus(2); newtask.setYc_qty(t.getYc_qty()); newtask.setBillCode(t.getBillCode()); + newtask.setNcrCode(t.getNcrCode()); //把相关子任务单号写入播种墙 seedWall.setTaskCode(newtask.getBillCode()); //生成电子标签任务 @@ -5196,7 +5177,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA seedWall.setStatus(WarehouseAreaStatus.OCCUPY); //把相关子任务单号写入播种墙 seedWall.setTaskCode(t.getBillCode()); - + newtask.setNcrCode(t.getNcrCode()); newtask.setSeedWall(seedWall); newtask.setAgvStatus(2); newtask.setYc_qty(t.getYc_qty()); @@ -5224,6 +5205,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA newtask.setAgvStatus(2); newtask.setYc_qty(t.getYc_qty()); newtask.setBillCode(t.getBillCode()); + newtask.setNcrCode(t.getNcrCode()); commonDao.store(newtask); }else{ cancelAllcate(taskId, userId, warehouseId,false); @@ -5243,9 +5225,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA } } - } - } else{ cancelAllcate(taskId, userId, warehouseId,false);//取消分配 @@ -5253,11 +5233,9 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA newtask.setWorker1(worker); newtask.setYc_qty(t.getYc_qty()); newtask.setBillCode(t.getBillCode()); + newtask.setNcrCode(t.getNcrCode()); commonDao.store(newtask); } - - - } } } @@ -7979,16 +7957,32 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA String msg = ""; String data = "[]"; String itemQty="0"; - List objs1 =commonDao.findByQuery(" select IsNULL(sum(t.hs),0) from CountRecordVIEW t " - + " where t.targetArea like '"+lsCode+"' and t.needCount=0 " - + " and t.countPlan.status in('OPEN','ACTIVE','COUNT','ISSUED')"); - if(objs1.size()>0) { - itemQty= objs1.get(0).toString(); - } + try { if (userId > 0) { if (warehouseId > 0) { + Session session = ((HibernateDaoSupport)this.commonDao).getSessionFactory().openSession(); + /* String sql2="select count(DISTINCT ik.LOT+loc.CODE) finishNo \r\n" + + " from COUNT_RECORD cr\r\n" + + " left join COUNT_PLAN cp ON cp.id=cr.COUNT_PLAN_ID\r\n" + + " left join LOCATION loc on loc.ID=cr.LOCATION_ID\r\n" + + " LEFT JOIN ITEM_KEY ik ON ik.id=cr.ITEM_KEY_ID\r\n" + + " where cp.STATUS in('OPEN','ACTIVE','COUNT','ISSUED') \r\n" + + " and cr.NEED_COUNT=0 and cr.targetArea='"+lsCode+"' " + + " group by cr.targetArea,cr.NEED_COUNT"; + Query query1 = session.createSQLQuery(sql2); + List objs1 = query1.list();*/ + +// List objs1 =commonDao.findByQuery(" select IsNULL(sum(t.hs),0) from CountRecordVIEW t " +// + " where t.targetArea like '"+lsCode+"' and t.needCount=0 " +// + " and t.countPlan.status in('OPEN','ACTIVE','COUNT','ISSUED')"); + List objs1 =commonDao.findByQuery(" select count(t.id) from CountRecord t " + + " where t.targetArea = '"+lsCode+"' and t.needCount=0 " + + " and t.countPlan.status in('OPEN','ACTIVE','COUNT','ISSUED')"); + if(objs1.size()>0) { + itemQty= objs1.get(0).toString(); + } List agvObjs=null; //获取当前AgvTask任务 @@ -8013,10 +8007,8 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA String str1=robotJobId.substring(0, 2); String str2=robotJobId.substring(robotJobId.length()-1); - Session session = ((HibernateDaoSupport)this.commonDao).getSessionFactory().openSession(); -// List itemIds=new ArrayList(); + try { -// String sql="select cr.count_Code ,i.CODE as icode ,max(z.NAME) z_name,sum(cr.QUANTITY) QUANTITY," +"sum(cr.COUNT_QUANTITY) COUNT_QUANTITY,sum(cr.DELTA_QUANTITY) DELTA_QUANTITY ,ik.PROP_C1," +"max(ik.PROP_C2),CONVERT(varchar(100), ik.PROP_D2, 23) as PROP_D2,max(ik.PROP_C3) PROP_C3," @@ -8040,7 +8032,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA +" left join LOCATION l on l.ID=cr.LOCATION_ID " +" left join [ZONE] z on z.ID=l.ZONE_ID " +" left join STOCK s on s.ID=l.stock " - +" where cr.count_Code is not NULL and c.STATUS in('OPEN','ACTIVE','COUNT','ISSUED') " + +" where c.STATUS in('OPEN','ACTIVE','COUNT','ISSUED') and cr.count_Code is not NULL " +" and s.LP='"+LP+"' and cr.targetArea in('"+lsCode+"') and c.CODE='"+code+"' " ; if (item!=null&&item.length()>0) { sql+=" AND i.CODE=''"+item+"' "; @@ -8059,7 +8051,6 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA " i.SINGLE_ITEM,iK.BE_MARK_WEIGHT,i.isBOM "; sql+=" order by cr.count_Code,l.CODE,cr.NEED_COUNT "; Query query = session.createSQLQuery(sql); -// itemIds= query.list(); List objs = query.list();//commonDao.findByQuery(sql); if (objs .size() > 0) { for(Object[] object:objs){ @@ -9192,7 +9183,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA if(pt.getAllocatedQuantity()<=0) { pt.setStatus(PickTicketStatus.CLOSE); }else { - pt.setStatus(PickTicketStatus.PICK_ALL); + pt.setStatus(PickTicketStatus.PICK_ALL); } } commonDao.store(pt); @@ -10729,6 +10720,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA return resultJson; } + } diff --git a/src/main/java/com/dev/swms/server/service/receiving/MoveDocManager.java b/src/main/java/com/dev/swms/server/service/receiving/MoveDocManager.java index fd5e3a2..d8e1544 100644 --- a/src/main/java/com/dev/swms/server/service/receiving/MoveDocManager.java +++ b/src/main/java/com/dev/swms/server/service/receiving/MoveDocManager.java @@ -319,6 +319,10 @@ public interface MoveDocManager extends BaseManager { /** 立库库存界面呼叫托盘*/ @Transactional void stockLibrartTask(String sls,List ids,boolean jj) ; + /** WCS界面批量呼叫托盘*/ + @Transactional + void callLibrary(String sls,Long id,boolean jj) ; + /** 单巷道移位*/ @Transactional void byLibrartTask(String sls,String dlp) ; 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 1216c9f..b84f3ad 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 @@ -47,6 +47,7 @@ import com.dev.swms.server.model.base.Worker; import com.dev.swms.server.model.delivery.PlantLocation; import com.dev.swms.server.model.delivery.ZonePlant; import com.dev.swms.server.model.interfaceLog.InterfaceLog; +import com.dev.swms.server.model.inventory.AgvTask; import com.dev.swms.server.model.inventory.Configuration; import com.dev.swms.server.model.inventory.Inventory; import com.dev.swms.server.model.inventory.InventoryApply; @@ -70,6 +71,7 @@ import com.dev.swms.server.model.receiving.MoveDocStatus; import com.dev.swms.server.model.receiving.ReceivedRecord; import com.dev.swms.server.model.receiving.ReceivingInventory; import com.dev.swms.server.model.receiving.STATUS; +import com.dev.swms.server.model.receiving.SlotType; import com.dev.swms.server.model.receiving.StockStatus; import com.dev.swms.server.model.receiving.TranType; import com.dev.swms.server.model.rules.ItemStorageRule; @@ -93,6 +95,7 @@ import com.dev.swms.server.service.receiving.MoveDocManager; import com.dev.swms.server.service.receiving.PutawayAllocator; import com.dev.swms.server.service.sequence.BussinessCodeManager; import com.dev.swms.server.utils.DoubleUtils; +import com.dev.swms.server.utils.StringUtil; import com.dev.swms.server.web.filter.WarehouseHolder; import com.dev.energy.server.exception.BusinessException; import com.dev.energy.server.model.EntityFactory; @@ -3873,6 +3876,7 @@ public class DefaultMoveDocManager extends DefaultBaseManager implements MoveDoc commonDao.store(ls2); } } + public void stockLibrartTask(String sls,List ids,boolean jj) { List ls=new ArrayList(); for(Long id:ids) { @@ -3899,6 +3903,39 @@ public class DefaultMoveDocManager extends DefaultBaseManager implements MoveDoc } } + public void callLibrary(String sls,Long ids,boolean jj) { + String[] strings=sls.split("\n"); + for (String string : strings) { + List stockss = commonDao.findByQuery(" from Stock s where s.LP='"+StringUtil.replace(string)+"'"); + LocationStorage lsts2=commonDao.load(LocationStorage.class, ids); + if (stockss.size()>0) { + Stock s=stockss.get(0); + if(s.getLocationStorage()!=null) { + LocationStorage lst=commonDao.load(LocationStorage.class, s.getLocationStorage().getId()); + if(lst.getWarehouseArea().getId()==1766&&!lst.getCode().equals("601") + &&!lst.getCode().equals("602")&&!lst.getCode().equals("603") + &&!lst.getCode().equals("604")&&!lst.getCode().equals("605")) { + + String tp_hql="select ltask.id from LibraryTask ltask where ltask.barcode='"+s.getLP()+"' " + + " and status in ('ATCALL','NONCHECKED','ATWORK') "; + List lts = commonDao.findByQuery(tp_hql); + if(lts.size()>0) { + throw new BusinessException(s.getLP()+"托盘在任务中"); + } + //起点、目标点,托盘,移动类型、加急 + byLibrartTask(lst.getCode() , lsts2.getCode(),s.getLP(), "2", jj); + + }else { + throw new BusinessException(s.getLP()+"托盘不在堆垛库内"); + } + }else { + throw new BusinessException(s.getLP()+"托盘不在堆垛库内"); + } + }else { + throw new BusinessException(string+"托盘不存在"); + } + } + } @Override public void stockPickTicket(List ids) { 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 b0a1806..7e1a472 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 @@ -850,4 +850,7 @@ public interface PickTicketManager extends BaseManager { //拣货获取合单库位 @Transactional String printLocationCodePick(String code, Long workerId,Long wid); + + JSONObject checkCountRecordItem(String crIds ,String propD2,String barCodes,String propC1,String countQuantity,long userId,long warehouseId,CommonDao commonDao); + } 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 1a7277b..ff2e789 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 @@ -496,6 +496,7 @@ public class DefaultNewWaveManager extends DefaultBaseManager implements int GzzRenwuOver = (list_wList.size() + curr_gzz.notFinished + curr_gzz.renWuList.size()) - curr_gzz.maxRenWu; LogPrint( true,"list_wList:"+list_wList.size() +"GzzRenwuOver:"+ GzzRenwuOver+"this_notFenPei:"+this_notFenPei+"cfhs:"+cfhs+"index---"+index+"---"+( gongDanList.size() - 1)); + // list_wList?25GzzRenwuOver?22this_notFenPei:52cfhs:25index---10---11 // LogPrint(listGzz.size()); //如果当前任务分配进此工作站不超过最大任务数,或者 当前任务在内 剩余数量不超过 拆分行数或者 当前工单是最后一个工单 if (GzzRenwuOver <= 0 || (this_notFenPei<=cfhs||index == gongDanList.size() - 1)) { 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 3b65040..f9f3231 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 @@ -4387,7 +4387,11 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick task.setSmallUnit(beUnpacking); item.setBeUnpacking(true); item.setSmallUnit(beUnpacking); + item.setPickingDate(new Date()); commonDao.store(item); + }else { + item.setPickingDate(new Date()); + commonDao.store(item); } commonDao.store(task); }else { @@ -4446,10 +4450,12 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick double qty=r.getReceivedQuantity()-r.getShippedQuantity(); if(qty>=pickQty) { r.setShippedQuantity(r.getShippedQuantity()+pickQty); + r.setPickDate(new Date()); commonDao.store(r); pickQty=0; }else { r.setShippedQuantity(r.getShippedQuantity()+qty); + r.setPickDate(new Date()); commonDao.store(r); pickQty=pickQty-qty; } @@ -8516,7 +8522,7 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick inv.setQueuedQuantity(0); inv.setItemKey(itemkey); commonDao.store(inv); - t_qty=t_qty-t_qty; + t_qty=t_qty-invqty2; inventoryManager.addInventoryLog(InventoryLogType.SHIPPING, -1, t.getBillCode(), t.getDstLoc(), null, itemkey1, inv.getStorageDate(), inv.getSOI(), t.getPlanQuantity(), null, inv.getStatus(), inv.getId(), "转库", t.getPickTicketDetail().getPickTicket().getBillType(), @@ -8964,6 +8970,9 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick Stock stock=list.get(0); JSONObject json=new JSONObject(); json.put("s_code", stock.getLP()); + Date date=new Date(); + json.put("printDate", DateUtil.formatDateYMDToStr(date)); +// logger.info("-------"+json.toString()); createPrintTask("15",z_qty, json.toString(), workerId, ma, printName, stock.getId()+""); }else { throw new BusinessException("打印机编号错误"); @@ -8988,6 +8997,9 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick String ma=printEquipment.getMac(); JSONObject json=new JSONObject(); json.put("s_code", stock.getLP()); + Date date=new Date(); + json.put("printDate", DateUtil.formatDateYMDToStr(date)); +// logger.info("-------"+json.toString()); createPrintTask("15",z_qty, json.toString(), workerId, ma, printName, stock.getId()+""); stock.setLocationIndex(stock.getLocationIndex()+1); commonDao.store(stock); @@ -10773,4 +10785,24 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick } return xhh; } + + public JSONObject checkCountRecordItem(String crIds ,String propD2,String barCodes,String propC1,String countQuantity,long userId,long warehouseId,CommonDao commonDao) { + JSONObject resultJson = new JSONObject(); + + resultJson=countPlanManager.checkCountRecordItem(crIds, propD2, barCodes, propC1, countQuantity, userId, warehouseId); + try { + String [] ids=crIds.split(","); + if(ids.length>0) { + String str=ids[0]; + CountRecord cr=commonDao.load(CountRecord.class,Long.parseLong(str)); + countPlanManager.updatePlancount(cr.getCountPlan().getId()); + } + }catch(Exception e){ + logger.error(e.getMessage()); + } + return resultJson; + } + + + } \ No newline at end of file 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 6ee92de..cc3b962 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 @@ -31,6 +31,7 @@ import com.dev.energy.server.dao.CommonDao; import com.dev.energy.server.model.EntityFactory; import com.dev.energy.server.util.DateUtil; 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; @@ -46,6 +47,7 @@ import com.dev.swms.server.model.inventory.Inventory; import com.dev.swms.server.model.inventory.InventoryLogType; import com.dev.swms.server.model.inventory.Stock; import com.dev.swms.server.model.inventory.Task; +import com.dev.swms.server.model.receiving.ASN; import com.dev.swms.server.model.receiving.ASNDetail; import com.dev.swms.server.model.receiving.CarLoad; import com.dev.swms.server.model.receiving.MoveDocDetail; @@ -966,7 +968,7 @@ public class ASNReceiveServlet extends HttpServlet { boolean agv=true; if (userId > 0) { if (warehouseId > 0) { - logger.info(asnDetailId+"--整理+"+new Date()); +// logger.info(asnDetailId+"--整理+"+new Date()); // List p2s=commonDao.findByQuery("select ad.lotInfo.propC2 from ASNDetail ad " // + "where ad.id in ("+asnDetailId+") group by ad.lotInfo.propC2 "); @@ -1055,15 +1057,20 @@ public class ASNReceiveServlet extends HttpServlet { if(ASNDetails.size()>0){ ASNDetail ad=ASNDetails.get(0); + ASN asn=commonDao.load(ASN.class, ad.getAsn().getId()); + BillType bt=commonDao.load(BillType.class, asn.getBillType().getId()); Item item=commonDao.load(Item.class, ad.getItem().getId()); - if(item.getVolume()<=0) { - status = "2"; - msg = "料号没测量,请先测量! "; - resultJson.put("status", status); - resultJson.put("msg", msg); - resultJson.put("data", data); - return resultJson; + if(!bt.getName().equals("移位单")&&!bt.getName().equals("转库单")) { + if(item.getVolume()<=0) { + status = "2"; + msg = "料号没测量,请先测量! "; + resultJson.put("status", status); + resultJson.put("msg", msg); + resultJson.put("data", data); + return resultJson; + } } + if((item.getValidPeriod()!=null&&item.getValidPeriod()>0)||item.getIsBOM()) { if(receiveDate.before( new Date())) { @@ -1144,14 +1151,20 @@ public class ASNReceiveServlet extends HttpServlet { if(ad.getLotInfo()!=null&&ad.getLotInfo().getPropC2()!=null) { sqt=ad.getLotInfo().getPropC2(); } - if(item.getVolume()<=0) { - status = "2"; - msg = item.getCode()+"料号没测量,请先测量! "; - resultJson.put("status", status); - resultJson.put("msg", msg); - resultJson.put("data", data); - return resultJson; + ASN asn=commonDao.load(ASN.class, ad.getAsn().getId()); + BillType bt=commonDao.load(BillType.class, asn.getBillType().getId()); + if(!bt.getName().equals("移位单")&&!bt.getName().equals("转库单")) { + if(item.getVolume()<=0) { + status = "2"; + msg = item.getCode()+"料号没测量,请先测量! "; + resultJson.put("status", status); + resultJson.put("msg", msg); + resultJson.put("data", data); + return resultJson; + } + } + } } BigDecimal bg1 = new BigDecimal(quantity); @@ -1706,6 +1719,8 @@ public class ASNReceiveServlet extends HttpServlet { String wsql="select sum(r.receivedQuantity-r.shippedQuantity) from ReceivingInventory r where r.itemKey.item.id= " + ik.getItem().getId()+" and r.location.id="+lc.getId() +" and r.strBill1='"+ncrCode+"' and r.receivedQuantity>r.shippedQuantity "; + + List rdsqty=commonDao.findByQuery(wsql); if(rdsqty.size()>0) { double qys=rdsqty.get(0); @@ -1816,6 +1831,7 @@ public class ASNReceiveServlet extends HttpServlet { }else{ double Qty=0; + //是否整库位 if(allLocation!=null&&(allLocation.equals("TRUE")||allLocation.equals("true"))) { List Inventorys=commonDao.findByQuery(" from Inventory inv where inv.id in ("+invIds.toString()+") "); if(Inventorys.size()>0) { @@ -1840,7 +1856,7 @@ public class ASNReceiveServlet extends HttpServlet { } } }else { - + //按数量移位 List Inventorys=commonDao.findByQuery(" from Inventory inv where inv.id in ("+invIds.toString()+") "); if(Inventorys.size()>0){ Location lc1=null; @@ -1901,6 +1917,7 @@ public class ASNReceiveServlet extends HttpServlet { status="1"; msg="操作成功!"; } catch (BeansException e) { + status="0"; msg=e.getMessage(); } } @@ -1958,6 +1975,7 @@ public class ASNReceiveServlet extends HttpServlet { break; } } catch (Exception e) { + status="0"; msg=e.getMessage(); } 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 b7104c0..b02b3b5 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 @@ -283,7 +283,9 @@ public class PlanCountServlet extends HttpServlet { if (userId > 0) { if (warehouseId > 0) { CountPlanManager countPlanManager = (CountPlanManager) ac.getBean("countPlanManager"); - resultJson =countPlanManager.checkCountRecordItem(crIds, propD2, barCodes, propC1, countQuantity, userId, warehouseId, commonDao); + resultJson =countPlanManager.checkCountRecordItem(crIds, propD2, barCodes, propC1, countQuantity, userId, warehouseId); +// PickTicketManager pickTicketManager = (PickTicketManager) ac.getBean("pickTicketManager"); +// resultJson =pickTicketManager.checkCountRecordItem(crIds, propD2, barCodes, propC1, countQuantity, userId, warehouseId, commonDao); return resultJson; } else { status = "2"; diff --git a/src/test/yao/2025.sql b/src/test/yao/2025.sql index 72b3d19..7ddd50f 100644 --- a/src/test/yao/2025.sql +++ b/src/test/yao/2025.sql @@ -434,7 +434,135 @@ GO UPDATE Bill_Type_Config SET prioritize =1 WHERE prioritize IS NULL; +---------2025-08-25 + +ALTER TABLE item add heat_Three_Months int NULL; +GO +ALTER TABLE item add heat_Six_Months int NULL; +GO +ALTER TABLE item add PICKING_DATE DATE NULL; +GO +UPDATE ITEM SET heat_Three_Months=1 WHERE heat_Three_Months IS NULL; +GO +UPDATE ITEM SET heat_Six_Months=1 WHERE heat_Six_Months IS NULL; +---------------------------- +select max(v.id) id,max(v.COUNT_PLAN_ID) COUNT_PLAN_ID , + count(v.hs) hs, + max(v.z_name) z_name, + max(v.number) number, + v.NEED_COUNT needCount, + max(v.targetArea) targetArea, + count(v.fno) finishNo, + v.count_Code from + +(select max(cr.id) id,max(cr.COUNT_PLAN_ID) COUNT_PLAN_ID , + count(cr.id) hs, + max(z.NAME) z_name, + ISNULL(max(s.number),0) number, + count(cr.id) fno, + cr.NEED_COUNT, + max(cr.targetArea) targetArea, + max(cr.count_Code) count_Code + from COUNT_RECORD cr + left join LOCATION loc on loc.ID=cr.LOCATION_ID + left join [ZONE] z on z.ID=loc.ZONE_ID + left join ShiXiao s on s.warehouseArea=z.ID + group by cr.count_Code,cr.COUNT_PLAN_ID,cr.ITEM_KEY_ID,cr.LOCATION_ID,cr.NEED_COUNT) v + + group by v.count_Code,v.COUNT_PLAN_ID,v.NEED_COUNT + ---------调整为------------ + select max(cr.id) id,max(cr.COUNT_PLAN_ID) COUNT_PLAN_ID , + count(DISTINCT ik.LOT+loc.CODE) hs, + max(z.NAME) z_name, + ISNULL(max(s.number),0) number, + count(DISTINCT ik.LOT+loc.CODE) finishNo, + cr.NEED_COUNT needCount, + max(cr.targetArea) targetArea, + max(cr.count_Code) count_Code + from COUNT_RECORD cr + left join LOCATION loc on loc.ID=cr.LOCATION_ID + left join [ZONE] z on z.ID=loc.ZONE_ID + left join ShiXiao s on s.warehouseArea=z.ID + LEFT JOIN ITEM_KEY ik ON ik.id=cr.ITEM_KEY_ID + + group by cr.count_Code,cr.COUNT_PLAN_ID,cr.NEED_COUNT; + + + + ------------------ + select max(z.id) id,max(cr.COUNT_PLAN_ID) COUNT_PLAN_ID , + count(DISTINCT ik.LOT+loc.CODE) hs, + max(z.NAME) z_name, + max(s.number) number + from COUNT_RECORD as cr + left join LOCATION loc on loc.ID=cr.LOCATION_ID + left join [ZONE] z on z.ID=loc.ZONE_ID + left join ShiXiao s on s.warehouseArea=z.ID + LEFT JOIN ITEM_KEY ik ON ik.id=cr.ITEM_KEY_ID + group by cr.COUNT_PLAN_ID,z.id + ---------------上面视图调整为下面的视图 + select max(z.id) id,max(cr.COUNT_PLAN_ID) COUNT_PLAN_ID , + count(DISTINCT ik.LOT+loc.CODE) hs, + max(z.NAME) z_name, + max(s.number) number + from COUNT_RECORD as cr + left join LOCATION loc on loc.ID=cr.LOCATION_ID + left join [ZONE] z on z.ID=loc.ZONE_ID + left join ShiXiao s on s.warehouseArea=z.ID + LEFT JOIN ITEM_KEY ik ON ik.id=cr.ITEM_KEY_ID + group by cr.COUNT_PLAN_ID,z.id + +----------------------------查询料号信息的语句 + select + item.id as 序号, + item.code as 料号, + item.name as 描述, + item.CA_name as 包装类型, + item.pack_Number as 规格数量, +item.weight as 规格重量, +item.suggest as 净重, + item.length as 长, +item.width as 宽, +item.height as 高, +item.volume as 体积 , + item.unit as 单位, + wa.name as 推荐库区, + w.name as 默认库区, + item.good_Type as 类型, + item.ship_Rules as 价值等级, + item.valid_Period as 保质期, + item.ALERT_LEADING_DAYS as 预警天数, + item.SINGLE_ITEM as 批次号, + item.brand as 批次规则, + item.be_Unpacking as 是否包装更新, + item.smallUnit as 包装, + item.be_Mark_Weight as 是否序列号, + item.isBOM as 是否有限期, + item.be_Weight as 危险品, + item.be_Inv as 是否由库存, + item.be_SAP_Item as 是否SAP料号, + item.be_Whole_Line as 是否米数, + P.name as 库存组, + item.sale_Time as 热度值, + item.str_Extend1 as 备注, + item.str_Extend2 as 币种, + item.str_Extend3 as 元值 + from ITEM item + left join ZONE wa on wa.id=item.warehouse_Area_ID + left join ZONE w on w.id=item.default_Warehouse_Area_ID + left join position p on p.id=item.POSITION_ID + + ---------------2025-08-30 + ALTER TABLE Receiving_Inventory add pick_Date DATE NULL; +GO + +select * from item where volume>0 and be_Image_File=0; +update item set largeWeight=volume where volume>0 and be_Image_File=0; +update item set volume=0 where volume>0 and be_Image_File=0; + + + \ No newline at end of file diff --git a/src/webapp/WEB-INF/classes/config/origen/base/editCallLibraryTaskPage.xml b/src/webapp/WEB-INF/classes/config/origen/base/editCallLibraryTaskPage.xml new file mode 100644 index 0000000..0e6cf6a --- /dev/null +++ b/src/webapp/WEB-INF/classes/config/origen/base/editCallLibraryTaskPage.xml @@ -0,0 +1,46 @@ + + + + + + +