From bec134656a5a8057435d77f5f8154928fb2625f9 Mon Sep 17 00:00:00 2001 From: bklLiudl <673013083@qq.com> Date: 星期三, 17 七月 2024 15:57:44 +0800 Subject: [PATCH] 更改sql写法 --- HTML/views/ASNSetting/ArrivalNoticeDetail.html | 68 +-- HTML/views/ASNSetting/SelMaterials.html | 502 ++++++++++++------------- Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs | 108 ++++- Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs | 416 +++++++++++++-------- Wms/Wms/Controllers/BllAsnController.cs | 4 Wms/WMS.Entity/BllAsnEntity/BllArrivalNoticeDetail.cs | 8 6 files changed, 603 insertions(+), 503 deletions(-) diff --git a/HTML/views/ASNSetting/ArrivalNoticeDetail.html b/HTML/views/ASNSetting/ArrivalNoticeDetail.html index 3c7406f..c8893fe 100644 --- a/HTML/views/ASNSetting/ArrivalNoticeDetail.html +++ b/HTML/views/ASNSetting/ArrivalNoticeDetail.html @@ -25,14 +25,22 @@ .layui-table-mend { position: relative; } + .input-dis { - position: absolute; /* 璁剧疆涓虹粷瀵瑰畾浣� */ - top: -25%; /* 椤堕儴瀵归綈 */ - right: 0; /* 鍙充晶瀵归綈 */ - bottom: 0; /* 搴曢儴瀵归綈 */ - left: 0; /* 宸︿晶瀵归綈 */ - width: 100%; /* 瀹藉害璁剧疆涓�100% */ - height: 150%; /* 楂樺害璁剧疆涓�100% */ + position: absolute; + /* 璁剧疆涓虹粷瀵瑰畾浣� */ + top: -25%; + /* 椤堕儴瀵归綈 */ + right: 0; + /* 鍙充晶瀵归綈 */ + bottom: 0; + /* 搴曢儴瀵归綈 */ + left: 0; + /* 宸︿晶瀵归綈 */ + width: 100%; + /* 瀹藉害璁剧疆涓�100% */ + height: 150%; + /* 楂樺害璁剧疆涓�100% */ background-color: transparent; border: none; text-align: center; @@ -59,26 +67,11 @@ <label class="layui-form-label">鍗曟嵁绫诲瀷</label> <div class="layui-input-inline"> <select name="Type" id="Type" lay-filter="Type" lay-search> - <!-- JC23 --> <option value="0">鎴愬搧鍏ュ簱</option> <option value="1">閲囪喘鍏ュ簱</option> - <option value="4">杞﹂棿浣欐枡閫�鍥炲叆搴�</option> - <option value="5">鍏跺畠鍏ュ簱</option> - <option value="6">浠e偍鍏ュ簱</option> - <!-- <option value=""></option> --> - <!-- JC24 --> - <!-- <option value="0" selected>鎴愬搧鍏ュ簱</option> - <option value="1">閲囪喘鍏ュ簱</option> - <option value="2">涓棿鍝佸叆搴�</option> --> - <!-- <option value="3">閫�璐у叆搴�</option> --> - <!-- <option value="4">杞﹂棿浣欐枡閫�鍥炲叆搴�</option> - <option value="5">鍏跺畠鍏ュ簱</option> - <option value="6">浠e偍鍏ュ簱</option> - <option value="7">瀵勫瓨鍏ュ簱</option> --> - <!-- JC08 --> - <!-- <option value="0">鎴愬搧鍏ュ簱</option> - <option value="1">鍘熸枡鍏ュ簱</option> - <option value="2">閫�璐у叆搴�</option> --> + <option value="2">涓棿鍝佸叆搴�</option> + <option value="3">閫�璐у叆搴�</option> + <option value="4">浣欐枡閫�鍥炲叆搴�</option> </select> </div> @@ -259,7 +252,7 @@ if (elem.data('value') != '' && elem.data('value') != undefined) { elem.val(elem.data('value')).parents('table.layui-table-cell').css('overflow', 'visible'); } - }); + }); form.render(); //鑷畾涔夊垪瀹� SetTableColW('LAY-app-content-list', 'BllAsn/GetArrivalNoticeDetailList2', TotalColsSysArr); @@ -409,29 +402,6 @@ } } }) - - // var IsBaleValue = ""; - // form.on('switch(IsBaleDemo)', function (obj) { - // layer.tips(this.value + ' ' + this.name + '锛�' + obj.elem.checked, obj.othis); - // if (obj.elem.checked) { - // IsBaleValue = "1"; - // } else { - // IsBaleValue = "0"; - // } - // }); - - // table.on('row(LAY-app-content-list)', function (obj) { - // if (IsBaleValue != "") { - // for (var j in arr) { - // if (obj.data.SkuNo == arr[j].SkuNo) { - // arr[j].IsBale = IsBaleValue; - // IsBaleValue = "" - // break; - // } - // } - // } - - // }) // 鍒犻櫎鍏ュ簱鍗曟槑缁� table.on('tool(LAY-app-content-list)', function (obj) { diff --git a/HTML/views/ASNSetting/SelMaterials.html b/HTML/views/ASNSetting/SelMaterials.html index 574025d..f6b7452 100644 --- a/HTML/views/ASNSetting/SelMaterials.html +++ b/HTML/views/ASNSetting/SelMaterials.html @@ -1,283 +1,271 @@ <!DOCTYPE html> <html> - <head> - <meta charset="utf-8"> - <title>閫夋嫨鐗╂枡淇℃伅</title> - <meta name="renderer" content="webkit"> - <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> - <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"> - <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all"> - </head> - <body> - <div class="layui-fluid"> - <div class="layui-card"> - <div class="layui-form layui-card-header layuiadmin-card-header-auto"> - <div class="layui-form-item"> - <div class="layui-inline"> - <label class="layui-form-label">鍏抽敭瀛�</label> - <div class="layui-input-inline"> - <input type="text" id="Msg" name="Msg" placeholder="缂栫爜/鍚嶇О/瑙勬牸" autocomplete="off" class="layui-input"> - </div> - </div> - <div class="layui-inline"> - <label class="layui-form-label">鍗曟嵁绫诲瀷</label> - <div class="layui-input-inline"> - <select name="Type" id="Type" lay-filter="Type" disabled="disabled" - lay-search> - <option value="0">鎴愬搧鍏ュ簱</option> - <option value="1">閲囪喘鍏ュ簱</option> - <option value="2">涓棿鍝佸叆搴�</option> - <option value="3">閫�璐у叆搴�</option> - <option value="4">杞﹂棿浣欐枡閫�鍥炲叆搴�</option> - <option value="5">鍏跺畠鍏ュ簱</option> - <option value="6">浠e偍鍏ュ簱</option> - <option value="7">瀵勫瓨鍏ュ簱</option> - </select> - </div> - </div> - <div class="layui-inline"> - <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit lay-filter="LAY-app-contlist-search"> - <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>鎼滅储 - </button> - <button class="layui-btn layui-btn-sm layuiadmin-btn-list" data-type="setParent">纭畾</button> +<head> + <meta charset="utf-8"> + <title>閫夋嫨鐗╂枡淇℃伅</title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" + content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"> + <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all"> +</head> + +<body> + + <div class="layui-fluid"> + <div class="layui-card"> + <div class="layui-form layui-card-header layuiadmin-card-header-auto"> + <div class="layui-form-item"> + <div class="layui-inline"> + <label class="layui-form-label">鍏抽敭瀛�</label> + <div class="layui-input-inline"> + <input type="text" id="Msg" name="Msg" placeholder="缂栫爜/鍚嶇О/瑙勬牸" autocomplete="off" + class="layui-input"> </div> </div> - </div> - <div class="layui-card-body"> - <table id="goods-list" lay-filter="goods-list"></table> + <div class="layui-inline"> + <label class="layui-form-label">鍗曟嵁绫诲瀷</label> + <div class="layui-input-inline"> + <select name="Type" id="Type" lay-filter="Type" disabled="disabled" lay-search> + <option value="0">鎴愬搧鍏ュ簱</option> + <option value="1">閲囪喘鍏ュ簱</option> + <option value="2">涓棿鍝佸叆搴�</option> + <option value="3">閫�璐у叆搴�</option> + <option value="4">浣欐枡閫�鍥炲叆搴�</option> + </select> + </div> + </div> + <div class="layui-inline"> + <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit + lay-filter="LAY-app-contlist-search"> + <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>鎼滅储 + </button> + <button class="layui-btn layui-btn-sm layuiadmin-btn-list" data-type="setParent">纭畾</button> + </div> </div> </div> + <div class="layui-card-body"> + <table id="goods-list" lay-filter="goods-list"></table> + </div> </div> + </div> - <script src="../../layuiadmin/layui/layui.js"></script> - <script src="../../js/jquery-3.5.1.min.js"></script> - <script src="../../js/jquery.cookie.js"></script> - <script src="../../js/public.js"></script> - - <script> - layui.config({ - base: '../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰� - }).extend({ - index: 'lib/index' //涓诲叆鍙fā鍧� - }).use(['index', 'table', 'laypage', 'layer'], function() { - var table = layui.table, - form = layui.form, - laypage = layui.laypage, - index1 = parent.layer.getFrameIndex(window.name), - layer = layui.layer; + <script src="../../layuiadmin/layui/layui.js"></script> + <script src="../../js/jquery-3.5.1.min.js"></script> + <script src="../../js/jquery.cookie.js"></script> + <script src="../../js/public.js"></script> + + <script> + layui.config({ + base: '../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰� + }).extend({ + index: 'lib/index' //涓诲叆鍙fā鍧� + }).use(['index', 'table', 'laypage', 'layer'], function () { + var table = layui.table, + form = layui.form, + laypage = layui.laypage, + index1 = parent.layer.getFrameIndex(window.name), + layer = layui.layer; - // 鑾峰彇涓婃父椤甸潰鐨勪紶鍊� - getQueryString('type'); - + // 鑾峰彇涓婃父椤甸潰鐨勪紶鍊� + getQueryString('type'); - function getQueryString(name) { - var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); - var r = window.location.search.substr(1).match(reg); - if (r != null) - { - // $("#Type").empty(); - // if (unescape(r[2]) == 0) - // { - // $("#Type").append('<option value ="0" Selected >鏍囧噯鐗╂枡</option>'); - // $("#Type").append('<option value ="1">闈炴爣鐗╂枡</option>'); - // } - // if (unescape(r[2]) == 1) - // { - // $("#Type").append('<option value ="0">鏍囧噯鐗╂枡</option>'); - // $("#Type").append('<option value ="1" Selected >闈炴爣鐗╂枡</option>'); - // } + function getQueryString(name) { + var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); + var r = window.location.search.substr(1).match(reg); - - $("#Type").val(unescape(r[2])); // "optionValue"涓洪渶瑕佽閫変腑鐨勯�夐」鐨剉alue灞炴�у�� - form.render('select'); - } + if (r != null) { - //return null; + $("#Type").val(unescape(r[2])); // "optionValue"涓洪渶瑕佽閫変腑鐨勯�夐」鐨剉alue灞炴�у�� + form.render('select'); } + //return null; + } - refreshTable(); - var active = { - setParent: function(){ - var checkStatus = table.checkStatus('goods-list'); - var id = '#LAY-app-content-list',goods = $('#goods-list'); - if(checkStatus.data.length == 0) - { - parent.layer.msg('璇烽�夋嫨寰呭叆搴撶殑鐗╂枡锛�'); - return true; + refreshTable(); + + var active = { + setParent: function () { + var checkStatus = table.checkStatus('goods-list'); + var id = '#LAY-app-content-list', goods = $('#goods-list'); + if (checkStatus.data.length == 0) { + parent.layer.msg('璇烽�夋嫨寰呭叆搴撶殑鐗╂枡锛�'); + return true; } window.parent.success(checkStatus.data); - parent.layer.close(index1); - } - }; - $('.layui-inline .layui-btn').on('click', function(){ - var othis = $(this) - ,type = othis.data('type'); - active[type] && active[type].call(this); - }); - - - var tableIns; - function refreshTable() { - var param = { - SkuNo: $("#Msg").val(), - Type: $("#Type").val() - }; - - sendData(IP + "/BllAsn/GetMaterialsList", param, 'post', function(res) { - if (res.code == 0) { //鎴愬姛 - var list = res.data; - $.extend(infoOptions, { - data: list - }); - infoOptions.page = { - curr: 1 - } - tableIns = table.render(infoOptions); - } else { //涓嶆垚鍔� - layer.msg('鑾峰彇鐗╂枡淇℃伅澶辫触锛�', { - icon: 2, - time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 - }, function() {}); - } - }); - + parent.layer.close(index1); } - // 琛ㄥ崟闇�瑕佺殑鍙橀噺 - var infoOptions = { - elem: '#goods-list', - height: 'full-100', - id: 'goods-list', - page: true, - limit: pageCnt, - limits: pageLimits, - cellMinWidth: 80, //鍏ㄥ眬瀹氫箟甯歌鍗曞厓鏍肩殑鏈�灏忓搴︼紝layui 2.2.1 鏂板 - cols: [ - [{ - field: 'SkuId', - title: 'Id', - type: 'checkbox', - width: 100, - sort: true, - fixed: 'left' - }, { - field: 'SkuNo', - title: '鐗╂枡缂栫爜', - width: 100, - fixed: 'left' - }, { - field: 'SkuName', - title: '鐗╂枡鍚嶇О', - width: 180, - },{ - field: 'Standard', - title: '瑙勬牸', - align: 'center', - width: 180 - }, { - field: 'Type', - title: '绫诲瀷', - width: 100, - templet: function (d) { - switch (d.Type) { - case "0" : return "鍘熸枡"; - case "1" : return "鍖呮潗"; - case "2" : return "鎴愬搧"; - case "3" : return "鑰楁潗"; - case "4" : return "鍗婃垚鍝�"; - default : return ""; - } - } - }, { - field: 'IsControlled', - title: '鏄惁鏍囧噯', - // JC08 title: '鏄惁鍙楁帶', - width: 100, - // JC09 - templet: function (d) { - switch (d.IsControlled) { - case "0" : return "鏍囧噯"; - case "1" : return "闈炴爣"; - default : return ""; - } - }, - // JC08 - // templet: function (d) { - // switch (d.IsBale) { - // case "0" : return "鍙楁帶"; - // case "1" : return "闈炲彈鎺�"; - // default : return ""; - // } - // } - },{ - field: 'IsInspect', - title: '鏄惁鍏嶆', - width: 100, - templet: function (d) { - switch (d.IsInspect) { - case "0" : return "鍚�"; - case "1" : return "鏄�"; - default : return ""; - } - }, - },{ - field: 'Origin', - title: '鏉ユ簮', - width: 120 - },{ - field: 'UnitName', - title: '璁¢噺鍗曚綅', - width: 100, - }, { - field: 'PackagName', - title: '鍖呰鍚嶇О', - width: 120 - }, { - field: 'Environment', - title: '瀛樺偍鐜', - width: 120, - templet: function (d) { - switch (d.Environment) { - case "0" : return "甯告俯"; - case "1" : return "浣庢俯"; - case "3" : return "骞茬嚗閫氶"; - default : return ""; - } - }, - }, { - field: 'Weight', - title: '鐞嗚閲嶉噺', - width: 100 - }, - // { - // field: 'Price', - // title: '鐞嗚鍗曚环', - // width: 100, - // hide:true - // }, - { - field: 'Warranty', - title: '淇濊川鏈�(澶�)', - width: 100 - },{ - field: 'GoodsRemark', - title: '澶囨敞', - width: 160 - } - ] - ], - + }; + $('.layui-inline .layui-btn').on('click', function () { + var othis = $(this) + , type = othis.data('type'); + active[type] && active[type].call(this); + }); + + + var tableIns; + function refreshTable() { + var param = { + SkuNo: $("#Msg").val(), + Type: $("#Type").val() }; - //鐩戝惉鎼滅储 - form.on('submit(LAY-app-contlist-search)', function(data) { - refreshTable(); + sendData(IP + "/BllAsn/GetMaterialsList", param, 'post', function (res) { + if (res.code == 0) { //鎴愬姛 + var list = res.data; + $.extend(infoOptions, { + data: list + }); + infoOptions.page = { + curr: 1 + } + tableIns = table.render(infoOptions); + } else { //涓嶆垚鍔� + layer.msg('鑾峰彇鐗╂枡淇℃伅澶辫触锛�', { + icon: 2, + time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + }, function () { }); + } }); + + } + // 琛ㄥ崟闇�瑕佺殑鍙橀噺 + var infoOptions = { + elem: '#goods-list', + height: 'full-100', + id: 'goods-list', + page: true, + limit: pageCnt, + limits: pageLimits, + cellMinWidth: 80, //鍏ㄥ眬瀹氫箟甯歌鍗曞厓鏍肩殑鏈�灏忓搴︼紝layui 2.2.1 鏂板 + cols: [ + [{ + field: 'SkuId', + title: 'Id', + type: 'checkbox', + width: 100, + sort: true, + fixed: 'left' + }, { + field: 'SkuNo', + title: '鐗╂枡缂栫爜', + width: 100, + fixed: 'left' + }, { + field: 'SkuName', + title: '鐗╂枡鍚嶇О', + width: 180, + }, { + field: 'Standard', + title: '瑙勬牸', + align: 'center', + width: 180 + }, { + field: 'Type', + title: '绫诲瀷', + width: 100, + templet: function (d) { + switch (d.Type) { + case "0": return "鍘熸枡"; + case "1": return "鍖呮潗"; + case "2": return "鎴愬搧"; + case "3": return "鑰楁潗"; + case "4": return "鍗婃垚鍝�"; + default: return ""; + } + } + }, { + field: 'IsControlled', + title: '鏄惁鏍囧噯', + // JC08 title: '鏄惁鍙楁帶', + width: 100, + // JC09 + templet: function (d) { + switch (d.IsControlled) { + case "0": return "鏍囧噯"; + case "1": return "闈炴爣"; + default: return ""; + } + }, + // JC08 + // templet: function (d) { + // switch (d.IsBale) { + // case "0" : return "鍙楁帶"; + // case "1" : return "闈炲彈鎺�"; + // default : return ""; + // } + // } + }, { + field: 'IsInspect', + title: '鏄惁鍏嶆', + width: 100, + templet: function (d) { + switch (d.IsInspect) { + case "0": return "鍚�"; + case "1": return "鏄�"; + default: return ""; + } + }, + }, { + field: 'Origin', + title: '鏉ユ簮', + width: 120 + }, { + field: 'UnitName', + title: '璁¢噺鍗曚綅', + width: 100, + }, { + field: 'PackagName', + title: '鍖呰鍚嶇О', + width: 120 + }, { + field: 'Environment', + title: '瀛樺偍鐜', + width: 120, + templet: function (d) { + switch (d.Environment) { + case "0": return "甯告俯"; + case "1": return "浣庢俯"; + case "3": return "骞茬嚗閫氶"; + default: return ""; + } + }, + }, { + field: 'Weight', + title: '鐞嗚閲嶉噺', + width: 100 + }, + // { + // field: 'Price', + // title: '鐞嗚鍗曚环', + // width: 100, + // hide:true + // }, + { + field: 'Warranty', + title: '淇濊川鏈�(澶�)', + width: 100 + }, { + field: 'GoodsRemark', + title: '澶囨敞', + width: 160 + } + ] + ], + + }; + + //鐩戝惉鎼滅储 + form.on('submit(LAY-app-contlist-search)', function (data) { + refreshTable(); }); - </script> - </body> -</html> + }); + </script> +</body> + +</html> \ No newline at end of file diff --git a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs index 829458d..93c6c16 100644 --- a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs +++ b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs @@ -8,18 +8,15 @@ using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; -using Model.ModelVm.BllAsnVm; -using Newtonsoft.Json; -using Utility.Tools; +using System.Threading.Tasks; using WMS.BLL.LogServer; using WMS.DAL; using WMS.Entity.BllAsnEntity; +using WMS.Entity.BllSoEntity; using WMS.Entity.Context; +using WMS.Entity.DataEntity; using WMS.Entity.SysEntity; using WMS.IBLL.IBllAsnServer; -using WMS.Entity.BllSoEntity; -using WMS.Entity.DataEntity; -using System.Threading.Tasks; namespace WMS.BLL.BllAsnServer { @@ -68,7 +65,7 @@ CustomerName = tb1.CustomerName, LotNo = tb1.LotNo, LotText = tb1.LotText, - CheckTime = tb1.CheckTime.ToString(), + CheckTime = ((DateTime)tb1.CheckTime).ToString("yyyy-MM-dd HH:mm:ss"), CheckUserName = tb5.RealName, SupplierLot = tb1.SupplierLot, Demo = tb1.Demo, @@ -76,7 +73,7 @@ CompleteTime = tb1.CompleteTime, CreateTime = tb1.CreateTime, CreateUserName = tb3.RealName, - UpdateTime = tb1.UpdateTime.ToString(), + UpdateTime = ((DateTime)tb1.UpdateTime).ToString("yyyy-MM-dd HH:mm:ss"), UpdateUserName = tb4.RealName }).ToPageListAsync(model.Page, model.Limit, count); @@ -129,8 +126,8 @@ CompleteTime = tb1.CompleteTime, CreateTime = tb1.CreateTime, CreateUserName = tb3.RealName, - UpdateTime = tb1.UpdateTime.ToString(), - UpdateUserName = tb4.RealName + UpdateTime = ((DateTime)tb1.UpdateTime).ToString("yyyy-MM-dd HH:mm:ss"), + UpdateUserName = tb4.RealName }).ToPageListAsync(model.Page, model.Limit, count); return modelList; @@ -165,49 +162,32 @@ { string skuType = string.Empty; int IsPack = 2; // 0锛氫笉璐� 1锛氳创 2锛氫笉绠� - /** - * 鎴愬搧璐� 0 - * 閲囪喘鍙创鍙笉璐� 1 + /** model.type 锛堝崟鎹被鍨�) + * 鎴愬搧鍏ュ簱 0 + * 閲囪喘鍏ュ簱 1 * 涓棿鍝佷笉璐� 2 - * 閫�璐ц创 3 - * 浣欐枡閫�鍥炲彲璐村彲涓嶈创 4 - * 鍏跺畠鍙创鍙笉璐� 5 - * 浠e偍涓嶈创 6 - * 瀵勫瓨涓嶈创 7 + * 閫�璐у叆搴� 3 + * 浣欐枡閫�鍥炲叆搴� 4 */ switch (model.Type)//0锛氬師鏂� 1锛氬寘鏉� 2锛氭垚鍝� 3锛氳�楁潗 4锛氬崐鎴愬搧 { case "0"://鎴愬搧鍏ュ簱 skuType = "(2)"; - IsPack = 1; //璐� break; case "1"://閲囪喘鍏ュ簱 skuType = "(0,1,3)"; break; case "2"://涓棿鍝佸叆搴� skuType = "(4)"; - IsPack = 0; //涓嶈创 break; case "3"://閫�璐у叆搴� - skuType = "(0,2)"; - IsPack = 1; //璐� + skuType = "(2)"; break; case "4"://杞﹂棿浣欐枡閫�鍥炲叆搴� - skuType = "(0,1,3)"; - break; - case "5"://鍏跺畠鍏ュ簱 - skuType = "(0,1,2,3,4)"; - break; - case "6"://浠e偍鍏ュ簱 - skuType = "(2)"; - IsPack = 0; //涓嶈创 - break; - case "7"://瀵勫瓨鍏ュ簱 - //skuType = "(3)"; - IsPack = 0; //涓嶈创 + skuType = "(0,1,2,3)"; break; default: //鍏跺畠 - //skuType = "(0,1,2,3,4)"; + skuType = "(0,1,2,3,4)"; break; } @@ -229,8 +209,6 @@ .Includes(x => x.UnitInfo) .Includes(x => x.PackagInfo) .ToList(); - - return data.Select(m => new MaterialsDto() { @@ -266,10 +244,15 @@ public string AddArrivalNotice(ArrivalNoticeVm model) { string strMessage = ""; - string sqlString = string.Empty; - string sqlDetailStr = string.Empty; - //0锛氭垚鍝佸叆搴� 1锛氶噰璐叆搴� 2锛氫腑闂村搧鍏ュ簱 3锛氶��璐у叆搴� 4锛氳溅闂翠綑鏂欏叆搴� 5锛氬叾瀹冨叆搴� 6锛氫唬鍌ㄥ叆搴� 7锛氬瘎瀛樺叆搴� - var TypeLot = "1, 5, 6, 7"; //鎵规鍙负绌哄崟鎹被鍨� + + /** model.type 锛堝崟鎹被鍨�) + * 鎴愬搧鍏ュ簱 0 + * 閲囪喘鍏ュ簱 1 + * 涓棿鍝佷笉璐� 2 + * 閫�璐у叆搴� 3 + * 浣欐枡閫�鍥炲叆搴� 4 + */ + var TypeLot = "1, 5, 6, 7"; //鎵规鍙负绌哄崟鎹被鍨� try { @@ -291,14 +274,23 @@ lock (AsnLock) { - sqlString += "Insert into BllArrivalNotice (ASNNo,Type,Origin,CustomerNo,"; - sqlString += "CustomerName,LotNo,LotText,SupplierLot,CreateUser) values ( "; - sqlString += $"'{model.ASNNo}','{model.Type}','{model.Origin}','{model.CustomerNo}', "; - sqlString += $"'{model.CustomerName}','{model.LotNo}','{model.LotText}','{model.SupplierLot}','{model.CreateUser}');"; + // 鎬昏〃瀹炰綋璧嬪�� + BllArrivalNotice ASNModel = new BllArrivalNotice() + { + ASNNo = model.ASNNo, + Type = model.Type, + Origin = model.Origin, + CustomerNo = model.CustomerNo, + CustomerName = model.CustomerName, + Status = "0", + LotNo = model.LotNo, + LotText = model.LotText, + SupplierLot = model.SupplierLot, + CreateUser = (int)model.CreateUser + }; - var detailModels = model.AsnDetail; - - foreach (ArrivalNoticeDetailVm detailModel in detailModels) + List<BllArrivalNoticeDetail> details = new List<BllArrivalNoticeDetail>(); + foreach (ArrivalNoticeDetailVm detailModel in model.AsnDetail) { if (string.IsNullOrEmpty(detailModel.SkuNo)) { @@ -315,8 +307,7 @@ strMessage = "-1:鏁伴噺蹇呴』澶т簬0;"; continue; } - //鍒ゆ柇鏄惁涓洪噰璐叆搴撳崟鎹垨杞﹂棿浣欐枡閫�鍥炲叆搴� - // 0锛氭垚鍝佸叆搴� 1锛氶噰璐叆搴� 2锛氫腑闂村搧鍏ュ簱 3锛氶��璐у叆搴� 4锛氳溅闂翠綑鏂欓��鍥炲叆搴� 5锛氬叾瀹冨叆搴� 6锛氫唬鍌ㄥ叆搴� 7锛氬瘎瀛樺叆搴� + if (model.Type == "1" || model.Type == "5" || model.Type == "6" || model.Type == "7") { if (!string.IsNullOrWhiteSpace(detailModel.LotNo)) @@ -356,10 +347,14 @@ throw new Exception("褰撳墠鍗曟嵁绫诲瀷鎵规涓嶅彲涓虹┖!"); } } + // 鍒ゆ柇鏄惁宸插瓨鍦ㄥ綋鍓嶆槑缁� - string sqlCount = $"SELECT COUNT(ID) FROM BllArrivalNoticeDetail where ASNNo = '{model.ASNNo}' "; - sqlCount += $"and SkuNo ='{detailModel.SkuNo}' and LotNo = '{detailModel.LotNo}' and id != '{detailModel.Id}' and isdel = '0';"; - var com = new Common().GetRowCount(sqlCount); + int com = Db.Queryable<BllArrivalNoticeDetail>() + .Where(m => m.ASNNo == model.ASNNo + && m.SkuNo == detailModel.SkuNo + && m.LotNo == detailModel.LotNo + && m.Id != (int)detailModel.Id + && m.IsDel == "0").ToList().Count(); if (com > 0) { strMessage = "-1:鐗╂枡鍜屾壒娆″彿閲嶅;"; @@ -371,26 +366,54 @@ } // 璁$畻鍑烘�婚噾棰� detailModel.Money = detailModel.Price * detailModel.Qty; - sqlDetailStr += "Insert into BllArrivalNoticeDetail (ASNNo,SkuNo,SkuName,Standard,"; - sqlDetailStr += "LotNo,LotText,Qty,PackagNo,Price,Money,IsBale,IsBelt,SupplierLot,Status,IsSampling,InspectStatus,UDF1,UDF2,UDF3,UDF4,UDF5,CreateUser) values ( "; - sqlDetailStr += $"'{model.ASNNo}','{detailModel.SkuNo}','{detailModel.SkuName}','{detailModel.Standard}', "; - sqlDetailStr += $"'{detailModel.LotNo.Trim()}','{detailModel.LotText}','{detailModel.Qty}','{detailModel.PackagNo}','{detailModel.Price}', "; - sqlDetailStr += $"{detailModel.Money},'{detailModel.IsBale}','{detailModel.IsBelt}','{detailModel.SupplierLot}','0','0','0','{detailModel.UDF1}','{detailModel.UDF2}','{detailModel.UDF3}','{detailModel.UDF4}','{detailModel.UDF5}','{model.CreateUser}');"; - } + BllArrivalNoticeDetail detail = new BllArrivalNoticeDetail() + { + ASNNo = model.ASNNo, + SkuNo = detailModel.SkuNo, + SkuName = detailModel.SkuName, + Standard = detailModel.Standard, + LotNo = detailModel.LotNo.Trim(), + LotText = detailModel.LotText, + Qty = (decimal)detailModel.Qty, + PackagNo = detailModel.PackagNo, + FactQty = 0, // 宸茬粍鏁伴噺 + CompleteQty = 0, // 瀹屾垚鏁伴噺 + Price = detailModel.Price, + Money = detailModel.Money, + IsBale = detailModel.IsBale, + IsBelt = detailModel.IsBelt, + SupplierLot = detailModel.SupplierLot, + Status = "0", + IsSampling = "0", + InspectStatus = "0", + UDF1 = detailModel.UDF1, + UDF2 = detailModel.UDF2, + UDF3 = detailModel.UDF3, + UDF4 = detailModel.UDF4, + UDF5 = detailModel.UDF5, + CreateUser = (int)model.CreateUser, + }; - if (sqlDetailStr == string.Empty) + details.Add(detail); + } + + // 鍒ゆ柇鏄惁瀛樺湪琚繃婊ゆ帀鐨勬槑缁� + if (details.Count <= 0) { return strMessage; } + Db.Ado.BeginTran(); - int rowCount = Db.Ado.ExecuteCommand(sqlString); - var rowDetailCount = 1; - if (sqlDetailStr.Length > 0) + var rowCount = Db.Insertable(ASNModel).ExecuteCommand(); + + var rowDetailCount = 0; + if (details.Count > 0) { - rowDetailCount = Db.Ado.ExecuteCommand(sqlDetailStr); + rowDetailCount = Db.Insertable(details).ExecuteCommand(); } Db.Ado.CommitTran(); + if (rowCount > 0 && rowDetailCount > 0) { new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鍗曟嵁", model.ASNNo, "娣诲姞", $"娣诲姞浜嗗崟鎹彿涓簕model.ASNNo}鐨勫崟鎹俊鎭�", Convert.ToInt32(model.CreateUser)); @@ -427,29 +450,31 @@ //7 蹇呴』涓虹┖ var TypeLot = "1, 5, 6, 7"; //鎵规涓虹敓鎴愭壒娆″崟鎹被鍨� - //if (model.Origin != "褰曞叆") - //{ - // strMessage = "-1:涓婃父绯荤粺涓嬪彂鐨勫崟鎹紝涓嶅彲缂栬緫;"; - // return strMessage; - //} - - sqlString += $"select * from BllArrivalNotice where ASNNo = '{model.ASNNo}' and isDel = '0';"; - var asnInfo = Db.Ado.SqlQuery<BllArrivalNotice>(sqlString).FirstOrDefault(); + var asnInfo = Db.Queryable<BllArrivalNotice>().First(m => m.ASNNo == model.ASNNo && m.IsDel == "0"); + if (asnInfo == null) + { + strMessage = "-1:鍗曞彿涓嶅瓨鍦紝鎴栧凡鍒犻櫎!;"; + return strMessage; + } if (asnInfo.Status != "0") { strMessage = "-1:鍗曟嵁鐘舵�佸彉鏇达紝涓嶅彲缂栬緫;"; return strMessage; } - sqlString = "UPDATE BllArrivalNotice SET "; - sqlString += $"CustomerNo = '{model.CustomerNo}',CustomerName = '{model.CustomerName}',"; - sqlString += $"LotNo = '{model.LotNo}',LotText = '{model.LotText}',"; - sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' "; - sqlString += $"WHERE ASNNo = '{model.ASNNo}'"; + var dateTime = DateTime.Now; + // 缂栬緫鎬诲崟 + asnInfo.CustomerNo = model.CustomerNo; + asnInfo.CustomerName = model.CustomerName; + asnInfo.LotNo = model.LotNo; + asnInfo.LotText = model.LotText; + asnInfo.UpdateTime = dateTime; + asnInfo.UpdateUser = model.CreateUser; var detailModels = model.AsnDetail; sqlDetailStr += $"SELECT * FROM BllArrivalNoticeDetail WHERE ASNNo = '{model.ASNNo}' and isDel = '0';"; - var dbDetailModels = DataContext.Db.Ado.SqlQuery<BllArrivalNoticeDetail>(sqlDetailStr); + //var dbDetailModels = DataContext.Db.Ado.SqlQuery<BllArrivalNoticeDetail>(sqlDetailStr); + var dbDetailModels = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.ASNNo == model.ASNNo && m.IsDel == "0").ToList(); sqlDetailStr = string.Empty; // 澶勭悊宸插垹闄ょ殑鏄庣粏 @@ -457,13 +482,16 @@ { if (detailModels.Count(it => it.Id == dbDetailModel.Id) == 0) { - sqlDetailStr += $"UPDATE BllArrivalNoticeDetail SET IsDel = '1',"; - sqlDetailStr += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' "; - sqlDetailStr += $"WHERE Id = {dbDetailModel.Id};"; + dbDetailModel.IsDel = "1"; + dbDetailModel.UpdateTime = dateTime; + dbDetailModel.UpdateUser = model.CreateUser; } } - string toDayTime = DateTime.Now.ToString("yyyyMMdd"); + // 澶勭悊淇敼鍜屾坊鍔犵殑鏄庣粏 + string toDayTime = dateTime.ToString("yyyymmdd"); + List<BllArrivalNoticeDetail> addDetails = new List<BllArrivalNoticeDetail>(); + List<BllArrivalNoticeDetail> editDetails = new List<BllArrivalNoticeDetail>(); foreach (ArrivalNoticeDetailVm detailModel in detailModels) { if (string.IsNullOrEmpty(detailModel.SkuNo)) @@ -491,9 +519,7 @@ } // 鍒ゆ柇鏄惁宸插瓨鍦ㄥ綋鍓嶆槑缁� - string sqlCount = $"SELECT COUNT(ID) FROM BllArrivalNoticeDetail where ASNNo = '{model.ASNNo}' "; - sqlCount += $"and SkuNo ='{detailModel.SkuNo}' and LotNo = '{detailModel.LotNo}' and id != '{detailModel.Id}' and isdel = '0';"; - var com = new Common().GetRowCount(sqlCount); + var com = dbDetailModels.Where(m => m.SkuNo == detailModel.SkuNo && m.LotNo == detailModel.LotNo && m.Id != detailModel.Id && m.IsDel == "0").Count(); if (com > 0) { strMessage = "-1:鐗╂枡鍜屾壒娆″彿閲嶅;"; @@ -538,13 +564,33 @@ } // 璁$畻鍑烘�婚噾棰� detailModel.Money = detailModel.Price * detailModel.Qty; - sqlDetailStr += "Insert into BllArrivalNoticeDetail (ASNNo,SkuNo,SkuName,Standard,"; - sqlDetailStr += "LotNo,LotText,Qty,PackagNo,Price,Money,IsBale,IsBelt,SupplierLot,Status,UDF1,UDF2,UDF3,UDF4,UDF5,CreateUser) values ( "; - sqlDetailStr += $"'{model.ASNNo}','{detailModel.SkuNo}','{detailModel.SkuName}','{detailModel.Standard}', "; - sqlDetailStr += $"'{detailModel.LotNo.Trim()}','{detailModel.LotText}','{detailModel.Qty}','{detailModel.PackagNo}','{detailModel.Price}', "; - sqlDetailStr += $"{detailModel.Money},'{detailModel.IsBale}','{detailModel.IsBelt}','{detailModel.SupplierLot}','0','{detailModel.UDF1}','{detailModel.UDF2}','{detailModel.UDF3}','{detailModel.UDF4}','{detailModel.UDF5}','{model.CreateUser}');"; - - + + BllArrivalNoticeDetail addModel = new BllArrivalNoticeDetail() + { + ASNNo = model.ASNNo, + SkuNo = detailModel.SkuNo, + SkuName = detailModel.SkuName, + Standard = detailModel.Standard, + LotNo = detailModel.LotNo.Trim(), + LotText = detailModel.LotText, + Qty = (decimal)detailModel.Qty, + PackagNo = detailModel.PackagNo, + Price = detailModel.Price, + Money = detailModel.Money, + FactQty = 0, // 宸茬粍鏁伴噺 + CompleteQty = 0, // 瀹屾垚鏁伴噺 + IsBale = detailModel.IsBale, + IsBelt = detailModel.IsBelt, + SupplierLot = detailModel.SupplierLot, + Status = "0", + UDF1 = detailModel.UDF1, + UDF2 = detailModel.UDF2, + UDF3 = detailModel.UDF3, + UDF4 = detailModel.UDF4, + UDF5 = detailModel.UDF5, + CreateUser=(int)model.CreateUser + }; + addDetails.Add(addModel); } else { @@ -566,9 +612,10 @@ { continue; } + + var dbDetail = dbDetailModels.First(m => m.Id == detailModel.Id); if (TypeLot.Contains(model.Type)) { - var dbDetail = dbDetailModels.First(m=>m.Id == detailModel.Id); if (!string.IsNullOrWhiteSpace(dbDetail.LotNo)) { if (dbDetail.LotNo != detailModel.LotNo) @@ -581,24 +628,39 @@ } // 璁$畻鍑烘�婚噾棰� detailModel.Money = detailModel.Price * detailModel.Qty; - sqlDetailStr += $"UPDATE BllArrivalNoticeDetail SET "; - sqlDetailStr += $"Qty = '{detailModel.Qty}',LotNo = '{detailModel.LotNo.Trim()}',Money='{detailModel.Money}', "; - sqlDetailStr += $"LotText = '{detailModel.LotText}',SupplierLot = '{detailModel.SupplierLot}', "; - sqlDetailStr += $"IsBale = '{detailModel.IsBale}',IsBelt = '{detailModel.IsBelt}', "; - sqlDetailStr += $"UDF1 = '{detailModel.UDF1}',UDF2 = '{detailModel.UDF2}',UDF3 = '{detailModel.UDF3}',UDF4 = '{detailModel.UDF4}',UDF5 = '{detailModel.UDF5}',"; - sqlDetailStr += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' "; - sqlDetailStr += $"WHERE Id = {detailModel.Id};"; + + dbDetail.Qty = (decimal)detailModel.Qty; + dbDetail.LotNo = detailModel.LotNo; + dbDetail.Money = detailModel.Money; + dbDetail.LotText = detailModel.LotText; + dbDetail.SupplierLot = detailModel.SupplierLot; + dbDetail.IsBale = detailModel.IsBale; + dbDetail.UDF1 = detailModel.UDF1; + dbDetail.UDF2 = detailModel.UDF2; + dbDetail.UDF3 = detailModel.UDF3; + dbDetail.UDF4 = detailModel.UDF4; + dbDetail.UDF5 = detailModel.UDF5; + dbDetail.UpdateTime = dateTime; + dbDetail.UpdateUser = model.CreateUser; + + editDetails.Add(dbDetail); } } Db.Ado.BeginTran(); - int rowCount = Db.Ado.ExecuteCommand(sqlString); + Db.Updateable(dbDetailModels).ExecuteCommand(); + int rowCount = Db.Updateable(asnInfo).ExecuteCommand(); var rowDetailCount = 1; - if (sqlDetailStr.Length > 0) + if (addDetails.Count > 0) { - rowDetailCount = Db.Ado.ExecuteCommand(sqlDetailStr); + rowDetailCount = Db.Insertable(addDetails).ExecuteCommand(); } + if (editDetails.Count > 0) + { + rowDetailCount += Db.Updateable(editDetails).ExecuteCommand(); + } + Db.Ado.CommitTran(); if (rowCount > 0 && rowDetailCount > 0) { @@ -622,9 +684,7 @@ { try { - var sqlString = $"SELECT * FROM BllArrivalNotice WHERE ASNNo = '{model.ASNNo}' AND IsDel = 0 AND Status = '0';"; - var asnModel = Db.Ado.SqlQuery<BllArrivalNotice>(sqlString).FirstOrDefault(); - + var asnModel = Db.Queryable<BllArrivalNotice>().First(m => m.ASNNo == model.ASNNo && m.IsDel == "0" && m.Status == "0"); if (asnModel == null) { return "-1:鍏ュ簱鍗曠姸鎬佸凡鍙樻洿锛屼笉鍙垹闄�!"; @@ -636,42 +696,48 @@ } // 鍒犻櫎鎬诲崟 - sqlString = $"UPDATE BllArrivalNotice SET IsDel = '1',"; - sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' "; - sqlString += $"WHERE ASNNo = '{model.ASNNo}';"; + var editDateTime = DateTime.Now; + asnModel.IsDel = "1"; + asnModel.UpdateTime = editDateTime; + asnModel.UpdateUser = model.CreateUser; // 鍒犻櫎鏄庣粏鍗� - sqlString += $"UPDATE BllArrivalNoticeDetail SET IsDel = '1',"; - sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' "; - sqlString += $"WHERE ASNNo = '{model.ASNNo}';"; + var asnDetails = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.ASNNo == model.ASNNo && m.IsDel =="0").ToList(); + foreach (BllArrivalNoticeDetail asnDetail in asnDetails) + { + asnDetail.IsDel = "1"; + asnDetail.UpdateTime = editDateTime; + asnDetail.UpdateUser = model.CreateUser; + } + #region liudl Edit JC26鐗╂枡涓嶈创鍚楁棤闇�鍒犻櫎 //鍒ゆ柇鏄惁涓洪噰璐叆搴撳崟鎹垨杞﹂棿浣欐枡閫�鍥炲叆搴� // 0锛氭垚鍝佸叆搴� 1锛氶噰璐叆搴� 2锛氫腑闂村搧鍏ュ簱 3锛氶��璐у叆搴� 4锛氳溅闂翠綑鏂欓��鍥炲叆搴� 5锛氬叾瀹冨叆搴� 6锛氫唬鍌ㄥ叆搴� 7锛氬瘎瀛樺叆搴� - int notdel = 0; - if (model.Type == "1" || model.Type == "4") - { - //鑾峰彇鍗曟嵁鐢熸垚瀵瑰簲鏍囩 - var list = Db.Queryable<BllBoxInfo>().Where(a => a.IsDel == "0" && a.Status == "0" && a.BindNo == null); + //int notdel = 0; + //if (model.Type == "1" || model.Type == "4") + //{ + // //鑾峰彇鍗曟嵁鐢熸垚瀵瑰簲鏍囩 + // var list = Db.Queryable<BllBoxInfo>().Where(a => a.IsDel == "0" && a.Status == "0" && a.BindNo == null); - //楠岃瘉瀵瑰簲绠辨敮淇℃伅鏄惁瀛樺湪 - if (list == null) - { - return "-1:宸叉湁绠辩爜宸茬粦瀹氭墭鐩樻垨宸插叆搴擄紝涓嶅彲鍒犻櫎!"; - } + // //楠岃瘉瀵瑰簲绠辨敮淇℃伅鏄惁瀛樺湪 + // if (list == null) + // { + // return "-1:宸叉湁绠辩爜宸茬粦瀹氭墭鐩樻垨宸插叆搴擄紝涓嶅彲鍒犻櫎!"; + // } - // 鍒犻櫎瀵瑰簲绠辨敮淇℃伅 - sqlString += $"UPDATE BllBoxInfo SET IsDel = '1',"; - sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' "; - sqlString += $"WHERE ASNNo = '{model.ASNNo}';"; - notdel = 1; - } + // // 鍒犻櫎瀵瑰簲绠辨敮淇℃伅 + // sqlString += $"UPDATE BllBoxInfo SET IsDel = '1',"; + // sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' "; + // sqlString += $"WHERE ASNNo = '{model.ASNNo}';"; + // notdel = 1; + //} + #endregion + Db.Ado.BeginTran(); - int rowCount = Db.Ado.ExecuteCommand(sqlString); - if (rowCount < 2 + notdel) - { - Db.RollbackTran(); - return "-1:鍒犻櫎澶辫触锛�"; - } + //int rowCount = Db.Ado.ExecuteCommand(sqlString); + int rowCount = Db.Updateable(asnModel).ExecuteCommand(); + rowCount += Db.Updateable(asnDetails).ExecuteCommand(); + Db.Ado.CommitTran(); new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鍗曟嵁", model.ASNNo, "鍒犻櫎", $"鍒犻櫎浜嗗崟鎹彿涓簕model.ASNNo}鐨勫崟鎹俊鎭�", Convert.ToInt32(model.CreateUser)); return ""; @@ -688,8 +754,7 @@ string sqlString = string.Empty; try { - sqlString = $"SELECT * FROM BllArrivalNotice WHERE ASNNo = '{model.ASNNo}' AND IsDel = 0 AND Status = '0';"; - var asnModel = Db.Ado.SqlQuery<BllArrivalNotice>(sqlString).FirstOrDefault(); + var asnModel = Db.Queryable<BllArrivalNotice>().First(m => m.ASNNo == model.ASNNo && m.IsDel == "0" && m.Status == "0"); if (asnModel == null) { @@ -702,28 +767,34 @@ } - sqlString = $"SELECT * FROM BllArrivalNoticeDetail WHERE ASNNo = '{model.ASNNo}' and Id <> {model.Id};"; - var detailModel = Db.Ado.SqlQuery<ArrivalNoticeDetailVm>(sqlString); + var asnDetail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.ASNNo == model.ASNNo && m.IsDel == "0" && m.Id == model.Id); + if (asnDetail == null) + { + return "-1:鏄庣粏鐘舵�佸凡鍙樻洿锛屼笉鍙垹闄�!"; + } + var detailModel = Db.Queryable<BllArrivalNoticeDetail>() + .Where(m => m.ASNNo == model.ASNNo && m.IsDel == "0" && m.Id != model.Id).ToList(); + var editDateTime = DateTime.Now; if (detailModel.Count <= 0) { - sqlString = $"UPDATE BllArrivalNotice SET IsDel = '1',"; - sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' "; - sqlString += $"WHERE ASNNo = '{model.ASNNo}';"; + asnModel.IsDel = "1"; + asnModel.UpdateTime = editDateTime; + asnModel.UpdateUser = model.CreateUser; } else { - sqlString = $"UPDATE BllArrivalNotice SET "; - sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' "; - sqlString += $"WHERE ASNNo = '{model.ASNNo}';"; + asnModel.UpdateTime = editDateTime; + asnModel.UpdateUser = model.CreateUser; } - sqlString += $"UPDATE BllArrivalNoticeDetail SET IsDel = '1',"; - sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' "; - sqlString += $"WHERE Id = '{model.Id}';"; + asnDetail.IsDel = "0"; + asnDetail.UpdateTime = editDateTime; + asnDetail.UpdateUser = model.CreateUser; Db.Ado.BeginTran(); - int rowCount = Db.Ado.ExecuteCommand(sqlString); + int rowCount = Db.Updateable(asnModel).ExecuteCommand(); + rowCount += Db.Updateable(asnDetail).ExecuteCommand(); if (rowCount < 2) { @@ -731,8 +802,12 @@ return "-1:鍒犻櫎澶辫触锛�"; } Db.Ado.CommitTran(); + var detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.Id == model.Id); - new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鍗曟嵁", model.ASNNo, "鍒犻櫎", $"鍒犻櫎浜嗗崟鎹彿涓簕model.ASNNo}銆佺墿鏂欎负{detail.SkuNo}銆佹壒娆″彿涓簕detail.LotNo}鐨勫崟鎹俊鎭�", Convert.ToInt32(model.CreateUser)); + new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鍗曟嵁", model.ASNNo, "鍒犻櫎", + $"鍒犻櫎浜嗗崟鎹彿涓簕model.ASNNo}銆佺墿鏂欎负{detail.SkuNo}銆佹壒娆″彿涓簕detail.LotNo}鐨勫崟鎹俊鎭�", + Convert.ToInt32(model.CreateUser)); + return ""; } catch (Exception ex) @@ -741,6 +816,7 @@ throw new Exception(ex.Message); } } + //鍏抽棴鍏ュ簱鍗� public string CloseArrivalNotice(int id, int userId) { @@ -751,29 +827,39 @@ { throw new Exception("鏈煡璇㈠埌鍏ュ簱鍗曟嵁淇℃伅"); } - //if (notice.Status != "2") - //{ - // throw new Exception("鍙傛暟寮傚父,璇锋鏌ョ姸鎬佹槸鍚︿负鎵ц瀹屾垚"); - //} - var palletBind = Db.Queryable<BllPalletBind>().Where(m => m.IsDel == "0" && m.ASNNo == notice.ASNNo && m.Status != "2" && m.Status != "3").ToList(); + + var palletBind = Db.Queryable<BllPalletBind>() + .Where(m => m.IsDel == "0" && m.ASNNo == notice.ASNNo + && m.Status != "2" && m.Status != "3").ToList(); + if (palletBind != null && palletBind.Count > 0) { throw new Exception("瀛樺湪鏈叆搴撳畬鎴愭墭鐩樹俊鎭紝涓嶅厑璁稿叧鍗�"); } var comTime = DateTime.Now; - var sqlString = ""; // 鎬诲崟鍏冲崟 - sqlString = $"UPDATE BllArrivalNotice SET Status = '3',"; - sqlString += $"CompleteTime = GETDATE(),UpdateTime = GETDATE(),UpdateUser = '{userId}' "; - sqlString += $"WHERE Id = '{id}';"; - + var asnModel = Db.Queryable<BllArrivalNotice>().First(m => m.Id == id); + if (asnModel != null) + { + asnModel.Status = "3"; + asnModel.CompleteTime = comTime; + asnModel.UpdateTime = comTime; + asnModel.UpdateUser = userId; + } // 灏嗘湭瀹屾垚鐨勬槑缁嗘敼涓哄凡瀹屾垚 - sqlString += $"UPDATE BllArrivalNoticeDetail SET Status = '2',"; - sqlString += $"CompleteTime = GETDATE(),UpdateTime = GETDATE(),UpdateUser = '{userId}' "; - sqlString += $"WHERE Id = '{id}' and Status <> '2';"; + var asnDetails = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.Id == id && m.Status == "2").ToList(); + foreach (BllArrivalNoticeDetail asnDetail in asnDetails) + { + asnDetail.Status = "2"; + asnDetail.CompleteTime = comTime; + asnDetail.UpdateTime = comTime; + asnDetail.UpdateUser = userId; + } + Db.Ado.BeginTran(); - int rowCount = Db.Ado.ExecuteCommand(sqlString); + int rowCount = Db.Updateable(asnModel).ExecuteCommand(); + rowCount += Db.Updateable(asnDetails).ExecuteCommand(); if (rowCount <= 0) { @@ -842,7 +928,7 @@ } // 鍏ュ簱鎬昏〃淇℃伅 string asnNo = new Common().GetMaxNo("ASN"); - var asnModel = new BllArrivalNotice() + var asnModel1 = new BllArrivalNotice() { ASNNo = asnNo, Status = "0",//鎵ц鐘舵�侊紝0锛氱瓑寰呮墽琛� @@ -854,7 +940,7 @@ CreateUser = 0 }; // 鎻掑叆鍏ュ簱鎬昏〃淇℃伅 - Db.Insertable(asnModel).ExecuteCommand(); + Db.Insertable(asnModel1).ExecuteCommand(); //鍏ュ簱鍗曟槑缁� var arrDetailModel = new BllArrivalNoticeDetail() { diff --git a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs index 5abbc7b..6d276f2 100644 --- a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs +++ b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs @@ -71,19 +71,34 @@ } // 楠岃瘉鏄惁閲嶅 鏀�/琚嬬爜 - sqlString += $@"select count(id) from BllBoxInfo where BoxNo3 = '{model.BoxNo3}' and IsDel = 0 "; - int rowCount = Db.Ado.GetInt(sqlString); - if (rowCount > 0) + //sqlString += $@"select count(id) from BllBoxInfo where BoxNo3 = '{model.BoxNo3}' and IsDel = 0 "; + //int rowCount = Db.Ado.GetInt(sqlString); + var box1 = Db.Queryable<BllBoxInfo>().First(m => m.BoxNo3 == model.BoxNo3 && m.IsDel == "0"); + if (box1 != null) { strMessage = "-1:閲嶅鏁版嵁!"; return strMessage; } // 鑾峰彇鐗╂枡淇℃伅 - sqlString = "select tb1.SkuNo,tb1.SkuName,tb1.Warranty, "; - sqlString += "case tb2.level when 5 then tb2.L4Num when 4 then tb2.L3Num when 3 then tb2.L2Num else 0 end as FullQty "; - sqlString += "from SysMaterials as tb1 left join SysPackag as tb2 on tb1.PackagNo = tb2.PackagNo "; - sqlString += $"where SkuNo = '{model.SkuNo}' and tb1.IsDel = '0';"; - var materialModel = Db.Ado.SqlQuery<BoxInfoVm>(sqlString); + //sqlString = "select tb1.SkuNo,tb1.SkuName,tb1.Warranty, "; + //sqlString += "case tb2.level when 5 then tb2.L4Num when 4 then tb2.L3Num when 3 then tb2.L2Num else 0 end as FullQty "; + //sqlString += "from SysMaterials as tb1 left join SysPackag as tb2 on tb1.PackagNo = tb2.PackagNo "; + //sqlString += $"where SkuNo = '{model.SkuNo}' and tb1.IsDel = '0';"; + //var materialModel = Db.Ado.SqlQuery<BoxInfoVm>(sqlString); + + var materialModel = Db.Queryable<SysMaterials>() + .LeftJoin<SysPackag>((tb1, tb2) => tb1.PackagNo == tb2.PackagNo) + .Where(tb1 => tb1.SkuNo == model.SkuNo && tb1.IsDel == "0") + .Select((tb1, tb2) => new BoxInfoVm + { + SkuNo = tb1.SkuNo, + SkuName = tb1.SkuName, + Warranty = tb1.Warranty, + FullQty = SqlFunc.IF(tb2.Level == 5).Return(tb2.L4Num) + .ElseIF(tb2.Level == 4).Return(tb2.L3Num) + .ElseIF(tb2.Level == 3).Return(tb2.L2Num).End(0) + }).ToList(); + if (materialModel.Count <= 0) { strMessage = "-1:璇ョ墿鏂欎俊鎭笉瀛樺湪!"; @@ -108,9 +123,16 @@ } #region 鍖呰淇℃伅 - string str = $"select SUM(Qty) Qty from BllBoxInfo where IsDel = '0' and BoxNo = '{model.BoxNo}'"; - //鑾峰彇绠辩爜淇℃伅 - var box = Db.Ado.SqlQuerySingle<BoxInfoVm>(str); + //string str = $"select SUM(Qty) Qty from BllBoxInfo where IsDel = '0' and BoxNo = '{model.BoxNo}'"; + ////鑾峰彇绠辩爜淇℃伅 + //var box = Db.Ado.SqlQuerySingle<BoxInfoVm>(str); + + var boxs = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == model.BoxNo).Select(m => new BoxInfoVm + { + Qty = SqlFunc.AggregateSum(m.Qty) + }); + var box = boxs.First(); + if (box.Qty == null) { box.Qty = 0; @@ -162,13 +184,37 @@ #endregion // 鎻掑叆淇℃伅 - sqlString = "Insert into BllBoxInfo (BoxNo,BoxNo2,BoxNo3,SkuNo,SkuName,LotNo,LotText,"; - sqlString += "Qty,FullQty,ProductionTime,ExpirationTime,InspectMark,InspectStatus,BitBoxMark,Origin,Status,CreateUser) values ( "; - sqlString += $"'{model.BoxNo}','{model.BoxNo2}','{model.BoxNo3}','{model.SkuNo}', "; - sqlString += $"'{materialModel[0].SkuName}','{model.LotNo}','{model.LotText}','{model.Qty}','{materialModel[0].FullQty}',"; - sqlString += $"'{model.ProductionTime}','{model.ExpirationTime}','{model.InspectMark}','{sku.IsInspect}','{model.BitBoxMark}','{model.Origin}','0','{model.CreateUser}');"; + //sqlString = "Insert into BllBoxInfo (BoxNo,BoxNo2,BoxNo3,SkuNo,SkuName,LotNo,LotText,"; + //sqlString += "Qty,FullQty,ProductionTime,ExpirationTime,InspectMark,InspectStatus,BitBoxMark,Origin,Status,CreateUser) values ( "; + //sqlString += $"'{model.BoxNo}','{model.BoxNo2}','{model.BoxNo3}','{model.SkuNo}', "; + //sqlString += $"'{materialModel[0].SkuName}','{model.LotNo}','{model.LotText}','{model.Qty}','{materialModel[0].FullQty}',"; + //sqlString += $"'{model.ProductionTime}','{model.ExpirationTime}','{model.InspectMark}','{sku.IsInspect}','{model.BitBoxMark}" + + // $"','{model.Origin}','0','{model.CreateUser}');"; + //rowCount = Db.Ado.ExecuteCommand(sqlString); - rowCount = Db.Ado.ExecuteCommand(sqlString); + + BllBoxInfo newboxModel = new BllBoxInfo() + { + BoxNo=model.BoxNo, + BoxNo2 = model.BoxNo2, + BoxNo3 = model.BoxNo3, + SkuNo = model.SkuNo, + SkuName = materialModel[0].SkuName, + LotNo = model.LotNo, + LotText = model.LotText, + Qty = (decimal)model.Qty, + FullQty = materialModel[0].FullQty, + ProductionTime = DateTime.Parse(model.ProductionTime), + ExpirationTime = model.ExpirationTime, + InspectMark = model.InspectMark, + InspectStatus = sku.IsInspect, + BitBoxMark = model.BitBoxMark, + Origin = model.Origin, + Status = "0", + CreateUser = (int)model.CreateUser + }; + + var rowCount = Db.Insertable(newboxModel).ExecuteCommand(); if (rowCount <= 0) { strMessage = "-1:娣诲姞澶辫触!"; @@ -203,15 +249,23 @@ //寮�鍚簨鍔� Db.Ado.BeginTran(); // 鍒犻櫎鏄庣粏鍗� - sqlString += $"UPDATE BllBoxInfo SET IsDel = '1',"; - sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' "; - sqlString += $"WHERE Id = '{model.Id}' and Status = '0';"; + //sqlString += $"UPDATE BllBoxInfo SET IsDel = '1',"; + //sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' "; + //sqlString += $"WHERE Id = '{model.Id}' and Status = '0';"; - int rowCount = Db.Ado.ExecuteCommand(sqlString); - if (rowCount <= 0) + //int rowCount = Db.Ado.ExecuteCommand(sqlString); + + var boxModel = Db.Queryable<BllBoxInfo>().First(m => m.Id == model.Id && m.Status == "0"); + + if (boxInfo.Status != "0") { return "-1:鐘舵�佸凡鍙樻洿鏃犳硶鍒犻櫎锛�"; } + + boxInfo.IsDel = "1"; + boxInfo.UpdateTime = DateTime.Now; + boxInfo.UpdateUser = model.CreateUser; + var boxInfoList = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == boxInfo.BoxNo && m.Id != model.Id).ToList(); if (boxInfoList.Count != 0) { @@ -221,15 +275,11 @@ { continue; } - - var sql = $"update BllBoxInfo SET BitBoxMark = '1' Where id = {item.Id}"; - int rowCount2 = Db.Ado.ExecuteCommand(sql); - if (rowCount2 <= 0) - { - throw new Exception("-1:鐘舵�佸凡鍙樻洿鏃犳硶鍒犻櫎锛�"); - } + item.BitBoxMark = "1"; } } + Db.Updateable(boxInfo).ExecuteCommand(); + Db.Updateable(boxInfoList).ExecuteCommand(); Db.Ado.CommitTran(); new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "绠辨敮褰曞叆", boxInfo.BoxNo3, "鍒犻櫎", $"鍒犻櫎浜嗙鐮侊細{boxInfo.BoxNo}銆佽拷婧爜锛歿boxInfo.BoxNo3}鐨勭鏀墿鏂欎俊鎭�", Convert.ToInt32(model.CreateUser)); diff --git a/Wms/WMS.Entity/BllAsnEntity/BllArrivalNoticeDetail.cs b/Wms/WMS.Entity/BllAsnEntity/BllArrivalNoticeDetail.cs index 494490e..8a3d951 100644 --- a/Wms/WMS.Entity/BllAsnEntity/BllArrivalNoticeDetail.cs +++ b/Wms/WMS.Entity/BllAsnEntity/BllArrivalNoticeDetail.cs @@ -59,19 +59,21 @@ /// Nullable:False /// </summary> public decimal Qty {get;set;} - + /// <summary> /// Desc:宸茬粍鏁伴噺 /// Default:0 /// Nullable:True - /// </summary> + /// </summary> + [SugarColumn(DefaultValue = "0")] public decimal? FactQty {get;set;} /// <summary> /// Desc:鍏ュ簱鏁伴噺 /// Default:0 /// Nullable:True - /// </summary> + /// </summary> + [SugarColumn(DefaultValue = "0")] public decimal? CompleteQty {get;set;} /// <summary> diff --git a/Wms/Wms/Controllers/BllAsnController.cs b/Wms/Wms/Controllers/BllAsnController.cs index c747d12..6b3cd21 100644 --- a/Wms/Wms/Controllers/BllAsnController.cs +++ b/Wms/Wms/Controllers/BllAsnController.cs @@ -168,6 +168,10 @@ { throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅"); } + if (string.IsNullOrWhiteSpace(model.ASNNo)) + { + throw new Exception("鍗曟嵁鍙蜂笉鍙负null!"); + } model.CreateUser = int.Parse(UserId); string strMesage = _arrivalNoticeSvc.EditArrivalNotice(model); -- Gitblit v1.8.0