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.
606 lines
30 KiB
606 lines
30 KiB
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Linq;
|
|
using NFine.Code;
|
|
using NFine.Data.Extensions;
|
|
using NFine.Domain._03_Entity.SRM;
|
|
using NFine.Repository;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
using System.Data.Common;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace NFine.Application.SRM
|
|
{
|
|
public class ContainerApp : RepositoryFactory<ICSVendor>
|
|
{
|
|
public DataTable GetGridJson(string queryJson, ref Pagination jqgridparam)
|
|
{
|
|
|
|
DataTable dt = new DataTable();
|
|
var queryParam = queryJson.ToJObject();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
//string sql = @"SELECT Serial,CartonNO,CartonStatus,PrintTimes,CONVERT(NVARCHAR(50),lastPrintTime,23) as lastPrintTime,MUSERName, CONVERT(NVARCHAR(50),MTIME,23) as MTIME,EATTRIBUTE8,EATTRIBUTE3,b.cVenName,w.WorkPointName,w.WorkPointCode
|
|
// FROM dbo.ICSCarton a
|
|
// LEFT JOIN Sys_WorkPoint w on a.WorkPoint=w.WorkPointCode
|
|
// LEFT JOIN dbo.ICSVendor b ON a.EATTRIBUTE8=b.cVenCode AND a.WorkPoint=b.WorkPoint
|
|
// WHERE 1=1 and EATTRIBUTE3='SRM'";
|
|
string sql = @" SELECT a.ID,
|
|
a.ContainerID,
|
|
a.ContainerCODE,
|
|
a.ContainerName,
|
|
a.Memo,
|
|
a.MUSER,
|
|
a.MUSERName,
|
|
a.MTIME,
|
|
CASE WHEN a.InventoryMixed=0 THEN '否' ELSE '是' END InventoryMixed,
|
|
CASE WHEN a.ProjectMixed=0 THEN '否' ELSE '是' END ProjectMixed,
|
|
CASE WHEN a.BatchMixed=0 THEN '否' ELSE '是' END BatchMixed,
|
|
CASE WHEN a.Multiplex=0 THEN '否' ELSE '是' END Multiplex,
|
|
CASE WHEN ISNULL(d.ContainerID,'')='' THEN '未使用' ELSE '已使用' END ISUse,
|
|
a.WorkPoint,
|
|
b.ContainerCode AS fContainerCode,
|
|
b.ContainerName AS fContainerName,
|
|
a.ContainerType
|
|
from ICSContainer a
|
|
LEFT JOIN ICSContainer b ON a.ContainerID=b.ID
|
|
left JOIN (SELECT DISTINCT ContainerID,WorkPoint FROM dbo.ICSContainerLot) d on d.ContainerID=a.ID AND a.WorkPoint=d.WorkPoint
|
|
|
|
where 1=1 ";
|
|
if (!string.IsNullOrWhiteSpace(queryJson))
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(queryParam["ContainerCODE"].ToString()))
|
|
{
|
|
sql += " and a.ContainerCODE like '%" + queryParam["ContainerCODE"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["ContainerName"].ToString()))
|
|
{
|
|
sql += " and a.ContainerName like '%" + queryParam["ContainerName"].ToString() + "%' ";
|
|
}
|
|
}
|
|
if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
|
|
{
|
|
sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
|
|
}
|
|
if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode.Contains("Vendor"))
|
|
{
|
|
sql += " and a.EATTRIBUTE8='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode + "'";
|
|
}
|
|
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
|
|
}
|
|
|
|
|
|
|
|
public DataTable GetGridJson4(string queryJson, ref Pagination jqgridparam)
|
|
{
|
|
string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
DataTable dt = new DataTable();
|
|
var queryParam = queryJson.ToJObject();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
string sql = @" SELECT a.ID,
|
|
a.ContainerID,
|
|
a.ContainerCODE,
|
|
a.ContainerName,
|
|
a.Memo,
|
|
a.MUSER,
|
|
a.MUSERName,
|
|
a.MTIME,
|
|
CASE WHEN a.InventoryMixed=0 THEN '否' ELSE '是' END InventoryMixed,
|
|
CASE WHEN a.ProjectMixed=0 THEN '否' ELSE '是' END ProjectMixed,
|
|
CASE WHEN a.BatchMixed=0 THEN '否' ELSE '是' END BatchMixed,
|
|
CASE WHEN a.Multiplex=0 THEN '否' ELSE '是' END Multiplex,
|
|
CASE WHEN ISNULL(d.ContainerID,'')='' THEN '未使用' ELSE '已使用' END ISUse,
|
|
a.WorkPoint,
|
|
b.ContainerCode AS fContainerCode,
|
|
b.ContainerName AS fContainerName,
|
|
a.ContainerType
|
|
from ICSContainer a
|
|
LEFT JOIN ICSContainer b ON a.ContainerID=b.ID
|
|
left JOIN (SELECT DISTINCT ContainerID,WorkPoint FROM dbo.ICSContainerLot) d on d.ContainerID=a.ID AND a.WorkPoint=d.WorkPoint
|
|
|
|
where 1=1 and a.EATTRIBUTE3='SRM' and a.ContainerType='ContainerType04' ";
|
|
if (!string.IsNullOrWhiteSpace(queryJson))
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(queryParam["ContainerCODE"].ToString()))
|
|
{
|
|
sql += " and a.ContainerCODE like '%" + queryParam["ContainerCODE"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["ContainerName"].ToString()))
|
|
{
|
|
sql += " and a.ContainerName like '%" + queryParam["ContainerName"].ToString() + "%' ";
|
|
}
|
|
}
|
|
if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
|
|
{
|
|
sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
|
|
}
|
|
if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode.Contains("Vendor"))
|
|
{
|
|
sql += " and a.EATTRIBUTE8='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode + "'";
|
|
}
|
|
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
|
|
}
|
|
|
|
|
|
|
|
|
|
public DataTable GetGridJsonBinding(string queryJson, ref Pagination jqgridparam)
|
|
{
|
|
|
|
DataTable dt = new DataTable();
|
|
var queryParam = queryJson.ToJObject();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
//string sql = @"SELECT Serial,CartonNO,CartonStatus,PrintTimes,CONVERT(NVARCHAR(50),lastPrintTime,23) as lastPrintTime,MUSERName, CONVERT(NVARCHAR(50),MTIME,23) as MTIME,EATTRIBUTE8,EATTRIBUTE3,b.cVenName,w.WorkPointName,w.WorkPointCode
|
|
// FROM dbo.ICSCarton a
|
|
// LEFT JOIN Sys_WorkPoint w on a.WorkPoint=w.WorkPointCode
|
|
// LEFT JOIN dbo.ICSVendor b ON a.EATTRIBUTE8=b.cVenCode AND a.WorkPoint=b.WorkPoint
|
|
// WHERE 1=1 and EATTRIBUTE3='SRM'";
|
|
string sql = @" select
|
|
a.ID,
|
|
a.ContainerID,
|
|
d.ContainerName,
|
|
a.LotNo,
|
|
b.Quantity,
|
|
a.MUSER,
|
|
a.MUSERName,
|
|
a.WorkPoint,
|
|
a.MTIME,
|
|
b.InvCode,
|
|
c.Invname,
|
|
c.InvDesc,
|
|
c.InvStd,
|
|
d.ContainerCode
|
|
from ICSContainerLot a
|
|
left join ICSInventoryLot b on a.LotNo=b.lotno AND a.WorkPoint=b.WorkPoint
|
|
left join ICSInventory c on b.InvCode=c.InvCode AND b.WorkPoint=c.WorkPoint
|
|
left JOIN ICSContainer d on a.ContainerID=d.ID AND a.WorkPoint=d.WorkPoint
|
|
where 1=1 ";
|
|
if (!string.IsNullOrWhiteSpace(queryJson))
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(queryParam["ContainerID"].ToString()))
|
|
{
|
|
sql += " and a.ContainerID like '%" + queryParam["ContainerID"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["LotNo"].ToString()))
|
|
{
|
|
sql += " and a.LotNo like '%" + queryParam["LotNo"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
|
|
{
|
|
sql += " and b.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["Invname"].ToString()))
|
|
{
|
|
sql += " and c.Invname like '%" + queryParam["Invname"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["InvStd"].ToString()))
|
|
{
|
|
sql += " and c.InvStd like '%" + queryParam["InvStd"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["MUSERName"].ToString()))
|
|
{
|
|
sql += " and a.MUSERName like '%" + queryParam["MUSERName"].ToString() + "%' ";
|
|
}
|
|
}
|
|
if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
|
|
{
|
|
sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
|
|
}
|
|
if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode.Contains("Vendor"))
|
|
{
|
|
sql += " and d.EATTRIBUTE8='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode + "'";
|
|
}
|
|
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除包装、容器
|
|
/// </summary>
|
|
/// <param name="keyValue">传入ID</param>
|
|
/// <returns></returns>
|
|
public string DeleteICSContainer(string keyValue)
|
|
{
|
|
////站点信息
|
|
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
//string msg = "";
|
|
//keyValue = keyValue.Substring(1, keyValue.Length - 2);
|
|
//string sql = string.Empty;
|
|
//sql = string.Format(@"DELETE FROM dbo.ICSContainer WHERE ID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
|
|
//try
|
|
//{
|
|
// SqlHelper.ExecuteNonQuery(sql);
|
|
//}
|
|
//catch (Exception ex)
|
|
//{
|
|
// throw new Exception(ex.Message);
|
|
//}
|
|
//return msg;
|
|
string msg = "";
|
|
string APIURL = ConfigurationManager.ConnectionStrings["APIURL"].ConnectionString + "ICSContainerCon/Untie";
|
|
string result = SqlHelper.HttpPost(APIURL, keyValue);
|
|
JObject Obj = (JObject)JsonConvert.DeserializeObject(result);//或者JObject jo = JObject.Parse(jsonText);
|
|
string MessAge = Obj["Message"].ToString();
|
|
string Success = Obj["Success"].ToString();
|
|
if (Success.ToUpper() == "FALSE")
|
|
{
|
|
msg = MessAge;
|
|
}
|
|
return msg;
|
|
}
|
|
//获取父容器
|
|
public DataTable GetContainerID()
|
|
{
|
|
string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
|
|
string sql = @"
|
|
select '' as ID,'' as ContainerName
|
|
union all
|
|
SELECT DISTINCT a.ID,a.ContainerName FROM dbo.ICSContainer a ";
|
|
string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
|
|
if (role != "admin")
|
|
{
|
|
sql += " and b.WorkPoint in(" + WorkPoint + ")";
|
|
}
|
|
DataTable dt = SqlHelper.GetDataTableBySql(sql);
|
|
return dt;
|
|
}
|
|
//获取父容器
|
|
public DataTable GetContainerType()
|
|
{
|
|
string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
|
|
string sql = @"
|
|
select '' as F_ItemName,'' as F_ItemCode
|
|
union all
|
|
SELECT a.F_ItemName,a.F_ItemCode FROM Sys_SRM_ItemsDetail a
|
|
LEFT JOIN Sys_SRM_Items b ON a.F_ItemId = b.F_Id
|
|
WHERE b.F_EnCode = 'ContainerType' and a.F_EnabledMark='1' ";
|
|
string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
|
|
if (role != "admin")
|
|
{
|
|
sql += " and b.WorkPoint in(" + WorkPoint + ")";
|
|
}
|
|
DataTable dt = SqlHelper.GetDataTableBySql(sql);
|
|
return dt;
|
|
}
|
|
/// <summary>
|
|
/// 修改包装、容器
|
|
/// </summary>
|
|
/// <param name="queryJson"></param>
|
|
/// <returns></returns>
|
|
/// 20230717 lacy.xu Modifly 新增允许料品混装、允许项目号混装、允许批次混装、允许复用
|
|
public string UpdateICSContainer(string keyValue)
|
|
{
|
|
var queryParam = keyValue.ToJObject();
|
|
string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
|
|
string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
string msg = "";
|
|
|
|
string sql = string.Empty;
|
|
// sql = @" IF EXISTS(select ContainerCODE from ICSContainer where ContainerCODE='{1}' )
|
|
// RAISERROR('容器:{1},已存在!',16,1)
|
|
//UPDATE dbo.ICSContainer set ContainerID='{0}',ContainerCODE='{1}',ContainerName='{2}',Memo='{3}',MTIME=GETDATE(),MUSER='{4}',MUSERName='{5}',WorkPoint='{6}',InventoryMixed='{8}',ProjectMixed='{9}',BatchMixed='{10}',Multiplex='{11}' WHERE ID='{7}'";
|
|
sql = @"UPDATE dbo.ICSContainer set ContainerID='{0}',ContainerCODE='{1}',ContainerName='{2}',Memo='{3}',MTIME=GETDATE(),MUSER='{4}',MUSERName='{5}',WorkPoint='{6}',InventoryMixed='{8}',ProjectMixed='{9}',BatchMixed='{10}',Multiplex='{11}',ContainerType='{12}' WHERE ID='{7}'";
|
|
sql = string.Format(sql, queryParam["ContainerID"].ToString(), queryParam["ContainerCODE"].ToString(), queryParam["ContainerName"].ToString(), queryParam["Memo"].ToString(), MUSER, MUSERNAME, queryParam["WorkPoint"].ToString(), queryParam["ID"].ToString(), queryParam["InventoryMixed"].ToString(), queryParam["ProjectMixed"].ToString(), queryParam["BatchMixed"].ToString(), queryParam["Multiplex"].ToString(), queryParam["ContainerType"].ToString());
|
|
try
|
|
{
|
|
if (SqlHelper.ExecuteNonQuery(sql) > 0)
|
|
{
|
|
|
|
}
|
|
else
|
|
{
|
|
msg = "修改失败";
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
msg = ex.Message;
|
|
}
|
|
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 新增包装、容器关联条码
|
|
/// </summary>
|
|
/// <param name="queryJson"></param>
|
|
/// <returns></returns>
|
|
public string InsertICSContainerLot(string keyValue)
|
|
{
|
|
var queryParam = keyValue.ToJObject();
|
|
string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
|
|
string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
string msg = "";
|
|
string sql = string.Empty;
|
|
sql = @"INSERT INTO dbo.ICSContainerLot
|
|
( ID ,ContainerID ,LotNo ,MTIME,MUSER ,MUSERName ,WorkPoint )
|
|
Values(NEWID(),'{0}','{1}',getdate(),'{2}','{3}','{4}')
|
|
";
|
|
sql = string.Format(sql, queryParam["ContainerID"].ToString(), queryParam["LotNo"].ToString(), MUSER, MUSERNAME, WorkPoint);
|
|
try
|
|
{
|
|
if (SqlHelper.ExecuteNonQuery(sql) > 0)
|
|
{
|
|
|
|
}
|
|
else
|
|
{
|
|
msg = "新增失败";
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.Message);
|
|
}
|
|
|
|
return msg;
|
|
}
|
|
//包装容器
|
|
public DataTable GetSendContainer(ref Pagination jqgridparam, string queryJson)
|
|
{
|
|
DataTable dt = new DataTable();
|
|
var queryParam = queryJson.ToJObject();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
string sql = @"select top 0 ID,ContainerID,ContainerCode,ContainerName,Memo,MUSER,MUSERName,MTIME,WorkPoint from ICSContainer";
|
|
sql += " WHERE 1=1";
|
|
|
|
sql = string.Format(sql);
|
|
|
|
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
|
|
}
|
|
public DataTable GetBindContainerID(string SireCode)
|
|
{
|
|
DataTable dt = new DataTable();
|
|
//var queryParam = queryJson.ToJObject();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
string sql = @" select ID,WorkPoint from ICSContainer where ContainerCode='{0}'";
|
|
sql = string.Format(sql, SireCode);
|
|
return Repository().FindTableBySql(sql.ToString());
|
|
}
|
|
public DataTable GetContainerInfo(string Code)
|
|
{
|
|
DataTable dt = new DataTable();
|
|
//var queryParam = queryJson.ToJObject();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
string sql = @" select ID,ContainerID,ContainerCode,ContainerName,Memo,MUSER,MUSERName,MTIME,WorkPoint from ICSContainer where ContainerCode='{0}'";
|
|
sql = string.Format(sql, Code);
|
|
return Repository().FindTableBySql(sql.ToString());
|
|
}
|
|
public string BindingContainerID(string keyValue)
|
|
{
|
|
// string msg = "";
|
|
// try
|
|
// {
|
|
// string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
// string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
|
|
// string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
|
|
// string sql = string.Empty;
|
|
// JArray res = (JArray)JsonConvert.DeserializeObject(ICSMTDOC);
|
|
// foreach (var item in res)
|
|
// {
|
|
// JObject jo = (JObject)item;
|
|
// sql += @"
|
|
// IF NOT EXISTS(SELECT ContainerCode FROM ICSContainer WHERE ContainerCode='{1}' )
|
|
// BEGIN
|
|
// RAISERROR('容器:{1} 不存在!',16,1);
|
|
// RETURN
|
|
// END
|
|
// IF EXISTS(select ContainerID from ICSContainer where ContainerCode='{1}' and isnull(ContainerID,'')<>'')
|
|
// BEGIN
|
|
// RAISERROR('容器:{1},已绑定父容器!',16,1);
|
|
// RETURN
|
|
// END
|
|
// update ICSContainer set ContainerID='{0}' WHERE ContainerCode = '{1}' and WorkPoint ='{2}'";
|
|
// sql = string.Format(sql, SireID, jo["ContainerCode"].ToString(), WorkPoint);
|
|
// }
|
|
|
|
// if (SqlHelper.CmdExecuteNonQueryLi(sql) > 0)
|
|
// {
|
|
|
|
// }
|
|
// else
|
|
// {
|
|
// msg = "绑定失败";
|
|
// }
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
// msg = ex.Message;
|
|
// }
|
|
|
|
// return msg;
|
|
string msg = "";
|
|
string APIURL = ConfigurationManager.ConnectionStrings["APIURL"].ConnectionString + "ICSContainerCon/Create";
|
|
string result = SqlHelper.HttpPost(APIURL, keyValue);
|
|
JObject Obj = (JObject)JsonConvert.DeserializeObject(result);//或者JObject jo = JObject.Parse(jsonText);
|
|
string MessAge = Obj["Message"].ToString();
|
|
string Success = Obj["Success"].ToString();
|
|
if (Success.ToUpper() == "FALSE")
|
|
{
|
|
msg = MessAge;
|
|
}
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 新增包装、容器
|
|
/// </summary>
|
|
/// <param name="queryJson"></param>
|
|
/// <returns></returns>
|
|
/// 20230717 lacy.xu Modifly 新增允许料品混装、允许项目号混装、允许批次混装、允许复用
|
|
public string InsertICSContainer(string keyValue)
|
|
{
|
|
string msg = "";
|
|
try
|
|
{
|
|
var queryParam = keyValue.ToJObject();
|
|
string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
|
|
string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
|
|
string sql = string.Empty;
|
|
sql = @"IF EXISTS(select ContainerCODE from ICSContainer where ContainerCODE='{1}' )
|
|
RAISERROR('容器:{1},已存在!',16,1)
|
|
else
|
|
INSERT INTO dbo.ICSContainer
|
|
( ID ,ContainerID ,ContainerCODE ,ContainerName,Memo,MTIME,MUSER ,MUSERName ,WorkPoint
|
|
,InventoryMixed,ProjectMixed,BatchMixed,Multiplex,ContainerType,EATTRIBUTE3)
|
|
Values(NEWID(),'{0}','{1}','{2}','{3}',GETDATE(),'{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','SRM')
|
|
";
|
|
sql = string.Format(sql, queryParam["ContainerID"].ToString(), queryParam["ContainerCODE"].ToString(), queryParam["ContainerName"].ToString(), queryParam["Memo"].ToString(), MUSER, MUSERNAME, queryParam["WorkPoint"].ToString(), queryParam["InventoryMixed"].ToString(), queryParam["ProjectMixed"].ToString(), queryParam["BatchMixed"].ToString(), queryParam["Multiplex"].ToString(), queryParam["ContainerType"].ToString());
|
|
|
|
if (SqlHelper.ExecuteNonQuery(sql) > 0)
|
|
{
|
|
|
|
}
|
|
else
|
|
{
|
|
msg = "新增失败";
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.Message);
|
|
}
|
|
|
|
return msg;
|
|
}
|
|
//包装容器关联条码
|
|
public DataTable GetSendContainerLot(ref Pagination jqgridparam, string queryJson)
|
|
{
|
|
DataTable dt = new DataTable();
|
|
var queryParam = queryJson.ToJObject();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
string sql = @"
|
|
select top 0 a.ID, a.LotNo,a.InvCode,b.InvName,b.InvStd,b.InvUnit, a.ProductDate,a.Quantity from ICSInventoryLot a
|
|
left join ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint";
|
|
|
|
sql = string.Format(sql);
|
|
|
|
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
|
|
}
|
|
/// <summary>
|
|
/// 回车后获取信息
|
|
/// </summary>
|
|
/// <param name="LotNo"></param>
|
|
/// <returns>20230719 lacy.xu modifly 增加自由项</returns>
|
|
public DataTable GetContainerLotInfo(string LotNo)
|
|
{
|
|
DataTable dt = new DataTable();
|
|
//var queryParam = queryJson.ToJObject();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
string sql = @" select a.ID, a.LotNo,a.InvCode,b.InvName,b.InvStd,b.InvUnit, a.ProductDate,a.Quantity
|
|
,c.ProjectCode,c.BatchCode,Version,Brand,c.cFree1,c.cFree2,c.cFree3,c.cFree4,c.cFree5,c.cFree6,c.cFree7
|
|
,c.cFree8,c.cFree9,c.cFree10,a.WorkPoint
|
|
from ICSInventoryLot a
|
|
left join ICSInventory b on a.InvCode=b.InvCode and a.WorkPoint=b.WorkPoint
|
|
LEFT JOIN dbo.ICSExtension c ON a.ExtensionID=c.ID AND a.WorkPoint=c.WorkPoint
|
|
where a.LotNo='{0}'";
|
|
sql = string.Format(sql, LotNo);
|
|
return Repository().FindTableBySql(sql.ToString());
|
|
}
|
|
|
|
public string BindingContainerLotID(string keyValue)
|
|
{
|
|
// string msg = "";
|
|
// try
|
|
// {
|
|
// string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
// string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
|
|
// string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
|
|
// string sql = string.Empty;
|
|
// JArray res = (JArray)JsonConvert.DeserializeObject(ICSMTDOC);
|
|
// foreach (var item in res)
|
|
// {
|
|
// JObject jo = (JObject)item;
|
|
// sql += @"
|
|
// IF NOT EXISTS(SELECT ContainerCode FROM ICSContainer WHERE ContainerCode='{5}')
|
|
// BEGIN
|
|
// RAISERROR('容器:{5} 不存在!',16,1);
|
|
// RETURN
|
|
// END
|
|
// IF NOT EXISTS(select LotNo from ICSInventoryLot where LotNo='{1}')
|
|
// BEGIN
|
|
// RAISERROR('条码:{1},不存在!',16,1);
|
|
// RETURN
|
|
// END
|
|
// IF EXISTS(select LotNo from ICSContainerLot where LotNo ='{1}')
|
|
// BEGIN
|
|
// RAISERROR('条码:{1},已绑定容器!',16,1);
|
|
// RETURN
|
|
// END
|
|
// INSERT INTO ICSContainerLot
|
|
// (ID,ContainerID,LotNo,MUSER,MUSERName,WorkPoint,MTIME )
|
|
// Values(NEWID(),'{0}','{1}','{2}','{3}','{4}',getdate())";
|
|
// sql = string.Format(sql, SireID, jo["LotNo"].ToString(), MUSER, MUSERNAME, WorkPoint, SireCode);
|
|
// }
|
|
|
|
// if (SqlHelper.CmdExecuteNonQueryLi(sql) > 0)
|
|
// {
|
|
|
|
// }
|
|
// else
|
|
// {
|
|
// msg = "绑定失败";
|
|
// }
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
// msg = ex.Message;
|
|
// }
|
|
|
|
// return msg;
|
|
string msg = "";
|
|
string APIURL = ConfigurationManager.ConnectionStrings["APIURL"].ConnectionString + "ICSContainerLot/Create";
|
|
string result = SqlHelper.HttpPost(APIURL, keyValue);
|
|
JObject Obj = (JObject)JsonConvert.DeserializeObject(result);//或者JObject jo = JObject.Parse(jsonText);
|
|
string MessAge = Obj["Message"].ToString();
|
|
string Success = Obj["Success"].ToString();
|
|
if (Success.ToUpper() == "FALSE")
|
|
{
|
|
msg = MessAge;
|
|
}
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 删除包装、容器
|
|
/// </summary>
|
|
/// <param name="keyValue">传入ID</param>
|
|
/// <returns></returns>
|
|
public string DeleteICSContainerLot(string keyValue)
|
|
{
|
|
////站点信息
|
|
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
//string msg = "";
|
|
//keyValue = keyValue.Substring(1, keyValue.Length - 2);
|
|
//string sql = string.Empty;
|
|
//sql = string.Format(@"DELETE FROM dbo.ICSContainerLot WHERE ID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
|
|
//try
|
|
//{
|
|
// SqlHelper.ExecuteNonQuery(sql);
|
|
//}
|
|
//catch (Exception ex)
|
|
//{
|
|
// throw new Exception(ex.Message);
|
|
//}
|
|
//return msg;
|
|
string msg = "";
|
|
string APIURL = ConfigurationManager.ConnectionStrings["APIURL"].ConnectionString + "ICSContainerLot/Untie";
|
|
string result = SqlHelper.HttpPost(APIURL, keyValue);
|
|
JObject Obj = (JObject)JsonConvert.DeserializeObject(result);//或者JObject jo = JObject.Parse(jsonText);
|
|
string MessAge = Obj["Message"].ToString();
|
|
string Success = Obj["Success"].ToString();
|
|
if (Success.ToUpper() == "FALSE")
|
|
{
|
|
msg = MessAge;
|
|
}
|
|
return msg;
|
|
}
|
|
|
|
|
|
}
|
|
}
|