fix flowno seeds out bug限定最小任务数量, 按商品的最小分拣数量扣库存,生成任务

This commit is contained in:
bobwang 2024-04-12 09:43:41 +08:00
parent 11d24dca5b
commit 256d896fbb
25 changed files with 900 additions and 576 deletions

View File

@ -259,7 +259,13 @@ namespace DeiNiu.wms.Data.Model
case 1500: //get by vender
_strSql = "SELECT top 100 * FROM t_erp_purch where erp_state =@status or (wms_state>=3 and erp_state=0) order by createtime desc";
_strSql = " SELECT top 100 * FROM t_erp_purch where erp_state =@status and lastmodified + 3 > getdate()";
if (mObj.CmdParameters[1]!=null && Convert.ToBoolean(mObj.CmdParameters[1]))
{
_strSql = " SELECT top 100 * FROM t_erp_purch where ( erp_state =@status or (wms_state >= 3 and erp_state = 0) ) and createtime + 3 < getdate() ";
}
_strSql += " order by createtime desc";
sqlCmd.Parameters.AddWithValue("@status", mObj.CmdParameters[0]);
sqlCmd.CommandText = _strSql;

View File

@ -213,6 +213,7 @@ namespace DeiNiu.wms.Data.Model
_strSql = " SELECT distinct " + col + " FROM [v_stockInRequestDetailOnShelf4wince] WHERE 1=1 " +
" and flowType=@flowType " +
" and (state =@state or state =@statepart) " +
" and partion is not null " +
// " and stackState=@taskState ";
" and stackState<@taskState ";
sqlCmd.Parameters.AddWithValue("@flowType",(int)EnumFlowTaskType.);

View File

@ -270,9 +270,21 @@ namespace DeiNiu.wms.Data.Model
sqlCmd.Parameters.AddWithValue("@batch", mObj.CmdParameters[2]);
break;
case 1002: //by flowno and seedsNo
_strSql = "SELECT * FROM v_stockOutPort WHERE pickOrderNo=@seedsNo and flowNo = @flowNo and goodsId=@goodsId and isnull(batch,@batch )=@batch ";
LogHelper.debug(GetType(), _strSql);
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@flowNo", mObj.CmdParameters[0]);
sqlCmd.Parameters.AddWithValue("@goodsId", mObj.CmdParameters[1]);
sqlCmd.Parameters.AddWithValue("@batch", mObj.CmdParameters[2]);
sqlCmd.Parameters.AddWithValue("@seedsNo", mObj.CmdParameters[3]);
break;
case 1100: //getFreeTasks
_strSql = "SELECT * FROM [v_stockOutBatchPickDetail] a WHERE " +
" jobNo is not null" +
_strSql = "SELECT * FROM [v_stockOutBatchPickDetail] a WHERE cast(createtime as date) = cast(getdate() as date) " +
" and jobNo is not null" +
" and isnull(takeBy,0) =0 ";
if (Convert.ToInt32(mObj.CmdParameters[4]) > 0)
@ -331,8 +343,8 @@ namespace DeiNiu.wms.Data.Model
case 1110: //getFreeTasks by jobNo
_strSql = "SELECT top (@cnt) * FROM [v_stockOutBatchPickDetail] a WHERE " +
" jobNo is not null" +
_strSql = "SELECT top (@cnt) * FROM [v_stockOutBatchPickDetail] a WHERE cast(createtime as date) = cast(getdate() as date) " +
" and jobNo is not null" +
" and elabId =0 " +
" and isnull(takeBy,0) =0 " +
" and ( isWeightSeeds=0 or isWeightSeeds =1 and partion =@partion )"; //区的任务可跨区获取,或获取指定区的任务
@ -452,10 +464,11 @@ namespace DeiNiu.wms.Data.Model
case 1120: //getFreeTasks by pickorder
_strSql = "SELECT * FROM [v_stockOutBatchPickDetail] WHERE " +
" jobNo is not null" +
" and elabId =0 " +
// " and elabId =0 " +
" and isnull(takeBy,0) =0 "+
" and pickorderNo =@pickorderNo "+
" order by priority desc,lineId,lineorder, pickorderNo , virtialCnt, warehouse,partion,channel,shelf,col,layer,goodsid";
// " order by priority desc,lineId,lineorder, pickorderNo , virtialCnt," +
" order by warehouse,partion,channel,shelf,col,layer,goodsid";
sqlCmd.CommandText = _strSql;
// LogHelper.debug(GetType(), _strSql);
//sqlCmd.Parameters.AddWithValue("@takeBy", 5000);
@ -466,11 +479,12 @@ namespace DeiNiu.wms.Data.Model
case 1200: //getAssignedTasks by takeby
_strSql = "SELECT top (@cnt) * FROM [v_stockOutBatchPickDetail] WHERE 1=1 " +
" and elabId = 0 " ;
_strSql = "SELECT top (@cnt) * FROM [v_stockOutBatchPickDetail] WHERE 1=1 ";
// + " and elabId = 0 " ;
if (Convert.ToInt32(mObj.CmdParameters[10]) <= 0)
{
_strSql += " and state = 0 "; //未拣任务
_strSql += " and state = 0 "; //未拣任务
}
else
{
@ -527,7 +541,9 @@ namespace DeiNiu.wms.Data.Model
else
{
_strSql += " order by priority desc,linepriority desc, pickorderNo ,/* virtialCnt,*/ warehouse,partion,locationId,channel,shelf,col,layer,goodsid";
// _strSql += " order by priority desc,linepriority desc, pickorderNo ,/* virtialCnt,*/ warehouse,partion,locationId,channel,shelf,col,layer,goodsid";
_strSql += " order by priority desc,lineId,lineorder, pickorderNo , /* virtialCnt,*/ warehouse,partion,channel,shelf,col,layer,goodsid";
}

View File

@ -1145,7 +1145,8 @@ namespace DeiNiu.wms.Data.Model
break;
case 2900: // get by transNo ( vihicle type plateId )
_strSql = "SELECT * FROM [t_wmsoutpickrequest] where transNo =@transNo";
_strSql = "SELECT * FROM [t_wmsoutpickrequest] r where transNo =@transNo" +
" or exists( select 1 FROM [t_wmsoutpickrequest] where seedspickno =r.pickOrderNo and transNo =@transNo )";
sqlCmd.CommandText = _strSql;
sqlCmd.Parameters.AddWithValue("@transNo", mObj.CmdParameters[0]);

View File

@ -209,7 +209,8 @@ namespace DeiNiu.wms.Data.Model
break;
case 401: //by skuId to get stock info
_strSql = "SELECT * FROM v_stockGoods s WHERE goodsId = @goodsId ";
_strSql = "SELECT * FROM v_stockGoods s WHERE goodsId = @goodsId " +
" and volType < 4 "; //零库1 = -1, 零库, 小整, 中整, 大整,
int skuId = Convert.ToInt32(mObj.CmdParameters[1].ToString());
if ((enumWhType)mObj.CmdParameters[3] == enumWhType.)
{
@ -270,13 +271,14 @@ namespace DeiNiu.wms.Data.Model
case 600: //get stock detail by location id , goodsId
_strSql = " SELECT * FROM v_stockGoods where locationid =@locId";
_strSql = " SELECT * FROM v_stockgoodsonshelf where locationid =@locId";
if (mObj.CmdParameters[1] != null)
{
_strSql += " and goodsId =@goodsId";
sqlCmd.Parameters.AddWithValue("@goodsId", mObj.CmdParameters[1]);
}
_strSql += " order by avcount desc ,goodsId";
sqlCmd.Parameters.AddWithValue("@locId", mObj.CmdParameters[0]);
sqlCmd.CommandText = _strSql;
break;
@ -551,7 +553,12 @@ namespace DeiNiu.wms.Data.Model
break;
case 2300: //clean stock for pandian
_strSql = " delete from t_wmsstock where count<=countout ";
sqlCmd.CommandText = _strSql;
break;
}
}

View File

@ -237,9 +237,10 @@ namespace DeiNiu.wms.Data.Model
return CustQuery(1600).Tables[0];
}
public DataTable getByErpNoticeFailure()
public DataTable getByErpNoticeFailure(bool isForce= false)
{
cmdParameters[0] = (int)enumErpOrderStatus.;
cmdParameters[1] = isForce;
return CustQuery(1500).Tables[0];
}

View File

