|
|
using NFine.Data.Extensions;using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Text;using System.Threading.Tasks;using NFine.Code;using NFine.Repository;using System.Data.Common;using NFine.Domain._03_Entity.SRM;using ICS.Application.Entity;using Newtonsoft.Json;using System.Configuration;using System.Data.SqlClient;using ICS.Data;using Newtonsoft.Json.Linq;using NFine.Domain._03_Entity.WMS;using System.Net;using System.IO;
namespace NFine.Application.WMS{ public class ICSCheckConfigurationControllerApp : RepositoryFactory<ICSVendor> { public static DataTable MDInvmes = new DataTable();
public DataTable GetICSReserve(ref Pagination jqgridparam) { string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; DataTable dt = new DataTable(); List<DbParameter> parameter = new List<DbParameter>(); string sql = @" select A.ID,b.name AS SelectLevel,a.LastTime,BeginTime,EndTime,Quantity,
CASE WHEN a.Enable='true' Then '生效' ELSE '失效' END AS Enable from ICSCheckConfiguration a inner join icstype b on b.tablecode ='ICSCheckConfiguration' and b.code = a.selectlevel and b.columncode = 'selectlevel' AND B.WorkPoint=A.WorkPoint WHERE A.WorkPoint='" + WorkPoint + "'";
sql = string.Format(sql); DataTable dttest = Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam); return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam); }
public DataTable GetICSMOApplyNegDetail(string InspectCode, 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,a.InspectCode,a.LotNo,a.Sequence,b.InvCode,a.Quantity,a.Amount,a.InspectQuantity,a.ExtensionID,a.MUSER
,a.MUSERName,a.MTIME ,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4 ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10 ,a.EATTRIBUTE1,a.EATTRIBUTE2,a.EATTRIBUTE3,a.EATTRIBUTE4,a.EATTRIBUTE5,a.EATTRIBUTE6,a.EATTRIBUTE7,a.EATTRIBUTE8, a.EATTRIBUTE9,a.EATTRIBUTE10 from ICSInspectDetail a left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint left join ICSInventoryLot b on b.LotNo=a.LotNo and b.WorkPoint=a.WorkPoint WHERE a.InspectCode='" + InspectCode + "' ";
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam); }
public string DeleteICSReserve(string keyValue) { //站点信息
string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; string msg = ""; keyValue = keyValue.Substring(1, keyValue.Length - 2); string sql = string.Empty; try { sql += string.Format(@"DELETE FROM dbo.ICSCHeckConfiguration WHERE ID IN ({0}) and WorkPoint ='{1}'", keyValue.TrimEnd(','), WorkPoint);
if (SqlHelper.CmdExecuteNonQueryLi(sql) > 0) {
} } catch (Exception ex) { msg = ex.Message; } return msg; } public DataTable GetICSReserveTemporary(string ID) { string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; string sql = @" select A.ID,A.InvCode,B.InvName,BeginTime,EndTime,Quantity
,CASE WHEN Enable='true' Then '生效' ELSE '失效' END AS Enable ,A.MUSERName from ICSReserve A INNER JOIN ICSInventory B ON B.InvCode=A.InvCode AND B.WorkPoint=A.WorkPoint WHERE A.WorkPoint='" + WorkPoint + "' AND A.ID='" + ID + "'";
DataTable table = Repository().FindDataSetBySql(sql).Tables[0]; DataTable dtCloned = table.Clone(); foreach (DataColumn col in dtCloned.Columns) { col.DataType = typeof(string); } foreach (DataRow row in table.Rows) { DataRow newrow = dtCloned.NewRow(); foreach (DataColumn column in dtCloned.Columns) { newrow[column.ColumnName] = row[column.ColumnName].ToString();
} dtCloned.Rows.Add(newrow); } if (MDInvmes.Rows.Count > 0) { dtCloned.Merge(MDInvmes, false); } return dtCloned; } /// <summary>
/// 获取检验单单据类型
/// </summary>
/// <returns></returns>
public DataTable GetInspectDocType(string ID) { string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; string sql = @"select Type,Case When Type=0 then '标准检验' ELSE '超期检验' END AS DocType from ICSInspect
where ID='{0}' and WorkPoint='{1}'";
sql = string.Format(sql, ID, WorkPoint); DataTable dt = SqlHelper.GetDataTableBySql(sql); return dt; } public void ClearTemp() { MDInvmes.Rows.Clear(); }
public DataTable GetReserveInv(string invcode, string WHCode, ref Pagination jqgridparam) { string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; List<DbParameter> parameter = new List<DbParameter>(); DataTable table = new DataTable(); string wherestr = ""; if (!string.IsNullOrEmpty(invcode)) { wherestr += " and a.InvCode like '%" + invcode + "%'"; } if (!string.IsNullOrEmpty(WHCode)) { wherestr += " and a.WarehouseCode like '%" + WHCode + "%'"; } string sql = @" select '' AS ID,A.InvCode,C.InvName,C.InvStd,C.InvUnit,Sum(A.Quantity-ISNULL(A.LockQuantity,0)) AS Quantity
from ICSWareHouseLotInfo A INNER JOIN ICSInventory C ON C.InvCode=A.InvCode AND C.WorkPoint=A.WorkPoint where A.WorkPoint='" + WorkPoint + "'" + wherestr;
sql += @"GROUP BY A.InvCode,C.InvName,C.InvStd,C.InvUnit"; return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
}
public void AddMOApplyNegTemp(string json) { var data = json.ToJObject(); if (MDInvmes.Columns.Count <= 0) { MDInvmes.Columns.Add("ZJID", typeof(string)); MDInvmes.Columns.Add("InvCode", typeof(string)); MDInvmes.Columns.Add("INVNAME", typeof(string)); MDInvmes.Columns.Add("InvStd", typeof(string)); MDInvmes.Columns.Add("InvUnit", typeof(string)); MDInvmes.Columns.Add("Quantity", typeof(string)); MDInvmes.Columns.Add("IssueNegQuantity", typeof(string)); MDInvmes.Columns.Add("ExtensionID", typeof(string)); MDInvmes.Columns.Add("Amount", typeof(string)); MDInvmes.Columns.Add("ID", typeof(string)); } string usercode = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode; DataRow newrow = MDInvmes.NewRow(); newrow["ZJID"] = data["ZJID"]; newrow["InvName"] = data["InvName"]; newrow["InvCode"] = data["InvCode"]; newrow["InvStd"] = data["InvStd"]; newrow["InvUnit"] = data["InvUnit"]; newrow["Amount"] = data["Amount"]; newrow["IssueNegQuantity"] = data["IssueNegQuantity"]; newrow["ExtensionID"] = data["ExtensionID"]; newrow["Quantity"] = ""; newrow["ID"] = data["ID"]; MDInvmes.Rows.Add(newrow);
}
public void UpdateMOApplyNegTemp(string json) { var data = json.ToJObject(); string usercode = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode; var info = MDInvmes.Select(string.Format("TLZID='{0}'", data["TLZID"])); if (info != null && info.Length > 0) { info[0]["ZJID"] = data["ZJID"]; info[0]["InvName"] = data["InvName"]; info[0]["InvCode"] = data["InvCode"]; info[0]["InvStd"] = data["InvStd"]; info[0]["InvUnit"] = data["InvUnit"]; info[0]["Amount"] = data["Amount"]; info[0]["IssueNegQuantity"] = data["IssueNegQuantity"]; info[0]["ExtensionID"] = data["ExtensionID"]; info[0]["Quantity"] = 0; } else { DataRow newrow = MDInvmes.NewRow(); newrow["ZJID"] = data["ZJID"]; newrow["InvName"] = data["InvName"]; newrow["InvCode"] = data["InvCode"]; newrow["InvStd"] = data["InvStd"]; newrow["InvUnit"] = data["InvUnit"]; newrow["Amount"] = data["Amount"]; newrow["IssueNegQuantity"] = data["IssueNegQuantity"]; newrow["ExtensionID"] = data["ExtensionID"]; newrow["Quantity"] = 0; newrow["ID"] = data["ID"]; newrow["TLZID"] = data["TLZID"]; MDInvmes.Rows.Add(newrow); } } /// <summary>
/// 保存预留信息
/// </summary>
/// <param name="queryJson"></param>
/// <returns></returns>
public string UpdateReserve(string ReserveInfo) // ID: rowData.ID,
//InvCode: rowData.InvCode,//预留物料
//BeginTime: rowData.BeginTime,//开始时间
//EndTime: rowData.EndTime,//结束时间
//Quantity: rowData.Quantity//预留数量
{ string msg = ""; string sql = string.Empty; JArray res = (JArray)JsonConvert.DeserializeObject(ReserveInfo); foreach (var item in res) { object CARID = Guid.NewGuid(); JObject jo = (JObject)item;
sql += @"update ICSCheckConfiguration set SelectLevel='{0}',BeginTime='{1}',EndTime='{2}',Quantity='{3}'where id='{4}'
";
sql = string.Format(sql, jo["SelectLevel"].ToString(), Convert.ToDateTime(jo["BeginTime"].ToString()), Convert.ToDateTime(jo["EndTime"].ToString()) , jo["Quantity"].ToString(), jo["ID"].ToString());
} try { if (SqlHelper.ExecuteNonQuery(sql) > 0) {
} else { msg = "新增失败"; } } catch (Exception ex) { throw new Exception(ex.Message); }
return msg; } /// <summary>
/// 保存预留信息
/// </summary>
/// <param name="queryJson"></param>
/// <returns></returns>
public string SaveReserve(string ReserveInfo) // ID: rowData.ID,
//InvCode: rowData.InvCode,//预留物料
//BeginTime: rowData.BeginTime,//开始时间
//EndTime: rowData.EndTime,//结束时间
//Quantity: rowData.Quantity//预留数量
{ 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; JArray res = (JArray)JsonConvert.DeserializeObject(ReserveInfo); foreach (var item in res) { object CARID = Guid.NewGuid(); JObject jo = (JObject)item;
sql += @"insert into ICSCheckConfiguration
(ID, SelectLevel, BeginTime, EndTime, Quantity, Enable, MUSER, MUSERName, MTIME, WorkPoint,LastTime) values (NEWID(), '{0}', '{1}', '{2}', {3}, 'true', '{4}', '{5}', GETDATE(), '{6}','{1}')";
sql = string.Format(sql, jo["SelectLevel"].ToString(), Convert.ToDateTime(jo["BeginTime"].ToString()), Convert.ToDateTime(jo["EndTime"].ToString()) , jo["Quantity"].ToString(), MUSER, MUSERNAME, WorkPoint);
} try { if (SqlHelper.ExecuteNonQuery(sql) > 0) {
} else { msg = "修改失败"; } } catch (Exception ex) { throw new Exception(ex.Message); }
return msg; }
/// <summary>
/// 更新预留状态
/// </summary>
/// <param name="queryJson"></param>
/// <returns></returns>
public string UpdateReserveStatus(string IDList, string Status) { 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; string sqls = string.Empty;
if (!string.IsNullOrWhiteSpace(IDList)) { if (Status == "失效") { sqls = @"update ICSCheckConfiguration set Enable='false',MUSER='{2}',MUSERName='{3}',MTIME=GETDATE()
where ID in ({0}) and WorkPoint='{1}'";
} else { sqls = @"update ICSCheckConfiguration set Enable='true',MUSER='{2}',MUSERName='{3}',MTIME=GETDATE()
where ID in ({0}) and WorkPoint='{1}'";
}
} sql = string.Format(sqls, IDList.Trim(','), WorkPoint, MUSER, MUSERNAME);
try { if (SqlHelper.ExecuteNonQuery(sql) > 0) {
} else { msg = "失败"; } } catch (Exception ex) { throw new Exception(ex.Message); }
return msg; }
public DataTable GetICSMOApplyNegDetailTemp(string ApplyNegCode) { string sql = @"SELECT
a.ID, a.ID as TLZID, a.ApplyNegCode, a.InvCode, a.Quantity, a.Amount, a.SourceDetailID as ZJID, b.InvName, b.InvStd, b.InvUnit,a.IssueNegQuantity,a.ExtensionID,f.Colspan ,f.ProjectCode ,f.BatchCode ,f.Version ,f.Brand ,f.cFree1 ,f.cFree2 ,f.cFree3 ,f.cFree4 ,f.cFree5 ,f.cFree6 ,f.cFree7 ,f.cFree8 ,f.cFree9 ,f.cFree10 FROM ICSMOApplyNegDetail aLEFT JOIN ICSInventory b ON a.InvCode = b.InvCode and a.WorkPoint=b.WorkPoint
left join ICSExtension f on a.ExtensionID=f.ID and a.WorkPoint=f.WorkPoint where a.ApplyNegCode='" + ApplyNegCode + "'";
DataTable table = Repository().FindDataSetBySql(sql).Tables[0]; if (MDInvmes == null || MDInvmes.Columns.Count <= 0) MDInvmes = table.Clone(); DataTable dtCloned = table.Clone(); foreach (DataColumn col in dtCloned.Columns) { col.DataType = typeof(string); } foreach (DataRow row in table.Rows) { DataRow newrow = dtCloned.NewRow(); foreach (DataColumn column in dtCloned.Columns) { newrow[column.ColumnName] = row[column.ColumnName].ToString();
} dtCloned.Rows.Add(newrow); } if (MDInvmes.Rows.Count > 0) { //dtCloned.Merge(Invmes, false);
foreach (DataRow data in MDInvmes.Rows) {
var info = dtCloned.Select(string.Format("TLZID='{0}'", data["TLZID"])); if (info != null && info.Length > 0) { info[0]["ZJID"] = data["ZJID"]; info[0]["InvName"] = data["InvName"]; info[0]["InvCode"] = data["InvCode"]; info[0]["InvStd"] = data["InvStd"]; info[0]["InvUnit"] = data["InvUnit"]; info[0]["Amount"] = data["Amount"]; info[0]["IssueNegQuantity"] = data["IssueNegQuantity"]; info[0]["ExtensionID"] = data["ExtensionID"]; info[0]["Quantity"] = 0; } else { DataRow newrow = dtCloned.NewRow(); newrow["ZJID"] = data["ZJID"]; newrow["InvName"] = data["InvName"]; newrow["InvCode"] = data["InvCode"]; newrow["InvStd"] = data["InvStd"]; newrow["InvUnit"] = data["InvUnit"]; newrow["Amount"] = data["Amount"]; newrow["Quantity"] = 0; newrow["ID"] = data["ID"]; newrow["TLZID"] = data["TLZID"]; newrow["IssueNegQuantity"] = data["IssueNegQuantity"]; newrow["ExtensionID"] = data["ExtensionID"]; dtCloned.Rows.Add(newrow); } } } return dtCloned; }
public string UpdateICSMOApplyNeg(string ICSASN) { string msg = ""; string APIURL = ConfigurationManager.ConnectionStrings["APIURL"].ConnectionString + "MOIssueDocNegativeApply/Update"; string result = HttpPost(APIURL, ICSASN); 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 static string HttpPost(string url, string body) { try { Encoding encoding = Encoding.UTF8; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "POST"; request.Accept = "application/json, text/javascript, */*"; //"text/html, application/xhtml+xml, */*";
request.ContentType = "application/json; charset=utf-8";
byte[] buffer = encoding.GetBytes(body); request.ContentLength = buffer.Length; request.GetRequestStream().Write(buffer, 0, buffer.Length); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (StreamReader reader = new StreamReader(response.GetResponseStream(), encoding)) { return reader.ReadToEnd(); } } catch (WebException ex) { throw new Exception(ex.Message); } }
public DataTable GetSelectLevel() { string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; string sql = @"
select '' as WarehouseCode,'' as WarehouseName union allselect code as WarehouseCode, name as WarehouseName from ICSType WITH (NOLOCK) where columncode ='selectlevel'";
//string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
//if (role != "admin")
//{
// sql += " and b.WorkPoint='" + WorkPoint + "'";
//}
sql += " and WorkPoint='" + WorkPoint + "'"; DataTable dt = SqlHelper.GetDataTableBySql(sql); return dt; }
}}
|