Browse Source

优化Pda装箱绑定提示语

master
周红军 4 days ago
parent
commit
28ad141642
  1. 108
      WebService/AppWebservice.asmx.cs
  2. 10
      WebService/Function.cs

108
WebService/AppWebservice.asmx.cs

@ -1,5 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Data; using System.Data;
using System.Linq;
using System.Reflection; using System.Reflection;
using System.Runtime.Remoting.Contexts; using System.Runtime.Remoting.Contexts;
using System.Text; using System.Text;
@ -64,6 +65,14 @@ namespace Webservice
Context.Response.Write(JSONTools.ScriptSerialize<JsonModel<MKModel>>(model)); Context.Response.Write(JSONTools.ScriptSerialize<JsonModel<MKModel>>(model));
return; return;
} }
//箱码格式验证
var boxCodeList = boxCode.Split(';');
if (!boxCode.Contains("PN") || !boxCode.Contains("PKG") || !boxCode.Contains("QTY") || boxCodeList.Length != 7 || boxCodeList[0].Length != 16 || boxCodeList[1].Length != 12 || boxCodeList[5].Length != 16)
{
model.ErrReason = "箱码标签格式不对";
Context.Response.Write(JSONTools.ScriptSerialize<JsonModel<MKModel>>(model));
return;
}
//if (string.IsNullOrWhiteSpace(barCode)) //if (string.IsNullOrWhiteSpace(barCode))
//{ //{
// model.ErrReason = "缺少必要传入参数 barCode"; // model.ErrReason = "缺少必要传入参数 barCode";
@ -93,9 +102,8 @@ namespace Webservice
//} //}
#endregion #endregion
int updateNum = Function.BindBoxCodeAndBarCode(boxCode, barCode, out errorReason); string errorReasonBoxData = "";
DataTable dt = Function.GetCodeRecords(boxCode, out errorReasonBoxData);
DataTable dt = Function.GetCodeRecords(boxCode, out errorReason);
List<MKModel> listInfo = new List<MKModel>(); List<MKModel> listInfo = new List<MKModel>();
if (dt.Rows.Count < 1) if (dt.Rows.Count < 1)
@ -103,40 +111,96 @@ namespace Webservice
model.Result = "0"; model.Result = "0";
model.ResultRowsCount = "0"; model.ResultRowsCount = "0";
model.DataList = null; model.DataList = null;
model.ErrReason = errorReason; if (string.IsNullOrEmpty(errorReasonBoxData))
{
model.ErrReason = "箱码包含总成数量为零";
}
else
{
model.ErrReason = errorReasonBoxData;
}
} }
else else
{ {
listInfo = Tools.DataTableToList.ConvertTo<MKModel>(dt); listInfo = Tools.DataTableToList.ConvertTo<MKModel>(dt);
model.ResultRowsCount = listInfo.Count.ToString(); model.ResultRowsCount = listInfo.Count.ToString();
model.DataList = listInfo; model.DataList = listInfo;
} }
if(!string.IsNullOrEmpty(barCode))
if (updateNum == 0 && !string.IsNullOrEmpty(barCode))
{ {
model.Result = "0"; #region 数据合法性判断
model.ErrReason = "箱码和总成码绑定失败"; //总成码格式验证
} var barCodeList = barCode.Split(';');
else if (!barCode.Contains("S104") || !barCode.Contains(".") || barCodeList[0].Length != 17 || barCodeList[1].Length != 4 || barCodeList[2].Length != 4)
{ {
model.Result = "1"; model.ErrReason = "总成条码格式不对或不存在";
string qtyValue = "0"; Context.Response.Write(JSONTools.ScriptSerialize<JsonModel<MKModel>>(model));
var boxCodeSplit = boxCode.Split(';'); return;
foreach (string part in boxCodeSplit) }
//箱码和总成码零件验证
string boxPartNo = boxCodeList[0].Substring(3,10);
string barCodePartNo = barCodeList[0].Substring(0, 10);
if(boxPartNo != barCodePartNo)
{
model.ErrReason = "箱码和总成条码零件号不符";
Context.Response.Write(JSONTools.ScriptSerialize<JsonModel<MKModel>>(model));
return;
}
#endregion
int updateNum = Function.BindBoxCodeAndBarCode(boxCode, barCode, out errorReason);
dt = Function.GetCodeRecords(boxCode, out errorReasonBoxData);
if (dt.Rows.Count < 1)
{ {
if (part.StartsWith("QTY:")) model.Result = "0";
model.ResultRowsCount = "0";
model.DataList = null;
if (string.IsNullOrEmpty(errorReasonBoxData))
{
model.ErrReason = "箱码包含总成数量为零";
}
else
{ {
qtyValue = part.Substring(4); // 从"QTY:"后的字符开始截取 model.ErrReason = errorReasonBoxData;
} }
} }
if(listInfo.Count.ToString() == qtyValue) else
{ {
model.ErrReason = "已满箱";
listInfo = Tools.DataTableToList.ConvertTo<MKModel>(dt);
model.ResultRowsCount = listInfo.Count.ToString();
model.DataList = listInfo;
} }
}
if (!string.IsNullOrEmpty(errorReason) && !string.IsNullOrEmpty(barCode))
{
model.Result = "0";
model.ErrReason = errorReason;
}
else
{
model.Result = "1";
string qtyValue = "0";
var boxCodeSplit = boxCode.Split(';');
foreach (string part in boxCodeSplit)
{
if (part.StartsWith("QTY:"))
{
qtyValue = part.Substring(4); // 从"QTY:"后的字符开始截取
}
}
if (listInfo.Count.ToString() == qtyValue)
{
}
}
}
Context.Response.Write(JSONTools.ScriptSerialize<JsonModel<MKModel>>(model)); Context.Response.Write(JSONTools.ScriptSerialize<JsonModel<MKModel>>(model));
} }

10
WebService/Function.cs

@ -379,7 +379,7 @@ namespace Webservice
DataTable dtBoxNum = GetCodeRecords(boxCode, out errorReason); DataTable dtBoxNum = GetCodeRecords(boxCode, out errorReason);
if(dtBoxNum != null && dtBoxNum.Rows.Count.ToString() == qtyValue) if(dtBoxNum != null && dtBoxNum.Rows.Count.ToString() == qtyValue)
{ {
errorReason = "此箱码已满箱"; errorReason = "扫描总数超出箱码限制数量";
return updateNum; return updateNum;
} }
@ -401,7 +401,7 @@ namespace Webservice
updateNum = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, updateSql, null); updateNum = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, updateSql, null);
if (updateNum == 0) if (updateNum == 0)
{ {
errorReason = "箱码和总成码绑定失败"; errorReason = "总成条码装箱失败";
} }
else else
{ {
@ -416,11 +416,11 @@ namespace Webservice
{ {
if(boxCode.Trim() == boxCodeDB.Trim()) if(boxCode.Trim() == boxCodeDB.Trim())
{ {
errorReason = "箱码已包含此总成"; errorReason = "总成条码已装箱";
} }
else else
{ {
errorReason = "其他箱码已包含此总成"; errorReason = "总成条码已被其他箱码装箱";
} }
} }
@ -428,7 +428,7 @@ namespace Webservice
} }
else else
{ {
errorReason = "根据总成码未查到合格信息"; errorReason = "总成条码格式不对或不存在";
} }
return updateNum; return updateNum;

Loading…
Cancel
Save