using Newtonsoft.Json; using NFine.Application.Entity; using NFine.Application.Models; using NFine.Code; using NFine.Data.Extensions; using NFine.Domain._03_Entity.SRM; using NFine.Repository; using System; using System.Collections.Generic; using System.Data; using System.Data.Common; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web; namespace NFine.Application.WMS { public class CheckingFixtureApp : RepositoryFactory { public DataTable GetGridJsonChengPing(string queryJson, string type,ref Pagination pagination) { DataTable dt = new DataTable(); var queryParam = queryJson.ToJObject(); List parameter = new List(); //object Figure = GetDecimalDigits(); string sql = string.Empty; #region [SQL] if (type=="1") { sql = @" select 0 Code ,case when a.Status='领用' then (select top 1 TransferUserName from IcsCheckingFixtureTransfer t with(nolock) where t.CheckFixtureNo=a.CheckFixtureNo and t.TransferType='领用' order by t.MTIME desc) else '' end as TransferUserName ,(select top 1 MTIME from IcsCheckingFixtureTransfer t with(nolock) where t.CheckFixtureNo=a.CheckFixtureNo and t.TransferType='领用' order by t.MTIME desc) TransferTime ,a.*,case when DATEDIFF(day, GETDATE(),a.VerifyDate)+a.VerifyPeriodDay<0 then 'red' WHEN DATEDIFF (day,GETDATE(),a.VerifyDate)+a.VerifyPeriodDay>=0 AND DATEDIFF(day, GETDATE(),a.VerifyDate)+a.VerifyPeriodDay <=10 THEN 'yellow' ELSE '' END AS DiffDate from IcsCheckingFixture a where a.Status !='报废' and a.Status !='封存' --and a.CheckFixtureNo='CS001' --order by a.MTIME desc <1> <2> <3> <4> <5> <6> <7> "; if (!string.IsNullOrWhiteSpace(queryParam["JJStatus"].ToString())) { if (queryParam["JJStatus"].ToString() == "临近过期") { sql = sql.Replace("<7>", "and DATEDIFF(day,GETDATE(),a.VerifyDate)+a.VerifyPeriodDay>=0 AND DATEDIFF(day, GETDATE(),a.VerifyDate)+a.VerifyPeriodDay <=10 "); } else if (queryParam["JJStatus"].ToString() == "已过期") { sql = sql.Replace("<7>", " and DATEDIFF(day, GETDATE(),a.VerifyDate)+a.VerifyPeriodDay<0 "); } else if (queryParam["JJStatus"].ToString() == "正常") { sql = sql.Replace("<7>", " and DATEDIFF(day, GETDATE(),a.VerifyDate)+a.VerifyPeriodDay>10 "); } else { sql = sql.Replace("<7>", " "); } } else { sql = sql.Replace("<7>", " "); } } else { sql = @" select 0 Code ,case when a.Status='领用' then (select top 1 TransferUserName from IcsCheckingFixtureTransfer t with(nolock) where t.CheckFixtureNo=a.CheckFixtureNo and t.TransferType='领用' order by t.MTIME desc) else '' end as TransferUserName ,(select top 1 MTIME from IcsCheckingFixtureTransfer t with(nolock) where t.CheckFixtureNo=a.CheckFixtureNo and t.TransferType='领用' order by t.MTIME desc) TransferTime ,a.*,case when DATEDIFF(day, GETDATE(),a.VerifyDate)<0 then 'red' WHEN DATEDIFF (day, GETDATE (),a.VerifyDate)>=0 AND DATEDIFF(day, GETDATE (),a.VerifyDate)<=10 THEN 'yellow' ELSE '' END AS DiffDate from IcsCheckingFixture a where a.Status ='封存' --and a.CheckFixtureNo='CS001' --order by a.MTIME desc <1> <2> <3> <4> <5> <6> "; } // sql += " WHERE 1=1 and a.MOStatus<>'3' "; //sql = string.Format(sql, Figure); //sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName()); #endregion if (!string.IsNullOrWhiteSpace(queryJson)) { if (!string.IsNullOrWhiteSpace(queryParam["CheckCode"].ToString())) { sql = sql.Replace("<1>", " and a.CheckFixtureNo like '%" + queryParam["CheckCode"].ToString() + "%' "); } else { sql = sql.Replace("<1>", " "); } if (!string.IsNullOrWhiteSpace(queryParam["CheckFixtureName"].ToString())) { sql = sql.Replace("<2>", " and a.CheckFixtureName like '%" + queryParam["CheckFixtureName"].ToString() + "%' "); } else { sql = sql.Replace("<2>", " "); } if (!string.IsNullOrWhiteSpace(queryParam["Status"].ToString())) { sql = sql.Replace("<3>", " and a.Status ='" + queryParam["Status"].ToString() + "' "); } else { sql = sql.Replace("<3>", " "); } if (!string.IsNullOrWhiteSpace(queryParam["CustomerItemCode"].ToString())) { sql = sql.Replace("<4>", " and a.CustomerItemCode like '%" + queryParam["CustomerItemCode"].ToString() + "%' "); } else { sql = sql.Replace("<4>", " "); } if (!string.IsNullOrWhiteSpace(queryParam["VerifyDateBegin"].ToString())) { sql = sql.Replace("<5>", " and a.VerifyDate>='" + queryParam["VerifyDateBegin"].ToString() + " 00:00:00' "); } else { sql = sql.Replace("<5>", " "); } if (!string.IsNullOrWhiteSpace(queryParam["VerifyDateEnd"].ToString())) { sql = sql.Replace("<6>", " and a.VerifyDate<='" + queryParam["VerifyDateEnd"].ToString() + " 23:59:59' "); } else { sql = sql.Replace("<6>", " "); } } //if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin") //{ // sql = sql.Replace("{0}", "and a.WorkPoint = '" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'"); // // sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'"; //} //else //{ // sql = sql.Replace("{0}", ""); //} //if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode == "Vendor") //{ // sql += " and a.VenCode='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode + "'"; //} return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref pagination); } public List GetLocationList(string keyValue) { var returnValue = new List(); string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode; string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName; string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; object para = new {WorkPoint=WorkPoint }; var sql = @" select a.LocationCode as value ,a.LocationName as label from ICSLocation a with(nolock) where 1=1 --and a.F_Account='CS001' and a.WorkPoint=@WorkPoint order by a.MTIME desc"; returnValue = MsSqlData.Query(sql, para).ToList(); for (int i = 0; i < returnValue.Count; i++) { returnValue[i].key = i + 1; } return returnValue; } public IcsCheckingFixture GetCheckingFixture(string keyValue) { var entity = new IcsCheckingFixture(); try { entity = MsSqlData.Get(keyValue); } catch (Exception ex) { //entity = null; } return entity; } public string DeleteCheckingFixture(string keyValue) { string returnValue = string.Empty; try { var idList = JsonConvert.DeserializeObject>(keyValue); string sql = @"select a.* from IcsCheckingFixture a with(nolock) where a.ID in ('" + string.Join("','", idList) + "')"; var entityList = MsSqlData.Query(sql).ToList(); foreach (var item in entityList) { var count = MsSqlData.ExecuteScalar(" select count(1) from IcsCheckingFixtureTransfer with(nolock) where CheckFixtureNo='" + item.CheckFixtureNo + "'").ToInt(); if (count > 0) { throw new Exception("当前检具已经存在履历,不能删除"); } } var result = MsSqlData.Delete(entityList); if (!result) { returnValue = "删除失败"; } } catch (Exception ex) { returnValue = ex.Message; } return returnValue; } public string PostSealed(string type, string keyValue,string time) { string returnValue = string.Empty; try { List entityList=new List(); if (type=="封存") { var idList = JsonConvert.DeserializeObject>(keyValue); string sql = @"select a.* from IcsCheckingFixture a with(nolock) where a.ID in ('" + string.Join("','", idList) + "')"; entityList = MsSqlData.Query(sql).ToList(); for (int i = 0; i < entityList.Count; i++) { if (entityList[i].Status != "在库") { throw new Exception("当前检具状态不是在库状态,不能封存!"); } entityList[i].Status = "封存"; entityList[i].VerifyDate = null; } } else { var idList = keyValue.Substring(1, keyValue.Length-2).Split(',').ToList(); string sql = @"select a.* from IcsCheckingFixture a with(nolock) where a.ID in ('" + string.Join("','", idList) + "')"; entityList = MsSqlData.Query(sql).ToList(); for (int i = 0; i < entityList.Count; i++) { if (entityList[i].Status != "封存") { throw new Exception("当前检具状态不是在封存态,不能解封!"); } entityList[i].Status = "在库"; entityList[i].VerifyDate = time.ToDate(); } } var result = MsSqlData.Update(entityList); if (!result) { returnValue = "修改失败"; } } catch (Exception ex) { returnValue = ex.Message; } return returnValue; } public DataTable ExportAll(string id, string checkFixtureName, string status) { DataTable dt = new DataTable(); // var queryParam = queryJson.ToJObject(); List parameter = new List(); //object Figure = GetDecimalDigits(); #region [SQL] string sql = @" select a.* from IcsCheckingFixture a where 1=1 --and a.CheckFixtureNo='CS001' --order by a.MTIME desc <1> <2> <3> "; // sql += " WHERE 1=1 and a.MOStatus<>'3' "; //sql = string.Format(sql, Figure); //sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName()); #endregion if (!string.IsNullOrWhiteSpace(id)) { sql = sql.Replace("<1>", " and a.CheckFixtureNo like '%" + id + "%' "); } else { sql = sql.Replace("<1>", " "); } if (!string.IsNullOrWhiteSpace(checkFixtureName)) { sql = sql.Replace("<2>", " and a.CheckFixtureName like '%" + checkFixtureName + "%' "); } else { sql = sql.Replace("<2>", " "); } if (!string.IsNullOrWhiteSpace(status)) { sql = sql.Replace("<3>", " and a.Status ='" + status + "' "); } else { sql = sql.Replace("<3>", " "); } return Repository().FindDataSetBySql(sql.ToString(), parameter.ToArray()).Tables[0]; } //public string PrintLabel(string keyValue) //{ // string strPrintFileName = Server.MapPath("/ReportFile/") + "lot. fr3"; // PrintIson pJson = new PrintIson(Server, MapPath("./PrintTemp"), strPrintFileName). // pJson.CheckRegister("苏州智合诚信息科技有限公司", "56D3B4C172D0D140841CAC98A58A819F4E2SEDA5D6E45711DDD64F6A439F68B6A7870CD7DAFD69A919CBS70207FE4BB206F92BE3D53C221B019E0797E73? 9EBA4"): //注册信息 // pJson.MasterOptions(1, "ASNCode". // //主从关系 // false): // SetCookieAndURL(pJson);// 设置控件调用的Cookie值,判断是否安装了打印控件 //} public string SetData_PR(string savePath) { string returnValue = string.Empty; string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode; string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName; SqlConnection conn = SqlHelper.GetDataCenterConn(); DataTable data = FileToExcel.ExcelToTable(savePath); DateTime time = DateTime.Now; //DataSet dsSave = new DataSet(); //dsSave.Tables.Add(data.Copy()); //dsSave.Tables[0].TableName = "IcsCheckingFixture"; List list = new List(); for (int i = 0; i < data.Rows.Count; i++) { var item = data.Rows[i]; if (item["检具编码"].ToStringExt() == "") { throw new Exception("第" + (i + 1) + "行," + "检具编码为空"); } if (item["客户名称 "].ToStringExt() == "") { throw new Exception("第" + (i + 1) + "行," + "客户名称为空"); } IcsCheckingFixture entity = new IcsCheckingFixture(); entity.ID = Guid.NewGuid().ToString(); entity.CheckFixtureNo = item["检具编码"].ToStringExt(); entity.CheckFixtureName = item["客户名称 "].ToStringExt(); entity.CustomerItemCode = item["客户料号"].ToStringExt(); entity.Useage = item["用途"].ToStringExt(); entity.Std = item["规格"].ToStringExt(); entity.Unit = item["单位"].ToStringExt(); entity.Remark = item["备注"].ToStringExt(); entity.VerifyDate = item["校验日期"].ToDate(); entity.VerifyPeriodDay = item["校验周期"].ToInt(); entity.Status = "在库"; entity.MUSER = MUSER; entity.MUSERName = MUSERNAME; entity.MTIME = time; entity.WorkPoint = WorkPoint; entity.VerifyPeriodDay = entity.VerifyPeriodDay == 0 ? null : entity.VerifyPeriodDay; list.Add(entity); } if (list.Count == 0) { throw new Exception("没有导入数据"); } var result = MsSqlData.Insert(list); if (!result) { throw new Exception("导入失败"); } returnValue = "true"; return returnValue; } public string DeleteTransfer(string keyValue) { string returnValue = string.Empty; try { var dtNow = DateTime.Now; string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode; string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName; string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; //当前删除的流转单号 var transfer = MsSqlData .Query("select top 1 * from IcsCheckingFixtureTransfer with(nolock) where id='" + keyValue + "'") .FirstOrDefault(); if (transfer == null) { throw new Exception("当前检具流转记录不存在"); } var checkFixyure = MsSqlData .Query("select top 1 * from IcsCheckingFixture with(nolock) where CheckFixtureNo='" + transfer.CheckFixtureNo + "'") .FirstOrDefault(); if (checkFixyure == null) { throw new Exception("当前检具档案不存在"); } // //当前检具的最新流转单号 var transferNew = MsSqlData .Query( "select top 1 * from IcsCheckingFixtureTransfer a with(nolock) where CheckFixtureNo='" + transfer.CheckFixtureNo + "' and a.IsDelete='N' order by a.MTIME desc") .FirstOrDefault(); if (transferNew == null) { throw new Exception("当前检具流转记录不存在"); } if (transferNew.TransferNo != transfer.TransferNo) { throw new Exception("当前检具已经存在最新的流转记录,不能删除之前的记录"); } //软删除 transfer.IsDelete = "Y"; transfer.DeleteUser = MUSER; transfer.DeleteUserName = MUSERNAME; transfer.DeleteTime = dtNow; var result = MsSqlData.Update(transfer); if (!result) { returnValue = "删除失败"; } checkFixyure.LastTransferDate = dtNow; checkFixyure.Status = transfer.OldStatus; checkFixyure.LocationCode = checkFixyure.EATTRIBUTE1; result = MsSqlData.Update(checkFixyure); if (!result) { returnValue = "删除失败"; } } catch (Exception ex) { returnValue = ex.Message; } return returnValue; } public DataTable ExportAllTransfer(string CheckFixtureNo, string checkFixtureName, string status, string transferType) { DataTable dt = new DataTable(); // var queryParam = queryJson.ToJObject(); List parameter = new List(); //object Figure = GetDecimalDigits(); string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode; string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName; #region [SQL] string sql = @" select a.* from ( select a.ID ,a.TransferType ,a.TransferNo ,a.TransferUser ,a.TransferUserName ,a.CheckFixtureNo ,b.CheckFixtureName ,b.CustomerItemCode ,b.Useage ,b.Std ,b.Unit ,a.Remark ,a.MUSERName ,a.MTIME from IcsCheckingFixtureTransfer a with(nolock) left join IcsCheckingFixture b with(nolock) on a.CheckFixtureNo=b.CheckFixtureNo and a.WorkPoint=b.WorkPoint <5> --and a.CheckFixtureNo='JY001' --order by a.MTIME desc ) a where 1=1 <1> <2> <3> <4> "; // sql += " WHERE 1=1 and a.MOStatus<>'3' "; //sql = string.Format(sql, Figure); //sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName()); #endregion if (!string.IsNullOrWhiteSpace(CheckFixtureNo)) { sql = sql.Replace("<1>", " and a.CheckFixtureNo like '%" + CheckFixtureNo + "%' "); } else { sql = sql.Replace("<1>", " "); } if (!string.IsNullOrWhiteSpace(checkFixtureName)) { sql = sql.Replace("<2>", " and a.CheckFixtureName like '%" + checkFixtureName + "%' "); } else { sql = sql.Replace("<2>", " "); } if (!string.IsNullOrWhiteSpace(status)) { sql = sql.Replace("<3>", " and a.TransferNo ='" + status + "' "); } else { sql = sql.Replace("<3>", " "); } if (!string.IsNullOrWhiteSpace(transferType)) { sql = sql.Replace("<4>", " and a.TransferType ='" + transferType + "' "); } else { sql = sql.Replace("<4>", " "); } sql = sql.Replace("<5>", " where a.WorkPoint ='" + WorkPoint + "' "); return Repository().FindDataSetBySql(sql.ToString(), parameter.ToArray()).Tables[0]; } public IcsCheckingFixture GetCheckingFixtureByNo(string keyValue) { var returnValue = new IcsCheckingFixture(); try { var checkFixyure = MsSqlData .Query("select top 1 * from IcsCheckingFixture with(nolock) where CheckFixtureNo='" + keyValue + "'") .FirstOrDefault(); if (checkFixyure == null) { throw new Exception("当前检具档案不存在"); } returnValue = checkFixyure; } catch (Exception ex) { returnValue = new IcsCheckingFixture(); } return returnValue; } public DataTable GetUserInfo(string keyValue) { List parameter = new List(); var sql = @"select a.* from sys_srm_user a with(nolock) where 1 = 1 and a.F_Account = '" + keyValue + "' order by a.F_CreatorTime desc "; return Repository().FindDataSetBySql(sql.ToString(), parameter.ToArray()).Tables[0]; } public string SaveTransfer(string keyValue) { string returnValue = string.Empty; DateTime dtNow = DateTime.Now; 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 newStatus = string.Empty; try { string dtPre = DateTime.Now.ToString("yyyyMMdd"); string sql = @"EXEC Addins_GetSerialCode '" + WorkPoint + "','IcsCheckingFixtureTransfer','TransferNo','" + "LZ" + dtPre + "',3"; var serialNo = MsSqlData.ExecuteScalar(sql).ToStringExt(); var model = JsonConvert.DeserializeObject(keyValue); var count = MsSqlData.ExecuteScalar(" select count(1) from IcsCheckingFixtureTransfer with(nolock) where TransferNo='" + serialNo + "'").ToInt(); if (count > 0) { throw new Exception("当前单据已经存在"); } //count = MsSqlData.ExecuteScalar(" select count(1) from ICSLocation with(nolock) where LocationCode='" + model.LocationCode + "'").ToInt(); //if (count == 0) //{ // throw new Exception("当前库位不存在"); //} var checkFixyure = MsSqlData .Query("select top 1 * from IcsCheckingFixture with(nolock) where CheckFixtureNo='" + model.CheckFixtureNo + "'") .FirstOrDefault(); if (checkFixyure == null) { throw new Exception("当前检具档案不存在"); } if (checkFixyure.Status == "报废") { throw new Exception("当前检具档案已经报废,不能再次操作"); } if (model.TransferType == "领用") { if (checkFixyure.Status == "领用") { throw new Exception("当前检具已经被领用,不能再次领用"); } if (checkFixyure.VerifyDate.ToDate().AddDays(checkFixyure.VerifyPeriodDay.ToInt()) (model); entity.ID = Guid.NewGuid().ToString(); entity.TransferNo = serialNo;//单据编码 entity.OldStatus = checkFixyure.Status; entity.NewStatus = newStatus; entity.MUSER = MUSER; entity.MUSERName = MUSERNAME; entity.MTIME = dtNow; entity.WorkPoint = WorkPoint; entity.IsDelete = "N"; var result = MsSqlData.Insert(entity); if (!result) { returnValue = "新增失败"; } //更新档案最新流转日期 checkFixyure.LastTransferDate = dtNow; checkFixyure.Status = newStatus; result = MsSqlData.Update(checkFixyure); if (!result) { returnValue = "新增失败"; } } catch (Exception ex) { returnValue = ex.Message; } return returnValue; } public DataTable QueryTransferList(string queryJson, ref Pagination pagination) { DataTable dt = new DataTable(); var queryParam = queryJson.ToJObject(); List parameter = new List(); //object Figure = GetDecimalDigits(); string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode; string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName; #region [SQL] string sql = @" select a.* from ( select a.ID ,a.TransferType ,a.TransferNo ,a.TransferUser ,a.TransferUserName ,a.CheckFixtureNo ,b.CheckFixtureName ,b.CustomerItemCode ,b.Useage ,b.Std ,b.Unit ,a.Remark ,a.MUSERName ,a.MTIME from IcsCheckingFixtureTransfer a with(nolock) left join IcsCheckingFixture b with(nolock) on a.CheckFixtureNo=b.CheckFixtureNo and a.WorkPoint=b.WorkPoint <10> and a.IsDelete='N' --and a.CheckFixtureNo='JY001' --order by a.MTIME desc ) a where 1=1 <1> <2> <3> <4> <5> <6> "; // sql += " WHERE 1=1 and a.MOStatus<>'3' "; //sql = string.Format(sql, Figure); //sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName()); #endregion if (!string.IsNullOrWhiteSpace(queryJson)) { if (!string.IsNullOrWhiteSpace(queryParam["CheckFixtureNo"].ToString())) { sql = sql.Replace("<1>", " and a.CheckFixtureNo like '%" + queryParam["CheckFixtureNo"].ToString() + "%' "); } else { sql = sql.Replace("<1>", " "); } if (!string.IsNullOrWhiteSpace(queryParam["CheckFixtureName"].ToString())) { sql = sql.Replace("<2>", " and a.CheckFixtureName like '%" + queryParam["CheckFixtureName"].ToString() + "%' "); } else { sql = sql.Replace("<2>", " "); } if (!string.IsNullOrWhiteSpace(queryParam["TransferNo"].ToString())) { sql = sql.Replace("<3>", " and a.TransferNo like '%" + queryParam["TransferNo"].ToString() + "%' "); } else { sql = sql.Replace("<3>", " "); } if (!string.IsNullOrWhiteSpace(queryParam["TransferType"].ToString())) { sql = sql.Replace("<4>", " and a.TransferType ='" + queryParam["TransferType"].ToString() + "' "); } else { sql = sql.Replace("<4>", " "); } if (!string.IsNullOrWhiteSpace(queryParam["VerifyDateBegin"].ToString())) { sql = sql.Replace("<5>", " and a.MTIME>='" + queryParam["VerifyDateBegin"].ToString() + " 00:00:00' "); } else { sql = sql.Replace("<5>", " "); } if (!string.IsNullOrWhiteSpace(queryParam["VerifyDateEnd"].ToString())) { sql = sql.Replace("<6>", " and a.MTIME<='" + queryParam["VerifyDateEnd"].ToString() + " 23:59:59' "); } else { sql = sql.Replace("<6>", " "); } } //if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin") //{ // sql = sql.Replace("{0}", "and a.WorkPoint = '" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'"); // // sql += " and a.WorkPoint='" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location + "'"; //} //else //{ // sql = sql.Replace("{0}", ""); //} //if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode == "Vendor") //{ // sql += " and a.VenCode='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode + "'"; //} sql = sql.Replace("<10>", " where a.WorkPoint ='" + WorkPoint + "' "); return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref pagination); } public string SaveCheckingFixture(string keyValue) { string returnValue = string.Empty; string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode; string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName; string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; try { var model = JsonConvert.DeserializeObject(keyValue); int count = 0; count = MsSqlData.ExecuteScalar(" select count(1) from ICSLocation with(nolock) where LocationCode='" + model.LocationCode + "'").ToInt(); if (count == 0) { throw new Exception("当前库位不存在"); } if (string.IsNullOrEmpty(model.ID)) { //新增 count = MsSqlData.ExecuteScalar(" select count(1) from IcsCheckingFixture with(nolock) where CheckFixtureNo='" + model.CheckFixtureNo + "'").ToInt(); if (count > 0) { throw new Exception("当前代码已经存在"); } var entity = ConvertExt.Mapping(model); entity.ID = Guid.NewGuid().ToString(); entity.Status = "在库"; entity.MUSER = MUSER; entity.MUSERName = MUSERNAME; entity.MTIME = DateTime.Now; entity.WorkPoint = WorkPoint; var result = MsSqlData.Insert(entity); if (!result) { returnValue = "新增失败"; } } else { //修改 var entity = MsSqlData.Get(model.ID); if (entity == null) { throw new Exception("当前数据不存在"); } ConvertExt.Mapping(model, entity); //entity.MUSER = MUSER; //entity.MUSERName = MUSERNAME; // entity.MTIME = DateTime.Now; var result = MsSqlData.Update(entity); if (!result) { returnValue = "修改失败"; } } } catch (Exception ex) { returnValue = ex.Message; } return returnValue; } } }