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
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();
|
|
}
|
|
}
|
|
}
|