@ -86,6 +86,8 @@ namespace DeiNiu.wms.Data.Model
public void finishedTasksPlus(int ownerId,decimal finishedPcs, bool isChildTasksOperation=false,bool isDone=false)
{
LogHelper.debug("finishedTasksPlus", string.Format(" orderno {5}, ownerId {0}, finishedPcs: {1}, isChildTasksOperation: {2}, isDone {3}, state {4}",
ownerId, finishedPcs, isChildTasksOperation, isDone,state ,orderNo));
if (!isChildTasksOperation && state == (int)enumFlowTaskStatus.)
{
return;

View File

@ -123,7 +123,7 @@ namespace DeiNiu.wms.Data.Model
public bool isZhitong
{
get { return /*_canZhitong || */!String.IsNullOrEmpty(_isZhitong) &&_isZhitong.Equals("1"); }
get { return /*_canZhitong || */!String.IsNullOrEmpty(_isZhitong) &&(_isZhitong.Equals("1") || _isZhitong.Equals("True")); }
}
public bool isZhitongFromStore
{
@ -419,6 +419,9 @@ namespace DeiNiu.wms.Data.Model
decimal tmp = _stockSumCount - _stockSumCountOuting + _stockSumAjustCount + _stockSumVirtialCount;
tmp = isWeightOut() ? tmp : ((int)(tmp / minOperateCount)) * minOperateCount;
return tmp >= 0? tmp : 0;
}
@ -484,7 +487,8 @@ namespace DeiNiu.wms.Data.Model
public decimal stockBatchAvCount
{
get {
return _stockSumCount - _stockSumCountOuting - stockBulkAvCount;
return stockAvCount - stockBulkAvCount;
// return _stockSumCount - _stockSumCountOuting - stockBulkAvCount;
}
}
@ -642,9 +646,23 @@ namespace DeiNiu.wms.Data.Model
continue;
}
if ( ( isWeightOut() ? st.getAvCount() : ((int)(st.getAvCount() / minOperateCount)) * minOperateCount) <=0 )
{
LogHelper.debug(GetType(), String.Format(" 达不到可拣选的最小数量 to get stk info, stk {0}", st.ToString()));
continue;
}
_stocks.Add(st);
decimal cnt = st.count - st.countOut;
cnt = isWeightOut() ? cnt : ((int)(cnt / minOperateCount)) * minOperateCount; //取可拣选的最小单位的倍数
_stockSumCount += cnt;
_stockSumCountIn +=st.countIn;
_stockSumCountOuting += st.countOuting;
@ -718,14 +736,7 @@ namespace DeiNiu.wms.Data.Model
//return WmsConstants.GOODS_WEIGHT_UNITS.Contains(unit);
return WmsConstants.GOODS_WEIGHT_UNITS.Contains(this.minOperateUnit);
}
public bool isSeedsOut2del()
{
return !isZhitong //直通不参与
&& ( canSeedOut //商品可取总
|| WmsConstants.SEEDS_PICK_ALL
&& ( !isWeightOut() || !WmsConstants.SEEDS_OUT_NOT_WITH_WEIGHT));
}
public bool isSeedsOut()
{

View File

@ -223,6 +223,15 @@ namespace DeiNiu.wms.Data.Model
cmdParameters[2] = batch;
return CustQuery(1001).Tables[0];
}
public DataTable getFlowNoDetails(string seedsNo,string flowNo, string goodsId, string batch)
{
cmdParameters[0] = flowNo;
cmdParameters[1] = goodsId;
cmdParameters[2] = batch;
cmdParameters[3] = seedsNo;
return CustQuery(1002).Tables[0];
}
public DataTable getFreeTasks(int partion, int lineId, bool batchOnly,enumOrderType orderType,int empId=0)
{
@ -234,7 +243,7 @@ namespace DeiNiu.wms.Data.Model
return CustQuery(1100).Tables[0];
}
public DataTable getFreeTasks(string pickOrderNo)
public DataTable getFreeTasksByPickOrder(string pickOrderNo)
{
cmdParameters[0] = pickOrderNo;

View File

@ -124,9 +124,12 @@ public WmsStock( string locationId)
{
cnt = cnt - countOuting;
}
return cnt;
}
/// <summary>
/// query same goods locations,存储整货位只含同品同批的情况 ( VOLTYPE=0 OR STORETYPE =0 )
/// </summary>
@ -280,14 +283,17 @@ public WmsStock( string locationId)
{
if (String.IsNullOrEmpty(plateId))
{
if(ID == 0)
{
return 0;
}
// if (countIn <= 0 && count - countOut <= 0 && countOuting <= 0) //负库存 允许存在
if (isCanDelete()) //待下架库存
{
LogHelper.debug(typeof(WmsStock),
string.Format(" locationid {6}, {0} 库存扣完删除库存记录,countIn: {1} ,count: {2},countOut: {3} ,countIn: {4},plateCount {5}",
goodsId, countIn, count, countOut, countIn,plateCount,locationId)
string.Format("stk id {7}: locationid {6}, goodsId {0}, 库存扣完删除库存记录,countIn: {1} ,count: {2},countOut: {3} ,countIn: {4},plateCount {5}",
goodsId, countIn, count, countOut, countIn,plateCount,locationId,ID)
);
return Delete(); // 库存扣完,删除记录
}
@ -509,6 +515,11 @@ public WmsStock( string locationId)
}
public void cleanPandiane()
{
CustOper(2300);
}
public DataTable getFreeStockLocations(string goodsId, int count)
{
cmdParameters[0] = goodsId;

View File

@ -58,7 +58,8 @@ namespace DeiNiu.wms.Data.Model
string wherePlus = " and skuid >0 and voltype<=3 and whtype =0 and shelfCount>0 ";
if ((enumPandianType)type == enumPandianType.)
{
wherePlus = " and voltype=0 and ( createtime +1 >= getdate() or lastmodified +1>=getdate() )";
// wherePlus = " and voltype=0 and ( createtime +1 >= getdate() or lastmodified +1>=getdate() )";
wherePlus = " and ( cast( createtime as date) = cast( getdate() as date) or cast( lastmodified as date) = cast( getdate() as date) )";
}
else if ((enumPandianType)type == enumPandianType.)
{

View File

@ -2095,6 +2095,8 @@ namespace DeiNiu.Wcf
try
{
return new FormatedResult(lplate.getGoodsById( goodsId));
}

View File

@ -224,9 +224,11 @@ namespace DeiNiu.wms.Logical
// internal Dictionary<int,string> getSKU(Dictionary<string, string> skuValues, string goodsId)
internal Dictionary<int, string> getSKU(string prdDate, string goodsId, string batch )
{
Dictionary<string, string> skuValues = getSku(prdDate, goodsId, batch);
log.Debug("to get goodsId sku of " + goodsId);
Dictionary<string, string> skuValues = getSku(prdDate, goodsId, batch);
WmsGoods wg = new WmsGoods(goodsId);
log.Debug( string.Format(" to get goodsId sku of {0}, expireDays {1}" , goodsId,wg.expiryDays));
string skuCode = "";
int lotId = 0;
DataTable lotAtts = getLotAtts(goodsId);

View File

@ -276,8 +276,7 @@ namespace DeiNiu.wms.Logical
{
throw err;
}
}
@ -538,9 +537,12 @@ namespace DeiNiu.wms.Logical
if (dvDetail.Count == 0)
{
_erpPurchObj = new Erp_purch(requestDetail.orderNo);
_erpPurchObj.wms_state = (int)enumInStockOrderStatus.;
_erpPurchObj.operater = operId;
_erpPurchObj.Update();
if (_erpPurchObj.wms_state < (int)enumInStockOrderStatus.)
{
_erpPurchObj.wms_state = (int)enumInStockOrderStatus.;
_erpPurchObj.operater = operId;
_erpPurchObj.Update();
}
}
@ -1568,26 +1570,55 @@ namespace DeiNiu.wms.Logical
/// <returns></returns>启
internal enumRepResult preInDone(string preInNo,bool isZhitongAuto = false)
{
logIn.Debug("start to 完验 "+preInNo);
int cnt = 0;
logIn.Debug("start to 完验 "+preInNo);
WmsFlow wmsFlow = new WmsFlow(preInNo);
if(wmsFlow.state == (int)enumFlowTaskStatus.)
{
logIn.Debug("start to 完验 " + (enumFlowTaskStatus)wmsFlow.state);
// return enumRepResult.成功;
}
int cnt = 0;
List<Erp_purch> lst = preInObj.getPuchObjescts(preInNo);
foreach (Erp_purch obj in lst)
{
if (obj.wms_state >= (int)enumInStockOrderStatus.)
{
return enumRepResult.;
}
// obj.Update();
}
using (TransactionScope scope = new TransactionScope())
{
new WmsFlow().startAllTask(preInNo);
wmsFlow.startAllTask(preInNo);
if (isZhitongAuto && WmsConstants.IN_STOCK_ZHITONG_PREDONE_AUTO_VALIDATION)
{
logIn.Debug("start to auto valid zhitong items ");
autoValidInZhitong2(preInNo);
wmsFlow.finishedTasksPlus(operId,0,true,true);
logIn.Debug("end auto valid zhitong items ");
}
cnt = preInObj.preDone(preInNo, operId);
logIn.Debug(" 完验 更新 记录 " + cnt);
foreach (Erp_purch obj in lst)
{
obj.wms_state = (int)enumInStockOrderStatus.;
obj.Update();
}
scope.Complete();
}
List<Erp_purch> lst = preInObj.getPuchObjescts(preInNo);
logIn.Debug(" 完验 to notice erp purch order cnt " + lst.Count);
@ -1710,7 +1741,7 @@ namespace DeiNiu.wms.Logical
wopk.state = (int)enumOutStockRequestStatus.;
wopk.Update();
}
wid.Update();
WmsStockRecord wsr = new WmsStockRecord();
wsr.skuId = wid.skuId;
@ -1729,6 +1760,7 @@ namespace DeiNiu.wms.Logical
wop.flowNo = flowNo;
wop.recordId = wsr.ID;
wop.pickBy = operId;
wop.takeBy = operId;
wop.pickTime = wop.getDateTime();
wop.partion = wid.partion;
wop.pickCount = seedCnt;
@ -1908,10 +1940,17 @@ namespace DeiNiu.wms.Logical
if (inStoreType == enumInStoreType. || inStoreType== enumInStoreType.)
{
wmsflow.finishedCnt = wmsflow.taskCnt;
wmsflow.owner = operId;
wmsflow.state = (int)enumFlowTaskStatus.;
wmsflow.Update();
/* wmsflow.finishedCnt = wmsflow.taskCnt;
wmsflow.owner = operId;
wmsflow.state = (int)enumFlowTaskStatus.;
wmsflow.Update();
wmsflow.finishedPcs = 1;
*/
decimal finishedPcs = requestDetail.outDetailId > 0 //直通
?( wmsflow.flowNo.StartsWith("zt") //强制完验
? wmsflow.taskCnt : count )
: 1;
wmsflow.finishedTasksPlus(operId, finishedPcs); // 直通强制
return;
}
@ -1950,7 +1989,7 @@ namespace DeiNiu.wms.Logical
//新增临时容器库存
WmsPlateStock_tmp plateStock = new WmsPlateStock_tmp();
plateStock.plateId = inPort.flowNo;
@ -2708,7 +2747,20 @@ namespace DeiNiu.wms.Logical
flow.finishedCnt = flow.finishedCnt > flow.taskCnt ? flow.taskCnt : flow.finishedCnt;
*/
WmsGoods wg = new WmsGoods(epd.goods_id);
flow.finishedTasksPlus(operId, epd.validCount/wg.bigCount);
logIn.Debug(string.Format("wg name {0}, wg bigcount {1}, wg iszhitong {2}",wg.goodsName,wg.bigCount,wg.isZhitong));
logIn.Debug(wg);
decimal finishedPcs = validIn.valid_count / wg.bigCount;
finishedPcs= validIn.outPickDetailId > 0 //直通
? (validIn.flowNo.StartsWith("zt") //强制完验
? 1: finishedPcs)
: finishedPcs;
flow.finishedTasksPlus(operId, finishedPcs, validIn.outPickDetailId>0 || wg.isZhitong);// 直通商品
}
@ -2828,6 +2880,7 @@ namespace DeiNiu.wms.Logical
wid.whType = validIn.whType;
wid.entid = epd.entid;
wid.outDetailId = validIn.outPickDetailId;
wid.Add();
if (isInStockNow)
{
@ -2904,10 +2957,10 @@ namespace DeiNiu.wms.Logical
return true;
}
public string retryNoticeErpValidIn()
public string retryNoticeErpValidIn(bool isForce=false)
{
//enumErpOrderStatus status = enumErpOrderStatus.通知失败;
DataTable dt = erpPurchObj.getByErpNoticeFailure();
DataTable dt = erpPurchObj.getByErpNoticeFailure(isForce);
if (dt.Rows.Count > 0)
{
logERP.Debug(string.Format(" to retry notice ERP purch orders count {0} ", dt.Rows.Count));
@ -2991,7 +3044,7 @@ namespace DeiNiu.wms.Logical
logERP.Debug(string.Format(" notice ERP purch order {0},response {1}", ((Erp_purch)purchObj).pur_order, responseText));
((Erp_purch)purchObj).erp_state = (int)enumErpOrderStatus.;
((Erp_purch)purchObj).wms_state = (int)enumInStockOrderStatus.; //辣得叫 不存在多次收货情况,到货通知单完验
((Erp_purch)purchObj).wms_state = (int)enumInStockOrderStatus.; //辣得叫 不存在多次收货情况,到货通知单完验
if (response.StatusCode == HttpStatusCode.OK)
{
@ -3007,7 +3060,7 @@ namespace DeiNiu.wms.Logical
// ((Erp_purch)purchObj).ext1 = res.Messag;
}
logIn.Debug(" to update purch order status to: " + (enumErpOrderStatus)((Erp_purch)purchObj).erp_state);
logIn.Debug(" to update purch order status to: " + (enumInStockOrderStatus)((Erp_purch)purchObj).wms_state);
try
{
@ -4199,16 +4252,27 @@ namespace DeiNiu.wms.Logical
wid.validCount -= seedCnt;
wid.Update();
WmsOutPickPort wop = new WmsOutPickPort();
DataTable dt = wop.getFlowNoDetails(wid.flowNo, wid.goodsId, wid.batch);
foreach(DataRow dr in dt.Rows)
{
wop = new WmsOutPickPort(dr);
wop.state = (int)enumPickState.;
wop.description = "验收取消";
wop.Update();
}
WmsPlateStock_tmp wps = new WmsPlateStock_tmp();
DataTable dt = wps.getPlateStockDetail(flowNo);
dt = wps.getPlateStockDetail(flowNo);
foreach (DataRow dr in dt.Rows)
{
wps = new WmsPlateStock_tmp(dr);
wps.Delete();
}
}
@ -4840,7 +4904,7 @@ namespace DeiNiu.wms.Logical
log.Debug(" 开始自动入库直通验收...............................> " + preNo);
DataTable dt = new WmsInRequest().getZhiTongOrderByCust(preNo, "0");
// logTest.Debug(" 需入库记录数量 " + dt.Rows.Count);
logTest.Debug(" 需入库记录数量 " + dt.Rows.Count);
Erp_purch_d pd;
string preInNo, goodsId, flowNo;
decimal orderCnt = 0, seeded = 0, batchCnt = 0;

View File

@ -1128,7 +1128,7 @@ namespace DeiNiu.wms.Logical
if (isWholePickOrder)
{
dtFreeTasks = getWmsOutPickPort.getFreeTasks(locationId);
dtFreeTasks = getWmsOutPickPort.getFreeTasksByPickOrder(locationId);
}
else
@ -1366,7 +1366,7 @@ namespace DeiNiu.wms.Logical
dv.Sort = "";
dv.Sort = " warehouse,partion,channel,shelf,col,layer,goodsid";
string lastOrder = "";
@ -1404,7 +1404,7 @@ namespace DeiNiu.wms.Logical
lotcnt++;
boxcnt += Convert.ToInt32(drv["boxcnt"].ToString());
if (lotcnt >= dv.Count * WmsConstants.MAX_PICK_PERCENT / 100 || lotcnt > WmsConstants.MAX_PICK_LOT_CNT || boxcnt > WmsConstants.MAX_PICK_BOX_CNT)
if (/*lotcnt >= dv.Count * WmsConstants.MAX_PICK_PERCENT / 100 ||*/ lotcnt > WmsConstants.MAX_PICK_LOT_CNT || boxcnt > WmsConstants.MAX_PICK_BOX_CNT)
{
logOut.Debug(string.Format("2 can't assign more tasks , loc cnt :{0}, box cnt: {1}, dv.Count * WmsConstants.MAX_PICK_PERCENT / 100: {2}", lotcnt, boxcnt, dv.Count * WmsConstants.MAX_PICK_PERCENT / 100));
break;
@ -1417,6 +1417,8 @@ namespace DeiNiu.wms.Logical
return jobs;
}
internal decimal seedsPickOut2(string flowNo, int skuId, string productDate, string batch, int outDetailId,
decimal seedCnt, string toFlowNo, int inDetailId, bool isForceClose)
@ -1462,7 +1464,9 @@ namespace DeiNiu.wms.Logical
}
WmsOutPickDetail wod = new WmsOutPickDetail(outDetailId);
// logTest.Debug(string.Format("seeds pickdetail {0}", wod.ToString()));
logTest.Debug(string.Format("seeds pickdetail {0}", wod.ToString()));
if (wod.ID==0 || !isZhitongSeed && string.IsNullOrEmpty(wod.seedsPickNo) )
{
logTest.Debug(string.Format(" detialId {0}, seedsNo is null, {1}", outDetailId, enumRepResult.));
@ -1482,7 +1486,7 @@ namespace DeiNiu.wms.Logical
// WmsFlow wmsflow = new WmsFlow(wod.seedsPickNo+wod.goodsId+batch, flowNo);
WmsFlow wmsflow = new WmsFlow(wod.seedsPickNo, flowNo);
// logTest.Debug(string.Format("orderNo {0}, flowNo {1}, wmsflow {2}", wod.seedsPickNo + wod.goodsId + batch, flowNo, wmsflow.ToString()));
/*
enumRepResult rs= wmsflow.checkFlow(operId, wmsflow.type);
if (rs!=enumRepResult.)
{
@ -1490,6 +1494,7 @@ namespace DeiNiu.wms.Logical
// return rs;// enumRepResult.任务已被他人抢占;
}
*/
//to check the toFlowNo plate
@ -1556,16 +1561,16 @@ namespace DeiNiu.wms.Logical
// pickport with flowno can be multi records, update the finished seeds count in loop
// 更新总拣记录 pickport with flowno can be multi records, update the finished seeds count in loop
DataTable dt = getWmsOutPickPort.getFlowNoDetails(flowNo, wod.goodsId, batch);
DataTable dt = getWmsOutPickPort.getFlowNoDetails(wod.seedsPickNo, flowNo, wod.goodsId, batch);
List<WmsOutPickPort> lstSeeds = new List<WmsOutPickPort>();
List<WmsPlateStock_tmp> lstUpdate = new List<WmsPlateStock_tmp>();
;
decimal tmpCnt = seedCnt;
DataView dv = dt.DefaultView;
dv.RowFilter = "state="+ (int)enumPickState.;
dv.RowFilter = "state="+ (int)enumPickState.;
int seedsDoneCnt = dv.Count;
dv.RowFilter = "";
@ -1677,7 +1682,7 @@ namespace DeiNiu.wms.Logical
using (TransactionScope scope = new TransactionScope())
{
logTest.Debug(string.Format("start update 分播 tasks ,operid {0}, wmsflow : {1}",operId, wmsflow.ToString() ));
logTest.Debug(string.Format("seeds out start update 分播 tasks ,operid {0}, wmsflow : {1}",operId, wmsflow.ToString() ));
@ -1748,11 +1753,27 @@ namespace DeiNiu.wms.Logical
// t.Delete();
}
logTest.Debug(string.Format("2 seeds done cnt {0}, totalcnt of task{1}", seedsDoneCnt, dt.Rows.Count));
log.Debug(string.Format("2 seeds done cnt {0}, totalcnt of task {1}, lstUpdate.Count {2}", seedsDoneCnt, dt.Rows.Count, lstUpdate.Count));
wmsflow.finishedTasksPlus(operId, seedCnt/wod.goods.bigCount,true, seedsDoneCnt == dt.Rows.Count);
wmsflow.finishedTasksPlus(operId, seedCnt / wod.goods.minOperateCount, true, false); //下架任务更新分播数据
// log.Debug(" 2 WmsPlateStock_tmp lstUpdate count " + lstUpdate.Count);
WmsFlow wmsflowCust = new WmsFlow(wmsflow.orderNo, wod.customerId + "-" + operId); //按分播单 和客户ID 分播ID 创建分播任务
if (wmsflowCust.ID == 0)
{
wmsflowCust.operater = operId;
wmsflowCust.orderNo = wmsflow.orderNo;// + sr.goodsId + sr.batch;
wmsflowCust.flowNo = wod.customerId + "-" + operId;
wmsflowCust.type = wmsflow.type;
wmsflowCust.typeName = wmsflow.typeName;
wmsflowCust.task = Util.getOrderNo(enumCreateOrderType.pickJobNo, _obj.getNextSeq(enumCreateOrderType.pickJobNo));
wmsflowCust.taskCnt = 1;
wmsflowCust.Add();
}
wmsflowCust.finishedTasksPlus(operId, seedCnt / wod.goods.minOperateCount, true); //更新分播任务
// log.Debug(" 2 WmsPlateStock_tmp lstUpdate count " + lstUpdate.Count);
foreach (WmsPlateStock_tmp tmp in lstUpdate)
{
@ -1772,6 +1793,8 @@ namespace DeiNiu.wms.Logical
}
}
log.Debug(" 2 WmsPlateStock_tmp lstUpdate count " + lstUpdate.Count);
if (lstUpdate.Count > 0)
{
WmsPlateStock_tmp stk = lstUpdate[0]; //copy source tmp stk info
@ -1783,7 +1806,7 @@ namespace DeiNiu.wms.Logical
stk.skuId = skuId;
stk.productDate = productDate;
stk.jobNo = stk.orderNo + toFlowNo; ;
stk.operater = operId;
stk.customerId = wod.customerId;
@ -1841,9 +1864,7 @@ namespace DeiNiu.wms.Logical
toP.customerId = custId;
toP.Update();
// logTest.Debug("4 " + toP);
wmsflow.Add();
}
@ -2032,7 +2053,7 @@ namespace DeiNiu.wms.Logical
wid.Update();
flow.finishedTasksPlus(operId,seedCnt/wod.goods.bigCount,true,wid.seedOutCnt>=wid.validCount);
flow.finishedTasksPlus(operId,seedCnt/wod.goods.minOperateCount,true,wid.seedOutCnt>=wid.validCount);
wod.Update();
@ -2238,8 +2259,11 @@ namespace DeiNiu.wms.Logical
}
}
}
bool isWholePickOrder = !string.IsNullOrEmpty(locationid) && locationid.StartsWith("PK");
if(partion ==0 && !string.IsNullOrEmpty(locationid))
if ( partion == 0 && !string.IsNullOrEmpty(locationid) && !isWholePickOrder)
{
WmsLocation loc = new WmsLocation(locationid);
partion = loc.partion;
@ -2257,20 +2281,37 @@ namespace DeiNiu.wms.Logical
dt = getWmsOutPickPort.getAssignedTasks(taskBy, 0, lineId, batchOnly, orderType, state);
}
if (state == 1) //分拣的历史记录
if (state == 1 || isWholePickOrder ) //分拣的历史记录 或 整单分拣
{
return dt;
}
bool isWeightOut=false;
foreach(DataRow dr in dt.Rows)
{
if( WmsConstants.GOODS_WEIGHT_UNITS.Contains(dr["pickUnit"].ToString()))
try
{
isWeightOut = true;
break;
if (WmsConstants.GOODS_WEIGHT_UNITS.Contains(dr["pickUnit"].ToString()))
{
// isWeightOut = true;
isWeightOut = Convert.ToInt32(dr["recType"].ToString()) == (int)enumStockRecordType.;
if (isWeightOut)
{
break;
}
}
}
catch
{
}
}
if (isWeightOut )

