diff --git a/WMS-BS/NFine.Application/WMS/BasicSettingsApp.cs b/WMS-BS/NFine.Application/WMS/BasicSettingsApp.cs index f09e514..abbb285 100644 --- a/WMS-BS/NFine.Application/WMS/BasicSettingsApp.cs +++ b/WMS-BS/NFine.Application/WMS/BasicSettingsApp.cs @@ -1731,23 +1731,28 @@ Values(NEWID(),'{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10} /// public string InsertICSContainer(string keyValue) { - var queryParam = keyValue.ToJObject(); + 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 msg = ""; + string sql = string.Empty; - sql = @"INSERT INTO dbo.ICSContainer + 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 ) Values(NEWID(),'{0}','{1}','{2}','{3}',GETDATE(),'{4}','{5}','{6}') "; sql = string.Format(sql, queryParam["ContainerID"].ToString(), queryParam["ContainerCODE"].ToString(), queryParam["ContainerName"].ToString(), queryParam["Memo"].ToString(), MUSER, MUSERNAME, WorkPoint); - try - { + if (SqlHelper.ExecuteNonQuery(sql) > 0) { - } + } else { msg = "新增失败"; @@ -2579,6 +2584,171 @@ SELECT DISTINCT a.ID,a.ContainerName FROM dbo.ICSContainer a "; return Repository().ExecuteBySql(Str); } + //包装容器 + public DataTable GetSendContainer(ref Pagination jqgridparam, string queryJson) + { + DataTable dt = new DataTable(); + var queryParam = queryJson.ToJObject(); + List parameter = new List(); + 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 GetContainerInfo(string Code) + { + DataTable dt = new DataTable(); + //var queryParam = queryJson.ToJObject(); + List parameter = new List(); + 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 DataTable GetBindContainerID(string SireCode) + { + DataTable dt = new DataTable(); + //var queryParam = queryJson.ToJObject(); + List parameter = new List(); + string sql = @" select ID from ICSContainer where ContainerCode='{0}'"; + sql = string.Format(sql, SireCode); + return Repository().FindTableBySql(sql.ToString()); + } + + + + public string BindingContainerID(string ICSMTDOC, string SireID) + { + 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; + } + + //包装容器关联条码 + public DataTable GetSendContainerLot(ref Pagination jqgridparam, string queryJson) + { + DataTable dt = new DataTable(); + var queryParam = queryJson.ToJObject(); + List parameter = new List(); + 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); + } + + + + public DataTable GetContainerLotInfo(string LotNo) + { + DataTable dt = new DataTable(); + //var queryParam = queryJson.ToJObject(); + List parameter = new List(); + string sql = @" select 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 where a.LotNo='{0}'"; + sql = string.Format(sql, LotNo); + return Repository().FindTableBySql(sql.ToString()); + } + + + public string BindingContainerLotID(string ICSMTDOC, string SireID,string SireCode) + { + 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; + } + + } } diff --git a/WMS-BS/NFine.Web/Areas/WMS/Controllers/BasicSettingsController.cs b/WMS-BS/NFine.Web/Areas/WMS/Controllers/BasicSettingsController.cs index 7d2625f..efe9d87 100644 --- a/WMS-BS/NFine.Web/Areas/WMS/Controllers/BasicSettingsController.cs +++ b/WMS-BS/NFine.Web/Areas/WMS/Controllers/BasicSettingsController.cs @@ -185,6 +185,15 @@ namespace NFine.Web.Areas.WMS.Controllers { return View(); } + + + //包装容器绑定 + [HttpGet] + public ActionResult ICSContainerBinding() + { + return View(); + } + [HttpGet] //不良代码 @@ -361,6 +370,12 @@ namespace NFine.Web.Areas.WMS.Controllers { return View(); } + + [HttpGet] + public ActionResult ICSContainerLotBinding() + { + return View(); + } // public ActionResult DownloadExcl(int day) // { @@ -2075,6 +2090,110 @@ namespace NFine.Web.Areas.WMS.Controllers return Error("上传失败"); } } + + //包装容器 + public ActionResult GetSendContainer(Pagination pagination, string queryJson) + { + DataTable ListData = App.GetSendContainer(ref pagination, queryJson); + var JsonData = new + { + total = pagination.total, + page = pagination.page, + records = pagination.records, + rows = ListData, + }; + return Content(JsonData.ToJson()); + } + + + [HttpGet] + [HandlerAjaxOnly] + public ActionResult GetContainerInfo(string Code) + + { + DataTable ListData = App.GetContainerInfo(Code); + var JsonData = new + { + rows = ListData, + }; + return Content(JsonData.ToJson()); + } + + + + [HttpGet] + [HandlerAjaxOnly] + public ActionResult GetBindContainerID(string SireCode) + { + DataTable ListData = App.GetBindContainerID(SireCode); + var JsonData = new + { + rows = ListData, + }; + return Content(JsonData.ToJson()); + } + + + + [HttpPost] + [HandlerAjaxOnly] + public ActionResult BindingContainerID(string ICSMTDOC, string SireID) + { + string msg = App.BindingContainerID(ICSMTDOC, SireID); + if (!string.IsNullOrEmpty(msg)) + { + return Error(msg); + } + else + { + return Success("绑定成功!"); + } + } + + //包装容器关联条码 + public ActionResult GetSendContainerLot(Pagination pagination, string queryJson) + { + DataTable ListData = App.GetSendContainerLot(ref pagination, queryJson); + var JsonData = new + { + total = pagination.total, + page = pagination.page, + records = pagination.records, + rows = ListData, + }; + return Content(JsonData.ToJson()); + } + + + [HttpGet] + [HandlerAjaxOnly] + public ActionResult GetContainerLotInfo(string LotNo) + + { + DataTable ListData = App.GetContainerLotInfo(LotNo); + var JsonData = new + { + rows = ListData, + }; + return Content(JsonData.ToJson()); + } + + + + [HttpPost] + [HandlerAjaxOnly] + public ActionResult BindingContainerLotID(string ICSMTDOC, string SireID,string SireCode) + { + string msg = App.BindingContainerLotID(ICSMTDOC, SireID, SireCode); + if (!string.IsNullOrEmpty(msg)) + { + return Error(msg); + } + else + { + return Success("绑定成功!"); + } + } } } diff --git a/WMS-BS/NFine.Web/Areas/WMS/Views/BasicSettings/ICSContainer.cshtml b/WMS-BS/NFine.Web/Areas/WMS/Views/BasicSettings/ICSContainer.cshtml index 201e249..945d2b6 100644 --- a/WMS-BS/NFine.Web/Areas/WMS/Views/BasicSettings/ICSContainer.cshtml +++ b/WMS-BS/NFine.Web/Areas/WMS/Views/BasicSettings/ICSContainer.cshtml @@ -639,6 +639,20 @@ } }); + } + function btn_Binding() { + debugger; + $.modalOpen({ + id: "ICSConfigurationABinding", + title: "绑定容器", + url: "/WMS/BasicSettings/ICSContainerBinding" + "?" + Math.random(), + width: "1000px", + height: "800px", + callBack: function (iframeId) { + top.frames[iframeId].submitForm(); + } + }); + } //删除库位 function btn_Delete() { @@ -810,6 +824,7 @@ 新增 删除 修改 + 绑定 全部导出 打印 导入模板下载 diff --git a/WMS-BS/NFine.Web/Areas/WMS/Views/BasicSettings/ICSContainerBinding.cshtml b/WMS-BS/NFine.Web/Areas/WMS/Views/BasicSettings/ICSContainerBinding.cshtml new file mode 100644 index 0000000..97436ea --- /dev/null +++ b/WMS-BS/NFine.Web/Areas/WMS/Views/BasicSettings/ICSContainerBinding.cshtml @@ -0,0 +1,192 @@ + +@{ + ViewBag.Title = "Index"; + Layout = "~/Views/Shared/_Index.cshtml"; +} + + + + +
+ +
+ + + + + + + +
父容器: + + + 需绑定容器: + +
+
+
+ +
+
+ 子表 +
+
+
+
+
+ + + + diff --git a/WMS-BS/NFine.Web/Areas/WMS/Views/BasicSettings/ICSContainerLot.cshtml b/WMS-BS/NFine.Web/Areas/WMS/Views/BasicSettings/ICSContainerLot.cshtml index 93154ad..f58e264 100644 --- a/WMS-BS/NFine.Web/Areas/WMS/Views/BasicSettings/ICSContainerLot.cshtml +++ b/WMS-BS/NFine.Web/Areas/WMS/Views/BasicSettings/ICSContainerLot.cshtml @@ -640,6 +640,24 @@ }); } + + function btn_Binding() { + debugger; + $.modalOpen({ + id: "ICSConfigurationLotBinding", + title: "绑定容器", + url: "/WMS/BasicSettings/ICSContainerLotBinding" + "?" + Math.random(), + width: "1000px", + height: "800px", + callBack: function (iframeId) { + top.frames[iframeId].submitForm(); + } + }); + + } + + + //删除库位 function btn_Delete() { debugger; @@ -809,6 +827,7 @@ 新增 删除 修改 + 绑定 全部导出 打印 导入模板下载 diff --git a/WMS-BS/NFine.Web/Areas/WMS/Views/BasicSettings/ICSContainerLotBinding.cshtml b/WMS-BS/NFine.Web/Areas/WMS/Views/BasicSettings/ICSContainerLotBinding.cshtml new file mode 100644 index 0000000..5822673 --- /dev/null +++ b/WMS-BS/NFine.Web/Areas/WMS/Views/BasicSettings/ICSContainerLotBinding.cshtml @@ -0,0 +1,191 @@ + +@{ + ViewBag.Title = "Index"; + Layout = "~/Views/Shared/_Index.cshtml"; +} + + + + +
+ +
+ + + + + + + +
容器: + + + 条码: + +
+
+
+ +
+
+ 子表 +
+
+
+
+
+ + + + + diff --git a/WMS-BS/NFine.Web/NFine.Web.csproj b/WMS-BS/NFine.Web/NFine.Web.csproj index 83ac41f..84cdbff 100644 --- a/WMS-BS/NFine.Web/NFine.Web.csproj +++ b/WMS-BS/NFine.Web/NFine.Web.csproj @@ -554,6 +554,8 @@ + +