华恒Mes鼎捷代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2133 lines
98 KiB

using System;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data;
using System.Text.RegularExpressions;
using System.Text;
using System.Data.SqlClient;
using System.Collections.Generic;
using ICSSoft.Frame.Data.BLL;
using ICSSoft.Base.Config.AppConfig;
using ICSSoft.Frame.Data.Entity;
using Newtonsoft.Json;
using System.IO;
namespace ICSSoft.PDA.Service
{
/// <summary>
/// Summary description for PDA
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class PDA : System.Web.Services.WebService
{
private static string ERPConnectString = ""; //System.Configuration.ConfigurationManager.ConnectionStrings["ERPConnectionString"].ConnectionString;
private static string sysConnectString = System.Configuration.ConfigurationManager.ConnectionStrings["SysConnectionString"].ConnectionString;
//private static string conbegin = "Data Source=";
//private static int end = ERPConnectString.IndexOf(";Uid=");
private string ERPName = ""; // "[" + ERPConnectString.Substring(conbegin.Length, end - conbegin.Length).Replace(";Database=", "].");
//private string ERPName = ERPConnectString.Substring(ERPConnectString.IndexOf("Database=") + 9, 15);
//根据站点和用户名获取用户信息
[WebMethod(EnableSession = true)]
public string GetUserMenu(string UserId, string WorkPointCode, string MenuCode, string BtnName)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
string sql = @" DECLARE @count NVARCHAR(10)
SELECT @count = ID FROM dbo.Sys_User WHERE ID = '{0}'
AND AdminFlag = '1'
SELECT @count = a.ID FROM Sys_RolePower a
INNER JOIN dbo.Sys_MenuAction b ON a.ActionId = b.ID
LEFT JOIN Sys_UserRole c ON a.RoleId = c.RoleId
WHERE c.UserId = '{0}' AND b.WorkPointCode = '{1}' AND b.MenuCode = '{2}'
AND b.BtnName = '{3}'
SELECT @count = a.ID FROM Sys_UserPower a
INNER JOIN dbo.Sys_MenuAction b ON a.ActionId = b.ID
WHERE UserId = '{0}' AND b.WorkPointCode = '{1}'
AND b.MenuCode = '{2}' AND b.BtnName = '{3}'
SELECT @count as ct";
sql = string.Format(sql, UserId, WorkPointCode, MenuCode, BtnName);
DataTable dt = DBHelper.ExecuteDataset(sysConnectString, CommandType.Text, sql).Tables[0];
if (dt == null || dt.Rows.Count == 0 || dt.Rows[0]["ct"].ToString() == "")
{
strCode = 0;
strMsg = "当前用户没有操作此功能权限";
}
}
catch (Exception ex)
{
strCode = 0;
strMsg = "权限查询异常";
}
string result = string.Format("{{\"code\":\"{0}\",\"msg\":\"{1}\",\"data\":\"{2}\"}}", strCode, strMsg, strData);
return result;
}
//获取站点列表
[WebMethod(EnableSession = true)]
public DataSet GetCompanyList()
{
string sql = @" select A.WorkPointCode,
A.WorkPointName
from Sys_WorkPoint A ";
DataSet ds = DBHelper.ExecuteDataset(sysConnectString, CommandType.Text, sql);
return ds;
}
//登陆验证
[WebMethod(EnableSession = true)]
public string Login(string workPointCode, string userCode, string userPwd)
{
AppConfig.FrameConnectString = sysConnectString;
string resUlt = "";
try
{
string sql = @"SELECT ISNULL(MAX(UserPwd),0)
FROM dbo.Sys_User
WHERE UserCode = '{0}'
AND WorkPointCode = '{1}'
AND StartFlag = 1";
sql = string.Format(sql, userCode, workPointCode);
object obj = DBHelper.ExecuteScalar(sysConnectString, CommandType.Text, sql);
if (obj.ToString() == "")
{
resUlt = "帐号:" + userCode + "不存在或者被停用,请联系系统管理员!";
}
else
{
string password = AppConfig.ToMd5(userPwd);//密码加密
if (password != obj.ToString())
{
resUlt = "口令错误!";
}
else
{
resUlt = "";
}
}
}
catch (Exception ex)
{
resUlt = ex.Message;
}
return resUlt;
}
//根据站点和用户名获取用户信息
[WebMethod(EnableSession = true)]
public DataSet GetUserByCode(string workPointCode, string userCode)
{
string sql = @"SELECT a.ID ,
a.WorkPointCode,
a.UserCode,
a.UserName
FROM dbo.sys_user a
WHERE a.WorkPointCode='{0}' and UserCode = '{1}'";
sql = string.Format(sql, workPointCode, userCode);
DataSet s = DBHelper.ExecuteDataset(sysConnectString, CommandType.Text, sql);
return s;
}
//获取条码状态
[WebMethod(EnableSession = true)]
public string CheckLotNo(string BarCode, string WorkPointCode)
{
string errormessage = ICSITEMLOTBLL.CheckLotNo(BarCode, WorkPointCode, sysConnectString);
return errormessage;
}
//验证条码信息(采购上架)
[WebMethod(EnableSession = true)]
public string CheckLotNoForStockIn(string BarCode, string WorkPointCode)
{
string errormessage = ICSWareHouseLotInfoBLL.CheckLotNoForStockIn(BarCode, WorkPointCode, sysConnectString);
return errormessage;
}
//验证条码信息(半成品/成品入库)
[WebMethod(EnableSession = true)]
public string CheckLotNoForMOIn(string BarCode, string WorkPointCode)
{
string errormessage = ICSWareHouseLotInfoBLL.CheckLotNoForMOIn(BarCode, WorkPointCode, sysConnectString);
return errormessage;
}
//验证库位信息
[WebMethod(EnableSession = true)]
public string CheckStackCode(string StackCode, string WorkPointCode)
{
string errormessage = ICSWareHouseLotInfoBLL.CheckStackCode(StackCode, WorkPointCode, sysConnectString);
return errormessage;
}
//验证ASN订单信息
[WebMethod(EnableSession = true)]
public string CheckASNNo(string BarCode, string WorkPointCode)
{
string errormessage = ICSITEMLOTBLL.CheckASNNo(BarCode, WorkPointCode, sysConnectString);
return errormessage;
}
//验证编码信息
[WebMethod(EnableSession = true)]
public string CheckLOTNum(string INVCode, string WorkPointCode)
{
string errormessage = ICSITEMLOTBLL.CheckLOTNum(INVCode, WorkPointCode, sysConnectString);
return errormessage;
}
//获取货位信息
[WebMethod(EnableSession = true)]
public string GetBinCode(string LotNO, string WorkPoint)
{
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.GetBinCode(LotNO, WorkPoint, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"BinCode\":\"{0}\"", dr["BinCode"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//获取条码信息
[WebMethod(EnableSession = true)]
public string GetLotData(string BarCode, string workPoint)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSITEMLOTBLL.GetLotData(BarCode, workPoint, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"TransNO\":\"{0}\",", dr["TransNO"]);
sbDetail.AppendFormat("\"TransLine\":\"{0}\",", dr["TransLine"]);
sbDetail.AppendFormat("\"LotNO\":\"{0}\",", dr["LotNO"]);
sbDetail.AppendFormat("\"MCODE\":\"{0}\",", dr["MCODE"]);
sbDetail.AppendFormat("\"INVNAME\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"LOTQTY\":\"{0}\",", dr["LOTQTY"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\"", dr["INVUOM"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//获取条码信息(半成品入库)
[WebMethod(EnableSession = true)]
public string GetLotDataForMO(string BarCode, string workPoint)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSITEMLOTBLL.GetLotDataForMo(BarCode, workPoint, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"MOCode\":\"{0}\",", dr["MOCODE"]);
sbDetail.AppendFormat("\"MOSEQ\":\"{0}\",", dr["MOSEQ"]);
sbDetail.AppendFormat("\"INVCode\":\"{0}\",", dr["ITEMCODE"]);
sbDetail.AppendFormat("\"INVName\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\",", dr["INVUOM"]);
sbDetail.AppendFormat("\"LotQty\":\"{0}\",", dr["LotQty"]);
sbDetail.AppendFormat("\"cBatch\":\"{0}\",", dr["VenderLotNO"]);
sbDetail.AppendFormat("\"LotNo\":\"{0}\"", dr["LotNO"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//获取编码信息
[WebMethod(EnableSession = true)]
public string GetLotNumData(string INVCode, string workPoint)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSITEMLOTBLL.GetLotNumData(INVCode, workPoint, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"TransNO\":\"{0}\",", dr["TransNO"]);
sbDetail.AppendFormat("\"TransLine\":\"{0}\",", dr["TransLine"]);
sbDetail.AppendFormat("\"LotNO\":\"{0}\",", dr["LotNO"]);
sbDetail.AppendFormat("\"MCODE\":\"{0}\",", dr["MCODE"]);
sbDetail.AppendFormat("\"INVNAME\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"LOTQTY\":\"{0}\",", dr["LOTQTY"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\",", dr["INVUOM"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//获取ASN单信息(半成品入库)
[WebMethod(EnableSession = true)]
public string GetASNDataForMO(string BarCode, string workPoint)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSITEMLOTBLL.GetASNDataForMO(BarCode, workPoint, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"MOCode\":\"{0}\",", dr["MOCODE"]);
sbDetail.AppendFormat("\"MOSEQ\":\"{0}\",", dr["MOSEQ"]);
sbDetail.AppendFormat("\"INVCode\":\"{0}\",", dr["ITEMCODE"]);
sbDetail.AppendFormat("\"INVName\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"MOPLANQTY\":\"{0}\",", dr["MOPLANQTY"]);
sbDetail.AppendFormat("\"MOINPUTQTY\":\"{0}\",", dr["MOINPUTQTY"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\",", dr["INVUOM"]);
sbDetail.AppendFormat("\"LotQty\":\"{0}\",", dr["LotQty"]);
sbDetail.AppendFormat("\"LotNo\":\"{0}\"", dr["LotNO"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//生成到货单
[WebMethod(EnableSession = true)]
public string CreateRCV(List<FormICSRSVDataModel.RCVData> rcv, out string docno, out string user, out string time)
{
try
{
string errormessage = ICSITEMLOTBLL.CreateRCV(rcv, sysConnectString, out docno, out user, out time);
return errormessage;
}
catch (Exception ex)
{
throw ex;
}
}
//采购入库
[WebMethod(EnableSession = true)]
public string storageIN(string barStr, string stack, string userCode, string userName, string workPoint, string Type, string ScanType)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
string[] barcodelist = barStr.Split(',');
string[] stacklist = stack.Split(',');
using (SqlConnection conn = new SqlConnection(sysConnectString))
{
conn.Open();
using (SqlTransaction trans = conn.BeginTransaction())
{
try
{
if (ICSWareHouseLotInfoBLL.StockIn(conn, trans, barcodelist, stacklist, userCode, userName, workPoint, Type, ScanType, sysConnectString))
{
strCode = 0;
strMsg = "入库成功";
}
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
strCode = 1;
strMsg = "入库异常:" + ex.Message;
}
}
conn.Close();
}
string result = string.Format("{{\"code\":\"{0}\",\"msg\":\"{1}\",\"data\":\"{2}\"}}", strCode, strMsg, strData);
return result;
}
//半成品入库
[WebMethod(EnableSession = true)]
public string storageINForMO(string barStr, string stack, string userCode, string userName, string workPoint, string Type, string ScanType)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
string[] barcodelist = barStr.Split(',');
string[] stacklist = stack.Split(',');
using (SqlConnection conn = new SqlConnection(sysConnectString))
{
conn.Open();
using (SqlTransaction trans = conn.BeginTransaction())
{
try
{
if (ICSWareHouseLotInfoBLL.StockInForMo(conn, trans, barcodelist, stacklist, userCode, userName, workPoint, Type, ScanType, sysConnectString))
{
strCode = 0;
strMsg = "入库成功";
}
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
strCode = 1;
strMsg = "入库异常:" + ex.Message;
}
}
conn.Close();
}
string result = string.Format("{{\"code\":\"{0}\",\"msg\":\"{1}\",\"data\":\"{2}\"}}", strCode, strMsg, strData);
return result;
}
//验证采购退货单据
[WebMethod(EnableSession = true)]
public string CheckPOCode(string POCode, string WorkPointCode)
{
string errormessage = ICSWareHouseLotInfoBLL.CheckPOCode(POCode, WorkPointCode, sysConnectString);
return errormessage;
}
//获取退货单信息
[WebMethod(EnableSession = true)]
public string GetPOReturnData(string POCode, string workPoint)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.GetPOReturnData(POCode, workPoint, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"POCode\":\"{0}\",", dr["POCode"]);
sbDetail.AppendFormat("\"PORow\":\"{0}\",", dr["PORow"]);
sbDetail.AppendFormat("\"INVCODE\":\"{0}\",", dr["INVCODE"]);
sbDetail.AppendFormat("\"INVNAME\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"RequestQty\":\"{0}\",", Convert.ToDecimal(dr["RequestQty"]));
sbDetail.AppendFormat("\"Inqty\":\"{0}\",", Convert.ToDecimal(dr["Inqty"]));
sbDetail.AppendFormat("\"INVUOM\":\"{0}\",", dr["INVUOM"]);
sbDetail.AppendFormat("\"Batch\":\"{0}\",", dr["Batch"]);
sbDetail.AppendFormat("\"cWhCode\":\"{0}\"", dr["cWhCode"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//验证条码信息(采购退货)
[WebMethod(EnableSession = true)]
public string CheckLotnoForReturn(string BarCode, string WorkPointCode)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.CheckLotnoForReturn(BarCode, WorkPointCode, sysConnectString);
if (dt != null && dt.Rows.Count > 0 && dt.Rows[0]["WHLotno"].ToString() != "" && dt.Rows[0]["WHLotno"] != null)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"LotNO\":\"{0}\",", dr["LotNO"]);
sbDetail.AppendFormat("\"WHCode\":\"{0}\",", dr["WHCode"]);
sbDetail.AppendFormat("\"INVCode\":\"{0}\",", dr["INVCode"]);
sbDetail.AppendFormat("\"INVNAME\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"LotQty\":\"{0}\",", dr["LotQty"]);
sbDetail.AppendFormat("\"Rate\":\"{0}\",", dr["EATTRIBUTE3"]);
sbDetail.AppendFormat("\"VenderLotNO\":\"{0}\",", dr["VenderLotNO"]);
sbDetail.AppendFormat("\"InQty\":\"{0}\",", 0.00);
sbDetail.AppendFormat("\"WHCode\":\"{0}\"", dr["WHCode"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//验证条码信息(工单领料)
[WebMethod(EnableSession = true)]
public string CheckLotnoForMOOut(string BarCode, string WorkPointCode)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.CheckLotnoForMOOut(BarCode, WorkPointCode, sysConnectString);
if (dt != null && dt.Rows.Count > 0 && dt.Rows[0]["WHLotno"].ToString() != "" && dt.Rows[0]["WHLotno"] != null)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"cBatchProperty6\":\"{0}\",", dr["cBatchProperty6"]);
sbDetail.AppendFormat("\"cDefine22\":\"{0}\",", dr["cDefine22"]);
sbDetail.AppendFormat("\"cDefine24\":\"{0}\",", dr["cDefine24"]);
sbDetail.AppendFormat("\"LotNO\":\"{0}\",", dr["LotNO"]);
sbDetail.AppendFormat("\"WHCode\":\"{0}\",", dr["WHCode"]);
sbDetail.AppendFormat("\"INVCode\":\"{0}\",", dr["INVCode"]);
sbDetail.AppendFormat("\"INVNAME\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"LotQty\":\"{0}\",", dr["LotQty"]);
sbDetail.AppendFormat("\"Rate\":\"{0}\",", dr["EATTRIBUTE3"]);
sbDetail.AppendFormat("\"VenderLotNO\":\"{0}\",", dr["VenderLotNO"]);
sbDetail.AppendFormat("\"InQty\":\"{0}\",", 0.00);
sbDetail.AppendFormat("\"WHCode\":\"{0}\"", dr["WHCode"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//采购退货
[WebMethod(EnableSession = true)]
public string storageReturn(string POCode, string PORowList, string POQtyList, string BarCodeRowList, string BarCodeList, string BarCodeQtyList, string userCode, string userName, string workPoint, string Type)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
string[] porowlist = PORowList.Split(',');
string[] poqtylist = POQtyList.Split(',');
string[] barcodelist = BarCodeList.Split(',');
string[] barcodeqtylist = BarCodeQtyList.Split(',');
string[] barcoderowlist = BarCodeRowList.Split(',');
using (SqlConnection conn = new SqlConnection(sysConnectString))
{
conn.Open();
using (SqlTransaction trans = conn.BeginTransaction())
{
try
{
if (ICSWareHouseLotInfoBLL.StockReturn(conn, trans, POCode, porowlist, poqtylist, barcoderowlist, barcodelist, barcodeqtylist, userCode, userName, workPoint, Type, sysConnectString))
{
strCode = 0;
strMsg = "退货成功";
}
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
strCode = 1;
strMsg = "退货异常:" + ex.Message;
}
}
conn.Close();
}
string result = string.Format("{{\"code\":\"{0}\",\"msg\":\"{1}\",\"data\":\"{2}\"}}", strCode, strMsg, strData);
return result;
}
//验证物料工单调拨
[WebMethod(EnableSession = true)]
public string CheckTransferNoMO(string TransferNo, string TransferLine, string WorkPointCode)
{
string errormessage = ICSWareHouseLotInfoBLL.CheckTransferNoMO(TransferNo, TransferLine, WorkPointCode, sysConnectString);
return errormessage;
}
//获取工单调拨数据
[WebMethod(EnableSession = true)]
public string GetTransferDataMO(string TransferNo, string TransferLine, string workPoint)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.GetTransferDataMO(TransferNo, TransferLine, workPoint, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"TransferLine\":\"{0}\",", dr["TransferLine"]);
sbDetail.AppendFormat("\"FromWHCode\":\"{0}\",", dr["FROMStorageCode"]);
sbDetail.AppendFormat("\"ToWHCode\":\"{0}\",", dr["TOStorageCode"]);
sbDetail.AppendFormat("\"INVCode\":\"{0}\",", dr["ITEMCODE"]);
sbDetail.AppendFormat("\"INVNAME\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"PlanQty\":\"{0}\",", dr["PLANQTY"]);
sbDetail.AppendFormat("\"ActQty\":\"{0}\",", dr["ACTQTY"]);
sbDetail.AppendFormat("\"INVUom\":\"{0}\",", dr["INVUOM"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//验证物料调拨申请单号
[WebMethod(EnableSession = true)]
public string CheckTransferNo(string TransferNo, string WorkPointCode)
{
string errormessage = ICSWareHouseLotInfoBLL.CheckTransferNo(TransferNo, WorkPointCode, sysConnectString);
return errormessage;
}
//获取调拨申请单数据
[WebMethod(EnableSession = true)]
public string GetTransferData(string TransferNo, string workPoint)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.GetTransferData(TransferNo, workPoint, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"TransferLine\":\"{0}\",", dr["TransferLine"]);
sbDetail.AppendFormat("\"FromWHCode\":\"{0}\",", dr["FROMStorageCode"]);
sbDetail.AppendFormat("\"ToWHCode\":\"{0}\",", dr["TOStorageCode"]);
sbDetail.AppendFormat("\"CDefine10\":\"{0}\",", dr["EATTRIBUTE4"]);
sbDetail.AppendFormat("\"INVCode\":\"{0}\",", dr["ITEMCODE"]);
sbDetail.AppendFormat("\"INVNAME\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"PlanQty\":\"{0}\",", dr["PLANQTY"]);
sbDetail.AppendFormat("\"ActQty\":\"{0}\",", dr["ACTQTY"]);
sbDetail.AppendFormat("\"INVUom\":\"{0}\",", dr["INVUOM"]);
sbDetail.AppendFormat("\"CTVBarch\":\"{0}\"", dr["cTVBatch"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//物料调拨
[WebMethod(EnableSession = true)]
public string WareHouseTrans(string POCode, string PORowList, string POQtyList, string BarCodeRowList, string BarCodeList, string BarCodeQtyList, string BinCodeList, string userCode, string userName, string workPoint, string Type)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
string[] porowlist = PORowList.Split(',');
string[] poqtylist = POQtyList.Split(',');
string[] barcodelist = BarCodeList.Split(',');
string[] barcodeqtylist = BarCodeQtyList.Split(',');
string[] bincodelist = BinCodeList.Split(',');
string[] barcoderowlist = BarCodeRowList.Split(',');
using (SqlConnection conn = new SqlConnection(sysConnectString))
{
conn.Open();
using (SqlTransaction trans = conn.BeginTransaction())
{
try
{
if (ICSWareHouseLotInfoBLL.WareHouseTrans(conn, trans, POCode, porowlist, poqtylist, barcoderowlist, barcodelist, barcodeqtylist, bincodelist, userCode, userName, workPoint, Type, sysConnectString))
{
strCode = 0;
strMsg = "调拨成功";
}
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
strCode = 1;
strMsg = "调拨异常:" + ex.Message;
}
}
conn.Close();
}
string result = string.Format("{{\"code\":\"{0}\",\"msg\":\"{1}\",\"data\":\"{2}\"}}", strCode, strMsg, strData);
return result;
}
//获取工单行,行ID信息
[WebMethod(EnableSession = true)]
public string GetMOSEQ(string MOCODE, string WorkPointCode)
{
string sql = @"SELECT
MOSEQ,EATTRIBUTE1
FROM ICSMO
WHERE MOCODE='{0}' AND WorkPoint='{1}'";
sql = string.Format(sql, MOCODE, WorkPointCode);
DataSet ds = DBHelper.ExecuteDataset(sysConnectString, CommandType.Text, sql);
DataTable dt = ds.Tables[0];
if (dt == null || dt.Rows.Count <= 0)
throw new Exception("工单信息不存在!");
return JsonConvert.SerializeObject(ds.Tables[0]);
}
//验证材料出库申请单(工单)
[WebMethod(EnableSession = true)]
public string CheckVouchCode(string VouchCode, string WorkPointCode)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.CheckVouchCode(VouchCode, WorkPointCode, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"MOTYPE\":\"{0}\",", dr["MOTYPE"]);
sbDetail.AppendFormat("\"REMOITEMDESC\":\"{0}\",", dr["REMOITEMDESC"]);
sbDetail.AppendFormat("\"SEQ\":\"{0}\",", dr["生产订单行号"]);
sbDetail.AppendFormat("\"VouchRow\":\"{0}\",", dr["子件行号"]);
sbDetail.AppendFormat("\"INVCode\":\"{0}\",", dr["存货编码"]);
sbDetail.AppendFormat("\"INVName\":\"{0}\",", String2Json(dr["存货名称"].ToString().Replace('"', '\"')));
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["规格型号"]);
sbDetail.AppendFormat("\"Quantity\":\"{0}\",", dr["计划数量"]);
sbDetail.AppendFormat("\"HasQuantity\":\"{0}\",", dr["已发数量"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\"", dr["单位"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//验证ICSMaterial表状态
[WebMethod(EnableSession = true)]
public string CheckMaterialStatus(string VouchCode, string WorkPointCode)
{
string errormessage = ICSWareHouseLotInfoBLL.CheckMaterialStatus(VouchCode, WorkPointCode, sysConnectString);
return errormessage;
}
//验证材料出库申请单(领料单)
[WebMethod(EnableSession = true)]
public string CheckMaterialPickCode(string VouchCode, string WorkPointCode)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.CheckMaterialPickCode(VouchCode, WorkPointCode, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"VouchRow\":\"{0}\",", dr["行号"]);
sbDetail.AppendFormat("\"INVCode\":\"{0}\",", dr["存货编码"]);
sbDetail.AppendFormat("\"INVName\":\"{0}\",", dr["存货名称"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["规格型号"]);
sbDetail.AppendFormat("\"Quantity\":\"{0}\",", dr["计划数量"]);
sbDetail.AppendFormat("\"HasQuantity\":\"{0}\",", dr["已发数量"]);
sbDetail.AppendFormat("\"PickingStatus\":\"{0}\",", dr["单据状态"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\"", dr["单位"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//验证材料出库申请单
[WebMethod(EnableSession = true)]
public string CheckVouchCodePick(string VouchCode, string WorkPointCode)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.CheckVouchCodePick(VouchCode, WorkPointCode, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"SEQ\":\"{0}\",", dr["主行号"]);
sbDetail.AppendFormat("\"VouchRow\":\"{0}\",", dr["子行号"]);
sbDetail.AppendFormat("\"INVCode\":\"{0}\",", dr["存货编码"]);
sbDetail.AppendFormat("\"INVName\":\"{0}\",", dr["存货名称"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["规格型号"]);
sbDetail.AppendFormat("\"Quantity\":\"{0}\",", dr["计划数量"]);
sbDetail.AppendFormat("\"HasQuantity\":\"{0}\",", dr["已发数量"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\"", dr["单位"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//材料出库(领料单)
[WebMethod(EnableSession = true)]
public string MaterialOut(string POCode, string PoRowList, string PoRowQtyList, string BarCodeRowList, string BarCodeList, string BarCodeQtyList, string SubmitUserName, string userCode, string userName, string workPoint, string Type)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
string[] porowlist = PoRowList.Split(',');
string[] poqtylist = PoRowQtyList.Split(',');
string[] barcodelist = BarCodeList.Split(',');
string[] barcodeqtylist = BarCodeQtyList.Split(',');
string[] barcoderowlist = BarCodeRowList.Split(',');
using (SqlConnection conn = new SqlConnection(sysConnectString))
{
conn.Open();
using (SqlTransaction trans = conn.BeginTransaction())
{
try
{
if (ICSWareHouseLotInfoBLL.WareHouseMterialOut(conn, trans, POCode, porowlist, poqtylist, barcoderowlist, barcodelist, barcodeqtylist, SubmitUserName, userCode, userName, workPoint, Type, sysConnectString))
{
strCode = 0;
strMsg = "出库成功";
}
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
strCode = 1;
strMsg = "出库异常:" + ex.Message;
}
}
conn.Close();
}
string result = string.Format("{{\"code\":\"{0}\",\"msg\":\"{1}\",\"data\":\"{2}\"}}", strCode, strMsg, strData);
return result;
}
//材料出库(工单)
[WebMethod(EnableSession = true)]
public string MOMaterialOut(string POCode, string PoMainRowList, string PoRowList, string PoRowQtyList, string BarCodeRowList, string BarCodeList, string BarCodeQtyList, string userCode, string userName, string workPoint, string Type)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
string[] pomainrowlist = PoMainRowList.Split(',');
string[] porowlist = PoRowList.Split(',');
string[] poqtylist = PoRowQtyList.Split(',');
string[] barcodelist = BarCodeList.Split(',');
string[] barcodeqtylist = BarCodeQtyList.Split(',');
string[] barcoderowlist = BarCodeRowList.Split(',');
using (SqlConnection conn = new SqlConnection(sysConnectString))
{
conn.Open();
using (SqlTransaction trans = conn.BeginTransaction())
{
try
{
if (ICSWareHouseLotInfoBLL.WareHouseMOMterialOut(conn, trans, POCode, pomainrowlist, porowlist, poqtylist, barcoderowlist, barcodelist, barcodeqtylist, userCode, userName, workPoint, Type, sysConnectString))
{
strCode = 0;
strMsg = "出库成功";
}
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
strCode = 1;
strMsg = "出库异常:" + ex.Message;
}
}
conn.Close();
}
string result = string.Format("{{\"code\":\"{0}\",\"msg\":\"{1}\",\"data\":\"{2}\"}}", strCode, strMsg, strData);
return result;
}
//物料退料
[WebMethod(EnableSession = true)]
public string MaterialIN(string POCodeList, string PORowList, string POQtyList, string BarCodeRowList, string BarCodeList, string BarCodeQtyList, string BinCodeList, string userCode, string userName, string workPoint, string Type, string VouchType)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
string[] pocodelist = POCodeList.Split(',');
string[] porowlist = PORowList.Split(',');
string[] poqtylist = POQtyList.Split(',');
string[] barcodelist = BarCodeList.Split(',');
string[] barcodeqtylist = BarCodeQtyList.Split(',');
string[] barcoderowlist = BarCodeRowList.Split(',');
string[] bincodelist = BinCodeList.Split(',');
using (SqlConnection conn = new SqlConnection(sysConnectString))
{
conn.Open();
using (SqlTransaction trans = conn.BeginTransaction())
{
try
{
if (ICSWareHouseLotInfoBLL.MaterialIN(conn, trans, pocodelist, porowlist, poqtylist, barcoderowlist, barcodelist, barcodeqtylist, bincodelist, userCode, userName, workPoint, Type, VouchType, sysConnectString))
{
strCode = 0;
strMsg = "出库成功";
}
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
strCode = 1;
strMsg = "出库异常:" + ex.Message;
}
}
conn.Close();
}
string result = string.Format("{{\"code\":\"{0}\",\"msg\":\"{1}\",\"data\":\"{2}\"}}", strCode, strMsg, strData);
return result;
}
//验证销售出库单号
[WebMethod(EnableSession = true)]
public string CheckSOCode(string SOCode, string WorkPointCode)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.CheckSOCode(SOCode, WorkPointCode, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"VouchRow\":\"{0}\",", dr["DispatchRow"]);
sbDetail.AppendFormat("\"INVCode\":\"{0}\",", dr["INVCode"]);
sbDetail.AppendFormat("\"INVName\":\"{0}\",", dr["INVName"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"Quantity\":\"{0}\",", dr["Quantity"]);
sbDetail.AppendFormat("\"HasQuantity\":\"{0}\",", dr["HasQuantity"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\",", dr["INVUOM"]);
sbDetail.AppendFormat("\"WHCode\":\"{0}\",", dr["WHCode"]);
sbDetail.AppendFormat("\"Batch\":\"{0}\"", dr["cBatch"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//验证销售退库单号
[WebMethod(EnableSession = true)]
public string CheckSOCodeForReturn(string SOCode, string WorkPointCode)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.CheckSOCodeForReturn(SOCode, WorkPointCode, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"VouchRow\":\"{0}\",", dr["DispatchRow"]);
sbDetail.AppendFormat("\"INVCode\":\"{0}\",", dr["INVCode"]);
sbDetail.AppendFormat("\"INVName\":\"{0}\",", dr["INVName"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"Quantity\":\"{0}\",", dr["Quantity"]);
sbDetail.AppendFormat("\"HasQuantity\":\"{0}\",", dr["HasQuantity"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\",", dr["INVUOM"]);
sbDetail.AppendFormat("\"WHCode\":\"{0}\",", dr["WHCode"]);
sbDetail.AppendFormat("\"Batch\":\"{0}\"", dr["cBatch"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//验证销售出库条码信息
[WebMethod(EnableSession = true)]
public string CheckLotnoForSO(string SOCode, string BarCode, string WorkPointCode)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.CheckLotnoForSO(SOCode, BarCode, WorkPointCode, sysConnectString);
if (dt != null && dt.Rows.Count > 0 && dt.Rows[0]["WHLotno"].ToString() != "" && dt.Rows[0]["WHLotno"].ToString() != null)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"LotNO\":\"{0}\",", dr["LotNO"]);
sbDetail.AppendFormat("\"BinCode\":\"{0}\",", dr["BinCode"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\",", dr["INVUOM"]);
sbDetail.AppendFormat("\"WHCode\":\"{0}\",", dr["WHCode"]);
sbDetail.AppendFormat("\"INVCODE\":\"{0}\",", dr["INVCODE"]);
sbDetail.AppendFormat("\"INVNAME\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"LotQty\":\"{0}\",", dr["LotQty"]);
sbDetail.AppendFormat("\"Rate\":\"{0}\",", dr["EATTRIBUTE3"]);
sbDetail.AppendFormat("\"InQty\":\"{0}\",", 0.00);
sbDetail.AppendFormat("\"VenderLotNO\":\"{0}\"", dr["VenderLotNO"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//验证销售退库条码信息
[WebMethod(EnableSession = true)]
public string CheckLotnoForSOReturn(string BarCode, string WorkPointCode)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.CheckLotnoForSOReturn(BarCode, WorkPointCode, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"DispatchCode\":\"{0}\",", dr["DispatchCode"]);
sbDetail.AppendFormat("\"DispatchRow\":\"{0}\",", dr["DispatchRow"]);
sbDetail.AppendFormat("\"LotNO\":\"{0}\",", dr["LotNO"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\",", dr["INVUOM"]);
sbDetail.AppendFormat("\"INVCODE\":\"{0}\",", dr["MCODE"]);
sbDetail.AppendFormat("\"INVNAME\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"LotQty\":\"{0}\",", dr["LotQty"]);
sbDetail.AppendFormat("\"Rate\":\"{0}\",", dr["EATTRIBUTE3"]);
sbDetail.AppendFormat("\"cBatch\":\"{0}\",", dr["cBatch"]);
sbDetail.AppendFormat("\"WHCode\":\"{0}\",", dr["WHCode"]);
sbDetail.AppendFormat("\"LotBatch\":\"{0}\"", dr["VenderLotNO"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//销售出库
[WebMethod(EnableSession = true)]
public string DispatchOut(string POCode, string PORowList, string POQtyList, string BarCodeRowList, string BarCodeList, string BarCodeQtyList, string userCode, string userName, string workPoint, string Type)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
string[] porowlist = PORowList.Split(',');
string[] poqtylist = POQtyList.Split(',');
string[] barcoderowlist = BarCodeRowList.Split(',');
string[] barcodelist = BarCodeList.Split(',');
string[] barcodeqtylist = BarCodeQtyList.Split(',');
using (SqlConnection conn = new SqlConnection(sysConnectString))
{
conn.Open();
using (SqlTransaction trans = conn.BeginTransaction())
{
try
{
if (ICSWareHouseLotInfoBLL.WareHouseDisPatchOut(conn, trans, POCode, porowlist, poqtylist, barcoderowlist, barcodelist, barcodeqtylist, userCode, userName, workPoint, Type, sysConnectString))
{
strCode = 0;
strMsg = "出库成功";
}
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
strCode = 1;
strMsg = "出库异常:" + ex.Message;
}
}
conn.Close();
}
string result = string.Format("{{\"code\":\"{0}\",\"msg\":\"{1}\",\"data\":\"{2}\"}}", strCode, strMsg, strData);
return result;
}
//销售退库
[WebMethod(EnableSession = true)]
public string DispatchIN(string POCode, string PORowList, string BarCodeList, string BarCodeQtyList, string StackCodeList, string userCode, string userName, string workPoint, string Type)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
string[] porowlist = PORowList.Split(',');
string[] barcodelist = BarCodeList.Split(',');
string[] barcodeqtylist = BarCodeQtyList.Split(',');
string[] stackcodelist = StackCodeList.Split(',');
using (SqlConnection conn = new SqlConnection(sysConnectString))
{
conn.Open();
using (SqlTransaction trans = conn.BeginTransaction())
{
try
{
if (ICSWareHouseLotInfoBLL.WareHouseDisPatchIN(conn, trans, POCode, porowlist, barcodelist, barcodeqtylist, stackcodelist, userCode, userName, workPoint, Type, sysConnectString))
{
strCode = 0;
strMsg = "出库成功";
}
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
strCode = 1;
strMsg = "出库异常:" + ex.Message;
}
}
conn.Close();
}
string result = string.Format("{{\"code\":\"{0}\",\"msg\":\"{1}\",\"data\":\"{2}\"}}", strCode, strMsg, strData);
return result;
}
//验证条码信息(移库)
[WebMethod(EnableSession = true)]
public string CheckLotnoForStackTrans(string BarCode, string WorkPointCode)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.CheckLotnoForStackTrans(BarCode, WorkPointCode, sysConnectString);
if (dt != null && dt.Rows.Count > 0 && dt.Rows[0]["WHLotno"].ToString() != "" && dt.Rows[0]["WHLotno"].ToString() != null)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"LotNo\":\"{0}\",", dr["WHLotno"]);
sbDetail.AppendFormat("\"BinCode\":\"{0}\",", dr["BinCode"]);
sbDetail.AppendFormat("\"INVCode\":\"{0}\",", dr["INVCode"]);
sbDetail.AppendFormat("\"INVName\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"LOTQty\":\"{0}\",", dr["LotQty"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\",", dr["INVUOM"]);
sbDetail.AppendFormat("\"WHCode\":\"{0}\"", dr["WHCode"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
[WebMethod(EnableSession = true)]
public string CheckBinCodeForStackTrans(string BinCode, string WorkPointCode)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.CheckBinCodeForStackTrans(BinCode, WorkPointCode, sysConnectString);
if (dt != null && dt.Rows.Count > 0 && dt.Rows[0]["WHLotno"].ToString() != "" && dt.Rows[0]["WHLotno"].ToString() != null)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"LotNo\":\"{0}\",", dr["WHLotno"]);
sbDetail.AppendFormat("\"INVCode\":\"{0}\",", dr["MCODE"]);
sbDetail.AppendFormat("\"BinCode\":\"{0}\",", dr["BinCode"]);
sbDetail.AppendFormat("\"INVCode\":\"{0}\",", dr["MCODE"]);
sbDetail.AppendFormat("\"INVName\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"LOTQty\":\"{0}\",", dr["LotQty"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\",", dr["INVUOM"]);
sbDetail.AppendFormat("\"WHCode\":\"{0}\"", dr["WHCode"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//验证箱号信息(移库)
[WebMethod(EnableSession = true)]
public string CheckBoxnoForStackTrans(string BarCode, string WorkPointCode)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.CheckBoxnoForStackTrans(BarCode, WorkPointCode, sysConnectString);
if (dt != null && dt.Rows.Count > 0 && dt.Rows[0]["WHLotno"].ToString() != "" && dt.Rows[0]["WHLotno"].ToString() != null)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"LotNo\":\"{0}\",", dr["WHLotno"]);
sbDetail.AppendFormat("\"BinCode\":\"{0}\",", dr["BinCode"]);
sbDetail.AppendFormat("\"INVName\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"LOTQty\":\"{0}\",", dr["LotQty"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\",", dr["INVUOM"]);
sbDetail.AppendFormat("\"WHCode\":\"{0}\"", dr["WHCode"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//移库扫描
[WebMethod(EnableSession = true)]
public string StackTransfer(string OldBinCodeList, string NewBinCodeList, string BarCodeList, string BarCodeQtyList, string userCode, string userName, string workPoint, string Type)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
string[] oldbincodelist = OldBinCodeList.Split(',');
string[] newbincodelist = NewBinCodeList.Split(',');
string[] barcodelist = BarCodeList.Split(',');
string[] barcodeqtylist = BarCodeQtyList.Split(',');
using (SqlConnection conn = new SqlConnection(sysConnectString))
{
conn.Open();
using (SqlTransaction trans = conn.BeginTransaction())
{
try
{
if (ICSWareHouseLotInfoBLL.StackTransfer(conn, trans, oldbincodelist, newbincodelist, barcodelist, barcodeqtylist, userCode, userName, workPoint, Type, sysConnectString))
{
strCode = 0;
strMsg = "移库成功";
}
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
strCode = 1;
strMsg = "移库异常:" + ex.Message;
}
}
conn.Close();
}
string result = string.Format("{{\"code\":\"{0}\",\"msg\":\"{1}\",\"data\":\"{2}\"}}", strCode, strMsg, strData);
return result;
}
//验证盘点单号
[WebMethod(EnableSession = true)]
public string CheckCheckNo(string CheckNo, string WorkPointCode)
{
string errormessage = ICSWareHouseLotInfoBLL.CheckCheckNo(CheckNo, WorkPointCode, sysConnectString);
return errormessage;
}
//验证盘点条码信息
[WebMethod(EnableSession = true)]
public string CheckLotnoForCheck(string CheckNo, string BarCode, string WorkPointCode)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.CheckLotnoForCheck(CheckNo, BarCode, WorkPointCode, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"WHCode\":\"{0}\",", dr["WHCode"]);
sbDetail.AppendFormat("\"BinCode\":\"{0}\",", dr["BinCode"]);
sbDetail.AppendFormat("\"BarCode\":\"{0}\",", dr["LotNO"]);
sbDetail.AppendFormat("\"INVCode\":\"{0}\",", dr["INVCode"]);
sbDetail.AppendFormat("\"INVName\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"LOTQty\":\"{0}\",", dr["LotQty"]);
sbDetail.AppendFormat("\"CheckQty\":\"{0}\",", dr["BarCodeQty"]);
sbDetail.AppendFormat("\"ItemLotQTY\":\"{0}\",", dr["ItemLotQTY"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\"", dr["INVUOM"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
// 盘点扫描
[WebMethod(EnableSession = true)]
public string CheckIn(string CheckNo, string BarCodeList, string BarCodeQtyList, string userCode, string userName, string workPoint, string Type, string EditType)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
string[] barcodelist = BarCodeList.Split(',');
string[] barcodeqtylist = BarCodeQtyList.Split(',');
using (SqlConnection conn = new SqlConnection(sysConnectString))
{
conn.Open();
using (SqlTransaction trans = conn.BeginTransaction())
{
try
{
if (ICSWareHouseLotInfoBLL.CheckIn(conn, trans, CheckNo, barcodelist, barcodeqtylist, userCode, userName, workPoint, Type, EditType, sysConnectString))
{
strCode = 0;
strMsg = "盘点成功";
}
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
strCode = 1;
strMsg = "盘点异常:" + ex.Message;
}
}
conn.Close();
}
string result = string.Format("{{\"code\":\"{0}\",\"msg\":\"{1}\",\"data\":\"{2}\"}}", strCode, strMsg, strData);
return result;
}
//获取条码信息(采购入库)
[WebMethod(EnableSession = true)]
public string GetLotDataForPO(string BarCode, string workPoint)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSITEMLOTBLL.GetLotDataForPO(BarCode, workPoint, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"TransNO\":\"{0}\",", dr["TransNO"]);
sbDetail.AppendFormat("\"TransLine\":\"{0}\",", dr["TransLine"]);
sbDetail.AppendFormat("\"LotNo\":\"{0}\",", dr["LotNO"]);
sbDetail.AppendFormat("\"MCode\":\"{0}\",", dr["MCODE"]);
sbDetail.AppendFormat("\"InvName\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"InvSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"LOTQTY\":\"{0}\",", dr["LOTQTY"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\",", dr["INVUOM"]);
sbDetail.AppendFormat("\"EATTRIBUTE2\":\"{0}\",", dr["EATTRIBUTE2"]);
sbDetail.AppendFormat("\"GoodQTY\":\"{0}\",", dr["EATTRIBUTE3"]);
sbDetail.AppendFormat("\"CheckType\":\"{0}\",", dr["EATTRIBUTE6"]);
sbDetail.AppendFormat("\"INVEXPORTIMPORT\":\"{0}\",", dr["INVEXPORTIMPORT"]);
sbDetail.AppendFormat("\"Batch\":\"{0}\",", dr["Batch"]);
sbDetail.AppendFormat("\"cWhCode\":\"{0}\"", dr["cWhCode"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//验证条码信息(其他出库)
[WebMethod(EnableSession = true)]
public string CheckLotNoForOtherOut(string BarCode, string workPoint)
{
string errormessage = ICSWareHouseLotInfoBLL.CheckLotNoForOtherOut(BarCode, workPoint, sysConnectString);
return errormessage;
}
//验证条码信息(其他入库)
[WebMethod(EnableSession = true)]
public string CheckLotNoForOtherIN(string TransferNO, string BarCode, string workPoint)
{
string errormessage = ICSWareHouseLotInfoBLL.CheckLotNoForOtherIN(TransferNO, BarCode, workPoint, sysConnectString);
return errormessage;
}
//验证物料退料库位信息
[WebMethod(EnableSession = true)]
public string CheckStackCodeForBack(string StackCode, string WHCode, string WorkPoint)
{
string errormessage = ICSWareHouseLotInfoBLL.CheckStackCodeForBack(StackCode, WHCode, WorkPoint, sysConnectString);
return errormessage;
}
//获取其他出库单源头单据信息
[WebMethod(EnableSession = true)]
public string CheckCodeForOtherOut(string TransferNO, string WorkPoint)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.CheckCodeForOtherOut(TransferNO, WorkPoint, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"VouchRow\":\"{0}\",", dr["iRSRowNO"]);
sbDetail.AppendFormat("\"INVCode\":\"{0}\",", dr["cInvCode"]);
sbDetail.AppendFormat("\"INVName\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"Quantity\":\"{0}\",", dr["iQuantity"]);
sbDetail.AppendFormat("\"HasQuantity\":\"{0}\",", dr["iFQuantity"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\",", dr["INVUOM"]);
sbDetail.AppendFormat("\"WHCode\":\"{0}\"", dr["cWhCode"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//获取条码信息(其他出库)
[WebMethod(EnableSession = true)]
public string GetLotDataForOtherOut(string BarCode, string WorkPoint)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.GetLotDataForOtherOut(BarCode, WorkPoint, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"LotNO\":\"{0}\",", dr["LotNO"]);
sbDetail.AppendFormat("\"WHCode\":\"{0}\",", dr["WHCode"]);
sbDetail.AppendFormat("\"INVCODE\":\"{0}\",", dr["INVCode"]);
sbDetail.AppendFormat("\"INVNAME\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"LotQty\":\"{0}\",", dr["LotQty"]);
sbDetail.AppendFormat("\"InQty\":\"{0}\",", 0.000);
sbDetail.AppendFormat("\"BinCode\":\"{0}\"", dr["BinCode"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//获取条码信息(其他入库)
[WebMethod(EnableSession = true)]
public string GetLotDataForOtherIN(string BarCode, string WorkPoint)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.GetLotDataForOtherIN(BarCode, WorkPoint, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"LotNO\":\"{0}\",", dr["LotNO"]);
sbDetail.AppendFormat("\"WHCode\":\"{0}\",", dr["cWhCode"]);
sbDetail.AppendFormat("\"INVCODE\":\"{0}\",", dr["MCODE"]);
sbDetail.AppendFormat("\"INVNAME\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"LotQty\":\"{0}\",", dr["LotQty"]);
sbDetail.AppendFormat("\"InQty\":\"{0}\",", 0.000);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//其他出库
[WebMethod(EnableSession = true)]
public string OtherOut(string BarCodeList, string OutType, string userCode, string userName, string workPoint, string Type)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
string[] barcodelist = BarCodeList.Split(',');
using (SqlConnection conn = new SqlConnection(sysConnectString))
{
conn.Open();
using (SqlTransaction trans = conn.BeginTransaction())
{
try
{
if (ICSWareHouseLotInfoBLL.WareHouseOtherOut(conn, trans, barcodelist, OutType, userCode, userName, workPoint, Type, sysConnectString))
{
strCode = 0;
strMsg = "出库成功";
}
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
strCode = 1;
strMsg = "出库异常:" + ex.Message;
}
}
conn.Close();
}
string result = string.Format("{{\"code\":\"{0}\",\"msg\":\"{1}\",\"data\":\"{2}\"}}", strCode, strMsg, strData);
return result;
}
//验证条码信息(物料退料)
[WebMethod(EnableSession = true)]
public string CheckLotnoForINVIN(string BarCode, string WorkPointCode)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.CheckLotnoForINVIN(BarCode, WorkPointCode, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"VouchCode\":\"{0}\",", dr["VouchCode"]);
sbDetail.AppendFormat("\"VouchRow\":\"{0}\",", dr["VouchRow"]);
if (Convert.ToBoolean(dr["IsMROItem"]) == false)
{
sbDetail.AppendFormat("\"VouchType\":\"{0}\",", 0);
}
else
{
sbDetail.AppendFormat("\"VouchType\":\"{0}\",", 1);
}
sbDetail.AppendFormat("\"INVCode\":\"{0}\",", dr["InvCode"]);
sbDetail.AppendFormat("\"INVNAME\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"LOTQTY\":\"{0}\",", dr["LOTQTY"]);
sbDetail.AppendFormat("\"Quantity\":\"{0}\",", dr["Quantity"]);
sbDetail.AppendFormat("\"HasQuantity\":\"{0}\",", dr["HasQuantity"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\",", dr["INVUOM"]);
sbDetail.AppendFormat("\"WHLOTNO\":\"{0}\",", dr["WHLOTNO"]);
sbDetail.AppendFormat("\"WHCode\":\"{0}\"", dr["WHCode"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//获取其他入库单源头单据信息
[WebMethod(EnableSession = true)]
public string CheckCodeForOtherIN(string TransferNO, string WorkPoint)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.CheckCodeForOtherIN(TransferNO, WorkPoint, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"VouchRow\":\"{0}\",", dr["iRSRowNO"]);
sbDetail.AppendFormat("\"INVCode\":\"{0}\",", dr["cInvCode"]);
sbDetail.AppendFormat("\"INVName\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"Quantity\":\"{0}\",", dr["iQuantity"]);
sbDetail.AppendFormat("\"HasQuantity\":\"{0}\",", dr["iFQuantity"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\",", dr["INVUOM"]);
sbDetail.AppendFormat("\"WHCode\":\"{0}\"", dr["cWhCode"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//其他入库
[WebMethod(EnableSession = true)]
public string OtherIN(string POCode, string PoRowList, string PoRowQtyList, string BarCodeRowList, string BarCodeList, string BarCodeQtyList, string BinCodeList, string userCode, string userName, string workPoint, string Type)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
string[] porowlist = PoRowList.Split(',');
string[] poqtylist = PoRowQtyList.Split(',');
string[] barcodelist = BarCodeList.Split(',');
string[] barcodeqtylist = BarCodeQtyList.Split(',');
string[] barcoderowlist = BarCodeRowList.Split(',');
string[] bincodelist = BinCodeList.Split(',');
using (SqlConnection conn = new SqlConnection(sysConnectString))
{
conn.Open();
using (SqlTransaction trans = conn.BeginTransaction())
{
try
{
if (ICSWareHouseLotInfoBLL.WareHouseOtherIN(conn, trans, POCode, porowlist, poqtylist, barcoderowlist, barcodelist, barcodeqtylist, bincodelist, userCode, userName, workPoint, Type, sysConnectString))
{
strCode = 0;
strMsg = "出库成功";
}
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
strCode = 1;
strMsg = "出库异常:" + ex.Message;
}
}
conn.Close();
}
string result = string.Format("{{\"code\":\"{0}\",\"msg\":\"{1}\",\"data\":\"{2}\"}}", strCode, strMsg, strData);
return result;
}
[WebMethod(EnableSession = true)]
public string GetNewVersion(string projectName, string version)
{
string json = string.Empty;
SqlConnection conn = new SqlConnection(sysConnectString);
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "select top(1) * from ICSVersions where projectname = '" + projectName + "' and version > '" + version + "' order by version desc;";
try
{
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
StringWriter sw = new StringWriter();
JsonWriter write = new JsonTextWriter(sw);
write.WriteStartObject();
write.WritePropertyName("Version");
write.WriteValue(dr["version"].ToString());
write.WritePropertyName("Url");
write.WriteValue(dr["url"].ToString());
write.WriteEndObject();
write.Flush();
json = sw.GetStringBuilder().ToString();
}
dr.Close();
conn.Close();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
return json;
}
//查询用户信息(20201208新增)
[WebMethod(EnableSession = true)]
public string GetUserInfo(string UserCode, string WorkPointCode)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.GetUserInfo(UserCode, WorkPointCode, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"UserCode\":\"{0}\",", dr["UserCode"]);
sbDetail.AppendFormat("\"UserName\":\"{0}\"", dr["UserName"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
//先进先出批次管控
[WebMethod(EnableSession = true)]
public string CanOut(string LotNO, string workPoint)
{
string message = ICSWareHouseLotInfoBLL.CanOut(LotNO, workPoint, sysConnectString);
return message;
}
#region PDA查询界面
[WebMethod(EnableSession = true)]
public string FormINVSer(string INVCode, string WorkPoint)
{
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.FormINVSer(INVCode, WorkPoint, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"WHCode\":\"{0}\",", dr["WHCode"]);
sbDetail.AppendFormat("\"BinCode\":\"{0}\",", dr["BinCode"]);
sbDetail.AppendFormat("\"INVCode\":\"{0}\",", dr["INVCode"]);
sbDetail.AppendFormat("\"INVNAME\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"LotQty\":\"{0}\",", dr["LotQty"]);
sbDetail.AppendFormat("\"VenderLotNO\":\"{0}\",", dr["VenderLotNO"]);
sbDetail.AppendFormat("\"BinQTY\":\"{0}\",", dr["BinQTY"]);
sbDetail.AppendFormat("\"WHLotQTY\":\"{0}\"", dr["WHLotQTY"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
[WebMethod(EnableSession = true)]
public string FormBinSer(string BinCode, string WorkPoint)
{
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.FormBinSer(BinCode, WorkPoint, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"WHCode\":\"{0}\",", dr["WHCode"]);
sbDetail.AppendFormat("\"BinCode\":\"{0}\",", dr["BinCode"]);
sbDetail.AppendFormat("\"INVCode\":\"{0}\",", dr["INVCode"]);
sbDetail.AppendFormat("\"INVNAME\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"LotQty\":\"{0}\",", dr["LotQty"]);
sbDetail.AppendFormat("\"VenderLotNO\":\"{0}\",", dr["VenderLotNO"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\"", dr["INVUOM"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
[WebMethod(EnableSession = true)]
public string FormLotSer(string LotNO, string WorkPoint)
{
string strData = "{}";
try
{
DataTable dt = ICSWareHouseLotInfoBLL.FormLotSer(LotNO, WorkPoint, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"WHCode\":\"{0}\",", dr["WHCode"]);
sbDetail.AppendFormat("\"BinCode\":\"{0}\",", dr["BinCode"]);
sbDetail.AppendFormat("\"INVCode\":\"{0}\",", dr["INVCode"]);
sbDetail.AppendFormat("\"INVNAME\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"LotQty\":\"{0}\",", dr["LotQty"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\",", dr["INVUOM"]);
sbDetail.AppendFormat("\"QTY\":\"{0}\"", dr["QTY"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
#endregion
#region 2020.05.10 add by Summer
[WebMethod(EnableSession = true)]
public string PoArriveCheckData(string LotNO)
{
string strData = "{}";
try
{
DataTable dt = CheckBLL.PoArriveCheckData(LotNO, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"LotNO\":\"{0}\",", dr["LotNO"]);
sbDetail.AppendFormat("\"INVCODE\":\"{0}\",", dr["INVCODE"]);
sbDetail.AppendFormat("\"INVNAME\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"LOTQTY\":\"{0}\",", dr["LOTQTY"]);
sbDetail.AppendFormat("\"VenderLotNO\":\"{0}\",", dr["VenderLotNO"]);
sbDetail.AppendFormat("\"iNum\":\"{0}\",", dr["iNum"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\",", dr["INVUOM"]);
sbDetail.AppendFormat("\"EATTRIBUTE2\":\"{0}\",", dr["EATTRIBUTE2"]);
sbDetail.AppendFormat("\"EATTRIBUTE5\":\"{0}\"", dr["EATTRIBUTE5"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
[WebMethod(EnableSession = true)]
public string UpdateCheck(string LotNO, string iStatus, string User)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
using (SqlConnection conn = new SqlConnection(sysConnectString))
{
conn.Open();
using (SqlTransaction trans = conn.BeginTransaction())
{
try
{
if (CheckBLL.UpdateCheck(conn, trans, LotNO, iStatus, User, sysConnectString))
{
strCode = 0;
strMsg = "检验成功";
}
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
strCode = 1;
strMsg = "检验异常:" + ex.Message;
}
}
conn.Close();
}
string result = string.Format("{{\"code\":\"{0}\",\"msg\":\"{1}\",\"data\":\"{2}\"}}", strCode, strMsg, strData);
return result;
}
[WebMethod(EnableSession = true)]
public string IQCCheckData(string LotNO)
{
string strData = "{}";
try
{
DataTable dt = CheckBLL.IQCCheckData(LotNO, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder sbDetail = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sbDetail.Append("{");
sbDetail.AppendFormat("\"LotNO\":\"{0}\",", dr["LotNO"]);
sbDetail.AppendFormat("\"INVCODE\":\"{0}\",", dr["INVCODE"]);
sbDetail.AppendFormat("\"INVNAME\":\"{0}\",", dr["INVNAME"]);
sbDetail.AppendFormat("\"INVSTD\":\"{0}\",", dr["INVSTD"]);
sbDetail.AppendFormat("\"OPCODE\":\"{0}\",", dr["OPCODE"]);
sbDetail.AppendFormat("\"VenderLotNO\":\"{0}\",", dr["VenderLotNO"]);
sbDetail.AppendFormat("\"INVUOM\":\"{0}\",", dr["INVUOM"]);
sbDetail.AppendFormat("\"LOTQTY\":\"{0}\",", dr["LOTQTY"]);
sbDetail.AppendFormat("\"UserCodeBegin\":\"{0}\",", dr["UserCodeBegin"]);
sbDetail.AppendFormat("\"EQPCODE\":\"{0}\",", dr["EQPCODE"]);
sbDetail.AppendFormat("\"Result\":\"{0}\",", dr["Result"]);
sbDetail.AppendFormat("\"EATTRIBUTE1\":\"{0}\"", dr["EATTRIBUTE1"]);
sbDetail.Append("},");
}
strData = string.Format("{0}", sbDetail.ToString().Trim(','));
}
strData = string.Format("[{0}]", strData);
return strData;
}
catch (Exception ex)
{
return ex.Message;
}
}
[WebMethod(EnableSession = true)]
public string UpdateIQCCheck(string LotNO, string iStatus, string User, string UserName, string WorkPoint)
{
int strCode = 1;
string strMsg = "";
string strData = "{}";
using (SqlConnection conn = new SqlConnection(sysConnectString))
{
conn.Open();
using (SqlTransaction trans = conn.BeginTransaction())
{
try
{
if (CheckBLL.UpdateIQCCheck(conn, trans, LotNO, iStatus, User, UserName, WorkPoint, sysConnectString))
{
strCode = 0;
strMsg = "检验成功";
}
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
strCode = 1;
strMsg = "检验异常:" + ex.Message;
}
}
conn.Close();
}
string result = string.Format("{{\"code\":\"{0}\",\"msg\":\"{1}\",\"data\":\"{2}\"}}", strCode, strMsg, strData);
return result;
}
[WebMethod(EnableSession = true)]
public bool isFinished(string LotNO)
{
DataTable dt = CheckBLL.isFinished(LotNO, sysConnectString);
if (dt != null && dt.Rows.Count > 0)
{
if (dt.Rows[0]["CollectStatus"].ToString().ToUpper() == "COLLECT_END")
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
#endregion
public string String2Json(String s)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.Length; i++)
{
char c = s.ToCharArray()[i];
switch (c)
{
case '\"':
sb.Append("\\\""); break;
case '\\':
sb.Append("\\\\"); break;
case '/':
sb.Append("\\/"); break;
case '\b':
sb.Append("\\b"); break;
case '\f':
sb.Append("\\f"); break;
case '\n':
sb.Append("\\n"); break;
case '\r':
sb.Append("\\r"); break;
case '\t':
sb.Append("\\t"); break;
default:
sb.Append(c); break;
}
}
return sb.ToString();
}
}
}