|
|
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 WareHouseReserveApp : RepositoryFactory<ICSVendor> { public static DataTable MDInvmes = new DataTable();
public DataTable GetICSReserve(ref Pagination jqgridparam) { try { string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; DataTable dt = new DataTable(); List<DbParameter> parameter = new List<DbParameter>(); string sql = @" select A.ID,A.InvCode,B.InvName,A.WHCode,C.WarehouseName AS WHName,BeginTime,EndTime,Quantity,A.MUSER,A.MTime
,A.Enable AS Enable ,A.MUSERName,A.EATTRIBUTE1,a.EATTRIBUTE2,a.EATTRIBUTE3,a.EATTRIBUTE4,a.EATTRIBUTE5 from ICSReserve A INNER JOIN ICSInventory B ON B.InvCode=A.InvCode AND B.WorkPoint=A.WorkPoint LEFT JOIN ICSWarehouse C ON C.WarehouseCode=A.WHCode AND C.WorkPoint=A.WorkPoint WHERE A.WorkPoint='" + WorkPoint + "'";
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam); } catch (Exception ex) { throw new Exception(ex.Message); } }
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.ICSReserve 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 C.ID AS InvID,A.InvCode,C.InvName,C.InvStd,C.InvUnit,Sum(A.Quantity-ISNULL(A.LockQuantity,0)) AS Quantity
,A.WarehouseCode AS WHCode,D.WarehouseName AS WHName from ICSWareHouseLotInfo A INNER JOIN ICSInventory C ON C.InvCode=A.InvCode AND C.WorkPoint=A.WorkPoint LEFT JOIN ICSWarehouse D ON D.WarehouseCode=A.WarehouseCode AND D.WorkPoint=A.WorkPoint where A.WorkPoint='" + WorkPoint + "' AND A.Quantity-ISNULL(A.LockQuantity,0)>0 " + wherestr;
sql += @"GROUP BY C.ID,A.InvCode,C.InvName,C.InvStd,C.InvUnit,A.WarehouseCode,D.WarehouseName"; 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 SaveReserve(string ReserveInfo) { 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; try { JArray res = (JArray)JsonConvert.DeserializeObject(ReserveInfo);
foreach (var item in res) { object CARID = Guid.NewGuid(); JObject jo = (JObject)item; var beginTime = Convert.ToDateTime(jo["BeginTime"].ToString()); var endTime = Convert.ToDateTime(jo["EndTime"].ToString());
if (!string.IsNullOrWhiteSpace(jo["InvCode"].ToString())) {
if (beginTime.AddDays(30) < endTime) { throw new Exception("预留时间不能超过30天"); } sql += @"insert into ICSReserve
(ID, InvCode, WHCode, BeginTime, EndTime, Quantity, Amount, Enable, MUSER, MUSERName, MTIME, WorkPoint,EATTRIBUTE4) values (NEWID(), '{0}','{7}', '{1}', '{2}', {3}, 0, 'true', '{4}', '{5}', GETDATE(), '{6}','{8}')";
} sql = string.Format(sql, jo["InvCode"].ToString(), beginTime, endTime , jo["Quantity"].ToString(), MUSER, MUSERNAME, WorkPoint, jo["WHCode"].ToString(), jo["Cause"].ToString());
}
if (SqlHelper.CmdExecuteNonQueryLi(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 date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); string msg = ""; string sql = string.Empty;
if (!string.IsNullOrWhiteSpace(IDList)) { if (Status == "失效") { sql = @"IF NOT EXISTS( SELECT * FROM ICSReserve where ID in ({0}) and WorkPoint='{1}' AND MUSER='{2}')
BEGIN RAISERROR('创建人和失效人不一致,操作失败!',16,1); RETURN END; update ICSReserve set Enable='false',EATTRIBUTE1='{2}',EATTRIBUTE2='{3}',EATTRIBUTE3='{4}' where ID in ({0}) and WorkPoint='{1}'";
} else { sql = @"update ICSReserve set Enable='true',MUSER='{2}',MUSERName='{3}',MTIME=GETDATE()
where ID in ({0}) and WorkPoint='{1}'";
}
} sql = string.Format(sql, IDList.Trim(','), WorkPoint, MUSER, MUSERNAME,date);
try { if (SqlHelper.ExecuteNonQuery(sql) > 0) {
} else { msg = "新增失败"; } } catch (Exception ex) { msg=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); } }
}}
|