|
|
using Newtonsoft.Json; using Newtonsoft.Json.Linq; using NFine.Code; using NFine.Data.Extensions; using NFine.Domain._03_Entity.SRM; using NFine.Domain.Entity.ProductManage; using NFine.Domain.IRepository.ProductManage; using NFine.Repository; using NFine.Repository.ProductManage; using System; using System.Collections.Generic; using System.Data; using System.Data.Common; using System.Linq; using System.Text;
namespace NFine.Application { public class DXCartonNoManageApp : RepositoryFactory<ICSVendor> {
public DataTable GetGridJson(string queryJson, ref Pagination jqgridparam) { // string sqlDelete = @" DELETE a FROM ICSContainer a
//LEFT JOIN dbo.ICSContainerLot b ON a.ID=b.ContainerID
// WHERE b.ContainerID IS NULL";
// SqlHelper.ExecuteNonQuery(sqlDelete);
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 DISTINCT a.ID,a.ContainerCode,a.MUSERName, CONVERT(NVARCHAR(50),a.MTIME,23) as MTIME,b.VenName,w.WorkPointName,w.WorkPointCode,a.EATTRIBUTE8
FROM dbo.ICSContainer a LEFT JOIN ICSContainerLot c on a.ContainerID=c.ContainerID AND a.WorkPoint=c.WorkPoint LEFT JOIN dbo.ICSInventoryLot d ON c.LotNo=d.LotNo AND c.WorkPoint=d.WorkPoint left join ICSInventoryLotDetail f on d.LOTNO=f.LotNO LEFT JOIN dbo.ICSPurchaseOrder e ON f.TransCode=e.POCode AND f.TransSequence=e.Sequence AND f.WorkPoint=e.WorkPoint LEFT JOIN Sys_WorkPoint w on a.WorkPoint=w.WorkPointCode LEFT JOIN dbo.ICSVendor b ON a.EATTRIBUTE8=b.VenCode AND a.WorkPoint=b.WorkPoint WHERE 1=1 and a.EATTRIBUTE3='SRM' ";
if (!string.IsNullOrWhiteSpace(queryJson)) { if (!string.IsNullOrWhiteSpace(queryParam["CartonNo"].ToString())) { sql += " and ContainerCode like '%" + queryParam["CartonNo"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["VenCode"].ToString())) { sql += " and a.EATTRIBUTE8 like '%" + queryParam["VenCode"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["VenName"].ToString())) { sql += " and b.VenName like '%" + queryParam["VenName"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["TimeFrom"].ToString())) { sql += " and a.MTIME >= '" + queryParam["TimeFrom"].ToString() + "' "; } if (!string.IsNullOrWhiteSpace(queryParam["TimeTo"].ToString())) { sql += " and a.MTIME <= '" + queryParam["TimeTo"].ToString() + "' "; } if (!string.IsNullOrWhiteSpace(queryParam["ORDERNO"].ToString())) { sql += " and e.EATTRIBUTE4 like '%" + queryParam["ORDERNO"].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 == "Vendor") { sql += " and a.EATTRIBUTE8='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode + "'"; } return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam); }
/// <summary>
/// 子表查询
/// </summary>
/// <param name="queryJson"></param>
/// <param name="jqgridparam"></param>
/// <returns></returns>
public DataTable GetSubGridJson(string CartonNo, ref Pagination jqgridparam) { string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(','); DataTable dt = new DataTable(); //var queryParam = queryJson.ToJObject();
List<DbParameter> parameter = new List<DbParameter>(); //string sql = @"SELECT a.ID,c.ItemCODE,d.INVNAME,c.VenderLotNO,c.LOTQTY,c.TYPE,
// b.EATTRIBUTE8,c.ORDERNO,c.TransNo,c.TransLine,a.LotNo,d.INVDESC,d.INVTYPE,e.MEMO,d.INVSTD,d.INVPARSETYPE
// FROM dbo.ICSITEMLot2Carton a
// LEFT JOIN dbo.ICSCarton b ON a.CartonNO=b.CartonNO AND a.WorkPoint=b.WorkPoint
// LEFT JOIN dbo.ICSITEMLot c ON a.LotNo_ID=c.ID AND a.WorkPoint=c.WorkPoint
// LEFT JOIN dbo.ICSINVENTORY d ON c.ItemCODE=d.INVCODE AND a.WorkPoint=d.WorkPoint
// LEFT JOIN dbo.ICSPO_PoMain e ON c.TransNO=e.POCode AND c.TransLine=e.PORow AND a.WorkPoint=e.WorkPoint
// WHERE a.CartonNO='" + CartonNo + "' and a.WorkPoint in(" + WorkPoint + ")";
string sql = @"
SELECT a.ID,c.InvCode,d.INVNAME,c.Quantity,c.TYPE, b.EATTRIBUTE8,g.ProjectCode,f.TransCode,f.TransSequence,a.LotNo,d.INVDESC,d.INVSTD,e.EATTRIBUTE4 FROM dbo.ICSContainerLot a LEFT JOIN dbo.ICSContainer b ON a.ContainerID=b.ContainerID AND a.WorkPoint=b.WorkPoint LEFT JOIN dbo.ICSInventoryLot c ON a.LotNo=c.LotNo AND a.WorkPoint=c.WorkPoint left join ICSInventoryLotDetail f on c.LOTNO=f.LotNO LEFT JOIN dbo.ICSINVENTORY d ON c.InvCode=d.INVCODE AND a.WorkPoint=d.WorkPoint LEFT JOIN dbo.ICSPurchaseOrder e ON f.TransCode=e.POCode AND f.TransSequence=e.Sequence AND a.WorkPoint=e.WorkPoint LEFT JOIN dbo.ICSExtension g ON e.ExtensionID=g.ID WHERE b.ContainerCode='" + CartonNo + "' and a.WorkPoint in(" + WorkPoint + ")";
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam); }
public DataTable GetSubGridJson_Add(string queryJson, ref Pagination jqgridparam) { string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(','); DataTable dt = new DataTable(); var queryParam = queryJson.ToJObject(); List<DbParameter> parameter = new List<DbParameter>(); if (!string.IsNullOrEmpty(queryParam["CartonNo"].ToString())) { string sql = @" SELECT a.ID,c.InvCode,d.INVNAME,c.Quantity,c.TYPE,
b.EATTRIBUTE8,g.ProjectCode,f.TransCode,f.TransSequence,a.LotNo,d.INVDESC,d.INVSTD FROM dbo.ICSContainerLot a LEFT JOIN dbo.ICSContainer b ON a.ContainerID=b.ContainerID AND a.WorkPoint=b.WorkPoint LEFT JOIN dbo.ICSInventoryLot c ON a.LotNo=c.LotNo AND a.WorkPoint=c.WorkPoint left join ICSInventoryLotDetail f on c.LOTNO=f.LotNO LEFT JOIN dbo.ICSINVENTORY d ON c.InvCode=d.INVCODE AND a.WorkPoint=d.WorkPoint LEFT JOIN dbo.ICSPurchaseOrder e ON f.TransCode=e.POCode AND f.TransSequence=e.Sequence AND a.WorkPoint=e.WorkPoint LEFT JOIN dbo.ICSExtension g ON e.ExtensionID=g.ID WHERE b.ContainerCode='" + queryParam["CartonNo"].ToString() + "' and a.WorkPoint=" + WorkPoint + "and c.Type = '200'";
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam); } else { string sql = @"SELECT '' as LotNo,'' as ID,'' as ItemCODE,'' as INVNAME,'' as VenderLotNO,'' as LOTQTY,'' as TYPE,
'' as EATTRIBUTE8,'' as ORDERNO,'' as TransNo,'' as TransLine,'' as INVDESC,'' as INVTYPE,'' as MEMO,'' as INVSTD,'' as INVPARSETYPE ";
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam); } }
/// <summary>
/// 子表查询
/// </summary>
/// <param name="queryJson"></param>
/// <param name="jqgridparam"></param>
/// <returns></returns>
public DataTable GetSubGridJson(string CartonNo, string queryJson, ref Pagination jqgridparam) { string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; DataTable dt = new DataTable(); //var queryParam = queryJson.ToJObject();
List<DbParameter> parameter = new List<DbParameter>(); string sql = @"SELECT a.ID,c.ItemCODE,d.INVNAME,c.VenderLotNO,c.LOTQTY,c.TYPE
FROM dbo.ICSITEMLot2Carton a LEFT JOIN dbo.ICSCarton b ON a.CartonNO=b.CartonNO AND a.WorkPoint=b.WorkPoint LEFT JOIN dbo.ICSITEMLot c ON a.LotNo_ID=c.ID AND a.WorkPoint=c.WorkPoint LEFT JOIN dbo.ICSINVENTORY d ON c.ItemCODE=d.INVCODE AND a.WorkPoint=d.WorkPoint WHERE a.CartonNO='" + CartonNo + "' and a.WorkPoint in(" + WorkPoint + ")";
if (!string.IsNullOrEmpty(queryJson)) { sql += @"UNION ALL
SELECT a.ID,a.ItemCODE,b.INVNAME,a.VenderLotNO,a.LOTQTY,a.TYPE FROM dbo.ICSITEMLot a LEFT JOIN dbo.ICSINVENTORY b ON a.ItemCODE=b.INVCODE AND a.WorkPoint=b.WorkPoint WHERE a.ID IN (" + queryJson.TrimEnd(',') + ") and a.WorkPonit in (" + WorkPoint + ")";
} return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam); }
public DataTable GetSubGridJsonByCreate(string POCode, string PORow) { string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; DataTable dt = new DataTable(); //var queryParam = queryJson.ToJObject();
List<DbParameter> parameter = new List<DbParameter>(); string sql = @"SELECT a.ID, a.POCode,a.PORow, CONVERT(NVARCHAR(50),a.PODate,23) as PODate,a.ORDERNO,a.VenCode,a.VenName,a.InvCode,
b.INVNAME,b.INVSTD,b.INVDESC,b.INVUOM,a.Quantity,ISNULL(c.CreatedQty,0) AS CreatedQty,isnull(c.InQty,0) as InQty,a.WorkPoint FROM dbo.ICSPO_PoMain a LEFT JOIN dbo.ICSINVENTORY b ON a.InvCode=b.INVCODE AND a.WorkPoint=b.WorkPoint LEFT JOIN (SELECT SUM(x.LOTQTY) CreatedQty,TransNO,TransLine,x.WorkPoint, SUM(CASE WHEN y.LotNO IS NOT NULL THEN x.LOTQTY ELSE 0 END) AS InQty FROM dbo.ICSITEMLot x LEFT JOIN dbo.ICSWareHouseLotInfo y ON x.LotNO=y.LotNO AND x.WorkPoint=y.WorkPoint GROUP BY TransNO,TransLine,x.WorkPoint) c ON a.POCode=c.TransNO AND a.PORow=c.TransLine AND a.WorkPoint=c.WorkPoint WHERE 1=1 and a.POCode='" + POCode + "' and a.PORow='" + PORow + "' and a.WorkPonit in (" + WorkPoint + ")";
return Repository().FindTableBySql(sql.ToString()); }
public DataTable GetVendorLotNo(string VenCode, string WorkPoint) { DataTable dt = new DataTable(); //var queryParam = queryJson.ToJObject();
List<DbParameter> parameter = new List<DbParameter>(); string dtPre = DateTime.Now.ToString("yyyyMMdd"); string sql = @"EXEC Addins_GetSerialCode '" + WorkPoint + "','ICSITEMLotNo','VendorLotNo','" + VenCode + dtPre + "',2"; return Repository().FindTableBySql(sql.ToString()); }
/// <summary>
/// 生成条码
/// </summary>
/// <param name="POCode"></param>
/// <param name="PORow"></param>
/// <param name="keyValue"></param>
/// <returns></returns>
public int CreateItemLotNo(string POCode, string PORow, string keyValue) { var queryParam = keyValue.ToJObject(); int createPageCount = Convert.ToInt32(queryParam["createPageCount"].ToString()); decimal minPackQty = Convert.ToDecimal(queryParam["minPackQty"].ToString()); decimal thisCreateQty = Convert.ToDecimal(queryParam["thisCreateQty"].ToString()); decimal LOTQTY = minPackQty; string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; string VenCode = GetVendorCode(POCode, PORow, WorkPoint); string Pre = VenCode + DateTime.Now.ToString("yyMMdd"); string sql = string.Empty; string VendorLot = queryParam["VendorLot"].ToString(); string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode; string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
for (int i = 0; i < createPageCount; i++) { if (i + 1 == createPageCount) { if (minPackQty * createPageCount > thisCreateQty) { LOTQTY = thisCreateQty - (minPackQty * (createPageCount - 1)); } } string LotNo = GetSerialCode(WorkPoint, "ICSITEMLot", "LotNO", Pre, 5); sql += string.Format(@"INSERT INTO dbo.ICSITEMLot
( ID ,LotNO ,ItemCODE ,TransNO ,TransLine ,VENDORITEMCODE ,VENDORCODE , VenderLotNO ,PRODUCTDATE ,LOTQTY ,ACTIVE ,Exdate ,WorkPoint , MUSER ,MUSERName ,MTIME ,TYPE,ORDERNO) SELECT NEWID(),'{0}',InvCode,POCode,PORow,'',NULL, '{1}',GETDATE(),'{2}','Y','2999-12-31 00:00:00.000','{3}', '{4}','{5}',GETDATE(),'采购原料',ORDERNO FROM dbo.ICSPO_PoMain WHERE POCode='{6}' AND PORow='{7}' AND WorkPoint='{3}'",
LotNo, VendorLot, LOTQTY, WorkPoint, MUSER, MUSERNAME, POCode, PORow); sql += "\r\n"; } int count = SqlHelper.ExecuteNonQuery(sql); return count; }
public string GetSerialCode(string workPointCode, string tbName, string colName, string Pre, int numLen) { string sql = "EXEC Addins_GetSerialCode '{0}','{1}','{2}','{3}',{4}"; sql = string.Format(sql, new object[] { workPointCode, tbName, colName, Pre, numLen }); return DbHelper.ExecuteScalar(CommandType.Text, sql).ToString(); }
public string GetVendorCode(string POCode, string PORow, string WorkPoint) { string sql = string.Format(@"SELECT VenCode FROM dbo.ICSPO_PoMain
WHERE POCode='{0}' AND PORow='{1}' AND WorkPoint='{2}'", POCode, PORow, WorkPoint);
DataTable dt = SqlHelper.GetDataTableBySql(sql); string VenCode = string.Empty; if (dt != null && dt.Rows.Count > 0) { VenCode = dt.Rows[0][0].ToString(); } return VenCode; }
/// <summary>
/// 删除条码
/// </summary>
/// <param name="keyValue"></param>
/// <returns></returns>
public string DeleteItemLot(string keyValue) { string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; string msg = ""; keyValue = keyValue.Substring(1, keyValue.Length - 2);
string sql = string.Format(@"SELECT * FROM dbo.ICSASNDETAIL
WHERE LOTNO IN ( SELECT LotNo FROM dbo.ICSITEMLot2Carton WHERE LotNo_ID IN ({0}) ) OR LOTNO IN ( SELECT LotNO FROM dbo.ICSITEMLot WHERE ID IN ({0}) ) and WorkPoint='{1}'", keyValue.TrimEnd(','), WorkPoint);
DataTable dt = SqlHelper.GetDataTableBySql(sql); if (dt == null || dt.Rows.Count <= 0) { sql = string.Format(@"DELETE FROM dbo.ICSITEMLot2Carton WHERE LotNo_ID IN ({0}) and WorkPoint='{1}'; ", keyValue.TrimEnd(','), WorkPoint); DbHelper.ExecuteNonQuery(CommandType.Text, sql); } else { msg = "所选条码已加入送货单,请先在送货单管理页面删除该条码!"; } return msg; } public string DeleteCartonNos(string keyValue, string WorkPoint) { //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
string msg = ""; keyValue = keyValue.Substring(1, keyValue.Length - 2); //WorkPoint = WorkPoint.Substring(1, WorkPoint.Length - 2);
string sql = string.Format(@"SELECT * FROM dbo.ICSInventoryLot
WHERE LOTNO IN ( SELECT LotNO FROM dbo.ICSContainerLot WHERE ContainerID in ({0}) and WorkPoint in ('{1}'))", keyValue.TrimEnd(','), WorkPoint.TrimEnd(','));
DataTable dt = SqlHelper.GetDataTableBySql(sql); if (dt == null || dt.Rows.Count <= 0) { sql = string.Format(@"DELETE FROM dbo.ICSContainer WHERE ContainerCode in ({0}) and WorkPoint in ('{1}')
DELETE FROM dbo.ICSContainerLot WHERE ContainerID in ({0}) and WorkPoint in ('{1}') ", keyValue.TrimEnd(','), WorkPoint.TrimEnd(','));
DbHelper.ExecuteNonQuery(CommandType.Text, sql); } else { msg = "所选箱号中已有加入送货单中,请先在送单号中删除!"; } return msg; }
/// <summary>
/// 删除箱号
/// </summary>
/// <param name="keyValue"></param>
/// <returns></returns>
public string DeleteCartonNo(string keyValue, string WorkPoint) { WorkPoint = WorkPoint.Substring(1, WorkPoint.Length - 2); string msg = ""; keyValue = keyValue.Substring(1, keyValue.Length - 2);
string sql = string.Format(@"SELECT * FROM dbo.ICSASNDETAIL
WHERE LOTNO IN ( SELECT LotNO FROM dbo.ICSContainer a LEFT JOIN ICSContainerLot b ON a.ContainerID=b.ContainerID WHERE a.ContainerCode in ({0}) and a.WorkPoint in ({1}))", keyValue.TrimEnd(','), WorkPoint.TrimEnd(','));
DataTable dt = SqlHelper.GetDataTableBySql(sql); if (dt == null || dt.Rows.Count <= 0) { sql = string.Format(@" DELETE a FROM dbo.ICSContainerLot a
LEFT JOIN ICSContainer b ON a.ContainerID=b.ContainerID WHERE b.ContainerCode in ({0}) AND a.WorkPoint in ({1}) DELETE FROM dbo.ICSContainer WHERE ContainerCode in ({0}) and WorkPoint in ({1}) ", keyValue.TrimEnd(','), WorkPoint.TrimEnd(','));
DbHelper.ExecuteNonQuery(CommandType.Text, sql); } else { msg = "所选箱号中已有加入送货单中,请先在送单号中删除!"; } return msg; }
/// <summary>
/// 选择条码
/// </summary>
/// <returns></returns>
public DataTable GetInfoBySelectItemCode(string queryJson, ref Pagination jqgridparam) { var queryParam = queryJson.ToJObject(); List<DbParameter> parameter = new List<DbParameter>(); string sql = @"SELECT a.ID, a.LotNO,a.InvCode,d.INVNAME,a.Quantity,a.TYPE,g.ProjectCode,f.TransCode,
f.TransSequence,d.INVDESC,d.INVSTD FROM dbo.ICSInventoryLot a LEFT JOIN ICSInventoryLotDetail f ON a.LotNo=f.LotNo AND a.WorkPoint=f.WorkPoint LEFT JOIN dbo.ICSContainerLot b ON a.LotNo=b.LotNo AND a.WorkPoint=b.WorkPoint LEFT JOIN dbo.ICSASNDETAIL c ON a.LotNO=c.LOTNO AND a.WorkPoint=c.WorkPoint LEFT JOIN dbo.ICSINVENTORY d ON a.InvCode=d.INVCODE AND a.WorkPoint=d.WorkPoint LEFT JOIN dbo.ICSPurchaseOrder e ON f.TransCode=e.POCode AND f.TransSequence=e.Sequence AND a.WorkPoint=e.WorkPoint left join (SELECT LotNo FROM dbo.ICSContainerLot WHERE ContainerID = '{0}') ss on a.LotNo=ss.LotNO LEFT JOIN dbo.ICSExtension g ON e.ExtensionID=g.ID AND e.WorkPoint=g.WorkPoint WHERE b.LotNo IS NULL AND c.LOTNO IS NULL and ss.LotNo is NULL";
sql = string.Format(sql, queryParam["CartonNo"].ToString()); if (!string.IsNullOrEmpty(queryJson)) { if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString())) sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%'"; if (!string.IsNullOrWhiteSpace(queryParam["InvName"].ToString())) sql += " and d.INVNAME like '%" + queryParam["InvName"].ToString() + "%'"; if (!string.IsNullOrWhiteSpace(queryParam["OrderNo"].ToString())) sql += " and g.ProjectCode like '%" + queryParam["OrderNo"].ToString() + "%'"; if (!string.IsNullOrWhiteSpace(queryParam["TransNo"].ToString())) sql += " and f.TransCode like '%" + queryParam["TransNo"].ToString() + "%'"; if (!string.IsNullOrWhiteSpace(queryParam["TransLine"].ToString())) sql += " and f.TransSequence like '%" + queryParam["TransLine"].ToString() + "%'"; if (!string.IsNullOrWhiteSpace(queryParam["VenCode"].ToString())) sql += " and e.VenCode like '%" + queryParam["VenCode"].ToString() + "%'"; if (!string.IsNullOrWhiteSpace(queryParam["LotNo"].ToString())) sql += " and a.LotNo like '%" + queryParam["LotNo"].ToString() + "%'"; } string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(','); sql += " and a.WorkPoint=" + WorkPoint + ""; //string VenCode = NFine.Code.OperatorProvider.Provider.GetCurrent().VenCode;
//if (!string.IsNullOrEmpty(VenCode))
//{
// sql += " AND e.VenCode='"+ VenCode + "'";
//}
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam); }
/// <summary>
/// 获取供应商列表
/// </summary>
/// <returns></returns>
public DataTable GetVendor() { string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(','); string sql = @"
select '' as F_VenCode, '' as cVenName union all SELECT DISTINCT a.F_VenCode,isnull(b.VenName,'') as cVenName FROM dbo.Sys_SRM_User a LEFT JOIN dbo.ICSVendor b ON a.F_VenCode=b.VenCode WHERE a.F_VenCode IS NOT NULL AND a.F_VenCode <>'' ";
string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode; if (role != "admin") { sql += " and b.WorkPoint=" + WorkPoint + ""; } DataTable dt = SqlHelper.GetDataTableBySql(sql); return dt; }
public string GetCartonNo() { string CartonNo = string.Empty; string VenCode = NFine.Code.OperatorProvider.Provider.GetCurrent().VenCode; string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(','); if (!string.IsNullOrEmpty(VenCode)) { string Date = DateTime.Now.ToString("yyMMdd"); string Pre = "C" + VenCode + Date; CartonNo = GetSerialCode(WorkPoint, "ICSCarton", "CartonNo", Pre, 3); } if (!string.IsNullOrEmpty(CartonNo)) { string sql = string.Empty; string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode; string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
sql = @"INSERT INTO dbo.ICSContainer
( ID ,ContainerCode ,ContainerID,ContainerName,InventoryMixed,ProjectMixed,BatchMixed,Multiplex, MUSER ,MUSERName ,MTIME,WorkPoint,EATTRIBUTE8,EATTRIBUTE3) VALUES ( NEWID(),'" + CartonNo + "',NEWID(),'','','','','','" + MUSER + "','" + MUSERNAME + "',GETDATE()," + WorkPoint + ",'" + VenCode + "','SRM')";
try { SqlHelper.ExecuteNonQuery(sql); } catch (Exception ex) { throw new Exception(ex.Message); } } return CartonNo; }
public string GetCartonNoByPerson(string VenCode, string WorkPoint) { string CartonNo = string.Empty; string Date = DateTime.Now.ToString("yyMMdd"); string Pre = "C" + VenCode + Date; CartonNo = GetSerialCode(WorkPoint, "ICSCarton", "CartonNo", Pre, 3); if (!string.IsNullOrEmpty(CartonNo)) { string sql = string.Empty; string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode; string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName; sql = @"INSERT INTO dbo.ICSContainer
( ID ,ContainerCode ,ContainerID,ContainerName,InventoryMixed,ProjectMixed,BatchMixed,Multiplex, MUSER ,MUSERName ,MTIME,WorkPoint,EATTRIBUTE8,EATTRIBUTE3) VALUES ( NEWID(),'" + CartonNo + "',NEWID(),'','','','','','" + MUSER + "','" + MUSERNAME + "',GETDATE(),'" + WorkPoint + "','" + VenCode + "','SRM')";
try { SqlHelper.ExecuteNonQuery(sql); } catch (Exception ex) { throw new Exception(ex.Message); } } return CartonNo; }
public string CheckCartonNo(string JsonData, string CartonNo, string WorkPoint) {
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 sql = string.Format(@"SELECT DISTINCT * FROM (
// SELECT DISTINCT INVCODE FROM dbo.ICSITEMLot2Carton
// WHERE CartonNO='{0}' and WorkPoint={2}
// UNION ALL
// SELECT DISTINCT ItemCODE AS INVCODE FROM dbo.ICSITEMLot WHERE ID IN ({1}) and WorkPoint={2}
// ) t", CartonNo, JsonData.TrimEnd(','), WorkPoint);
//DataTable dt = SqlHelper.GetDataTableBySql(sql);
//if (dt.Rows.Count > 1)
//{
// msg = "箱号原有物料与新增物料编码不同!";
//}
//else
//{
//sql = string.Format(@"UPDATE dbo.ICSCarton SET ItemCode=
// ( SELECT DISTINCT ItemCODE AS INVCODE FROM dbo.ICSITEMLot WHERE ID IN ({0}) and WorkPoint={2})
// WHERE CartonNO='{1}' and WorkPoint={2}", JsonData.TrimEnd(','), CartonNo, WorkPoint);
//try
//{
// SqlHelper.ExecuteNonQuery(sql);
//}
//catch (Exception ex)
//{
// throw new Exception(ex.Message);
//}
sql = "SELECT ContainerID FROM ICSContainer WHERE ContainerCode='{0}' "; sql = string.Format(sql, CartonNo); DataTable dt = SqlHelper.GetDataTableBySql(sql); string ID = dt.Rows[0]["ContainerID"].ToString(); sql = @"INSERT INTO dbo.ICSContainerLot
( ID ,ContainerID ,LotNo , MUSER ,MUSERName ,MTIME ,WorkPoint ) SELECT NEWID(), '" + ID + @"',a.LotNO, '" + MUSER + "','" + MUSERNAME + "',getdate()," + WorkPoint + @" FROM dbo.ICSInventoryLot a left join ICSInventoryLotDetail b on a.LOTNO=b.LotNO WHERE ID IN(" + JsonData.TrimEnd(',') + ") and a.WorkPoint=" + WorkPoint + "";
try { SqlHelper.ExecuteNonQuery(sql); } catch (Exception ex) { throw new Exception(ex.Message); } //}
return msg; }
/// <summary>
/// 删除箱号内的条码
/// </summary>
/// <param name="keyValue"></param>
/// <returns></returns>
public string DeleteInfo(string keyValue,string WorkPoint) { //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
string msg = ""; string sql = string.Format(@"DELETE FROM dbo.ICSContainerLot WHERE ID in ({0}) and WorkPoint in ('{1}') ", keyValue.TrimEnd(','), WorkPoint.TrimEnd(',')); try { SqlHelper.ExecuteNonQuery(sql); } catch (Exception ex) { msg = ex.Message; } return msg; }
public string CheckIsAll(string CartonNo) { string sql = @"SELECT a.ContainerCode,b.ID
FROM dbo.ICSContainer a LEFT JOIN ICSContainerLot b ON a.ContainerID=b.ContainerID AND a.WorkPoint=b.WorkPoint LEFT JOIN dbo.ICSASNDETAIL c ON c.LotNo=b.LOTNO AND a.WorkPoint=c.WorkPoint WHERE a.ContainerCode='" + CartonNo + "' AND c.ID IS not NULL";
DataTable dt = SqlHelper.GetDataTableBySql(sql); if (dt != null && dt.Rows.Count > 0) { return "0"; } else { return "1"; } } } }
|