View File

@ -3422,7 +3422,7 @@ namespace DeiNiu.wms.Logical
enumPickResult updatePortPickStateStk(int id, string flowNo, enumPickState state, decimal pickCount = 0)
{
logOut.Debug(string.Format("{0},flowNO:{1},{2},{3}", id, flowNo, state, pickCount));
logOut.Debug(string.Format("1 下架任务 {0},flowNO:{1},状态 {2}, 下架数量{3}", id, flowNo, state, pickCount));
WmsPlateStock_tmp ptmp = new WmsPlateStock_tmp();
@ -3455,20 +3455,27 @@ namespace DeiNiu.wms.Logical
WmsGoods goods = new WmsGoods(sr.goodsId);
pickCount = goods.isWeightOut() ? pickCount : ((int)(pickCount / goods.minOperateCount)) * goods.minOperateCount;
logOut.Debug(string.Format(" 下架任务 {0},flowNO:{1},状态 {2}, 下架数量{3} gooddsname {4} ,minOperateCount {5}", id, flowNo, state, pickCount,goods.goodsName, goods.minOperateCount));
if (pickCount > 0)
{
outPickPort.pickCount += pickCount; //pickCount 仅用于校验补货入库用,不用于记录实际拣货数量
decimal overRate = Math.Abs((pickCount - outPickPort.count)) * 100 / outPickPort.count;
// logSpec.Debug(string.Format("goodsid {3}, is weightout? {4}, over rate {5} , pick count {0}, count of task {1}, operId {2}, need special permission {6}"
// , pickCount, outPickPort.count, operId, goods.goodsId, goods.isWeightOut(), overRate
// , overRate > WmsConstants.OVER_WEIGHT_PERCENT_ALLOW));
if (pickCount != outPickPort.count)
{
logSpec.Debug(" count not match ");
{
decimal overRate = Math.Abs((pickCount - outPickPort.count)) * 100 / outPickPort.count;
logSpec.Debug(string.Format(" count not match ,pickCount {0}, want count {1}, overrRate {2}",pickCount, outPickPort.count,overRate));
if (!goods.isWeightOut() && overRate > WmsConstants.OVER_WEIGHT_PERCENT_ALLOW)
{
@ -3491,10 +3498,7 @@ namespace DeiNiu.wms.Logical
outPickPort.takeBy = operId;
outPickPort.pickTime = outPickPort.getDateTime();
WmsFlow flow = new WmsFlow(outPickPort.jobNo);
WmsFlow flow = new WmsFlow(outPickPort.jobNo);
@ -3513,7 +3517,15 @@ namespace DeiNiu.wms.Logical
{
log.Error(string.Format("库存异常, goodsId {0}, skuId {1},batch {2},location {3}, stk id {4}, stockrecord id {5}",sr.goodsId,sr.skuId,sr.batch,sr.location,stk.ID,sr.ID ));
return enumPickResult.;
stk.goodsId = sr.goodsId;
stk.skuId = sr.skuId;
stk.skuCode = sr.skuCode;
stk.batch = sr.batch;
stk.productDate = sr.productDate;
stk.validDate = sr.validDate;
stk.locationId = sr.locationId;
stk.Add();
// return enumPickResult.库存不存在; //可能有超出计划拣货数量的可能,使得库存提前捡完并,删除了记录
}
if (pickCount == 0) //允许打零
{
@ -3521,8 +3533,27 @@ namespace DeiNiu.wms.Logical
{
outPickPort.Update();
stk.countOuting -= outPickPort.count;
flow.finishedTasksPlus(operId, pickCount / goods.bigCount);
stk.updateCountOut();
if (outPickPort.virtialCnt > 0) //还回未出库虚拟库存
{
stk.virtialCount -= outPickPort.virtialCnt;
stk.virtialCount = stk.virtialCount > 0 ? stk.virtialCount : 0;
WmsStock virSt = stk.getVirStock(stk.goodsId);
virSt.countOuting -= outPickPort.virtialCnt;
// virSt.updateCountOut();
virSt.Update();
}
// stk.updateCountOut();
stk.Update();
flow.finishedTasksPlus(operId, pickCount / goods.minOperateCount);
scope.Complete();
return enumPickResult.;
//TODO: 当订单所有明细都打零时,如何装车出库?
@ -3534,6 +3565,7 @@ namespace DeiNiu.wms.Logical
logOut.Debug("拣货更新库存前: " + stk);
logOut.Debug("拣货更新库存前,虚拟库: " + stkVir);
enumStockRecordType type = (enumStockRecordType)outPickPort.recType;
@ -3542,7 +3574,7 @@ namespace DeiNiu.wms.Logical
type.ToString(), pickCount, "");
// stk.countOuting -= pickCount; _outPickPort.count
stk.countOuting -= _outPickPort.count > pickCount ? _outPickPort.count : pickCount; // 计划分拣数量可能不同于实际数量,只分拣一次
stk.countOuting = stk.countOuting > 0 ? stk.countOuting : 0; //????can countouting <0?
stk.countOuting = stk.countOuting > 0 ? stk.countOuting : 0; //????can countouting <0? // 称重或修改出库数量可能出现出库数量大于预计数量
stk.countOut += pickCount;
stk.plateCount += pickCount;
@ -3550,15 +3582,16 @@ namespace DeiNiu.wms.Logical
//TODO: 处理虚拟库存
if ( WmsConstants.OUT_STOCK_LACK_VIR_OUT_AUTO && stk.virtialCount > 0 && outPickPort.virtialCnt>0 )
{
// logOut.Debug(string.Format("扣虚拟库存, 原库存 {0} 虚拟库存 {1} ", stk.ToString(), stkVir.ToString()));
stk.virtialCount -= outPickPort.virtialCnt;
stk.virtialCount = stk.virtialCount<0?0: stk.virtialCount;
stk.count += outPickPort.virtialCnt;
stkVir.countOuting -= outPickPort.virtialCnt;
stkVir.countOut += outPickPort.virtialCnt;
logOut.Debug(string.Format("扣虚拟库存, 原库存 {0} 虚拟库存 {1}, outPickPort.virtialCnt {2} ", stk.ToString(), stkVir.ToString(), outPickPort.virtialCnt));
stk.virtialCount -= pickCount;// outPickPort.virtialCnt;
stk.virtialCount = stk.virtialCount<0?0: stk.virtialCount; // 称重或修改出库数量可能出现出库数量大于预计数量
stk.count += pickCount; // outPickPort.virtialCnt;
stkVir.countOuting -= pickCount;// outPickPort.virtialCnt;
stkVir.countOut += pickCount;
}
@ -3591,6 +3624,7 @@ namespace DeiNiu.wms.Logical
plateStock.recType = _outPickPort.recType;
plateStock.recordId = _outPickPort.recordId;
plateStock.customerId=_outRequest.customerId;
plateStock.operater = operId;
if(string.IsNullOrEmpty(plateStock.goodsId))
{
logOut.Error("new plateStock value " + plateStock);
@ -3732,7 +3766,11 @@ namespace DeiNiu.wms.Logical
stk.skuId = sr.skuId; //托盘多sku情况
// logOut.Debug("拣货更新库存: " + stk);
// logOut.Debug("拣货更新库存: " + stk);
logOut.Debug("更新库存前: " + stk);
logOut.Debug("更新库存前,虚拟库: " + stkVir);
stk.updateCountOut();
@ -3834,7 +3872,30 @@ namespace DeiNiu.wms.Logical
}
}
flow.finishedTasksPlus(operId, pickCount / goods.bigCount);
flow.finishedTasksPlus(operId, pickCount / goods.minOperateCount);
try
{
log.Debug("flow.owner: " + flow.owner);
//if (flow.owner != operId)
//下架的Job 可能被多人轮流获取,在一定的几率上会造成在 t_wmsflow 表某一时刻对某个拣货人来说不存在拣货的job造成下架绩效不能统计
// 虚拟一个拣货任务给每个拣货人,保证绩效得到统计
{
string todayPickTask = DateTime.Now.ToShortDateString() + "-" + operId;
if (new WmsFlow(todayPickTask).ID == 0)
{
flow.task = todayPickTask;
flow.owner = operId;
flow.taskCnt = 1;
flow.finishedCnt = 1;
flow.finishedPcs = 1;
flow.Add();
log.Debug(" add flow " + flow);
}
}
}
catch { }
scope.Complete();
}
}
@ -5967,7 +6028,7 @@ namespace DeiNiu.wms.Logical
// logIn.Error("WmsConstants.ERP_API_ORDER_NOTICE " + WmsConstants.ERP_API_ORDER_NOTICE);
// logIn.Error("WmsConstants.ERP_API_KEY " + WmsConstants.ERP_API_KEY);
// logIn.Error(url);
logERP.Debug(url);
try
{

View File

@ -2261,8 +2261,9 @@ namespace DeiNiu.wms.Logical
requestDetail.bulkCount = requestDetail.count - requestDetail.batch1Count - requestDetail.batch2Count;
}
if (requestDetail.goods.stockBatchAvCount == 0)
{
// if (requestDetail.goods.stockBatchAvCount == 0)
if (requestDetail.goods.stockBatchAvCount <= 0)
{
requestDetail.bulkCount = requestDetail.count;
requestDetail.batch1Count = 0;
@ -2270,7 +2271,14 @@ namespace DeiNiu.wms.Logical
}
else
{
log.Error(" 有整库库存!!!!!!!!!!!!!???????");
log.Error(" 有整库库存!!!!!!!!!!!!!???????: " + requestDetail.goods);
//没有整库 辣得叫
requestDetail.bulkCount = requestDetail.count;
requestDetail.batch1Count = 0;
requestDetail.batch2Count = 0;
}
@ -2281,17 +2289,17 @@ namespace DeiNiu.wms.Logical
// decimal batch3Cnt = requestDetail.bat;
// logSpec.Debug(string.Format("{3} 出库需求明细: bulkCnt{0} , batch1Cnt{1} , batch2Cnt{2} ", bulkCnt, batch1Cnt, batch2Cnt, goods.goodsId));
logSpec.Debug(string.Format("{3} 出库需求明细: bulkCnt{0} , batch1Cnt{1} , batch2Cnt{2} ", bulkCnt, batch1Cnt, batch2Cnt, goods.goodsId));
if (goods.stockAvCount < requestDetail.count // 库存不足
&& !goods.isZhitong
// && !goods.isZhitong
)
{
// logSpec.Debug(string.Format("goods stockSumCount: {0},goods countOuting :{1}, required count:{2}", goods.stockSumCount, countOuting, requestDetail.count));
// logSpec.Debug(string.Format("库存不足: 总库存:{0}, 需求库存{1}", goods.stockSumCount - countOuting, requestDetail.count));
logSpec.Debug(string.Format("库存不足: 可用总库存:{0}, 需求库存{1}", goods.stockAvCount, requestDetail.count));
if (isRep)
{
@ -2394,7 +2402,14 @@ namespace DeiNiu.wms.Logical
decimal lackCnt = requestDetail.lackCount;
logSpec.Debug("库存不足,出虚拟库......数量 " + lackCnt);
logSpec.Debug(" 1 库存不足,出虚拟库......数量 " + lackCnt);
if (!goods.isWeightOut() && lackCnt % goods.minOperateCount > 0) //借货取整件
{
logSpec.Debug("库存 有非整件数量, 余数 " + lackCnt % goods.minOperateCount);
lackCnt = ((int)(lackCnt/goods.minOperateCount)) * goods.minOperateCount + goods.minOperateCount;
logSpec.Debug("2 库存不足,出虚拟库......数量 " + lackCnt);
}
WmsLocation loc = new WmsLocation();
@ -2534,7 +2549,7 @@ namespace DeiNiu.wms.Logical
goods = new WmsGoods(requestDetail.goodsId, requestDetail.skuId, requestDetail.batch);
// logOut.Debug(" goods av bulk cnt after virtual operation : " + goods.stockBulkAvCount);
logOut.Debug(" goods av bulk cnt after virtual operation : " + goods.stockBulkAvCount);
stkVir.countOuting += lackCnt;
@ -2729,8 +2744,8 @@ namespace DeiNiu.wms.Logical
{
if (tmpBulkCnt < bulkCnt) //满足零货需求
{
tmpBulkCnt += st.getAvCount();
tmpBulkCnt += st.getAvCount();
stks.Add(st);
}
@ -2755,6 +2770,14 @@ namespace DeiNiu.wms.Logical
}
}
if (!goods.isWeightOut() && goods.minOperateCount > 0)
{
tmpBulkCnt -= tmpBulkCnt % goods.minOperateCount;
tmpBatch1Cnt -= tmpBatch1Cnt % goods.minOperateCount;
tmpBatch2Cnt -= tmpBatch2Cnt % goods.minOperateCount;
}
if (tmpBulkCnt >= bulkCnt && tmpBatch1Cnt >= batch1Cnt && tmpBatch2Cnt >= batch2Cnt)
{
break;
@ -3040,7 +3063,7 @@ namespace DeiNiu.wms.Logical
}
else
{
logSpec.Debug(" 需要补零或库存不足");
logSpec.Debug(" 需要补零或库存不足或不满足最小分拣数量");
@ -3087,6 +3110,7 @@ namespace DeiNiu.wms.Logical
}
if (goods.isZhitong)
{
logOut.Debug("goods is zhitong!!!");
requestDetail.state = (int)enumOutStockDetailStatus.;
}
else if (!isRep)
@ -3125,14 +3149,14 @@ namespace DeiNiu.wms.Logical
List<WmsStock> stks = useTemp ? goods.tmpStocks : goods.stocks;
// logSpec.Debug(string.Format("开始定位 {0},待定位数量 {1}", locVol, targetCnt));
logSpec.Debug(string.Format(" {2} 开始定位 {0},待定位数量 {1}", locVol, targetCnt,goods.goodsName));
if (locVol == enumWhLocVol.) //零库出库单笔捡货不能超过9999 //TODO: to test the logic
{
decimal tmpCnt = 0;
while (stks.Count > 0 && targetCnt > 0)
// while (stks.Count > 0 && targetCnt > 0)
{
// logSpec.Debug(string.Format("targetcnt {0} ", targetCnt));
logSpec.Debug(string.Format("targetcnt {0} ", targetCnt));
if (WmsConstants.OUT_LIGHT_ENABLE && targetCnt/goods.minOperateCount > WmsConstants.MAX_PICK_CNT_BULK)
{
@ -3152,7 +3176,7 @@ namespace DeiNiu.wms.Logical
int i = 0;
foreach (WmsStock st in stks)
{
// logSpec.Debug(string.Format("零库。。。tmpCnt {0} ,location volType {1}, av cnt {2}", tmpCnt, st.location.volType, st.getAvCount()));
logSpec.Debug(string.Format("零库。。。tmpCnt {0} ,location volType {1}, av cnt {2}", tmpCnt, st.location.volType, st.getAvCount()));
if (tmpCnt == 0)
{
break;
@ -3161,6 +3185,18 @@ namespace DeiNiu.wms.Logical
{
decimal cnt = st.getAvCount();
decimal reductCnt = cnt >= tmpCnt ? tmpCnt : cnt;
/*if ( goods.minOperateCount > 1 && !goods.isWeightOut() )
{
reductCnt = ((int)(reductCnt/goods.minOperateCount)) * goods.minOperateCount;
}
*/
if ( !goods.isWeightOut() && goods.minOperateCount>0)
{
reductCnt -= reductCnt % goods.minOperateCount ;
}
if (reductCnt <= 0)
{
@ -3193,7 +3229,7 @@ namespace DeiNiu.wms.Logical
{
logSpec.Debug("零库扣库存异常");
// logSpec.Debug("零库扣库存异常");
throw new DeiNiuStockBulkCountException();
// throw new DeiNiuStockBulkCountException();
}
targetCnt += tmpCnt;
@ -3239,7 +3275,7 @@ namespace DeiNiu.wms.Logical
}
}
//logSpec.Debug(string.Format( "{0} 定位完成,未定位数量{1}" , locVol, targetCnt));
logSpec.Debug(string.Format( "{0} 定位完成,未定位数量{1}" , locVol, targetCnt));
return targetCnt;
}
@ -3315,14 +3351,14 @@ namespace DeiNiu.wms.Logical
}
*/
r.partion = stock.location.partion;
r.Add();
int i = r.Add();
if (stock.location.volType == (int)enumWhLocVol.)
{
leftCnt = 0;// return;
}
log.Debug(string.Format("2 goodsId {4},maxFull {0}, leftCnt:{1},recCnt {2}, locId {3},lackCnt {5},stock virtialCnt {6}", maxFull, leftCnt, recCnt, stock.locationId, goods.goodsId, lackCnt, stock.virtialCount));
log.Debug(string.Format("2 goodsId {4},maxFull {0}, leftCnt:{1},recCnt {2}, locId {3},lackCnt {5},stock virtialCnt {6}, new rec id {7}", maxFull, leftCnt, recCnt, stock.locationId, goods.goodsId, lackCnt, stock.virtialCount ,i));
}

View File

@ -985,6 +985,9 @@ namespace DeiNiu.wms.Logical
{
return enumRegPlateResult.;
}
if (WmsConstants.IS_PLATE_IN_LINE)
{
List<WmsPlate> lst = getWmsPlate.getSubPlates(plateId);
@ -1017,6 +1020,9 @@ namespace DeiNiu.wms.Logical
logPlate.Debug("装车后续处理。。。。开始, plateId " + tranP.plateId);
WmsPlateStock_tmp wpt = new WmsPlateStock_tmp();
// new lWmsInRequest(operId).retryNoticeErpValidIn(true);
using (TransactionScope scope = new TransactionScope())
{
@ -1053,21 +1059,24 @@ namespace DeiNiu.wms.Logical
wop = new WmsOutPickPort(dr);
WmsStock st = new WmsStock(wop.locationId, Convert.ToInt32(dr["skuId"].ToString()), dr["goodsId"].ToString());
log.Debug(string.Format(" get 未拣货记录 {0}", wop.ToString()));
if (wop.virtialCnt > 0) //还回未出库虚拟库存
{
st.virtialCount -= wop.virtialCnt;
st.virtialCount = st.virtialCount > 0 ? st.virtialCount : 0;
WmsStock virSt = st.getVirStock(st.goodsId);
log.Debug(string.Format(" 借入的虚拟库存: {0}", virSt.ToString()));
virSt.countOuting -= wop.virtialCnt;
// virSt.updateCountOut();
virSt.Update();
}
log.Debug(string.Format(" 实际库存: {0}", st.ToString()));
st.countOuting -= wop.count;
st.countOuting = st.countOuting > 0 ? st.countOuting : 0; ;
st.updateCountOut();
}
@ -1253,8 +1262,8 @@ namespace DeiNiu.wms.Logical
internal enumOutValidResult plateValidation(string plateId, int portId, int skuId, string productDate, string validDate, string batch, decimal validationCnt, string validReason, bool finialValidation = true)
{
log.Debug(string.Format("容器复核。。。。 portId {0}, skuId {1}, productDate {2}, validDate {3}, batch {4}, validationCnt {5}, validReason {6}, finialValidation {7}",
portId, skuId, productDate, validDate, batch, validationCnt, validReason, finialValidation));
log.Debug(string.Format("容器复核。。。。plateId {8}, portId {0}, skuId {1}, productDate {2}, validDate {3}, batch {4}, validationCnt {5}, validReason {6}, finialValidation {7}",
portId, skuId, productDate, validDate, batch, validationCnt, validReason, finialValidation,plateId));
WmsPlateStock_tmp wst = new WmsPlateStock_tmp().getModelByOutPort(plateId, portId);
WmsOutPickPort wpp = new WmsOutPickPort(portId);
@ -1288,7 +1297,14 @@ namespace DeiNiu.wms.Logical
wsr = new WmsStockRecord(wpp.recordId);
stk = new WmsStock(wpp.locationId, skuId);
// stk.adjustingCnt += diffCnt;
stk.count += diffCnt;
if(skuId>0) //非借入出库
{
stk.count += diffCnt ;
}
log.Debug(string.Format("容器复核 volType {0}, 差异 {1}, pickdetail id {2} ,pick bulk cnt {3}, seeded cnt {4} pick batch cnt {5} ", wst.count, diffCnt, wpd.ID, wpd.bulkPicked, wpd.seeded, wpd.batchPicked));
@ -1313,6 +1329,7 @@ namespace DeiNiu.wms.Logical
if (diffCnt != 0)
{
string description = string.Format("\n 业务类型:{0} {5},拣货任务{1},计划数量 {2} 实际数量{3} 备注:{4}", "容器复核",
wpp.ID, wpp.count, validationCnt, validReason, finialValidation ? " 按拣货数量发货" : " 实物多退少补,按需求发");
@ -1323,7 +1340,7 @@ namespace DeiNiu.wms.Logical
log.Debug(" pick detail count updated rows " + i);
wst.Update();
if (stk.Update() == 0)
if (skuId>0 && stk.Update() == 0)
{
stk.locationId = new WmsLocation().getLocation(enumWhLocVol., wpd.goods.part, wpd.goods.ABC).locationId;
stk.goodsId = wsr.goodsId;
@ -1333,12 +1350,15 @@ namespace DeiNiu.wms.Logical
stk.validDate = validDate;
stk.Add();
}
if (string.IsNullOrEmpty(stk.locationId))
{
}
wsr.description = description;
wsr.Update(); //更新记录
wsr.count = validationCnt;
wsr.count1 = diffCnt;
wsr.locationId = stk.locationId;
wsr.locationId = wpp.locationId;
wsr.operater = operId;
wsr.rectype = (int)enumStockRecordType.;
@ -1373,6 +1393,13 @@ namespace DeiNiu.wms.Logical
internal string getGoodsById(string goodsId)
{
// WmsGoods wg = new WmsGoods(goodsId);
//
// logIn.Debug(string.Format("wg name {0}, wg bigcount {1}, wg iszhitong {2}", wg.goodsName, wg.bigCount, wg.isZhitong));
// logIn.Debug(wg);
WmsGoods goods = new WmsGoods(goodsId, 0, "");
return goods.stockAvCount + "";

View File

@ -490,6 +490,15 @@ namespace DeiNiu.wms.Logical
_obj.deleteLocByType(locType);
}
/// <summary>
/// 清理零库存及负库存
/// </summary>
internal void cleanPandiane()
{
_obj.cleanPandiane();
}
public void logPandianStock(int skuId,string goodsId,decimal adjustCnt)
{
WmsLocation loc = new WmsLocation();
@ -1222,6 +1231,8 @@ namespace DeiNiu.wms.Logical
{
// initialLocaitons();
if (isDownOnly)
{
downAll(start);

View File

@ -236,6 +236,7 @@ namespace DeiNiu.wms.Logical
public bool finishPandian(string orderNo)
{
log.Debug("to stop pandian " + orderNo);
WmsConstants.CURRENT_PANDIAN_ORDER = "";
WmsStockPandian pandian = new WmsStockPandian(orderNo);
pandian.operater = operId;
@ -253,6 +254,10 @@ namespace DeiNiu.wms.Logical
new lWmsOutPickRequest(operId).noticeErpOrder(wor);
}
else
{
log.Debug("------------------------- not to notice erp pandian result.");
}
WmsFlow flow = new WmsFlow(pandian.orderNo);
flow.finishedCnt = flow.taskCnt;
flow.state = (int)enumFlowTaskStatus.;
@ -261,7 +266,7 @@ namespace DeiNiu.wms.Logical
}
WmsConstants.CURRENT_PANDIAN_ORDER = "";
log.Debug(" completed pandian " + orderNo);
return ret;
}
@ -288,12 +293,15 @@ namespace DeiNiu.wms.Logical
if (wsp.type == (int)enumPandianType.)
{
// delete pandian stk
lstk.cleanPandiane();
lstk.deleteLocByType(enumWhLocVol.);
lstk.deleteLocByType(enumWhLocVol.);
lstk.deleteLocBySkuId(0);
}
if (isRollBack)
@ -441,7 +449,7 @@ namespace DeiNiu.wms.Logical
wr.goodsId = wg.goodsId;
wr.validDate = dtValid;
wr.batch = batch;
wr.mirrorId = mirrroId;
// wr.mirrorId = mirrroId;
wr.productDate = prdDate;
@ -480,7 +488,7 @@ namespace DeiNiu.wms.Logical
sm.productDate= wr.productDate;
sm.validDate = wr.validDate;
sm.skuCode = wr.skuCode;
sm.shelfCount = wr.avCount;
// sm.shelfCount = wr.avCount;
wr.mirrorId = sm.Add();

File diff suppressed because one or more lines are too long

View File

@ -326,8 +326,10 @@ namespace DeiNiu.Wcf
public void truncateDataForTestOnly()
{
try {
lir.createDataForTestOnly();
try {
#if DEBUG
lir.createDataForTestOnly();
#endif
}catch(Exception er)
{
log.Error(er);

View File

@ -337,6 +337,8 @@
<DevelopmentServerPort>12349</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost:12349/</IISUrl>
<OverrideIISAppRootUrl>True</OverrideIISAppRootUrl>
<IISAppRootUrl>http://localhost:12349/</IISAppRootUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>

View File

@ -193,6 +193,8 @@ namespace DeiNiu.wms.win
private new void showLogin()
{
// showErrorMsg(DateTime.Now.ToShortDateString());
int uid = LoginInfo.UserId;
Login lg = new Login();
lg.ShowDialog();

View File

@ -93,29 +93,15 @@
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem19 = new DevExpress.XtraLayout.LayoutControlItem();
this.tabbedControlGroup2 = new DevExpress.XtraLayout.TabbedControlGroup();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem21 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem22 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem26 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem27 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem29 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem40 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem35 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem43 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem12 = new DevExpress.XtraLayout.EmptySpaceItem();
this.emptySpaceItem7 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlItem47 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem17 = new DevExpress.XtraLayout.EmptySpaceItem();
this.emptySpaceItem18 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlGroup8 = new DevExpress.XtraLayout.LayoutControlGroup();
this.tabbedControlGroup1 = new DevExpress.XtraLayout.TabbedControlGroup();
this.layoutControlGroup11 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem28 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem42 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem44 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlGroup6 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem14 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem15 = new DevExpress.XtraLayout.LayoutControlItem();
@ -155,15 +141,29 @@
this.layoutControlItem33 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem3 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlItem34 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup11 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem28 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem42 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem44 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlItem20 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem8 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem21 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem22 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem26 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem27 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem29 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem40 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem35 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem43 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem12 = new DevExpress.XtraLayout.EmptySpaceItem();
this.emptySpaceItem7 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlItem47 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem17 = new DevExpress.XtraLayout.EmptySpaceItem();
this.emptySpaceItem18 = new DevExpress.XtraLayout.EmptySpaceItem();
this.tabbedControlGroup3 = new DevExpress.XtraLayout.TabbedControlGroup();
this.layoutControlGroup9 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem18 = new DevExpress.XtraLayout.LayoutControlItem();
@ -215,29 +215,15 @@
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem19)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.tabbedControlGroup2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem21)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem22)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem26)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem27)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem29)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem40)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem35)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem43)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem12)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem47)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem17)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem18)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup8)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.tabbedControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup11)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem28)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem42)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem44)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).BeginInit();
@ -277,15 +263,29 @@
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem33)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem34)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup11)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem28)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem42)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem44)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem20)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem8)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem21)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem22)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem26)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem27)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem29)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem40)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem35)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem43)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem12)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem47)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem17)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem18)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.tabbedControlGroup3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup9)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem18)).BeginInit();
@ -1037,288 +1037,13 @@
//
this.tabbedControlGroup2.Location = new System.Drawing.Point(0, 0);
this.tabbedControlGroup2.Name = "tabbedControlGroup2";
this.tabbedControlGroup2.SelectedTabPage = this.layoutControlGroup8;
this.tabbedControlGroup2.SelectedTabPageIndex = 1;
this.tabbedControlGroup2.SelectedTabPage = this.layoutControlGroup2;
this.tabbedControlGroup2.SelectedTabPageIndex = 0;
this.tabbedControlGroup2.Size = new System.Drawing.Size(1924, 186);
this.tabbedControlGroup2.TabPages.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlGroup2,
this.layoutControlGroup8});
//
// layoutControlGroup2
//
this.layoutControlGroup2.AppearanceGroup.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Bold);
this.layoutControlGroup2.AppearanceGroup.Options.UseFont = true;
this.layoutControlGroup2.ExpandButtonVisible = true;
this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem3,
this.layoutControlItem6,
this.layoutControlItem4,
this.layoutControlItem21,
this.layoutControlItem1,
this.layoutControlItem2,
this.layoutControlItem22,
this.layoutControlItem26,
this.layoutControlItem5,
this.layoutControlItem27,
this.layoutControlItem29,
this.layoutControlItem40,
this.layoutControlItem35,
this.layoutControlItem43,
this.layoutControlItem7,
this.emptySpaceItem12,
this.emptySpaceItem7,
this.layoutControlItem47,
this.emptySpaceItem17,
this.emptySpaceItem18});
this.layoutControlGroup2.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup2.Name = "layoutControlGroup2";
this.layoutControlGroup2.Size = new System.Drawing.Size(1885, 112);
this.layoutControlGroup2.Text = "查询";
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.txtBarcode;
this.layoutControlItem3.Location = new System.Drawing.Point(574, 0);
this.layoutControlItem3.MaxSize = new System.Drawing.Size(174, 26);
this.layoutControlItem3.MinSize = new System.Drawing.Size(174, 26);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.OptionsTableLayoutItem.ColumnIndex = 1;
this.layoutControlItem3.Size = new System.Drawing.Size(174, 26);
this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem3.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem3.Text = "条码";
this.layoutControlItem3.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
this.layoutControlItem3.TextSize = new System.Drawing.Size(36, 22);
this.layoutControlItem3.TextToControlDistance = 5;
//
// layoutControlItem6
//
this.layoutControlItem6.Control = this.txtRegcode;
this.layoutControlItem6.Location = new System.Drawing.Point(748, 0);
this.layoutControlItem6.MaxSize = new System.Drawing.Size(240, 26);
this.layoutControlItem6.MinSize = new System.Drawing.Size(240, 26);
this.layoutControlItem6.Name = "layoutControlItem6";
this.layoutControlItem6.Size = new System.Drawing.Size(240, 26);
this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem6.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem6.Text = "批准文号";
this.layoutControlItem6.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem4
//
this.layoutControlItem4.Control = this.txtType;
this.layoutControlItem4.Location = new System.Drawing.Point(574, 26);
this.layoutControlItem4.MinSize = new System.Drawing.Size(93, 24);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(174, 24);
this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem4.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem4.Text = "剂型";
this.layoutControlItem4.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
this.layoutControlItem4.TextSize = new System.Drawing.Size(36, 22);
this.layoutControlItem4.TextToControlDistance = 5;
//
// layoutControlItem21
//
this.layoutControlItem21.Control = this.txtpinyin;
this.layoutControlItem21.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem21.MaxSize = new System.Drawing.Size(177, 26);
this.layoutControlItem21.MinSize = new System.Drawing.Size(177, 26);
this.layoutControlItem21.Name = "layoutControlItem21";
this.layoutControlItem21.Size = new System.Drawing.Size(177, 26);
this.layoutControlItem21.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem21.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem21.Text = "拼音简码";
this.layoutControlItem21.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.txtGoodId;
this.layoutControlItem1.Location = new System.Drawing.Point(0, 26);
this.layoutControlItem1.MinSize = new System.Drawing.Size(115, 24);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.OptionsTableLayoutItem.ColumnIndex = 1;
this.layoutControlItem1.Size = new System.Drawing.Size(177, 26);
this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem1.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem1.Text = "商品编号";
this.layoutControlItem1.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.txtGoodName;
this.layoutControlItem2.Location = new System.Drawing.Point(177, 0);
this.layoutControlItem2.MaxSize = new System.Drawing.Size(214, 26);
this.layoutControlItem2.MinSize = new System.Drawing.Size(214, 26);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(214, 26);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem2.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem2.Text = "商品名称";
this.layoutControlItem2.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem22
//
this.layoutControlItem22.Control = this.comboGoodsTypeQuery;
this.layoutControlItem22.CustomizationFormText = "商品类型";
this.layoutControlItem22.Location = new System.Drawing.Point(391, 0);
this.layoutControlItem22.MaxSize = new System.Drawing.Size(183, 26);
this.layoutControlItem22.MinSize = new System.Drawing.Size(183, 26);
this.layoutControlItem22.Name = "layoutControlItem22";
this.layoutControlItem22.Size = new System.Drawing.Size(183, 26);
this.layoutControlItem22.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem22.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem22.Text = "商品类型";
this.layoutControlItem22.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem26
//
this.layoutControlItem26.Control = this.comboRepQuery;
this.layoutControlItem26.CustomizationFormText = "商品类型";
this.layoutControlItem26.Location = new System.Drawing.Point(391, 26);
this.layoutControlItem26.MaxSize = new System.Drawing.Size(183, 26);
this.layoutControlItem26.MinSize = new System.Drawing.Size(183, 26);
this.layoutControlItem26.Name = "layoutControlItem26";
this.layoutControlItem26.Size = new System.Drawing.Size(183, 26);
this.layoutControlItem26.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem26.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem26.Text = "补货策略";
this.layoutControlItem26.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
this.layoutControlItem26.TextSize = new System.Drawing.Size(72, 22);
this.layoutControlItem26.TextToControlDistance = 5;
//
// layoutControlItem5
//
this.layoutControlItem5.Control = this.txtStockCondition;
this.layoutControlItem5.Location = new System.Drawing.Point(177, 26);
this.layoutControlItem5.MinSize = new System.Drawing.Size(115, 24);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.OptionsTableLayoutItem.ColumnIndex = 1;
this.layoutControlItem5.Size = new System.Drawing.Size(214, 26);
this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem5.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem5.Text = "存储条件";
this.layoutControlItem5.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem27
//
this.layoutControlItem27.Control = this.txtManufacturer;
this.layoutControlItem27.Location = new System.Drawing.Point(748, 26);
this.layoutControlItem27.MinSize = new System.Drawing.Size(115, 24);
this.layoutControlItem27.Name = "layoutControlItem27";
this.layoutControlItem27.Size = new System.Drawing.Size(240, 26);
this.layoutControlItem27.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem27.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem27.Text = "生产厂家";
this.layoutControlItem27.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem29
//
this.layoutControlItem29.Control = this.comABCQ;
this.layoutControlItem29.Location = new System.Drawing.Point(0, 52);
this.layoutControlItem29.MaxSize = new System.Drawing.Size(177, 34);
this.layoutControlItem29.MinSize = new System.Drawing.Size(177, 34);
this.layoutControlItem29.Name = "layoutControlItem29";
this.layoutControlItem29.Size = new System.Drawing.Size(177, 34);
this.layoutControlItem29.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem29.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem29.Text = "ABC类别";
this.layoutControlItem29.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem40
//
this.layoutControlItem40.Control = this.comWarehouseQuery;
this.layoutControlItem40.Location = new System.Drawing.Point(574, 50);
this.layoutControlItem40.MinSize = new System.Drawing.Size(141, 34);
this.layoutControlItem40.Name = "layoutControlItem40";
this.layoutControlItem40.Size = new System.Drawing.Size(174, 36);
this.layoutControlItem40.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem40.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem40.Text = "存储分区";
this.layoutControlItem40.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem35
//
this.layoutControlItem35.Control = this.comLotQ;
this.layoutControlItem35.CustomizationFormText = "批次规则";
this.layoutControlItem35.Location = new System.Drawing.Point(177, 52);
this.layoutControlItem35.MaxSize = new System.Drawing.Size(214, 34);
this.layoutControlItem35.MinSize = new System.Drawing.Size(214, 34);
this.layoutControlItem35.Name = "layoutControlItem35";
this.layoutControlItem35.Size = new System.Drawing.Size(214, 34);
this.layoutControlItem35.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem35.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem35.Text = "批次规则";
this.layoutControlItem35.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem43
//
this.layoutControlItem43.Control = this.comSeedsQ;
this.layoutControlItem43.Location = new System.Drawing.Point(391, 52);
this.layoutControlItem43.MaxSize = new System.Drawing.Size(183, 34);
this.layoutControlItem43.MinSize = new System.Drawing.Size(183, 34);
this.layoutControlItem43.Name = "layoutControlItem43";
this.layoutControlItem43.Size = new System.Drawing.Size(183, 34);
this.layoutControlItem43.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem43.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem43.Text = "取总拣货";
this.layoutControlItem43.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem7
//
this.layoutControlItem7.Control = this.btnQuery;
this.layoutControlItem7.Location = new System.Drawing.Point(988, 0);
this.layoutControlItem7.MaxSize = new System.Drawing.Size(162, 63);
this.layoutControlItem7.MinSize = new System.Drawing.Size(162, 63);
this.layoutControlItem7.Name = "layoutControlItem7";
this.layoutControlItem7.Size = new System.Drawing.Size(162, 63);
this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem7.TextVisible = false;
//
// emptySpaceItem12
//
this.emptySpaceItem12.AllowHotTrack = false;
this.emptySpaceItem12.Location = new System.Drawing.Point(977, 52);
this.emptySpaceItem12.Name = "emptySpaceItem12";
this.emptySpaceItem12.Size = new System.Drawing.Size(11, 34);
this.emptySpaceItem12.TextSize = new System.Drawing.Size(0, 0);
//
// emptySpaceItem7
//
this.emptySpaceItem7.AllowHotTrack = false;
this.emptySpaceItem7.Location = new System.Drawing.Point(1150, 0);
this.emptySpaceItem7.MinSize = new System.Drawing.Size(106, 26);
this.emptySpaceItem7.Name = "emptySpaceItem7";
this.emptySpaceItem7.Size = new System.Drawing.Size(735, 112);
this.emptySpaceItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.emptySpaceItem7.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlItem47
//
this.layoutControlItem47.Control = this.comZhitongQ;
this.layoutControlItem47.Location = new System.Drawing.Point(748, 52);
this.layoutControlItem47.Name = "layoutControlItem47";
this.layoutControlItem47.Size = new System.Drawing.Size(229, 34);
this.layoutControlItem47.Text = "直通拣货";
this.layoutControlItem47.TextSize = new System.Drawing.Size(72, 22);
//
// emptySpaceItem17
//
this.emptySpaceItem17.AllowHotTrack = false;
this.emptySpaceItem17.Location = new System.Drawing.Point(0, 86);
this.emptySpaceItem17.Name = "emptySpaceItem17";
this.emptySpaceItem17.Size = new System.Drawing.Size(988, 26);
this.emptySpaceItem17.TextSize = new System.Drawing.Size(0, 0);
//
// emptySpaceItem18
//
this.emptySpaceItem18.AllowHotTrack = false;
this.emptySpaceItem18.Location = new System.Drawing.Point(988, 63);
this.emptySpaceItem18.Name = "emptySpaceItem18";
this.emptySpaceItem18.Size = new System.Drawing.Size(162, 49);
this.emptySpaceItem18.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlGroup8
//
this.layoutControlGroup8.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
@ -1345,6 +1070,86 @@
this.layoutControlGroup3,
this.layoutControlGroup11});
//
// layoutControlGroup11
//
this.layoutControlGroup11.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem13,
this.layoutControlItem28,
this.layoutControlItem42,
this.layoutControlItem44,
this.emptySpaceItem1,
this.emptySpaceItem2});
this.layoutControlGroup11.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup11.Name = "layoutControlGroup11";
this.layoutControlGroup11.OptionsItemText.TextToControlDistance = 5;
this.layoutControlGroup11.Size = new System.Drawing.Size(1714, 38);
this.layoutControlGroup11.Text = "其他";
//
// layoutControlItem13
//
this.layoutControlItem13.Control = this.comABC;
this.layoutControlItem13.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem13.MaxSize = new System.Drawing.Size(198, 38);
this.layoutControlItem13.MinSize = new System.Drawing.Size(198, 38);
this.layoutControlItem13.Name = "layoutControlItem13";
this.layoutControlItem13.Padding = new DevExpress.XtraLayout.Utils.Padding(20, 2, 2, 2);
this.layoutControlItem13.Size = new System.Drawing.Size(198, 38);
this.layoutControlItem13.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem13.Text = "ABC类别";
this.layoutControlItem13.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem28
//
this.layoutControlItem28.Control = this.btnSaveABC;
this.layoutControlItem28.Location = new System.Drawing.Point(198, 0);
this.layoutControlItem28.MaxSize = new System.Drawing.Size(53, 38);
this.layoutControlItem28.MinSize = new System.Drawing.Size(53, 38);
this.layoutControlItem28.Name = "layoutControlItem28";
this.layoutControlItem28.Size = new System.Drawing.Size(53, 38);
this.layoutControlItem28.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem28.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem28.TextVisible = false;
//
// layoutControlItem42
//
this.layoutControlItem42.Control = this.comSeeds;
this.layoutControlItem42.Location = new System.Drawing.Point(261, 0);
this.layoutControlItem42.MaxSize = new System.Drawing.Size(165, 38);
this.layoutControlItem42.MinSize = new System.Drawing.Size(165, 38);
this.layoutControlItem42.Name = "layoutControlItem42";
this.layoutControlItem42.Size = new System.Drawing.Size(165, 38);
this.layoutControlItem42.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem42.Text = "取总拣货";
this.layoutControlItem42.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem44
//
this.layoutControlItem44.Control = this.btnSeeds;
this.layoutControlItem44.Location = new System.Drawing.Point(426, 0);
this.layoutControlItem44.MaxSize = new System.Drawing.Size(53, 38);
this.layoutControlItem44.MinSize = new System.Drawing.Size(53, 38);
this.layoutControlItem44.Name = "layoutControlItem44";
this.layoutControlItem44.Size = new System.Drawing.Size(53, 38);
this.layoutControlItem44.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem44.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem44.TextVisible = false;
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.Location = new System.Drawing.Point(251, 0);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(10, 38);
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// emptySpaceItem2
//
this.emptySpaceItem2.AllowHotTrack = false;
this.emptySpaceItem2.Location = new System.Drawing.Point(479, 0);
this.emptySpaceItem2.Name = "emptySpaceItem2";
this.emptySpaceItem2.Size = new System.Drawing.Size(1235, 38);
this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlGroup6
//
this.layoutControlGroup6.CustomizationFormText = "商品信息修改";
@ -1826,86 +1631,6 @@
this.layoutControlItem34.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem34.TextVisible = false;
//
// layoutControlGroup11
//
this.layoutControlGroup11.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem13,
this.layoutControlItem28,
this.layoutControlItem42,
this.layoutControlItem44,
this.emptySpaceItem1,
this.emptySpaceItem2});
this.layoutControlGroup11.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup11.Name = "layoutControlGroup11";
this.layoutControlGroup11.OptionsItemText.TextToControlDistance = 5;
this.layoutControlGroup11.Size = new System.Drawing.Size(1714, 38);
this.layoutControlGroup11.Text = "其他";
//
// layoutControlItem13
//
this.layoutControlItem13.Control = this.comABC;
this.layoutControlItem13.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem13.MaxSize = new System.Drawing.Size(198, 38);
this.layoutControlItem13.MinSize = new System.Drawing.Size(198, 38);
this.layoutControlItem13.Name = "layoutControlItem13";
this.layoutControlItem13.Padding = new DevExpress.XtraLayout.Utils.Padding(20, 2, 2, 2);
this.layoutControlItem13.Size = new System.Drawing.Size(198, 38);
this.layoutControlItem13.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem13.Text = "ABC类别";
this.layoutControlItem13.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem28
//
this.layoutControlItem28.Control = this.btnSaveABC;
this.layoutControlItem28.Location = new System.Drawing.Point(198, 0);
this.layoutControlItem28.MaxSize = new System.Drawing.Size(53, 38);
this.layoutControlItem28.MinSize = new System.Drawing.Size(53, 38);
this.layoutControlItem28.Name = "layoutControlItem28";
this.layoutControlItem28.Size = new System.Drawing.Size(53, 38);
this.layoutControlItem28.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem28.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem28.TextVisible = false;
//
// layoutControlItem42
//
this.layoutControlItem42.Control = this.comSeeds;
this.layoutControlItem42.Location = new System.Drawing.Point(261, 0);
this.layoutControlItem42.MaxSize = new System.Drawing.Size(165, 38);
this.layoutControlItem42.MinSize = new System.Drawing.Size(165, 38);
this.layoutControlItem42.Name = "layoutControlItem42";
this.layoutControlItem42.Size = new System.Drawing.Size(165, 38);
this.layoutControlItem42.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem42.Text = "取总拣货";
this.layoutControlItem42.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem44
//
this.layoutControlItem44.Control = this.btnSeeds;
this.layoutControlItem44.Location = new System.Drawing.Point(426, 0);
this.layoutControlItem44.MaxSize = new System.Drawing.Size(53, 38);
this.layoutControlItem44.MinSize = new System.Drawing.Size(53, 38);
this.layoutControlItem44.Name = "layoutControlItem44";
this.layoutControlItem44.Size = new System.Drawing.Size(53, 38);
this.layoutControlItem44.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem44.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem44.TextVisible = false;
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.Location = new System.Drawing.Point(251, 0);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(10, 38);
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// emptySpaceItem2
//
this.emptySpaceItem2.AllowHotTrack = false;
this.emptySpaceItem2.Location = new System.Drawing.Point(479, 0);
this.emptySpaceItem2.Name = "emptySpaceItem2";
this.emptySpaceItem2.Size = new System.Drawing.Size(1235, 38);
this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlItem20
//
this.layoutControlItem20.Control = this.btnSaveAll;
@ -1927,6 +1652,281 @@
this.emptySpaceItem8.Size = new System.Drawing.Size(132, 39);
this.emptySpaceItem8.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlGroup2
//
this.layoutControlGroup2.AppearanceGroup.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Bold);
this.layoutControlGroup2.AppearanceGroup.Options.UseFont = true;
this.layoutControlGroup2.ExpandButtonVisible = true;
this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem3,
this.layoutControlItem6,
this.layoutControlItem4,
this.layoutControlItem21,
this.layoutControlItem1,
this.layoutControlItem2,
this.layoutControlItem22,
this.layoutControlItem26,
this.layoutControlItem5,
this.layoutControlItem27,
this.layoutControlItem29,
this.layoutControlItem40,
this.layoutControlItem35,
this.layoutControlItem43,
this.layoutControlItem7,
this.emptySpaceItem12,
this.emptySpaceItem7,
this.layoutControlItem47,
this.emptySpaceItem17,
this.emptySpaceItem18});
this.layoutControlGroup2.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup2.Name = "layoutControlGroup2";
this.layoutControlGroup2.Size = new System.Drawing.Size(1885, 112);
this.layoutControlGroup2.Text = "查询";
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.txtBarcode;
this.layoutControlItem3.Location = new System.Drawing.Point(574, 0);
this.layoutControlItem3.MaxSize = new System.Drawing.Size(174, 26);
this.layoutControlItem3.MinSize = new System.Drawing.Size(174, 26);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.OptionsTableLayoutItem.ColumnIndex = 1;
this.layoutControlItem3.Size = new System.Drawing.Size(174, 26);
this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem3.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem3.Text = "条码";
this.layoutControlItem3.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
this.layoutControlItem3.TextSize = new System.Drawing.Size(36, 22);
this.layoutControlItem3.TextToControlDistance = 5;
//
// layoutControlItem6
//
this.layoutControlItem6.Control = this.txtRegcode;
this.layoutControlItem6.Location = new System.Drawing.Point(748, 0);
this.layoutControlItem6.MaxSize = new System.Drawing.Size(240, 26);
this.layoutControlItem6.MinSize = new System.Drawing.Size(240, 26);
this.layoutControlItem6.Name = "layoutControlItem6";
this.layoutControlItem6.Size = new System.Drawing.Size(240, 26);
this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem6.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem6.Text = "批准文号";
this.layoutControlItem6.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem4
//
this.layoutControlItem4.Control = this.txtType;
this.layoutControlItem4.Location = new System.Drawing.Point(574, 26);
this.layoutControlItem4.MinSize = new System.Drawing.Size(93, 24);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(174, 24);
this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem4.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem4.Text = "剂型";
this.layoutControlItem4.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
this.layoutControlItem4.TextSize = new System.Drawing.Size(36, 22);
this.layoutControlItem4.TextToControlDistance = 5;
//
// layoutControlItem21
//
this.layoutControlItem21.Control = this.txtpinyin;
this.layoutControlItem21.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem21.MaxSize = new System.Drawing.Size(177, 26);
this.layoutControlItem21.MinSize = new System.Drawing.Size(177, 26);
this.layoutControlItem21.Name = "layoutControlItem21";
this.layoutControlItem21.Size = new System.Drawing.Size(177, 26);
this.layoutControlItem21.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem21.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem21.Text = "拼音简码";
this.layoutControlItem21.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.txtGoodId;
this.layoutControlItem1.Location = new System.Drawing.Point(0, 26);
this.layoutControlItem1.MinSize = new System.Drawing.Size(115, 24);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.OptionsTableLayoutItem.ColumnIndex = 1;
this.layoutControlItem1.Size = new System.Drawing.Size(177, 26);
this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem1.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem1.Text = "商品编号";
this.layoutControlItem1.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.txtGoodName;
this.layoutControlItem2.Location = new System.Drawing.Point(177, 0);
this.layoutControlItem2.MaxSize = new System.Drawing.Size(214, 26);
this.layoutControlItem2.MinSize = new System.Drawing.Size(214, 26);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(214, 26);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem2.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem2.Text = "商品名称";
this.layoutControlItem2.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem22
//
this.layoutControlItem22.Control = this.comboGoodsTypeQuery;
this.layoutControlItem22.CustomizationFormText = "商品类型";
this.layoutControlItem22.Location = new System.Drawing.Point(391, 0);
this.layoutControlItem22.MaxSize = new System.Drawing.Size(183, 26);
this.layoutControlItem22.MinSize = new System.Drawing.Size(183, 26);
this.layoutControlItem22.Name = "layoutControlItem22";
this.layoutControlItem22.Size = new System.Drawing.Size(183, 26);
this.layoutControlItem22.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem22.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem22.Text = "商品类型";
this.layoutControlItem22.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem26
//
this.layoutControlItem26.Control = this.comboRepQuery;
this.layoutControlItem26.CustomizationFormText = "商品类型";
this.layoutControlItem26.Location = new System.Drawing.Point(391, 26);
this.layoutControlItem26.MaxSize = new System.Drawing.Size(183, 26);
this.layoutControlItem26.MinSize = new System.Drawing.Size(183, 26);
this.layoutControlItem26.Name = "layoutControlItem26";
this.layoutControlItem26.Size = new System.Drawing.Size(183, 26);
this.layoutControlItem26.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem26.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem26.Text = "补货策略";
this.layoutControlItem26.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
this.layoutControlItem26.TextSize = new System.Drawing.Size(72, 22);
this.layoutControlItem26.TextToControlDistance = 5;
//
// layoutControlItem5
//
this.layoutControlItem5.Control = this.txtStockCondition;
this.layoutControlItem5.Location = new System.Drawing.Point(177, 26);
this.layoutControlItem5.MinSize = new System.Drawing.Size(115, 24);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.OptionsTableLayoutItem.ColumnIndex = 1;
this.layoutControlItem5.Size = new System.Drawing.Size(214, 26);
this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem5.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem5.Text = "存储条件";
this.layoutControlItem5.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem27
//
this.layoutControlItem27.Control = this.txtManufacturer;
this.layoutControlItem27.Location = new System.Drawing.Point(748, 26);
this.layoutControlItem27.MinSize = new System.Drawing.Size(115, 24);
this.layoutControlItem27.Name = "layoutControlItem27";
this.layoutControlItem27.Size = new System.Drawing.Size(240, 26);
this.layoutControlItem27.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem27.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem27.Text = "生产厂家";
this.layoutControlItem27.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem29
//
this.layoutControlItem29.Control = this.comABCQ;
this.layoutControlItem29.Location = new System.Drawing.Point(0, 52);
this.layoutControlItem29.MaxSize = new System.Drawing.Size(177, 34);
this.layoutControlItem29.MinSize = new System.Drawing.Size(177, 34);
this.layoutControlItem29.Name = "layoutControlItem29";
this.layoutControlItem29.Size = new System.Drawing.Size(177, 34);
this.layoutControlItem29.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem29.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem29.Text = "ABC类别";
this.layoutControlItem29.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem40
//
this.layoutControlItem40.Control = this.comWarehouseQuery;
this.layoutControlItem40.Location = new System.Drawing.Point(574, 50);
this.layoutControlItem40.MinSize = new System.Drawing.Size(141, 34);
this.layoutControlItem40.Name = "layoutControlItem40";
this.layoutControlItem40.Size = new System.Drawing.Size(174, 36);
this.layoutControlItem40.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem40.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem40.Text = "存储分区";
this.layoutControlItem40.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem35
//
this.layoutControlItem35.Control = this.comLotQ;
this.layoutControlItem35.CustomizationFormText = "批次规则";
this.layoutControlItem35.Location = new System.Drawing.Point(177, 52);
this.layoutControlItem35.MaxSize = new System.Drawing.Size(214, 34);
this.layoutControlItem35.MinSize = new System.Drawing.Size(214, 34);
this.layoutControlItem35.Name = "layoutControlItem35";
this.layoutControlItem35.Size = new System.Drawing.Size(214, 34);
this.layoutControlItem35.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem35.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem35.Text = "批次规则";
this.layoutControlItem35.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem43
//
this.layoutControlItem43.Control = this.comSeedsQ;
this.layoutControlItem43.Location = new System.Drawing.Point(391, 52);
this.layoutControlItem43.MaxSize = new System.Drawing.Size(183, 34);
this.layoutControlItem43.MinSize = new System.Drawing.Size(183, 34);
this.layoutControlItem43.Name = "layoutControlItem43";
this.layoutControlItem43.Size = new System.Drawing.Size(183, 34);
this.layoutControlItem43.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem43.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 10, 0, 0);
this.layoutControlItem43.Text = "取总拣货";
this.layoutControlItem43.TextSize = new System.Drawing.Size(72, 22);
//
// layoutControlItem7
//
this.layoutControlItem7.Control = this.btnQuery;
this.layoutControlItem7.Location = new System.Drawing.Point(988, 0);
this.layoutControlItem7.MaxSize = new System.Drawing.Size(162, 63);
this.layoutControlItem7.MinSize = new System.Drawing.Size(162, 63);
this.layoutControlItem7.Name = "layoutControlItem7";
this.layoutControlItem7.Size = new System.Drawing.Size(162, 63);
this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem7.TextVisible = false;
//
// emptySpaceItem12
//
this.emptySpaceItem12.AllowHotTrack = false;
this.emptySpaceItem12.Location = new System.Drawing.Point(977, 52);
this.emptySpaceItem12.Name = "emptySpaceItem12";
this.emptySpaceItem12.Size = new System.Drawing.Size(11, 34);
this.emptySpaceItem12.TextSize = new System.Drawing.Size(0, 0);
//
// emptySpaceItem7
//
this.emptySpaceItem7.AllowHotTrack = false;
this.emptySpaceItem7.Location = new System.Drawing.Point(1150, 0);
this.emptySpaceItem7.MinSize = new System.Drawing.Size(106, 26);
this.emptySpaceItem7.Name = "emptySpaceItem7";
this.emptySpaceItem7.Size = new System.Drawing.Size(735, 112);
this.emptySpaceItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.emptySpaceItem7.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlItem47
//
this.layoutControlItem47.Control = this.comZhitongQ;
this.layoutControlItem47.Location = new System.Drawing.Point(748, 52);
this.layoutControlItem47.Name = "layoutControlItem47";
this.layoutControlItem47.Size = new System.Drawing.Size(229, 34);
this.layoutControlItem47.Text = "直通拣货";
this.layoutControlItem47.TextSize = new System.Drawing.Size(72, 22);
//
// emptySpaceItem17
//
this.emptySpaceItem17.AllowHotTrack = false;
this.emptySpaceItem17.Location = new System.Drawing.Point(0, 86);
this.emptySpaceItem17.Name = "emptySpaceItem17";
this.emptySpaceItem17.Size = new System.Drawing.Size(988, 26);
this.emptySpaceItem17.TextSize = new System.Drawing.Size(0, 0);
//
// emptySpaceItem18
//
this.emptySpaceItem18.AllowHotTrack = false;
this.emptySpaceItem18.Location = new System.Drawing.Point(988, 63);
this.emptySpaceItem18.Name = "emptySpaceItem18";
this.emptySpaceItem18.Size = new System.Drawing.Size(162, 49);
this.emptySpaceItem18.TextSize = new System.Drawing.Size(0, 0);
//
// tabbedControlGroup3
//
this.tabbedControlGroup3.Location = new System.Drawing.Point(0, 186);
@ -2051,29 +2051,15 @@
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem19)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.tabbedControlGroup2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem21)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem22)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem26)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem27)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem29)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem40)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem35)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem43)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem12)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem47)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem17)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem18)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup8)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.tabbedControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup11)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem28)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem42)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem44)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).EndInit();
@ -2113,15 +2099,29 @@
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem33)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem34)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup11)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem28)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem42)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem44)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem20)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem8)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem21)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem22)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem26)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem27)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem29)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem40)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem35)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem43)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem12)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem47)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem17)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem18)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.tabbedControlGroup3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup9)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem18)).EndInit();