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 0ace22c..5b96016 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
@@ -188,7 +188,15 @@ public class Item extends Entity {
 	private Number largeHeight;
 	
     
-    public WarehouseArea getDefaultWarehouseArea() {
+    public boolean isBeWholeLine() {
+		return beWholeLine;
+	}
+
+	public void setBeWholeLine(boolean beWholeLine) {
+		this.beWholeLine = beWholeLine;
+	}
+
+	public WarehouseArea getDefaultWarehouseArea() {
 		return defaultWarehouseArea;
 	}
 
diff --git a/src/main/java/com/dev/swms/server/model/base/LotInfo.java b/src/main/java/com/dev/swms/server/model/base/LotInfo.java
index 66efca9..b1e2374 100644
--- a/src/main/java/com/dev/swms/server/model/base/LotInfo.java
+++ b/src/main/java/com/dev/swms/server/model/base/LotInfo.java
@@ -52,6 +52,7 @@ public class LotInfo extends DomainModel implements ApplicationContextAware{
 	private String propLC2;//成品标记
 	private String propLC3;//元值
 	private String propLC4;//币种
+
 	private static ApplicationContext ac;
 	private CommonDao commonDao;
 	
diff --git a/src/main/java/com/dev/swms/server/model/base/WorkOrderAllocationInfo.java b/src/main/java/com/dev/swms/server/model/base/WorkOrderAllocationInfo.java
index c3fb930..4513b10 100644
--- a/src/main/java/com/dev/swms/server/model/base/WorkOrderAllocationInfo.java
+++ b/src/main/java/com/dev/swms/server/model/base/WorkOrderAllocationInfo.java
@@ -50,78 +50,78 @@ public class WorkOrderAllocationInfo extends Entity{
      */
     private Date allocationDate;
 
+	public String getWorkOrderNumber() {
+		return workOrderNumber;
+	}
+
+	public void setWorkOrderNumber(String workOrderNumber) {
+		this.workOrderNumber = workOrderNumber;
+	}
+
+	public int getLineNumber() {
+		return lineNumber;
+	}
+
+	public void setLineNumber(int lineNumber) {
+		this.lineNumber = lineNumber;
+	}
+
+	public String getMaterialNumber() {
+		return materialNumber;
+	}
+
+	public void setMaterialNumber(String materialNumber) {
+		this.materialNumber = materialNumber;
+	}
+
+	public int getQuantity() {
+		return quantity;
+	}
+
+	public void setQuantity(int quantity) {
+		this.quantity = quantity;
+	}
+
+	public String getRemarks() {
+		return remarks;
+	}
+
+	public void setRemarks(String remarks) {
+		this.remarks = remarks;
+	}
+
+	public String getLocationNumber() {
+		return locationNumber;
+	}
+
+	public void setLocationNumber(String locationNumber) {
+		this.locationNumber = locationNumber;
+	}
+
+	public String getFactory() {
+		return factory;
+	}
+
+	public void setFactory(String factory) {
+		this.factory = factory;
+	}
+
+	public String getLoc() {
+		return loc;
+	}
+
+	public void setLoc(String loc) {
+		this.loc = loc;
+	}
+
+	public Date getAllocationDate() {
+		return allocationDate;
+	}
+
+	public void setAllocationDate(Date allocationDate) {
+		this.allocationDate = allocationDate;
+	}
+
     // Getter 和 Setter 方法
 
-
-    public String getWorkOrderNumber() {
-        return workOrderNumber;
-    }
-
-    public void setWorkOrderNumber(String workOrderNumber) {
-        this.workOrderNumber = workOrderNumber;
-    }
-
-    public int getLineNumber() {
-        return lineNumber;
-    }
-
-    public void setLineNumber(int lineNumber) {
-        this.lineNumber = lineNumber;
-    }
-
-    public String getMaterialNumber() {
-        return materialNumber;
-    }
-
-    public void setMaterialNumber(String materialNumber) {
-        this.materialNumber = materialNumber;
-    }
-
-    public int getQuantity() {
-        return quantity;
-    }
-
-    public void setQuantity(int quantity) {
-        this.quantity = quantity;
-    }
-
-    public String getRemarks() {
-        return remarks;
-    }
-
-    public void setRemarks(String remarks) {
-        this.remarks = remarks;
-    }
-
-    public String getLocationNumber() {
-        return locationNumber;
-    }
-
-    public void setLocationNumber(String locationNumber) {
-        this.locationNumber = locationNumber;
-    }
-
-    public String getFactory() {
-        return factory;
-    }
-
-    public void setFactory(String factory) {
-        this.factory = factory;
-    }
-
-    public String getLoc() {
-        return loc;
-    }
-
-    public void setLoc(String loc) {
-        this.loc = loc;
-    }
-
-    public Date getAllocationDate() {
-        return allocationDate;
-    }
-
-    public void setAllocationDate(Date allocationDate) {
-        this.allocationDate = allocationDate;
-    }
 }
\ No newline at end of file
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 3377b34..52df8a8 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
@@ -97,9 +97,8 @@
 		
 		
-
 		
-
+		
 		
 		
 		
diff --git a/src/main/java/com/dev/swms/server/model/base/workOrderAllocationInfo.hbm.xml b/src/main/java/com/dev/swms/server/model/base/workOrderAllocationInfo.hbm.xml
index 0eb1dd2..861eb3d 100644
--- a/src/main/java/com/dev/swms/server/model/base/workOrderAllocationInfo.hbm.xml
+++ b/src/main/java/com/dev/swms/server/model/base/workOrderAllocationInfo.hbm.xml
@@ -5,9 +5,12 @@
 
     
         
-        
-            
-        
+        
+			
+				seq_wms_WorkOrderAllocationInfo
+				START WITH 1000
+			
+		
         
         
         
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 ce2468f..6c08354 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
@@ -1097,6 +1097,7 @@ public class DefaultAgvTaskManager extends DefaultBaseManager implements AgvTask
 		LocationStorage ls = this.load(LocationStorage.class, id);
 		AgvTask agvTask=EntityFactory.getEntity(AgvTask.class);
 		agvTask.setRobotJobId(TimeNumberUtils.getBigTaskCode());
+		agvTask.setEndSlotCode(ls.getOutLocation());
 		agvTask.setSlotCode(ls.getOutLocation());
 		agvTask.setWorkMode("WORKBIN_OUTBOUND");
 		setContainerCode(stockLP, agvTask,ls);//料箱区接驳口
@@ -1532,7 +1533,6 @@ public class DefaultAgvTaskManager extends DefaultBaseManager implements AgvTask
 			agvTask.setContainerCode(stockLP);
 			agvTask.setStationCode(ls.getGzzCode());
 			agvTask.setBeforePutConfirm(true);
-			
 			agvTask.setJobType("BUCKET_MOVE");
 			agvTask.setType("呼叫货架");
 			agvTask.setClassification(classification);
@@ -1541,8 +1541,6 @@ public class DefaultAgvTaskManager extends DefaultBaseManager implements AgvTask
 			agvTask.setNeedOperation(true);
 			agvTask.setLetDownFlag(1);
 			agvTask.setContainerCode(stockLP);
-//			String hql=" select from AgvTask agv,CommonCode cc where agv.status='ATCALL' and cc."
-//					+ " and  agv.endSlotCode="+ls.getOutLocation();
 			agvTask.setEndSlotCode(ls.getOutLocation());
 			agvTask.setIdentification(identification);
 			agvTask.setFounderName(fname);
@@ -1552,6 +1550,7 @@ public class DefaultAgvTaskManager extends DefaultBaseManager implements AgvTask
 			if (flag) {
 				agvTask.setCode(CountPlanCode);
 				agvTask.setRobotJobId(TimeNumberUtils.getBigTaskCode());
+				agvTask.setEndSlotCode(ls.getOutLocation());
 				agvTask.setSlotCode(ls.getOutLocation());
 				agvTask.setWorkMode("WORKBIN_OUTBOUND");
 				setContainerCode(stockLP, agvTask,ls);
@@ -2088,7 +2087,7 @@ public class DefaultAgvTaskManager extends DefaultBaseManager implements AgvTask
 							+ " and agvTask.status in ('ATCALL') "
 							+ " and agvTask.targetArea like '%"+loc.getName()+"%' "
 									+ " and  agvTask.errorMessage  is null "
-									+ " order by  agvTask.jobPriorityType desc "
+									+ " order by  agvTask.jobPriorityType desc,agvTask.jobPriority desc "
 							);
 					for (AgvTask agvTask : agvTasks) {
 						
@@ -2109,7 +2108,7 @@ public class DefaultAgvTaskManager extends DefaultBaseManager implements AgvTask
 							}
 						}else if(agvTask.getClassification().equals("盘点")) {
 							String sql="select agvTask.id from AgvTask agvTask where agvTask.classification='盘点' "
-									+ " and agvTask.targetArea='"+agvTask.getTargetArea()+"'"
+//									+ " 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);
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 9a75d98..6f49e72 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
@@ -1074,7 +1074,8 @@ public class DefaultCountPlanManager extends DefaultBaseManager implements
 					//查询库存
 					if(inventorLogs.size()>0) {
 						
-					String hql2=" from Inventory i where i.counPlan is null and i.queuedQuantity=0 and i.quantity>0 and i.status='已入库' ";
+					String hql2=" from Inventory i where i.counPlan is null and i.queuedQuantity=0 "
+							+ "and i.quantity>0 and i.status='已入库' and  i.itemKey.item.id<>2254883 ";
 					if(itemkeyids.length()>0) {
 						itemkeyids=itemkeyids.substring(0, itemkeyids.length()-1);
 						if(itemkeyids.length()>0) {
@@ -1133,7 +1134,8 @@ public class DefaultCountPlanManager extends DefaultBaseManager implements
 					
 				}else {
 					//料号库位盘点任务
-					String hql=" from Inventory inv where  inv.queuedQuantity=0 and inv.quantity>0 and inv.status='已入库'  ";
+					String hql=" from Inventory inv where  inv.queuedQuantity=0 and inv.quantity>0 "
+							+ "and inv.status='已入库' and  i.itemKey.item.id<>2254883 ";
 					//盘点等级
 					if(countPlan.getCountCode()!=null&&!countPlan.getCountCode().equals("")) {
 						String code="";
@@ -1752,55 +1754,44 @@ public class DefaultCountPlanManager extends DefaultBaseManager implements
 				if(sts3.size()>0&&z2==0) {
 					throw new BusinessException("堆垛区有盘点任务,必须勾选");
 				}
-				
-//				List	ddq=commonDao.findByQuery(" from CountRecord c where  c.location.zone.name='7#地堆区' "
-//						+" and  c.countPlan.id="+countPlanId+" order by c.location.code");
+
 				List	ddq=quserCountPlanTask(1808L, countPlanId);//7#地堆区
 				if(ddq.size()>0&&w31==0) {
 					throw new BusinessException("7#地堆区有盘点任务,必须勾选");
 				}
 				
-//				List	ptkq3=commonDao.findByQuery(" from CountRecord c where  c.location.zone.id=1768 "
-//						+" and  c.countPlan.id="+countPlanId+" order by c.location.code");
+
 				List	ptkq3=quserCountPlanTask(1768L, countPlanId);//7#3楼普通库
 				if(ptkq3.size()>0&&w32==0) {
 					throw new BusinessException("7#3楼普通库有盘点任务,必须勾选");
 				}
-//				List	hjjq=commonDao.findByQuery(" from CountRecord c where  c.location.zone.name='3#焊接件区' "
-//						+" and  c.countPlan.id="+countPlanId+" order by c.location.code");
+
 				List	hjjq=quserCountPlanTask(1773L, countPlanId);//3#焊接件区
 				if(hjjq.size()>0&&w33==0) {
 					throw new BusinessException("3#焊接件区有盘点任务,必须勾选");
 				}
-//				List	blpq=commonDao.findByQuery(" from CountRecord c where  c.location.zone.name='3#不良品区' "
-//						+" and  c.countPlan.id="+countPlanId+" order by c.location.code");
+
 				List	blpq=quserCountPlanTask(1798L, countPlanId);//3#不良品区
 				if(blpq.size()>0&&w34==0) {
 					throw new BusinessException("3#不良品区有盘点任务,必须勾选");
 				}
-//				List	ptkq4=commonDao.findByQuery(" from CountRecord c where  c.location.zone.id=1783 "
-//						+" and  c.countPlan.id="+countPlanId+" order by c.location.code");
+
 				List	ptkq4=quserCountPlanTask(1783L, countPlanId);//7#4楼普通库
 				
 				if(ptkq4.size()>0&&w35==0) {
 					throw new BusinessException("7#4楼普通库有盘点任务,必须勾选");
 				}
-//				List	hxpq=commonDao.findByQuery(" from CountRecord c where  c.location.zone.name='8#化学品区' "
-//						+" and  c.countPlan.id="+countPlanId+" order by c.location.code");
+
 				List	hxpq=quserCountPlanTask(1799L, countPlanId);//8#化学品区
 				if(hxpq.size()>0&&w36==0) {
 					throw new BusinessException("8#化学品区有盘点任务,必须勾选");
 				}
-//				List	qyq=commonDao.findByQuery(" from CountRecord c where  c.location.zone.name='研发暂存区' "  
-//						+" and  c.countPlan.id="+countPlanId+" order by c.location.code");
+
 				List	qyq=quserCountPlanTask(1814L, countPlanId);//研发暂存区
 				
 				if(qyq.size()>0&&w37==0) {
 					throw new BusinessException("研发暂存区区有盘点任务,必须勾选");
 				}
-				
-//				List	yfrg=commonDao.findByQuery(" from CountRecord c where  c.location.zone.id=1815 "  
-//						+" and  c.countPlan.id="+countPlanId+" order by c.location.code");
 				List	yfrg=quserCountPlanTask(1815L, countPlanId);//2#2研发人工区
 				if(yfrg.size()>0&&w38==0) {
 					throw new BusinessException("2#2研发人工区有盘点任务,必须勾选");
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 3c36923..d1e106e 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
@@ -184,6 +184,7 @@ public interface QueryAppManager extends BaseManager {
 	 * @param warehouseId
 	 * @return
 	 */
+	@Transactional
 	JSONObject scanpickItemCode(String taskId,String jhItem,long userId,long warehouseId);
 	/**
 	 * PC拣货 完成
@@ -505,7 +506,7 @@ public interface QueryAppManager extends BaseManager {
 	JSONObject queryLoc(String taskIds,long userId,long warehouseId); 
 	
 	//查询合单完成的任务
-		JSONObject exchangeOrder(String pickCode,long userId,long warehouseId); 
+		JSONObject exchangeOrder(String pickCode,String zone_code,long userId,long warehouseId); 
 	//查询合单完成的任务
     JSONObject queryNCR(String ncrCode,String locId,String itemCode,long userId,long warehouseId); 
 			
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 91548cf..b43372b 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
@@ -1592,8 +1592,10 @@ public class DefaultInterfaceReqManager extends DefaultBaseManager implements In
 			jsonobj.put("INPUT", array);
 		}
 		if(pt!=null&&pt.getCode().indexOf("CP")==-1) {
+		
 		doWmsReqSap(getPropertiesParm("ldxt.SAP")+ApiURL.doWmsReqSap, jsonobj.toString(),"状态"+pt.getCode());
-		}
+			
+			}
 		}else {
 			logger.info("无出库单明细");
 		}
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 d600326..a7b7ee1 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
@@ -1370,6 +1370,7 @@ public class DefaultInterfaceRespManager extends DefaultBaseManager implements I
 			String unit=asn.has("unit")? asn.getString("unit"):"";//单位
 			String metaValue=asn.has("metaValue")? asn.getString("metaValue"):"";//元值
 			String currencyType=asn.has("currencyType")? asn.getString("currencyType"):"";//币种
+			String USAGE=asn.has("USAGE")? asn.getString("USAGE"):"";//用途
 			
 			if(applicant.equals("")) {
 				meg+="申请人信息不全";
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 98e30ad..4e834d7 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
@@ -17,6 +17,8 @@ import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
 import java.util.stream.Collectors;
 
 import org.hibernate.Query;
@@ -3595,6 +3597,9 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA
 		String status = "0";
 		String msg = "";
 		String data = "";
+		
+			
+			
 		try {
 			if (userId > 0) {
 				if (warehouseId > 0) {
@@ -3684,6 +3689,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA
 			msg = e.getMessage();
 		} finally {
 		}
+		
 		resultJson.put("status", status);
 		resultJson.put("data", data);
 		resultJson.put("msg", msg);
@@ -7362,8 +7368,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA
 								+" max(t.countPlan.countQty),max(t.countPlan.countQty-t.countPlan.finishNo) "
 								+ " from  CountRecord t where  t.needCount=0 and t.countPlan.status in('ISSUED','COUNT') "
 								+ " and t.countCode is not null and t.delta=0 "
-								+ " and t.location.zone.id in(1798,1773,1768"
-								+ ",1783,1808,1799,1813,1811,1812,1814,1809,1786,1782,1815,1816,1817,1818,1819) ";
+								+ " and t.location.zone.carrierType.id=3 ";
 						if(z_id>0){
 							sql+=" and t.location.zone.id="+z_id+" ";
 						}
@@ -10348,7 +10353,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA
 		return resultJson;
 	}
 	
-	public  JSONObject exchangeOrder(String pickCode,long userId,long warehouseId){
+	public  JSONObject exchangeOrder(String pickCode,String zone_code,long userId,long warehouseId){
 		JSONObject resultJson = new JSONObject();
 		JSONArray jsondata = new JSONArray();
 		String status="0";
@@ -10359,20 +10364,31 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA
 		if (userId > 0) {
 			if (warehouseId > 0) {
 				Worker worker1=commonDao.load(Worker.class, userId);
-				String sql ="select max(t.dateBill3),lc.code,t.BILLCODE,s.LP " + 
+				String sql ="select max(pt.UPDATE_TIME),lc.code as lc_code,"
+						+ "t.BILLCODE,s.LP as s_lp,z.name as z_name, "
+						+ " max(DATEDIFF(MINUTE,pt.UPDATE_TIME, GETDATE())) as orderDate "
+						+ " , pt.equated_Quantity as soi " + 
 						"	from task t " + 
 						"	left join STOCK s on s.ID=t.DST_LP " + 
 						"	left join  LOCATION lc on lc.id=t.DST_LOC_ID " + 
+						"	left join  LOCATIONS lcs on lcs.id=lc.LOCATIONS_ID " + 
+						"	left join  LOCATION loc on loc.id=t.SRC_LOC_ID " + 
+						"	left join  zone z on z.id=loc.ZONE_ID " + 
+						"	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 " + 
 						"	where t.INVENTORY_STATUS='合单完成' and t.dateBill3 is not NULL " + 
-						"	and t.PLAN_QUANTITY>0 and t.MOVED_QUANTITY_MU>0 ";
+						"	and t.PLAN_QUANTITY>0 and t.MOVED_QUANTITY_MU>0 "
+						+ " and lcs.id<>11 ";
 				if(pickCode.length()>0) {
 					sql+=" and t.BILLCODE like '%"+pickCode+"%' ";
 				}
-				sql+=" group by t.BILLCODE,s.LP,lc.code " + 
-						"	order by max(t.dateBill3),t.BILLCODE,lc.code,s.LP ";
+				if(zone_code!=null&&zone_code.length()>0) {
+					sql+=" and z.name = '"+zone_code.trim()+"' ";
+				}
+				sql+=" group by t.BILLCODE,s.LP,lc.code,z.name,pt.equated_Quantity " + 
+					"	order by pt.equated_Quantity desc,max(pt.UPDATE_TIME),t.BILLCODE,z.name,lc.code,s.LP ";
 				  Query   query   =   session.createSQLQuery(sql); 
 					List