From bf1a9a818ffb721aea2709e9409fbb932b07e81d Mon Sep 17 00:00:00 2001 From: yyk <2336760928@qq.com> Date: 星期四, 18 七月 2024 15:55:54 +0800 Subject: [PATCH] Merge branch 'master' into yyk --- Wms/WMS.IBLL/IBllCheckServer/IStockCheckServer.cs | 8 Wms/WMS.BLL/LogServer/OperationSOServer.cs | 51 Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs | 108 + HTML/views/SOSetting/ExportAllot.html | 2 Wms/Model/InterFaceModel/SoModel.cs | 7 Wms/WMS.IBLL/IBllSoServer/IExportNoticeServer.cs | 3 Wms/WMS.BLL/BllSoServer/WaveMageServer.cs | 76 Wms/Wms/Controllers/BllCheckController.cs | 14 Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs | 983 ++++++++---- Wms/WMS.BLL/BllSoServer/CompleteDetailServer.cs | 150 - Wms/WMS.IBLL/ILogServer/IOperationSOServer.cs | 6 Wms/WMS.Entity/LogEntity/LogTask.cs | 2 HTML/views/ASNSetting/ArrivalNotice.html | 1 Wms/WMS.IBLL/IBllSoServer/ICompleteDetailServer.cs | 5 Wms/WMS.IBLL/IBllSoServer/IWaveMageServer.cs | 5 HTML/views/SOSetting/ExportNotice.html | 70 Wms/WMS.BLL/SysServer/PalletsServer.cs | 11 Wms/WMS.Entity/BllSoEntity/BLLExportNoticeDetail.cs | 8 Wms/WMS.BLL/BllSoServer/ExportAllotServer.cs | 118 HTML/views/HouseWithinSetting/StockCheck.html | 1396 +++++++++-------- Wms/WMS.IBLL/IBllAsnServer/IArrivalNoticeServer.cs | 6 Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs | 596 ++++--- Wms/WMS.BLL/BllSoServer/ExportNoticeDetailServer.cs | 92 Wms/Wms/Controllers/BllAsnController.cs | 90 Wms/WMS.BLL/LogServer/OperationCrServer.cs | 2 Wms/WMS.IBLL/IBllSoServer/IExportAllotServer.cs | 5 Wms/Model/ModelDto/BllSoDto/ExportNoticeDetailDto.cs | 5 HTML/views/ASNSetting/ArrivalNoticeDetail.html | 68 HTML/views/ASNSetting/SelMaterials.html | 502 +++--- Pda/View/login.html | 4 Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs | 153 - Wms/Wms/Controllers/BllSoController.cs | 79 Wms/WMS.Entity/BllAsnEntity/BllArrivalNoticeDetail.cs | 8 Wms/Wms/Controllers/DownApiController.cs | 59 34 files changed, 2,569 insertions(+), 2,124 deletions(-) diff --git a/HTML/views/ASNSetting/ArrivalNotice.html b/HTML/views/ASNSetting/ArrivalNotice.html index 5de5a3c..3d4ae65 100644 --- a/HTML/views/ASNSetting/ArrivalNotice.html +++ b/HTML/views/ASNSetting/ArrivalNotice.html @@ -486,7 +486,6 @@ height: h1, id: 'LAY-app-content-list', where: param, - contentType: 'application/json', headers: { ToKen: $.cookie('token') }, page: true, 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/HTML/views/HouseWithinSetting/StockCheck.html b/HTML/views/HouseWithinSetting/StockCheck.html index b1219ad..7adf894 100644 --- a/HTML/views/HouseWithinSetting/StockCheck.html +++ b/HTML/views/HouseWithinSetting/StockCheck.html @@ -1,157 +1,163 @@ <!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"> - <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all"> - <link rel="stylesheet" href="../../css/public.css" media="all"> - <style> - .layui-table-tool-panel{ - top: auto; - bottom: 29px; - } - .layui-table-tool{ - padding-left: 5px; - } - /* 琛ㄦ牸涓嬫媺灏忕澶撮殣钘� */ - .layui-table-grid-down { - display: none; - } - </style> - <script> - // 杩欓噷鏄渶瑕佸湪椤甸潰娓叉煋涔嬪墠鎵ц鐨勪唬鐮� - document.addEventListener("DOMContentLoaded", function() { - - //鑾峰彇table榛樿鏄剧ず鏁� - pageCntFirst(); - //鍒ゆ柇鏄惁寮�鍚痶able鍒楄〃鍒楀璋冩暣鍔熻兘銆� - GetIsSetColW(); - }); - </script> - </head> - <body id="body"> - <div class="layui-fluid" style="padding-bottom: 0;"> - <div class="layui-card"> - <div class="layui-form layui-card-header layuiadmin-card-header-auto" id="top"> - <div class="layui-form-item"> - <div class="layui-inline"> - <label class="layui-form-label" style="width: 60px;">鐩樼偣鍗曞彿</label> - <div class="layui-input-inline"> - <input type="text" id="CRNo" name="CRNo" placeholder="鐩樼偣鍗曞彿" autocomplete="off" - class="layui-input"> - </div> - </div> - <div class="layui-inline"> - <label class="layui-form-label" style="width: 60px;">鎵ц鐘舵��</label> - <div class="layui-input-inline"> - <select name="Status" id="Status" lay-filter="Status" lay-search> - <option value=""></option> - <option value="0">绛夊緟鎵ц</option> - <option value="1">姝e湪鎵ц</option> - <option value="2">鐩樼偣瀹屾垚</option> - <option value="3">鐢熸垚璋冩暣</option> - </select> - </div> - </div> - <div class="layui-inline"> - <label class="layui-form-label" style="width: 60px;">鎵樼洏鏉$爜</label> - <div class="layui-input-inline"> - <input type="text" id="PalletNo" name="PalletNo" placeholder="鎵樼洏鏉$爜" autocomplete="off" - class="layui-input"> - </div> - </div> - <div class="layui-inline"> - <label class="layui-form-label" style="width: 60px;">鐗╁搧缂栫爜</label> - <div class="layui-input-inline"> - <input type="text" id="SkuNo" name="SkuNo" placeholder="鐗╁搧缂栫爜" - autocomplete="off" class="layui-input"> - </div> - </div> - <div class="layui-inline"> - <label class="layui-form-label" style="width: 60px;">鐗╁搧鍚嶇О</label> - <div class="layui-input-inline"> - <input type="text" id="SkuName" name="SkuName" placeholder="鐗╁搧鍚嶇О" autocomplete="off" - class="layui-input"> - </div> - </div> - <div class="layui-inline"> - <label class="layui-form-label" style="width: 60px;">鎵规</label> - <div class="layui-input-inline"> - <input type="text" id="LotNo" name="LotNo" placeholder="鎵规" autocomplete="off" - class="layui-input"> - </div> - </div> - <div class="layui-inline"> - <label class="layui-form-label" style="width: 60px;">寮�濮嬫棩鏈�</label> - <div class="layui-input-inline"> - <input type="text" autocomplete="off" name="StartTime" id="StartTime" class="layui-input" - placeholder="寮�濮嬫棩鏈�"> - </div> - </div> - <div class="layui-inline"> - <label class="layui-form-label" style="width: 60px;">缁撴潫鏃ユ湡</label> - <div class="layui-input-inline"> - <input type="text" autocomplete="off" name="EndTime" id="EndTime" class="layui-input" - placeholder="缁撴潫鏃ユ湡"> - </div> - </div> - <div class="layui-inline" id="divPickingArea" style="display: none; padding-top: 10px;"> - <label class="layui-form-label">鍑哄簱鍙�</label> - <div class="layui-input-inline"> - <select name="PickingArea" id="PickingArea" lay-search> - <option value=""></option> - <option value="1">1</option> - <option value="2">2</option> - <option value="3">3</option> - <option value="4">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> - </div> - <!-- 缁存姢澶囨敞寮规 --> - <div class="layui-inline" id="divEditDemo" style="display: none; padding-top: 10px;"> - <label class="layui-form-label">澶囨敞</label> - <div class="layui-input-inline" style="width: 300px;height: 100%;"> - <textarea placeholder="璇疯緭鍏ュ唴瀹�" id="NoticeDemo" name="NoticeDemo" class="layui-textarea"></textarea> - </div> +<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"> + <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all"> + <link rel="stylesheet" href="../../css/public.css" media="all"> + <style> + .layui-table-tool-panel { + top: auto; + bottom: 29px; + } + + .layui-table-tool { + padding-left: 5px; + } + + /* 琛ㄦ牸涓嬫媺灏忕澶撮殣钘� */ + .layui-table-grid-down { + display: none; + } + </style> + <script> + // 杩欓噷鏄渶瑕佸湪椤甸潰娓叉煋涔嬪墠鎵ц鐨勪唬鐮� + document.addEventListener("DOMContentLoaded", function () { + + //鑾峰彇table榛樿鏄剧ず鏁� + pageCntFirst(); + //鍒ゆ柇鏄惁寮�鍚痶able鍒楄〃鍒楀璋冩暣鍔熻兘銆� + GetIsSetColW(); + }); + </script> +</head> + +<body id="body"> + <div class="layui-fluid" style="padding-bottom: 0;"> + <div class="layui-card"> + <div class="layui-form layui-card-header layuiadmin-card-header-auto" id="top"> + <div class="layui-form-item"> + <div class="layui-inline"> + <label class="layui-form-label" style="width: 60px;">鐩樼偣鍗曞彿</label> + <div class="layui-input-inline"> + <input type="text" id="CRNo" name="CRNo" placeholder="鐩樼偣鍗曞彿" autocomplete="off" + class="layui-input"> + </div> + </div> + <div class="layui-inline"> + <label class="layui-form-label" style="width: 60px;">鎵ц鐘舵��</label> + <div class="layui-input-inline"> + <select name="Status" id="Status" lay-filter="Status" lay-search> + <option value=""></option> + <option value="0">绛夊緟鎵ц</option> + <option value="1">姝e湪鎵ц</option> + <option value="2">鐩樼偣瀹屾垚</option> + <option value="3">鐢熸垚璋冩暣</option> + </select> + </div> + </div> + <div class="layui-inline"> + <label class="layui-form-label" style="width: 60px;">鎵樼洏鏉$爜</label> + <div class="layui-input-inline"> + <input type="text" id="PalletNo" name="PalletNo" placeholder="鎵樼洏鏉$爜" autocomplete="off" + class="layui-input"> + </div> + </div> + <div class="layui-inline"> + <label class="layui-form-label" style="width: 60px;">鐗╁搧缂栫爜</label> + <div class="layui-input-inline"> + <input type="text" id="SkuNo" name="SkuNo" placeholder="鐗╁搧缂栫爜" autocomplete="off" + class="layui-input"> + </div> + </div> + <div class="layui-inline"> + <label class="layui-form-label" style="width: 60px;">鐗╁搧鍚嶇О</label> + <div class="layui-input-inline"> + <input type="text" id="SkuName" name="SkuName" placeholder="鐗╁搧鍚嶇О" autocomplete="off" + class="layui-input"> + </div> + </div> + <div class="layui-inline"> + <label class="layui-form-label" style="width: 60px;">鎵规</label> + <div class="layui-input-inline"> + <input type="text" id="LotNo" name="LotNo" placeholder="鎵规" autocomplete="off" + class="layui-input"> + </div> + </div> + <div class="layui-inline"> + <label class="layui-form-label" style="width: 60px;">寮�濮嬫棩鏈�</label> + <div class="layui-input-inline"> + <input type="text" autocomplete="off" name="StartTime" id="StartTime" class="layui-input" + placeholder="寮�濮嬫棩鏈�"> + </div> + </div> + <div class="layui-inline"> + <label class="layui-form-label" style="width: 60px;">缁撴潫鏃ユ湡</label> + <div class="layui-input-inline"> + <input type="text" autocomplete="off" name="EndTime" id="EndTime" class="layui-input" + placeholder="缁撴潫鏃ユ湡"> + </div> + </div> + <div class="layui-inline" id="divPickingArea" style="display: none; padding-top: 10px;"> + <label class="layui-form-label">鍑哄簱鍙�</label> + <div class="layui-input-inline"> + <select name="PickingArea" id="PickingArea" lay-search> + <option value=""></option> + <option value="1">1</option> + <option value="2">2</option> + <option value="3">3</option> + <option value="4">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> + </div> + + <!-- 缁存姢澶囨敞寮规 --> + <div class="layui-inline" id="divEditDemo" style="display: none; padding-top: 10px;"> + <label class="layui-form-label">澶囨敞</label> + <div class="layui-input-inline" style="width: 300px;height: 100%;"> + <textarea placeholder="璇疯緭鍏ュ唴瀹�" id="NoticeDemo" name="NoticeDemo" + class="layui-textarea"></textarea> </div> </div> </div> - <div id="center"></div> - <div class="layui-card-body"> - <div class="position-relative"> - <table id="LAY-app-content-list" lay-filter="LAY-app-content-list" ></table> - <!--#region 鑷畾涔夎〃澶� --> - <div class="headerSetIcon"> - <button class="layui-btn layui-btn-primary layui-btn-sm" data-type="customCols"> - <i class="layui-icon"></i> - </button> - </div> - <!-- #endregion --> + </div> + <div id="center"></div> + <div class="layui-card-body"> + <div class="position-relative"> + <table id="LAY-app-content-list" lay-filter="LAY-app-content-list"></table> + <!--#region 鑷畾涔夎〃澶� --> + <div class="headerSetIcon"> + <button class="layui-btn layui-btn-primary layui-btn-sm" data-type="customCols"> + <i class="layui-icon"></i> + </button> + </div> + <!-- #endregion --> + </div> + <div class="position-relative"> + <table id="LAY-app-content-list2" lay-filter="LAY-app-content-list2"></table> + <!--#region 鑷畾涔夎〃澶� --> + <div class="headerSetIcon"> + <button class="layui-btn layui-btn-primary layui-btn-sm" data-type="customCols2"> + <i class="layui-icon"></i> + </button> </div> - <div class="position-relative"> - <table id="LAY-app-content-list2" lay-filter="LAY-app-content-list2" ></table> - <!--#region 鑷畾涔夎〃澶� --> - <div class="headerSetIcon"> - <button class="layui-btn layui-btn-primary layui-btn-sm" data-type="customCols2"> - <i class="layui-icon"></i> - </button> - </div> - <!-- #endregion --> - </div> - <script type="text/html" id="table-content-list"> + <!-- #endregion --> + </div> + <script type="text/html" id="table-content-list"> {{# var html = ''; @@ -163,6 +169,9 @@ </a>`; } if(d.Status == 0 || d.Status == 1){ + html += `<a class="layui-btn layui-btn-xs checkOut" lay-event="vision"> + <i class="layui-icon layui-icon-ok"></i>瑙嗚鐩樼偣 + </a>`; html += `<a class="layui-btn layui-btn-xs checkOut" lay-event="outbound"> <i class="layui-icon layui-icon-ok"></i>鍑哄簱 </a>`; @@ -179,9 +188,9 @@ }} </script> - - <script type="text/html" id="toolbarDemo"> - + + <script type="text/html" id="toolbarDemo"> + <button class="layui-btn layuiadmin-btn-list layui-btn-sm addClass" lay-event="add"> <i class="layui-icon"></i>娣诲姞 </button> @@ -190,8 +199,8 @@ </button> </script> - <!-- 鎬诲崟鏉ユ簮 --> - <script type="text/html" id="OriginzongButton"> + <!-- 鎬诲崟鏉ユ簮 --> + <script type="text/html" id="OriginzongButton"> {{# if(d.Origin=='0'){ }} <p>鎿嶄綔浜哄垱寤�</p> {{# } else if(d.Origin=='1'){ }} @@ -199,8 +208,8 @@ {{# } }} </script> - <!-- 鎬诲崟鏄惁澶嶇洏 --> - <script type="text/html" id="IsDoubleCheckButton"> + <!-- 鎬诲崟鏄惁澶嶇洏 --> + <script type="text/html" id="IsDoubleCheckButton"> {{# if(d.AuditStatusNo=='0'){ }} <p>鍚�</p> {{# } else if(d.AuditStatusNo=='1'){ }} @@ -208,8 +217,8 @@ {{# } }} </script> - <!-- 鎬诲崟瀹℃牳鐘舵�� --> - <script type="text/html" id="AuditStatusButton"> + <!-- 鎬诲崟瀹℃牳鐘舵�� --> + <script type="text/html" id="AuditStatusButton"> {{# if(d.AuditStatusNo=='0'){ }} <p>寰呭鏍�</p> {{# } else if(d.AuditStatusNo=='9'){ }} @@ -217,8 +226,8 @@ {{# } }} </script> - <!-- 鎬诲崟鎵ц鐘舵�� --> - <script type="text/html" id="StatuszongButton"> + <!-- 鎬诲崟鎵ц鐘舵�� --> + <script type="text/html" id="StatuszongButton"> {{# var html = ``; if(d.Status=='0'){ @@ -237,43 +246,43 @@ }} </script> - <!-- 鎬诲崟寮�濮嬫椂闂� --> - <script type="text/html" id="CheckDateButton"> + <!-- 鎬诲崟寮�濮嬫椂闂� --> + <script type="text/html" id="CheckDateButton"> {{# return formatDate(d.CheckDate); }} </script> - - <!-- 鎬诲崟瀹屾垚鏃堕棿 --> - <script type="text/html" id="CompleteDateButtom"> + + <!-- 鎬诲崟瀹屾垚鏃堕棿 --> + <script type="text/html" id="CompleteDateButtom"> {{# return formatDate(d.CompleteDate); }} </script> - - <!-- 鎬诲崟瀹℃牳鏃堕棿 --> - <script type="text/html" id="AuditTimeButton"> + + <!-- 鎬诲崟瀹℃牳鏃堕棿 --> + <script type="text/html" id="AuditTimeButton"> {{# return formatDate(d.AuditTime); }} </script> - - <!-- 鍒涘缓鏃堕棿 --> - <script type="text/html" id="CreateTimeButton"> + + <!-- 鍒涘缓鏃堕棿 --> + <script type="text/html" id="CreateTimeButton"> {{# return formatDate(d.CreateTime); }} </script> - - <!-- 淇敼鏃堕棿 --> - <script type="text/html" id="UpdateTimeButton"> + + <!-- 淇敼鏃堕棿 --> + <script type="text/html" id="UpdateTimeButton"> {{# return formatDate(d.UpdateTime); }} </script> - <!-- 鏄庣粏鎵ц鐘舵�� --> - <script type="text/html" id="StatusmingButton"> + <!-- 鏄庣粏鎵ц鐘舵�� --> + <script type="text/html" id="StatusmingButton"> {{# var html = ``; if(d.Status=='0'){ @@ -294,8 +303,8 @@ }} </script> - <!-- 鏄庣粏鐩樼偣缁撴灉 --> - <script type="text/html" id="CheckResultButton"> + <!-- 鏄庣粏鐩樼偣缁撴灉 --> + <script type="text/html" id="CheckResultButton"> {{# var html = ``; if(d.CheckResult=='0'){ @@ -314,533 +323,574 @@ }} </script> - - </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', 'laydate'], function() { - var table = layui.table, - form = layui.form, - laypage = layui.laypage, - layer = layui.layer; - laydate = layui.laydate; - var $ = layui.$; - var h1 = GetTableTopHeight(); - var h2 = GetTableBottomHeight(); - - laydate.render({ - elem: '#StartTime' - , format: 'yyyy-MM-dd' //鍙换鎰忕粍鍚� - }); - laydate.render({ - elem: '#EndTime' - , format: 'yyyy-MM-dd' //鍙换鎰忕粍鍚� - }); - var isChongFu = true; - var xqid = "kong"; + </div> - //鎬诲崟 - var TotalColsArrz = - [[ - {field:'',title: '搴忓彿', type: 'numbers', width: 65, fixed: 'left', "disabled": true, }, - {field: 'CrNo', title: '鐩樼偣鍗曞彿', align: 'center', fixed: 'left', width: 165, }, - {field: 'Origin',title: '鏉ユ簮',align: 'center', templet: '#OriginzongButton', }, - {field: 'Status',title: '鎵ц鐘舵��',align: 'center', templet: '#StatuszongButton', }, - {field: 'CheckDate',title: '寮�濮嬫椂闂�',align: 'center', templet: '#CheckDateButton', }, - {field: 'CompleteDate',title: '瀹屾垚鏃堕棿',align: 'center', templet: '#CompleteDateButtom', }, - {field: 'Demo',title: '澶囨敞',align: 'center',width: 180}, - {field: 'AuditStatusNo',title: '瀹℃牳鐘舵��',align: 'center',width: 130,hide:true, templet: '#AuditStatusButton', }, - {field: 'IsDoubleCheck', title: '鏄惁澶嶇洏', align: 'center', width: 180, hide:true, templet: '#IsDoubleCheckButton', }, - {field: 'AuditUserName',title: '瀹℃牳浜�',align: 'center',width: 180,hide:true}, - {field: 'AuditTime',title: '瀹℃牳鏃堕棿',align: 'center',width: 95,hide:true , templet: '#AuditTimeButton', }, - {field: 'CreateUserName', title:'鍒涘缓浜�', align:'center', }, - {field: 'CreateTime',title: '鍒涘缓鏃堕棿',align: 'center', templet: '#CreateTimeButton', }, - {field: 'UpdateUserName',title: '淇敼浜�',align: 'center',width: 120,hide:true}, - {field: 'UpdateTime',title: '淇敼鏃堕棿',align: 'center',width: 160,hide:true, templet: '#UpdateTimeButton', }, - {field:'caozuo',title: '鎿嶄綔',fixed: 'right',align: 'center',toolbar: '#table-content-list',width: 240 } - ]]; - var TotalColsSysArrz=encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArrz)))//灏嗚〃澶存暟鎹繘琛寀rl缂栫爜 + <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> - //鏄庣粏 - var TotalColsArrm = - [[ - {field:'',title:'搴忓彿', type:'numbers', width:65, fixed:'left', "disabled": true, }, - {field:'CrNo', title:'鐩樼偣鍗曞彿', align:'center', fixed:'left', width: 165, }, - {field:'PalletNo', title:'鎵樼洏鍙�', align:'center', fixed:'left', width: 165, }, - {field:'Qty', title:'搴撳瓨鏁伴噺', align:'center', fixed:'left', width: 105, }, - {field:'RealQty', title:'瀹為檯鏁伴噺', align:'center', width: 105, }, - {field:'Status', title:'鎵ц鐘舵��', align:'center', width: 105, templet : '#StatusmingButton', }, - {field:'CheckResult', title:'鐩樼偣缁撴灉', align:'center', width:105, templet : '#CheckResultButton', }, - {field:'SkuNo', title:'鐗╂枡缂栫爜', align:'center', width:105, }, - {field:'SkuName', title:'鐗╂枡鍚嶇О', align:'center', width:125, }, - {field:'Standard', title:'瑙勬牸', align:'center', width:225, }, - {field:'LotNo', title:'鎵规鍙�', align:'center', width:105, }, - {field:'LotText', title:'鎵规鎻忚堪', align:'center', width:105, }, - {field:'SupplierLot', title:'渚涜揣鎵规', align:'center', width:105, }, - {field: 'CreateUserName', title:'鍒涘缓浜�', align:'center', width:100, }, - {field: 'CreateTime',title: '鍒涘缓鏃堕棿',align: 'center',width: 160, templet: '#CreateTimeButton',}, - {field: 'UpdateUserName',title: '淇敼浜�',align: 'center',width: 120,hide:true}, - {field: 'UpdateTime',title: '淇敼鏃堕棿',align: 'center',width: 160,hide:true, templet: '#UpdateTimeButton',}, - ]]; - var TotalColsSysArrm=encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArrm)))//灏嗚〃澶存暟鎹繘琛寀rl缂栫爜 - refreshTable(); - var colsJsonz; - var colsJsonm; + layui.config({ + base: '../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰� + }).extend({ + index: 'lib/index' //涓诲叆鍙fā鍧� + }).use(['index', 'table', 'laypage', 'layer', 'laydate'], function () { + var table = layui.table, + form = layui.form, + laypage = layui.laypage, + layer = layui.layer; + laydate = layui.laydate; + var $ = layui.$; + var h1 = GetTableTopHeight(); + var h2 = GetTableBottomHeight(); + + laydate.render({ + elem: '#StartTime' + , format: 'yyyy-MM-dd' //鍙换鎰忕粍鍚� + }); + laydate.render({ + elem: '#EndTime' + , format: 'yyyy-MM-dd' //鍙换鎰忕粍鍚� + }); + var isChongFu = true; + var xqid = "kong"; + + //鎬诲崟 + var TotalColsArrz = + [[ + { field: '', title: '搴忓彿', type: 'numbers', width: 65, fixed: 'left', "disabled": true, }, + { field: 'CrNo', title: '鐩樼偣鍗曞彿', align: 'center', fixed: 'left', width: 165, }, + { field: 'Origin', title: '鏉ユ簮', align: 'center', templet: '#OriginzongButton', }, + { field: 'Status', title: '鎵ц鐘舵��', align: 'center', templet: '#StatuszongButton', }, + { field: 'CheckDate', title: '寮�濮嬫椂闂�', align: 'center', templet: '#CheckDateButton', }, + { field: 'CompleteDate', title: '瀹屾垚鏃堕棿', align: 'center', templet: '#CompleteDateButtom', }, + { field: 'Demo', title: '澶囨敞', align: 'center', width: 180 }, + { field: 'AuditStatusNo', title: '瀹℃牳鐘舵��', align: 'center', width: 130, hide: true, templet: '#AuditStatusButton', }, + { field: 'IsDoubleCheck', title: '鏄惁澶嶇洏', align: 'center', width: 180, hide: true, templet: '#IsDoubleCheckButton', }, + { field: 'AuditUserName', title: '瀹℃牳浜�', align: 'center', width: 180, hide: true }, + { field: 'AuditTime', title: '瀹℃牳鏃堕棿', align: 'center', width: 95, hide: true, templet: '#AuditTimeButton', }, + { field: 'CreateUserName', title: '鍒涘缓浜�', align: 'center', }, + { field: 'CreateTime', title: '鍒涘缓鏃堕棿', align: 'center', templet: '#CreateTimeButton', }, + { field: 'UpdateUserName', title: '淇敼浜�', align: 'center', width: 120, hide: true }, + { field: 'UpdateTime', title: '淇敼鏃堕棿', align: 'center', width: 160, hide: true, templet: '#UpdateTimeButton', }, + { field: 'caozuo', title: '鎿嶄綔', fixed: 'right', align: 'center', toolbar: '#table-content-list', width: 240 } + ]]; + var TotalColsSysArrz = encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArrz)))//灏嗚〃澶存暟鎹繘琛寀rl缂栫爜 + + //鏄庣粏 + var TotalColsArrm = + [[ + { field: '', title: '搴忓彿', type: 'numbers', width: 65, fixed: 'left', "disabled": true, }, + { field: 'CrNo', title: '鐩樼偣鍗曞彿', align: 'center', fixed: 'left', width: 165, }, + { field: 'PalletNo', title: '鎵樼洏鍙�', align: 'center', fixed: 'left', width: 165, }, + { field: 'Qty', title: '搴撳瓨鏁伴噺', align: 'center', fixed: 'left', width: 105, }, + { field: 'RealQty', title: '瀹為檯鏁伴噺', align: 'center', width: 105, }, + { field: 'Status', title: '鎵ц鐘舵��', align: 'center', width: 105, templet: '#StatusmingButton', }, + { field: 'CheckResult', title: '鐩樼偣缁撴灉', align: 'center', width: 105, templet: '#CheckResultButton', }, + { field: 'SkuNo', title: '鐗╂枡缂栫爜', align: 'center', width: 105, }, + { field: 'SkuName', title: '鐗╂枡鍚嶇О', align: 'center', width: 125, }, + { field: 'Standard', title: '瑙勬牸', align: 'center', width: 225, }, + { field: 'LotNo', title: '鎵规鍙�', align: 'center', width: 105, }, + { field: 'LotText', title: '鎵规鎻忚堪', align: 'center', width: 105, }, + { field: 'SupplierLot', title: '渚涜揣鎵规', align: 'center', width: 105, }, + { field: 'CreateUserName', title: '鍒涘缓浜�', align: 'center', width: 100, }, + { field: 'CreateTime', title: '鍒涘缓鏃堕棿', align: 'center', width: 160, templet: '#CreateTimeButton', }, + { field: 'UpdateUserName', title: '淇敼浜�', align: 'center', width: 120, hide: true }, + { field: 'UpdateTime', title: '淇敼鏃堕棿', align: 'center', width: 160, hide: true, templet: '#UpdateTimeButton', }, + ]]; + var TotalColsSysArrm = encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArrm)))//灏嗚〃澶存暟鎹繘琛寀rl缂栫爜 + refreshTable(); + var colsJsonz; + var colsJsonm; + // refreshTablemx(xqid); + + //娓叉煋鐩樼偣鎬诲崟 + function refreshTable() { + var param1 = { + // Href:'QualityControl/QualityInformation' + Href: 'BllCheck/GetStockCheckList' + }; + sendData(IP + "/Sys/GetTableColsByUserId", param1, 'post', function (res) { + if (res.code == 0) { + if (res.data == '' || res.data == undefined || res.data == null) { + console.log(1) + colsJsonz = TotalColsArrz + } else { + console.log(2) + colsJsonz = eval(res.data); + } + } else { + colsJsonz = TotalColsArrz + } + // tableclass(LotNo,SkuNo,SkuName,IsQualified); + var param = { + CrNo: $("#CRNo").val(), + Status: $("#Status").val(), + + PalletNo: $("#PalletNo").val(), + SkuNo: $("#SkuNo").val(), + SkuName: $("#SkuName").val(), + LotNo: $("#LotNo").val(), + StartTime: $("#StartTime").val(), + EndTime: $("#EndTime").val(), + }; + table.render({ + elem: '#LAY-app-content-list', + url: IP + "/BllCheck/GetStockCheckList", + method: 'post', + height: h1,//'full-'+hei1 + id: 'LAY-app-content-list', + where: param, + contentType: 'application/json', + // toolbar: '#toolbarDemo', + defaultToolbar: [], //'filter','print', 'exports' + headers: { ToKen: $.cookie('token') }, + page: true, + even: true, + limit: pageCnt, + limits: pageLimits, + cellMinWidth: 60, //鍏ㄥ眬瀹氫箟甯歌鍗曞厓鏍肩殑鏈�灏忓搴︼紝layui 2.2.1 鏂板 + done: function (res) { + initMenu(); + var soCode = "res.data[0].SONo"; + if (res.data.length != 0) { + soCode = res.data[0].SONo; + } + refreshTablemx(soCode) + //鑷畾涔夊垪瀹� + SetTableColW('LAY-app-content-list', 'BllCheck/GetStockCheckList', TotalColsSysArrz); + }, + cols: colsJsonz + }); + + // table.render({ + // elem: '#LAY-app-content-list', + // url: IP+"/BllCheck/GetStockCheckList", + // method: 'POST', + // height: h1 ,//'full-'+hei1 + // id: 'LAY-app-content-list', + // where: param, + // contentType: 'application/json', + // headers:{ToKen:$.cookie('token')}, + // page: true, + // even: true, + // limit: pageCnt, + // limits: pageLimits, + // cellMinWidth: 60, //鍏ㄥ眬瀹氫箟甯歌鍗曞厓鏍肩殑鏈�灏忓搴︼紝layui 2.2.1 鏂板 + // done: function(res){ + // initMenu(); + // var soCode = "res.data[0].SONo"; + // if (res.data.length != 0) { + // soCode = res.data[0].SONo; + // } + // refreshTablemx(soCode) + // }, + // cols: [ + // [ + // {title: '搴忓彿', type: 'numbers', width: 65, fixed: 'left', }, + // {field: 'CrNo', title: '鐩樼偣鍗曞彿', align: 'center', fixed: 'left', width: 165, }, + // {field: 'Origin',title: '鏉ユ簮',align: 'center', templet: '#OriginzongButton', }, + // {field: 'Status',title: '鎵ц鐘舵��',align: 'center', templet: '#StatuszongButton', }, + // {field: 'CheckDate',title: '寮�濮嬫椂闂�',align: 'center', templet: '#CheckDateButton', }, + // {field: 'CompleteDate',title: '瀹屾垚鏃堕棿',align: 'center', templet: '#CompleteDateButtom', }, + // {field: 'AuditStatusNo',title: '瀹℃牳鐘舵��',align: 'center',width: 130,hide:true, templet: '#AuditStatusButton', }, + // {field: 'IsDoubleCheck', title: '鏄惁澶嶇洏', align: 'center', width: 180, hide:true, templet: '#IsDoubleCheckButton', }, + // {field: 'AuditUserName',title: '瀹℃牳浜�',align: 'center',width: 180,hide:true}, + // {field: 'AuditTime',title: '瀹℃牳鏃堕棿',align: 'center',width: 95,hide:true , templet: '#AuditTimeButton', }, + // {field: 'CreateUserName', title:'鍒涘缓浜�', align:'center', }, + // {field: 'CreateTime',title: '鍒涘缓鏃堕棿',align: 'center', templet: '#CreateTimeButton', }, + // {field: 'UpdateUserName',title: '淇敼浜�',align: 'center',width: 120,hide:true}, + // {field: 'UpdateTime',title: '淇敼鏃堕棿',align: 'center',width: 160,hide:true, templet: '#UpdateTimeButton', }, + // {title: '鎿嶄綔',fixed: 'right',align: 'center',toolbar: '#table-content-list',width: 240 } + // ]] + // }); + }); + } + //娓叉煋鍑哄簱鍗曟槑缁� + function refreshTablemx(crNo) { + var param1 = { + // Href:'QualityControl/QualityInformation' + Href: 'BllCheck/GetStockCheckDetailList' + }; + sendData(IP + "/Sys/GetTableColsByUserId", param1, 'post', function (res) { + if (res.code == 0) { + if (res.data == '' || res.data == undefined || res.data == null) { + colsJsonm = TotalColsArrm + } else { + colsJsonm = eval(res.data); + } + } else { + colsJsonm = TotalColsArrm + } + var param = { + CrNo: crNo, + }; + table.render({ + elem: '#LAY-app-content-list2', + url: IP + "/BllCheck/GetStockCheckDetailList", + method: 'post', + height: h2,//'full-'+hei1 + id: 'LAY-app-content-list2', + where: param, + contentType: 'application/json', + toolbar: '#toolbarDemo', + defaultToolbar: [], //'filter','print', 'exports' + headers: { ToKen: $.cookie('token') }, + page: true, + even: true, + limit: pageCnt, + limits: pageLimits, + cellMinWidth: 60, //鍏ㄥ眬瀹氫箟甯歌鍗曞厓鏍肩殑鏈�灏忓搴︼紝layui 2.2.1 鏂板 + done: function (res) { + initMenu(); + //鑷畾涔夊垪瀹� + SetTableColW('LAY-app-content-list2', 'BllCheck/GetStockCheckDetailList', TotalColsSysArrm); + }, + cols: colsJsonm + }); + // var param = { + // CrNo: crNo, + // }; + // table.render({ + // elem: '#LAY-app-content-list2', + // url: IP + "/BllCheck/GetStockCheckDetailList", + // method: 'POST', + // height: h2, + // id: 'LAY-app-content-list2', + // where: param, + // contentType: 'application/json', + // headers:{ToKen:$.cookie('token')}, + // toolbar:'#toolbarDemo', + // defaultToolbar: ['filter'], //'print', 'exports' + // page: true, + // limit: pageCnt, + // limits: pageLimits, + // cellMinWidth: 60, //鍏ㄥ眬瀹氫箟甯歌鍗曞厓鏍肩殑鏈�灏忓搴︼紝layui 2.2.1 鏂板 + // done: function(){ + // initMenu(); + // }, + // cols: [ + // [ + // {title:'搴忓彿', type:'numbers', width:65, fixed:'left', }, + // {field:'CrNo', title:'鐩樼偣鍗曞彿', align:'center', fixed:'left', width: 165, }, + // {field:'PalletNo', title:'鎵樼洏鍙�', align:'center', fixed:'left', width: 165, }, + // {field:'Qty', title:'搴撳瓨鏁伴噺', align:'center', fixed:'left', width: 105, }, + // {field:'RealQty', title:'瀹為檯鏁伴噺', align:'center', width: 105, }, + // {field:'Status', title:'鎵ц鐘舵��', align:'center', width: 105, templet : '#StatusmingButton', }, + // {field:'CheckResult', title:'鐩樼偣缁撴灉', align:'center', width:105, templet : '#CheckResultButton', }, + // {field:'SkuNo', title:'鐗╂枡缂栫爜', align:'center', width:105, }, + // {field:'SkuName', title:'鐗╂枡鍚嶇О', align:'center', width:125, }, + // {field:'Standard', title:'瑙勬牸', align:'center', width:225, }, + // {field:'LotNo', title:'鎵规鍙�', align:'center', width:105, }, + // {field:'LotText', title:'鎵规鎻忚堪', align:'center', width:105, }, + // {field:'SupplierLot', title:'渚涜揣鎵规', align:'center', width:105, }, + // {field: 'CreateUserName', title:'鍒涘缓浜�', align:'center', width:100, }, + // {field: 'CreateTime',title: '鍒涘缓鏃堕棿',align: 'center',width: 160, templet: '#CreateTimeButton',}, + // {field: 'UpdateUserName',title: '淇敼浜�',align: 'center',width: 120,hide:true}, + // {field: 'UpdateTime',title: '淇敼鏃堕棿',align: 'center',width: 160,hide:true, templet: '#UpdateTimeButton',}, + // ]] + // }); + }); + } + //鎼滅储 + form.on('submit(LAY-app-contlist-search)', function (data) { + refreshTable(); // refreshTablemx(xqid); - - //娓叉煋鐩樼偣鎬诲崟 - function refreshTable() { - var param1={ - // Href:'QualityControl/QualityInformation' - Href:'BllCheck/GetStockCheckList' - }; - sendData(IP + "/Sys/GetTableColsByUserId", param1, 'post', function(res) { - if (res.code == 0){ - if(res.data=='' || res.data==undefined || res.data==null){ - console.log(1) - colsJsonz=TotalColsArrz - }else{ - console.log(2) - colsJsonz= eval(res.data); - } - }else{ - colsJsonz=TotalColsArrz - } - // tableclass(LotNo,SkuNo,SkuName,IsQualified); - var param = { - CrNo: $("#CRNo").val(), - Status: $("#Status").val(), - - PalletNo: $("#PalletNo").val(), - SkuNo: $("#SkuNo").val(), - SkuName: $("#SkuName").val(), - LotNo: $("#LotNo").val(), - StartTime: $("#StartTime").val(), - EndTime: $("#EndTime").val(), - }; - table.render({ - elem: '#LAY-app-content-list', - url: IP + "/BllCheck/GetStockCheckList", - method: 'post', - height: h1 ,//'full-'+hei1 - id: 'LAY-app-content-list', - where: param, - contentType: 'application/json', - // toolbar: '#toolbarDemo', - defaultToolbar: [], //'filter','print', 'exports' - headers: { ToKen: $.cookie('token') }, - page: true, - even: true, - limit: pageCnt, - limits: pageLimits, - cellMinWidth: 60, //鍏ㄥ眬瀹氫箟甯歌鍗曞厓鏍肩殑鏈�灏忓搴︼紝layui 2.2.1 鏂板 - done: function (res) { - initMenu(); - var soCode = "res.data[0].SONo"; - if (res.data.length != 0) { - soCode = res.data[0].SONo; - } - refreshTablemx(soCode) - //鑷畾涔夊垪瀹� - SetTableColW('LAY-app-content-list','BllCheck/GetStockCheckList',TotalColsSysArrz); - }, - cols: colsJsonz - }); - - // table.render({ - // elem: '#LAY-app-content-list', - // url: IP+"/BllCheck/GetStockCheckList", - // method: 'POST', - // height: h1 ,//'full-'+hei1 - // id: 'LAY-app-content-list', - // where: param, - // contentType: 'application/json', - // headers:{ToKen:$.cookie('token')}, - // page: true, - // even: true, - // limit: pageCnt, - // limits: pageLimits, - // cellMinWidth: 60, //鍏ㄥ眬瀹氫箟甯歌鍗曞厓鏍肩殑鏈�灏忓搴︼紝layui 2.2.1 鏂板 - // done: function(res){ - // initMenu(); - // var soCode = "res.data[0].SONo"; - // if (res.data.length != 0) { - // soCode = res.data[0].SONo; - // } - // refreshTablemx(soCode) - // }, - // cols: [ - // [ - // {title: '搴忓彿', type: 'numbers', width: 65, fixed: 'left', }, - // {field: 'CrNo', title: '鐩樼偣鍗曞彿', align: 'center', fixed: 'left', width: 165, }, - // {field: 'Origin',title: '鏉ユ簮',align: 'center', templet: '#OriginzongButton', }, - // {field: 'Status',title: '鎵ц鐘舵��',align: 'center', templet: '#StatuszongButton', }, - // {field: 'CheckDate',title: '寮�濮嬫椂闂�',align: 'center', templet: '#CheckDateButton', }, - // {field: 'CompleteDate',title: '瀹屾垚鏃堕棿',align: 'center', templet: '#CompleteDateButtom', }, - // {field: 'AuditStatusNo',title: '瀹℃牳鐘舵��',align: 'center',width: 130,hide:true, templet: '#AuditStatusButton', }, - // {field: 'IsDoubleCheck', title: '鏄惁澶嶇洏', align: 'center', width: 180, hide:true, templet: '#IsDoubleCheckButton', }, - // {field: 'AuditUserName',title: '瀹℃牳浜�',align: 'center',width: 180,hide:true}, - // {field: 'AuditTime',title: '瀹℃牳鏃堕棿',align: 'center',width: 95,hide:true , templet: '#AuditTimeButton', }, - // {field: 'CreateUserName', title:'鍒涘缓浜�', align:'center', }, - // {field: 'CreateTime',title: '鍒涘缓鏃堕棿',align: 'center', templet: '#CreateTimeButton', }, - // {field: 'UpdateUserName',title: '淇敼浜�',align: 'center',width: 120,hide:true}, - // {field: 'UpdateTime',title: '淇敼鏃堕棿',align: 'center',width: 160,hide:true, templet: '#UpdateTimeButton', }, - // {title: '鎿嶄綔',fixed: 'right',align: 'center',toolbar: '#table-content-list',width: 240 } - // ]] - // }); - }); - } - //娓叉煋鍑哄簱鍗曟槑缁� - function refreshTablemx(crNo) { - var param1={ - // Href:'QualityControl/QualityInformation' - Href:'BllCheck/GetStockCheckDetailList' - }; - sendData(IP + "/Sys/GetTableColsByUserId", param1, 'post', function(res) { - if (res.code == 0){ - if(res.data=='' || res.data==undefined || res.data==null){ - colsJsonm=TotalColsArrm - }else{ - colsJsonm= eval(res.data); - } - }else{ - colsJsonm=TotalColsArrm - } - var param = { - CrNo: crNo, - }; - table.render({ - elem: '#LAY-app-content-list2', - url: IP + "/BllCheck/GetStockCheckDetailList", - method: 'post', - height: h2 ,//'full-'+hei1 - id: 'LAY-app-content-list2', - where: param, - contentType: 'application/json', - toolbar: '#toolbarDemo', - defaultToolbar: [], //'filter','print', 'exports' - headers: { ToKen: $.cookie('token') }, - page: true, - even: true, - limit: pageCnt, - limits: pageLimits, - cellMinWidth: 60, //鍏ㄥ眬瀹氫箟甯歌鍗曞厓鏍肩殑鏈�灏忓搴︼紝layui 2.2.1 鏂板 - done: function (res) { - initMenu(); - //鑷畾涔夊垪瀹� - SetTableColW('LAY-app-content-list2','BllCheck/GetStockCheckDetailList',TotalColsSysArrm); - }, - cols: colsJsonm - }); - // var param = { - // CrNo: crNo, - // }; - // table.render({ - // elem: '#LAY-app-content-list2', - // url: IP + "/BllCheck/GetStockCheckDetailList", - // method: 'POST', - // height: h2, - // id: 'LAY-app-content-list2', - // where: param, - // contentType: 'application/json', - // headers:{ToKen:$.cookie('token')}, - // toolbar:'#toolbarDemo', - // defaultToolbar: ['filter'], //'print', 'exports' - // page: true, - // limit: pageCnt, - // limits: pageLimits, - // cellMinWidth: 60, //鍏ㄥ眬瀹氫箟甯歌鍗曞厓鏍肩殑鏈�灏忓搴︼紝layui 2.2.1 鏂板 - // done: function(){ - // initMenu(); - // }, - // cols: [ - // [ - // {title:'搴忓彿', type:'numbers', width:65, fixed:'left', }, - // {field:'CrNo', title:'鐩樼偣鍗曞彿', align:'center', fixed:'left', width: 165, }, - // {field:'PalletNo', title:'鎵樼洏鍙�', align:'center', fixed:'left', width: 165, }, - // {field:'Qty', title:'搴撳瓨鏁伴噺', align:'center', fixed:'left', width: 105, }, - // {field:'RealQty', title:'瀹為檯鏁伴噺', align:'center', width: 105, }, - // {field:'Status', title:'鎵ц鐘舵��', align:'center', width: 105, templet : '#StatusmingButton', }, - // {field:'CheckResult', title:'鐩樼偣缁撴灉', align:'center', width:105, templet : '#CheckResultButton', }, - // {field:'SkuNo', title:'鐗╂枡缂栫爜', align:'center', width:105, }, - // {field:'SkuName', title:'鐗╂枡鍚嶇О', align:'center', width:125, }, - // {field:'Standard', title:'瑙勬牸', align:'center', width:225, }, - // {field:'LotNo', title:'鎵规鍙�', align:'center', width:105, }, - // {field:'LotText', title:'鎵规鎻忚堪', align:'center', width:105, }, - // {field:'SupplierLot', title:'渚涜揣鎵规', align:'center', width:105, }, - // {field: 'CreateUserName', title:'鍒涘缓浜�', align:'center', width:100, }, - // {field: 'CreateTime',title: '鍒涘缓鏃堕棿',align: 'center',width: 160, templet: '#CreateTimeButton',}, - // {field: 'UpdateUserName',title: '淇敼浜�',align: 'center',width: 120,hide:true}, - // {field: 'UpdateTime',title: '淇敼鏃堕棿',align: 'center',width: 160,hide:true, templet: '#UpdateTimeButton',}, - // ]] - // }); - }); - } - //鎼滅储 - form.on('submit(LAY-app-contlist-search)', function(data) { - refreshTable(); - // refreshTablemx(xqid); + }); + //鏉冮檺 + function initMenu() { + $(function () { + $(".addClass").hide(); + $(".editClass").hide(); + $(".delClass").hide(); + $(".checkOut").hide(); + $(".addAdjust").hide(); + $(".editDemoClass").hide();//澶囨敞 }); - //鏉冮檺 - function initMenu() { - $(function() { - $(".addClass").hide(); - $(".editClass").hide(); - $(".delClass").hide(); - $(".checkOut").hide(); - $(".addAdjust").hide(); - $(".editDemoClass").hide();//澶囨敞 - }); - sendData(IP + "/Basis/GetRoleRightList", {}, 'get', function(res) { - if (res.code == 0) { //鎴愬姛 - for (var k = 0; k < res.data.length; k++) { - if (res.data[k].MenuName == "娣诲姞鐩樼偣鍗�") { - $(function() { - $(".addClass").show(); - }); - } - if (res.data[k].MenuName == "缂栬緫鐩樼偣鍗�") { - $(function() { - $(".editClass").show(); - }); - } - if (res.data[k].MenuName == "鍒犻櫎鐩樼偣鍗�") { - $(function() { - $(".delClass").show(); - }); - } - if (res.data[k].MenuName == "鐩樼偣鍑哄簱") { - $(function() { - $(".checkOut").show(); - }); - } - if (res.data[k].MenuName == "璋冩暣搴撳瓨") { - $(function() { - $(".addAdjust").show(); - }); - } - if (res.data[k].MenuName == "缁存姢鐩樼偣鍗曞娉�") { - $(function() { - $(".editDemoClass").show(); - }); - } + sendData(IP + "/Basis/GetRoleRightList", {}, 'get', function (res) { + if (res.code == 0) { //鎴愬姛 + for (var k = 0; k < res.data.length; k++) { + if (res.data[k].MenuName == "娣诲姞鐩樼偣鍗�") { + $(function () { + $(".addClass").show(); + }); } - } else { //涓嶆垚鍔� - layer.msg('鑾峰彇鏉冮檺淇℃伅澶辫触', { - icon: 2, - time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 - }, function() {}); + if (res.data[k].MenuName == "缂栬緫鐩樼偣鍗�") { + $(function () { + $(".editClass").show(); + }); + } + if (res.data[k].MenuName == "鍒犻櫎鐩樼偣鍗�") { + $(function () { + $(".delClass").show(); + }); + } + if (res.data[k].MenuName == "鐩樼偣鍑哄簱") { + $(function () { + $(".checkOut").show(); + }); + } + if (res.data[k].MenuName == "璋冩暣搴撳瓨") { + $(function () { + $(".addAdjust").show(); + }); + } + if (res.data[k].MenuName == "缁存姢鐩樼偣鍗曞娉�") { + $(function () { + $(".editDemoClass").show(); + }); + } } - }); - } - //瑙﹀彂琛屽崟鍑讳簨浠� - table.on('row(LAY-app-content-list)', function(obj) { - refreshTablemx(obj.data.CrNo); - xqid = "obj.data.CrNo"; - }); - - - - //-------------------------------------------------------------------------------------------- - //澶村伐鍏锋爮浜嬩欢 - table.on('toolbar(LAY-app-content-list2)', function(obj){ - var checkStatus = table.checkStatus(obj.config.id); - if (obj.event == "add") { - layer.open({ - type: 2, - title: '娣诲姞鐩樼偣鍗�', - content: 'StockCheckFrom.html', - maxmin: true, - area: ['1200px', '90%'], - }); + } else { //涓嶆垚鍔� + layer.msg('鑾峰彇鏉冮檺淇℃伅澶辫触', { + icon: 2, + time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + }, function () { }); } }); - //鐩戝惉鏁版嵁鎿嶄綔 - table.on('tool(LAY-app-content-list)', function(obj) { - var data = obj.data; - console.log(data); - Id = data.Id; - CrNo = data.CrNo; - if (obj.event === 'del') {//鍒犻櫎 - layer.confirm('纭畾鍒犻櫎姝ゅ崟鎹悧锛�', function(index) { - var param = { - Id: parseInt(Id), - }; - sendData(IP + "/BllCheck/DelStockCheck", param, 'post', function(res) { - console.log(res); - if (res.code == 0) { //鎴愬姛 - layer.msg(res.msg, { - icon: 1, - time: 1000 //1绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 - }, function() { - refreshTable(); - }); - } else { //涓嶆垚鍔� - layer.msg(res.msg, { - icon: 2, - time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 - }, function() {}); - } - }); - }); - } else if (obj.event === 'finish') {//鐢熸垚璋冩暣鍗� - layer.confirm('纭畾璋冩暣搴撳瓨鍚楋紵', function(index) { - var param = { - Id: parseInt(Id), - Origin:data.Origin - }; - sendData(IP + "/UpApi/FinishCr", param, 'post', function(res) { - console.log(res); - if (res.code == 0) { //鎴愬姛 - layer.msg(res.msg, { - icon: 1, - time: 1000 //1绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 - }, function() { - refreshTable(); - }); - } else { //涓嶆垚鍔� - layer.msg(res.msg, { - icon: 2, - time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 - }, function() { - refreshTable(); - }); - } - }); - }); - }else if(obj.event === 'edit'){//缂栬緫 - layer.open({ - type: 2, - title: '缂栬緫鐩樼偣鍗�', - content: 'StockCheckFrom.html?crNo='+CrNo, - maxmin: true, - area: ['1200px', '90%'], - }); - }else if(obj.event === 'outbound'){ - layer.open({ - type: 1, - title: '纭鍑哄簱鍙�', - content: $('#divPickingArea'), - maxmin: true, - area: ['300px','265px'], - btn: ['纭畾', '鍙栨秷'], - yes: function(index, layero) { - var pa = $('#PickingArea').val(); - if (isChongFu== true) { - isChongFu= false; - - var param = { - crNo: data.CrNo, - outMode: pa, - }; - sendData(IP + "/DownApi/CheckOutHouse", param, 'get', function(res) { - console.log(res); - if (res.code == 0) { //鎴愬姛 - layer.msg(res.msg, { - icon: 1, - time: 3000 //1绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 - }, function() { - refreshTable(); - isChongFu= true; - }); - } else { //涓嶆垚鍔� - layer.msg(res.msg, { - icon: 2, - time: 3000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 - }, function() { - refreshTable(); - isChongFu= true; - }); - } - layer.close(index); - }); - }else{ - layer.msg("璇峰嬁閲嶅鐐瑰嚮", { - icon: 2, - time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 - }); - } + } + //瑙﹀彂琛屽崟鍑讳簨浠� + table.on('row(LAY-app-content-list)', function (obj) { + refreshTablemx(obj.data.CrNo); + xqid = "obj.data.CrNo"; + }); + + + + //-------------------------------------------------------------------------------------------- + //澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(LAY-app-content-list2)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + if (obj.event == "add") { + layer.open({ + type: 2, + title: '娣诲姞鐩樼偣鍗�', + content: 'StockCheckFrom.html', + maxmin: true, + area: ['1200px', '90%'], + }); + } + }); + //鐩戝惉鏁版嵁鎿嶄綔 + table.on('tool(LAY-app-content-list)', function (obj) { + var data = obj.data; + console.log(data); + Id = data.Id; + CrNo = data.CrNo; + if (obj.event === 'del') {//鍒犻櫎 + layer.confirm('纭畾鍒犻櫎姝ゅ崟鎹悧锛�', function (index) { + var param = { + Id: parseInt(Id), + }; + sendData(IP + "/BllCheck/DelStockCheck", param, 'post', function (res) { + console.log(res); + if (res.code == 0) { //鎴愬姛 + layer.msg(res.msg, { + icon: 1, + time: 1000 //1绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + }, function () { + refreshTable(); + }); + } else { //涓嶆垚鍔� + layer.msg(res.msg, { + icon: 2, + time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + }, function () { }); } - }); - }else if(obj.event === 'editDemo'){//缂栬緫澶囨敞 - $('#NoticeDemo').val(data.Demo); - layer.open({ - type: 1, - title: '缁存姢澶囨敞', - content: $('#divEditDemo'), - maxmin: false, - area: ['420px','260px'], - btn: ['纭畾', '鍙栨秷'], - yes: function(index, layero) { - var demo = $('#NoticeDemo').val(); + }); + }); + } else if (obj.event === 'finish') {//鐢熸垚璋冩暣鍗� + layer.confirm('纭畾璋冩暣搴撳瓨鍚楋紵', function (index) { + var param = { + Id: parseInt(Id), + Origin: data.Origin + }; + sendData(IP + "/UpApi/FinishCr", param, 'post', function (res) { + console.log(res); + if (res.code == 0) { //鎴愬姛 + layer.msg(res.msg, { + icon: 1, + time: 1000 //1绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + }, function () { + refreshTable(); + }); + } else { //涓嶆垚鍔� + layer.msg(res.msg, { + icon: 2, + time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + }, function () { + refreshTable(); + }); + } + }); + }); + } else if (obj.event === 'edit') {//缂栬緫 + layer.open({ + type: 2, + title: '缂栬緫鐩樼偣鍗�', + content: 'StockCheckFrom.html?crNo=' + CrNo, + maxmin: true, + area: ['1200px', '90%'], + }); + } else if (obj.event === 'outbound') { + layer.open({ + type: 1, + title: '纭鍑哄簱鍙�', + content: $('#divPickingArea'), + maxmin: true, + area: ['300px', '265px'], + btn: ['纭畾', '鍙栨秷'], + yes: function (index, layero) { + var pa = $('#PickingArea').val(); + if (isChongFu == true) { + isChongFu = false; + var param = { - id: data.Id, - demo: demo, + crNo: data.CrNo, + outMode: pa, }; - sendData(IP + "/BllCheck/EditNoticeDemo", param, 'get', function(res) { + sendData(IP + "/DownApi/CheckOutHouse", param, 'get', function (res) { + console.log(res); if (res.code == 0) { //鎴愬姛 - refreshTable(); layer.msg(res.msg, { icon: 1, - time: 1500 //1绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 - }, function() { - + time: 3000 //1绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + }, function () { + refreshTable(); + isChongFu = true; }); } else { //涓嶆垚鍔� layer.msg(res.msg, { icon: 2, time: 3000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 - }, function() { + }, function () { refreshTable(); + isChongFu = true; }); } layer.close(index); }); + } else { + layer.msg("璇峰嬁閲嶅鐐瑰嚮", { + icon: 2, + time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + }); } - }); - } - }); - - var $ = layui.$, - active = { - customCols: function(){ - layer.open({ - type: 2, - title: '鑷畾涔夊垪', - content: '../SystemSettings/HeaderSetting.html?Href=BllCheck/GetStockCheckList&ColsSysArr='+TotalColsSysArrz, - maxmin: false, - resize: false, - area: ['970px', '650px'] + } + }); + } else if (obj.event === 'vision') { + + layer.confirm('纭畾瑙嗚鐩樼偣', function () { + if (isChongFu == true) { + isChongFu = false; + var param = { + crNo: data.CrNo + }; + sendData(IP + "/DownApi/CheckVision", param, 'get', function (res) { + console.log(res); + if (res.code == 0) { //鎴愬姛 + layer.msg(res.msg, { + icon: 1, + time: 3000 //1绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + }, function () { + refreshTable(); + isChongFu = true; + }); + } else { //涓嶆垚鍔� + layer.msg(res.msg, { + icon: 2, + time: 3000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + }, function () { + refreshTable(); + isChongFu = true; + }); + } + layer.close(index); }); - }, - customCols2: function(){ - layer.open({ - type: 2, - title: '鑷畾涔夊垪', - content: '../SystemSettings/HeaderSetting.html?Href=BllCheck/GetStockCheckDetailList&ColsSysArr='+TotalColsSysArrm, - maxmin: false, - resize: false, - area: ['970px', '650px'] + } else { + layer.msg("璇峰嬁閲嶅鐐瑰嚮", { + icon: 2, + time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + }, function () { + isChongFu = true }); } - }; - $('.layui-btn').on('click', function() { - var type = $(this).data('type'); - active[type] ? active[type].call(this) : ''; - }); - + }, function () { + + }); + } else if (obj.event === 'editDemo') {//缂栬緫澶囨敞 + $('#NoticeDemo').val(data.Demo); + layer.open({ + type: 1, + title: '缁存姢澶囨敞', + content: $('#divEditDemo'), + maxmin: false, + area: ['420px', '260px'], + btn: ['纭畾', '鍙栨秷'], + yes: function (index, layero) { + var demo = $('#NoticeDemo').val(); + var param = { + id: data.Id, + demo: demo, + }; + sendData(IP + "/BllCheck/EditNoticeDemo", param, 'get', function (res) { + if (res.code == 0) { //鎴愬姛 + refreshTable(); + layer.msg(res.msg, { + icon: 1, + time: 1500 //1绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + }, function () { + + }); + } else { //涓嶆垚鍔� + layer.msg(res.msg, { + icon: 2, + time: 3000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + }, function () { + refreshTable(); + }); + } + layer.close(index); + }); + } + }); + } }); - </script> - </body> -</html> + + var $ = layui.$, + active = { + customCols: function () { + layer.open({ + type: 2, + title: '鑷畾涔夊垪', + content: '../SystemSettings/HeaderSetting.html?Href=BllCheck/GetStockCheckList&ColsSysArr=' + TotalColsSysArrz, + maxmin: false, + resize: false, + area: ['970px', '650px'] + }); + }, + customCols2: function () { + layer.open({ + type: 2, + title: '鑷畾涔夊垪', + content: '../SystemSettings/HeaderSetting.html?Href=BllCheck/GetStockCheckDetailList&ColsSysArr=' + TotalColsSysArrm, + maxmin: false, + resize: false, + area: ['970px', '650px'] + }); + } + }; + $('.layui-btn').on('click', function () { + var type = $(this).data('type'); + active[type] ? active[type].call(this) : ''; + }); + + }); + </script> +</body> + +</html> \ No newline at end of file diff --git a/HTML/views/SOSetting/ExportAllot.html b/HTML/views/SOSetting/ExportAllot.html index 24dfb71..fa289d7 100644 --- a/HTML/views/SOSetting/ExportAllot.html +++ b/HTML/views/SOSetting/ExportAllot.html @@ -329,7 +329,7 @@ var mxId = "0"; var yemianid = 0; refreshTable(); - refreshTablemx(mxId) + //refreshTablemx(mxId) //娓叉煋鍑哄簱鍒嗛厤table //#region 鑷畾涔夎〃澶� var TotalColsArr = [[ diff --git a/HTML/views/SOSetting/ExportNotice.html b/HTML/views/SOSetting/ExportNotice.html index 0568bea..ffa8410 100644 --- a/HTML/views/SOSetting/ExportNotice.html +++ b/HTML/views/SOSetting/ExportNotice.html @@ -324,6 +324,21 @@ }} {{ GetBtn9(d) }} </script> + + <script type="text/html" id="templetIsMixBox"> + {{# function GetBtn10(d){ + switch (d.IsMixBox) { + case "0": + return "鍚�"; + case "1": + return "鏄�"; + default: + return ""; + } + } + }} + {{ GetBtn10(d) }} + </script> <!-- #endregion --> </div> @@ -770,6 +785,7 @@ { field: 'CompleteQty', title: '鎷h揣鏁伴噺', align: 'center', width: 100 }, { field: 'IsBale', title: '鏄惁瑁瑰寘', align: 'center', templet: '#templetIsBale', width: 90 }, { field: 'IsBelt', title: '鏄惁鎵撳甫', align: 'center', templet: '#templetIsBelt', width: 90 }, + { field: 'IsMixBox', title: '鏄惁鎷肩', align: 'center', templet: '#templetIsMixBox', width: 90 }, { field: 'LotText', title: '鎵规鎻忚堪', align: 'center', width: 100 }, { field: 'PackagName', title: '鍖呰鍚嶇О', align: 'center', width: 120 }, { field: 'SupplierLot', title: '渚涜揣鎵规', align: 'center', width: 120 }, @@ -1181,31 +1197,37 @@ isChongFu = true; }); } else { //涓嶆垚鍔� - - layer.confirm('褰撳墠鍗曟嵁鎵规鍑哄簱鏄法鎵瑰嚭搴擄紝鏄惁璺ㄦ壒鍑哄簱锛�', function () { - var param1 = { - soNo: SoNo, - tab: "1" - }; - sendData(IP + "/BllSo/ExportAutoAllot", param1, 'get', function (res) { - if (res.code == 0) { //鎴愬姛 - layer.msg("鎿嶄綔鎴愬姛锛�", { - icon: 1, - time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 - }, function () { - refreshTable(); - isChongFu = true; - }); - } else { - layer.msg(res.msg, { - icon: 2, - time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 - }, function () { - isChongFu = true; - }); - } + if(res.code==2){ + layer.confirm('褰撳墠鍗曟嵁鎵规鍑哄簱鏄法鎵瑰嚭搴擄紝鏄惁璺ㄦ壒鍑哄簱锛�', function () { + var param1 = { + soNo: SoNo, + tab: "1" + }; + sendData(IP + "/BllSo/ExportAutoAllot", param1, 'get', function (res) { + if (res.code == 0) { //鎴愬姛 + layer.msg("鎿嶄綔鎴愬姛锛�", { + icon: 1, + time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + }, function () { + refreshTable(); + isChongFu = true; + }); + } else { + layer.msg(res.msg, { + icon: 2, + time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + }, function () { + isChongFu = true; + }); + } + }) }) - }) + }else{ + layer.msg(res.msg, { + icon: 2, + time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + }); + } isChongFu = true; } }); diff --git a/Pda/View/login.html b/Pda/View/login.html index 837a106..8c75686 100644 --- a/Pda/View/login.html +++ b/Pda/View/login.html @@ -195,12 +195,12 @@ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 }); } else { - if(res.code==200){//鎴愬姛 + if(res.code==0){//鎴愬姛 layer.msg('鐧婚檰鎴愬姛', { icon: 1, time: 500 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 }, function () { - $.cookie('token', res.ToKen.TokenStr); + $.cookie('token', res.data); //鍥炶皟 location.href="/View/index.html"; }); diff --git a/Wms/Model/InterFaceModel/SoModel.cs b/Wms/Model/InterFaceModel/SoModel.cs index c48ca16..b9bf606 100644 --- a/Wms/Model/InterFaceModel/SoModel.cs +++ b/Wms/Model/InterFaceModel/SoModel.cs @@ -67,6 +67,13 @@ /// 涓婃父绯荤粺鏄庣粏鍗曞彿 /// </summary> public string OrderDetailCode { get; set; } + + /// <summary> + /// Desc:鏄惁鎺ュ彈鎷肩 + /// Default: 0锛氬惁 1锛氭槸 + /// Nullable:True + /// </summary> + public string IsMixBox { get; set; } } /// <summary> diff --git a/Wms/Model/ModelDto/BllSoDto/ExportNoticeDetailDto.cs b/Wms/Model/ModelDto/BllSoDto/ExportNoticeDetailDto.cs index 4ef74ba..05405f8 100644 --- a/Wms/Model/ModelDto/BllSoDto/ExportNoticeDetailDto.cs +++ b/Wms/Model/ModelDto/BllSoDto/ExportNoticeDetailDto.cs @@ -96,6 +96,11 @@ public string IsBelt { get; set; } /// <summary> + /// 鏄惁鎺ュ彈鎷肩 + /// </summary> + public string IsMixBox { get; set; } + + /// <summary> /// Desc:渚涜揣鎵规 /// </summary> public string SupplierLot { get; set; } diff --git a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs index 86fe9e7..93c6c16 100644 --- a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs +++ b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs @@ -8,17 +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; namespace WMS.BLL.BllAsnServer { @@ -34,114 +32,105 @@ #endregion #region 浜嬩欢鏂规硶 - public List<ArrivalNoticeDto> GetArrivalNoticeList(ArrivalNoticeVm model, out int count) + public async Task<List<ArrivalNoticeDto>> GetArrivalNoticeList(ArrivalNoticeVm model, RefAsync<int> count) { - string sqlString = string.Empty; - string sqlCount = string.Empty; - string sqlPub = string.Empty; - try - { - sqlCount += "SELECT DISTINCT COUNT(tb1.ID) FROM BllArrivalNotice AS tb1 "; - sqlString += "SELECT DISTINCT tb1.*,tb3.RealName as CreateUserName,tb4.RealName as UpdateUserName,tb5.RealName as CheckUserName FROM BllArrivalNotice AS tb1 "; - sqlPub += "LEFT JOIN BllArrivalNoticeDetail AS tb2 ON tb1.ASNNo = tb2.ASNNo "; - sqlPub += "LEFT JOIN SysUserInfor AS tb3 ON tb1.CreateUser = tb3.Id "; - sqlPub += "LEFT JOIN SysUserInfor AS tb4 ON tb1.UpdateUser = tb4.Id "; - sqlPub += "LEFT JOIN SysUserInfor AS tb5 ON tb1.CheckUser = tb5.Id "; - sqlPub += $"WHERE tb1.ASNNo LIKE '%{model.ASNNo}%' AND tb2.LotNo LIKE '%{model.LotNo}%' "; - sqlPub += $"AND tb2.SkuNo LIKE '%{model.SkuNo}%' AND tb2.SkuName LIKE '%{model.SkuName}%' "; - sqlPub += $"AND tb1.CustomerName LIKE '%{model.CustomerName}%' "; - if (!string.IsNullOrEmpty(model.OrderCode)) + var modelList = await Db.Queryable<BllArrivalNotice,BllArrivalNoticeDetail, SysUserInfor, SysUserInfor, + SysUserInfor>((tb1, tb2, tb3, tb4,tb5) => new JoinQueryInfos( + JoinType.Left, tb1.ASNNo == tb2.ASNNo, + JoinType.Left, tb1.CreateUser == tb3.Id, + JoinType.Left, tb1.UpdateUser == tb4.Id, + JoinType.Left, tb1.CheckUser == tb5.Id)) + .WhereIF(!string.IsNullOrWhiteSpace(model.ASNNo), tb1 => tb1.ASNNo.Contains(model.ASNNo)) + .WhereIF(!string.IsNullOrWhiteSpace(model.LotNo), (tb1,tb2) => tb2.LotNo.Contains(model.LotNo)) + .WhereIF(!string.IsNullOrWhiteSpace(model.SkuNo), (tb1,tb2) => tb2.SkuNo.Contains(model.SkuNo)) + .WhereIF(!string.IsNullOrWhiteSpace(model.SkuName), (tb1,tb2) => tb2.SkuName.Contains(model.SkuName)) + .WhereIF(!string.IsNullOrWhiteSpace(model.CustomerName), tb1 => tb1.CustomerName.Contains(model.CustomerName)) + .WhereIF(!string.IsNullOrWhiteSpace(model.OrderCode), tb1 => tb1.OrderCode.Contains(model.OrderCode)) + .WhereIF(!string.IsNullOrWhiteSpace(model.Status), tb1 => tb1.Status == model.Status) + .WhereIF(!string.IsNullOrWhiteSpace(model.Type), tb1 => tb1.Type == model.Type) + .WhereIF(!string.IsNullOrWhiteSpace(model.StartTime), tb1 => tb1.CreateTime >= Convert.ToDateTime(model.StartTime)) + .WhereIF(!string.IsNullOrWhiteSpace(model.EndTime), tb1 => tb1.CreateTime <= Convert.ToDateTime(model.EndTime).AddDays(1)) + .WhereIF(!string.IsNullOrWhiteSpace(model.CustomerName), tb1 => tb1.CustomerName.Contains(model.CustomerName)) + .Where(tb1 => tb1.IsDel == "0") + .OrderByDescending(tb1 => tb1.ASNNo) + .Distinct() + .Select((tb1, tb2, tb3, tb4, tb5) => new ArrivalNoticeDto() { - sqlPub += $"AND tb1.OrderCode LIKE '%{model.OrderCode}%' "; - } - if (!string.IsNullOrEmpty(model.Status)) - { - sqlPub += $"AND tb1.Status = '{model.Status}' "; - } - if (!string.IsNullOrEmpty(model.Type)) - { - if (model.Type == "3") - { - sqlPub += $"AND tb1.Type = '{model.Type}' "; - } - else - { - sqlPub += $"AND tb1.Type = '{model.Type}' AND tb1.Type != '3' "; - } - } - else - { - sqlPub += " AND tb1.Type != '3'"; + Id = tb1.Id, + ASNNo = tb1.ASNNo, + Type = tb1.Type, + Status = tb1.Status, + Origin = tb1.Origin, + CustomerNo = tb1.CustomerNo, + CustomerName = tb1.CustomerName, + LotNo = tb1.LotNo, + LotText = tb1.LotText, + CheckTime = ((DateTime)tb1.CheckTime).ToString("yyyy-MM-dd HH:mm:ss"), + CheckUserName = tb5.RealName, + SupplierLot = tb1.SupplierLot, + Demo = tb1.Demo, + OrderCode = tb1.OrderCode, + CompleteTime = tb1.CompleteTime, + CreateTime = tb1.CreateTime, + CreateUserName = tb3.RealName, + UpdateTime = ((DateTime)tb1.UpdateTime).ToString("yyyy-MM-dd HH:mm:ss"), + UpdateUserName = tb4.RealName - } - if (!string.IsNullOrEmpty(model.StartTime)) - { - sqlPub += $"AND tb1.CreateTime >= '{model.StartTime}' "; - } - if (!string.IsNullOrEmpty(model.EndTime)) - { - sqlPub += $"AND tb1.CreateTime <= '{model.EndTime}' "; - } - sqlCount += sqlPub + "AND tb1.IsDel = '0' "; - sqlPub += "AND tb1.IsDel = '0' order by tb1.ASNNo desc "; - if (model.Page == 0) - { - model.Page = 1; - } - sqlString += sqlPub + $" offset {((model.Page - 1) * model.Limit)} rows fetch next {model.Limit} rows only;"; + }).ToPageListAsync(model.Page, model.Limit, count); - var com = new Common(); - count = com.GetRowCount(sqlCount); - - var modelList = Db.Ado.SqlQuery<ArrivalNoticeDto>(sqlString); - - return modelList; - } - catch (Exception ex) - { - throw ex; - } + return modelList; } - public List<ArrivalNoticeDetailDto> GetArrivalNoticeDetailList(ArrivalNoticeDetailVm model, out int count) + public async Task<List<ArrivalNoticeDetailDto>> GetArrivalNoticeDetailList(ArrivalNoticeDetailVm model, RefAsync<int> count) { - string sqlString = string.Empty; - string sqlCount = string.Empty; - int rowCount = 1; - try - { - if (model.Page == 0) - { - model.Page = 1; - } - sqlCount += $"SELECT COUNT(ID) FROM BllArrivalNoticeDetail where ASNNo = '{model.ASNNo}' and isdel = '0';"; - var com = new Common(); - count = com.GetRowCount(sqlCount); - if (count != 0) - { - rowCount = count; - } + var item = Expressionable.Create<BllArrivalNoticeDetail>() + .AndIF(!string.IsNullOrWhiteSpace(model.ASNNo), it => it.ASNNo == model.ASNNo) + .AndIF(true, it => it.IsDel == "0") + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� - sqlString += "SELECT DISTINCT tb1.*,tb2.Type as AsnType,tb2.Status as AsnStatus,tb3.RealName as CreateUserName, "; - sqlString += "tb4.RealName as UpdateUserName,isnull(tb6.UnitName,tb5.UnitNo) as UnitName,tb7.PackagName,tb5.IsPasteCode "; - sqlString += "FROM BllArrivalNoticeDetail AS tb1 "; - sqlString += "LEFT JOIN BllArrivalNotice AS tb2 ON tb1.ASNNo = tb2.ASNNo "; - sqlString += "LEFT JOIN SysUserInfor AS tb3 ON tb1.CreateUser = tb3.Id "; - sqlString += "LEFT JOIN SysUserInfor AS tb4 ON tb1.UpdateUser = tb4.Id "; - sqlString += "LEFT JOIN SysMaterials AS tb5 on tb1.SkuNo = tb5.SkuNo "; - sqlString += "LEFT JOIN SysUnit AS tb6 on tb5.UnitNo = tb6.UnitNo "; - sqlString += "LEFT JOIN SysPackag AS tb7 on tb1.PackagNo = tb7.PackagNo "; - sqlString += $"WHERE tb1.ASNNo = '{model.ASNNo}' AND tb1.IsDel = '0' order by tb1.SkuNo desc "; - sqlString += $"offset {((model.Page - 1) * model.Limit)} rows fetch next {rowCount} rows only;"; + var modelList = await Db.Queryable<BllArrivalNoticeDetail>().Where(item) + .LeftJoin<BllArrivalNotice>((tb1, tb2) => tb1.ASNNo == tb2.ASNNo) + .LeftJoin<SysUserInfor>((tb1, tb2,tb3) => tb1.CreateUser == tb3.Id) + .LeftJoin<SysUserInfor>((tb1,tb2,tb3,tb4) => tb1.UpdateUser == tb4.Id) + .LeftJoin<SysMaterials>((tb1, tb2, tb3, tb4,tb5) => tb1.SkuNo == tb5.SkuNo) + .LeftJoin<SysUnit>((tb1, tb2, tb3, tb4, tb5,tb6) => tb5.UnitNo == tb6.UnitNo) + .LeftJoin<SysPackag>((tb1, tb2, tb3, tb4, tb5, tb6,tb7) => tb1.PackagNo == tb7.PackagNo) + .Select((tb1, tb2, tb3, tb4, tb5,tb6, tb7) => new ArrivalNoticeDetailDto() + { + Id = tb1.Id, + ASNNo = tb1.ASNNo, + SkuNo = tb1.SkuNo, + SkuName = tb1.SkuName, + Standard = tb1.Standard, + LotNo = tb1.LotNo, + LotText = tb1.LotText, + Qty = tb1.Qty, + FactQty = tb1.FactQty, + CompleteQty = tb1.CompleteQty, + IsSampling = tb1.IsSampling, + InspectStatus = tb1.InspectStatus, + PackagNo = tb1.PackagNo, + PackagName = tb7.PackagName, + UnitName = tb6.UnitName, + IsBale = tb1.IsBale, + IsBelt = tb1.IsBelt, + SupplierLot = tb1.SupplierLot, + Status = tb1.Status, + AsnType = tb2.Type, + AsnStatus = tb2.Status, + UDF1 = tb1.UDF1, + UDF2 = tb1.UDF2, + UDF3 = tb1.UDF3, + UDF4 = tb1.UDF4, + UDF5 = tb1.UDF5, + CompleteTime = tb1.CompleteTime, + CreateTime = tb1.CreateTime, + CreateUserName = tb3.RealName, + UpdateTime = ((DateTime)tb1.UpdateTime).ToString("yyyy-MM-dd HH:mm:ss"), + UpdateUserName = tb4.RealName + }).ToPageListAsync(model.Page, model.Limit, count); - var modelList = Db.Ado.SqlQuery<ArrivalNoticeDetailDto>(sqlString); - - return modelList; - } - catch (Exception ex) - { - throw ex; - } + return modelList; } //鑾峰彇鍏ュ簱鍗曟槑缁嗗墿浣欐墦鍗版暟閲� @@ -173,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; } @@ -237,8 +209,6 @@ .Includes(x => x.UnitInfo) .Includes(x => x.PackagInfo) .ToList(); - - return data.Select(m => new MaterialsDto() { @@ -274,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 { @@ -299,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)) { @@ -323,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)) @@ -364,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:鐗╂枡鍜屾壒娆″彿閲嶅;"; @@ -379,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)); @@ -435,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; // 澶勭悊宸插垹闄ょ殑鏄庣粏 @@ -465,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)) @@ -499,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:鐗╂枡鍜屾壒娆″彿閲嶅;"; @@ -546,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 { @@ -574,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) @@ -589,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) { @@ -630,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:鍏ュ簱鍗曠姸鎬佸凡鍙樻洿锛屼笉鍙垹闄�!"; @@ -644,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 ""; @@ -696,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) { @@ -710,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) { @@ -739,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) @@ -749,6 +816,7 @@ throw new Exception(ex.Message); } } + //鍏抽棴鍏ュ簱鍗� public string CloseArrivalNotice(int id, int userId) { @@ -759,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) { @@ -850,7 +928,7 @@ } // 鍏ュ簱鎬昏〃淇℃伅 string asnNo = new Common().GetMaxNo("ASN"); - var asnModel = new BllArrivalNotice() + var asnModel1 = new BllArrivalNotice() { ASNNo = asnNo, Status = "0",//鎵ц鐘舵�侊紝0锛氱瓑寰呮墽琛� @@ -862,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.BLL/BllCheckServer/StockCheckServer.cs b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs index 0af25c8..a93d0a0 100644 --- a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs +++ b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs @@ -3,6 +3,7 @@ using System.ComponentModel.Design; using System.Linq; using System.Linq.Expressions; +using System.Net; using System.Text; using System.Threading.Tasks; using Microsoft.AspNetCore.Identity; @@ -340,7 +341,7 @@ ParentName = "搴撳唴浣滀笟", MenuName = "鐩樼偣鍗曟嵁", FkNo = model.CrNo, - TypeName = "娣诲姞", + TypeName = "缂栬緫", Msg = $"缂栬緫浜嗗崟鎹彿涓簕model.CrNo}鐨勭洏鐐瑰崟淇℃伅" }); //var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鐩樼偣鍗曟嵁", model.CrNo, "缂栬緫", $"缂栬緫浜嗗崟鎹彿涓簕model.CrNo}鐨勭洏鐐瑰崟淇℃伅", _userManager.UserId); @@ -889,346 +890,688 @@ //鐩樼偣涓嬪彂鍑哄簱 public async Task<List<OutCommandDto>> CheckOutHouse(string crNo, string outMode, string url, string str) { - try + #region 闆嗗悎 + var outDtoList = new List<OutCommandDto>(); //鍑哄簱鏁版嵁鐨勯泦鍚� + //璁板綍閿欒淇℃伅鐨勯泦鍚� + var flagList = new List<int>();//1:褰撳墠瑕佸嚭搴撶殑鍌ㄤ綅姝e湪绉诲嚭銆�2 鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)銆�3鍌ㄤ綅鎹熷潖涓嶈兘鍑哄簱銆�4 瑕佸嚭搴撶殑鎵樼洏姝e湪鍏ュ簱 + + #endregion + var com = new Common(); + //assign.IsHavePyTask(); + var notice = await Db.Queryable<BllStockCheck>().FirstAsync(m => m.CRNo == crNo && m.IsDel == "0"); + if (notice == null) { - #region 闆嗗悎 - var outDtoList = new List<OutCommandDto>(); //鍑哄簱鏁版嵁鐨勯泦鍚� - //璁板綍閿欒淇℃伅鐨勯泦鍚� - var flagList = new List<int>();//1:褰撳墠瑕佸嚭搴撶殑鍌ㄤ綅姝e湪绉诲嚭銆�2 鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)銆�3鍌ㄤ綅鎹熷潖涓嶈兘鍑哄簱銆�4 瑕佸嚭搴撶殑鎵樼洏姝e湪鍏ュ簱 - - #endregion - var com = new Common(); - //assign.IsHavePyTask(); - var notice = await Db.Queryable<BllStockCheck>().FirstAsync(m => m.CRNo == crNo && m.IsDel == "0"); - if (notice == null) + throw Oops.Bah($"鏈壘鍒皗crNo}鐩樼偣鍗曚俊鎭�"); + } + //鎵�鏈夎鍑哄簱鐨勭洏鐐规槑缁嗕俊鎭�(绛夊緟鐨勪俊鎭拰寰呮嫞璐х殑淇℃伅) + var funSetting = Db.Queryable<SysFunSetting>().First(a => a.IsDel == "0" && a.FunSetNo == "InventoryCheckMethod"); + if (funSetting == null || funSetting.IsEnable == "OFF") + { + throw Oops.Bah("闇�閰嶇疆鐩樼偣鏂瑰紡"); + } + var list = await Db.Queryable<BllStockCheckDetail>().Where(a => a.IsDel == "0" && a.CRNo == crNo && (a.Status == 0 || a.Status == 1 || a.Status == 2)).ToListAsync(); + if (list.Count == 0) //鍒ゆ柇鏄惁鏈夐渶瑕佷笅鍙戠殑鐩樼偣鏄庣粏 + { + throw Oops.Bah("褰撳墠鐩樼偣鍗曟嵁鏃犻渶瑕佷笅鍙戠殑鎵樼洏"); + } + if (funSetting.SetValue == "once") + { + if (list.Any(s => s.Status == 1 || s.Status == 2)) { - throw Oops.Bah($"鏈壘鍒皗crNo}鐩樼偣鍗曚俊鎭�"); + throw Oops.Bah("宸叉湁姝e湪鍑哄簱鎴栧緟鐩樼偣鐨勬暟鎹紝璇峰畬鎴愮洏鐐瑰悗鍐嶅嚭搴�"); } - //鎵�鏈夎鍑哄簱鐨勭洏鐐规槑缁嗕俊鎭�(绛夊緟鐨勪俊鎭拰寰呮嫞璐х殑淇℃伅) - var list = await Db.Queryable<BllStockCheckDetail>().Where(a => a.IsDel == "0" && a.CRNo == crNo && a.Status == 0).ToListAsync(); - if (list.Count == 0) //鍒ゆ柇鏄惁鏈夐渶瑕佷笅鍙戠殑鐩樼偣鏄庣粏 + list = new List<BllStockCheckDetail>() { list.FirstOrDefault() }; + } + else + { + list = list.Where(s => s.Status == 0).ToList(); + } + #region + //瑕佸嚭搴撶殑鎵樼洏闆嗗悎 + var outLpnList = list.Select(m => m.PalletNo).Distinct().ToList(); + //瑕佸嚭搴撶殑鏄庣粏闆嗗悎 + var outStockDetail = await Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && outLpnList.Contains(m.PalletNo)).ToListAsync(); + var outStockBox = await Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && outLpnList.Contains(m.PalletNo)).ToListAsync(); + //鑾峰彇鐗╂枡淇℃伅 + var skuNo = await Db.Queryable<SysMaterials>().Where(a => a.IsDel == "0" && a.Type == "4").Select(a => a.SkuNo).ToListAsync(); + var time = DateTime.Now; + //Db.BeginTran(); + //寰幆鐩樼偣鏄庣粏鐨勪俊鎭敓鎴愬嚭搴撲换鍔� + foreach (var item in list) + { + if (item.Status == 0) { - throw Oops.Bah("褰撳墠鐩樼偣鍗曟嵁鏃犻渶瑕佷笅鍙戠殑鎵樼洏"); - } - #region - //瑕佸嚭搴撶殑鎵樼洏闆嗗悎 - var outLpnList = list.Select(m => m.PalletNo).Distinct().ToList(); - //瑕佸嚭搴撶殑鏄庣粏闆嗗悎 - var outStockDetail = await Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && outLpnList.Contains(m.PalletNo)).ToListAsync(); - var outStockBox = await Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && outLpnList.Contains(m.PalletNo)).ToListAsync(); - //鑾峰彇鐗╂枡淇℃伅 - var skuNo = await Db.Queryable<SysMaterials>().Where(a => a.IsDel == "0" && a.Type == "4").Select(a => a.SkuNo).ToListAsync(); - var time = DateTime.Now; - Db.BeginTran(); - try - { - //寰幆鐩樼偣鏄庣粏鐨勪俊鎭敓鎴愬嚭搴撲换鍔� - foreach (var item in list) + var logList = new List<BllStockCheckLog>(); + //鍒ゆ柇鏄惁涓烘棤鐮佺墿鏂� + if (skuNo.Contains(item.SkuNo)) { - if (item.Status == 0) + var de = outStockDetail.First(m => m.IsDel == "0" && + m.SkuNo == item.SkuNo && m.LotNo == item.LotNo && m.PalletNo == item.PalletNo); + + var checkLog = new BllStockCheckLog() { - var logList = new List<BllStockCheckLog>(); - //鍒ゆ柇鏄惁涓烘棤鐮佺墿鏂� - if (skuNo.Contains(item.SkuNo)) - { - var de = outStockDetail.First(m => m.IsDel == "0" && - m.SkuNo == item.SkuNo && m.LotNo == item.LotNo && m.PalletNo == item.PalletNo); + CRNo = item.CRNo, + PalletNo = item.PalletNo, + BoxNo = "", + BoxNo2 = "", + BoxNo3 = "", + Qty = (int?)de.Qty, + SkuNo = de.SkuNo, + SkuName = de.SkuName, + Standard = de.Standard, + LotNo = de.LotNo, + LotText = de.LotText, + SupplierLot = de.SupplierLot, - var checkLog = new BllStockCheckLog() - { - CRNo = item.CRNo, - PalletNo = item.PalletNo, - BoxNo = "", - BoxNo2 = "", - BoxNo3 = "", - Qty = (int?)de.Qty, - SkuNo = de.SkuNo, - SkuName = de.SkuName, - Standard = de.Standard, - LotNo = de.LotNo, - LotText = de.LotText, - SupplierLot = de.SupplierLot, + CreateUser = _userManager.UserId, + CreateTime = time + }; + logList.Add(checkLog); - CreateUser = _userManager.UserId, - CreateTime = time - }; - logList.Add(checkLog); - - } - else - { - var de = outStockDetail.Where(m => - m.SkuNo == item.SkuNo && m.LotNo == item.LotNo && m.PalletNo == item.PalletNo).Select(m => m.Id).ToList(); - var bo = outStockBox.Where(m => de.Contains(m.StockDetailId)).ToList(); - foreach (var b in bo) - { - var checkLog = new BllStockCheckLog() - { - CRNo = item.CRNo, - PalletNo = item.PalletNo, - BoxNo = b.BoxNo, - BoxNo2 = b.BoxNo2, - BoxNo3 = b.BoxNo3, - Qty = b.Qty, - SkuNo = b.SkuNo, - SkuName = b.SkuName, - Standard = b.Standard, - LotNo = b.LotNo, - LotText = b.LotText, - SupplierLot = b.SupplierLot, - - CreateUser = _userManager.UserId, - CreateTime = time - }; - logList.Add(checkLog); - } - } - - //鐢熸垚鐩樼偣璁板綍 - await Db.Insertable(logList).ExecuteCommandAsync(); - } - // 鍌ㄤ綅鍙� - var locateNo = outStockDetail.First(m => m.PalletNo == item.PalletNo && m.SkuNo == item.SkuNo && m.LotNo == item.LotNo).LocatNo; - - #region 鍒ゆ柇 - //鍒ゆ柇鎵樼洏鏄惁鍦ㄥ簱鍐� - if (string.IsNullOrWhiteSpace(locateNo)) + } + else + { + var de = outStockDetail.Where(m => + m.SkuNo == item.SkuNo && m.LotNo == item.LotNo && m.PalletNo == item.PalletNo).Select(m => m.Id).ToList(); + var bo = outStockBox.Where(m => de.Contains(m.StockDetailId)).ToList(); + foreach (var b in bo) { - var de = outStockDetail.First(m => m.SkuNo == item.SkuNo && m.LotNo == item.LotNo && m.PalletNo == item.PalletNo); - //鍒ゆ柇鏄惁鏄浂绠卞簱锛屽綋鍓嶆槑缁嗕俊鎭洿鎺ユ洿鏂板嚭搴撳畬鎴� - if (de != null && de.WareHouseNo == "W02") + var checkLog = new BllStockCheckLog() { - //鐩樼偣鏄庣粏鐘舵�佹敼涓哄緟鐩樼偣 - item.Status = 2; - await Db.Updateable(item).ExecuteCommandAsync(); - //鐩樼偣淇℃伅淇敼 - if (notice.Status == 0) - { - notice.CheckDate = DateTime.Now; - notice.Status = 1; - notice.UpdateUser = _userManager.UserId; - notice.UpdateTime = time; - await Db.Updateable(notice).ExecuteCommandAsync(); - } - //搴撳瓨涓綋鍓嶆墭鐩樼殑淇℃伅 - var stockDetail = await Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == item.PalletNo).ToListAsync(); - foreach (var s in stockDetail) - { - s.LocatNo = "";//鍌ㄤ綅鏇存敼锛堟敼涓虹┖锛� - s.WareHouseNo = "";//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級 - s.RoadwayNo = "";//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級 - s.AreaNo = "";//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級 - await Db.Updateable(s).ExecuteCommandAsync(); - } - flagList.Add(5); - continue; - } - //鍒ゆ柇鎵樼洏鏄惁鍦ㄥ叆搴撲腑 - var imBl = com.GetImTask(item.PalletNo); - if (imBl != null) - { - flagList.Add(4); - continue; - } - //鍒ゆ柇鏄惁鏄凡缁忓嚭杩囧簱鍙堝洖搴擄紙鐘舵�佷负寰呮嫞璐х殑 1锛� - if (item.Status == 0) - { - //濡傛灉涓嶅湪浠撳簱鍐咃紝褰撳墠鏄庣粏淇℃伅鐩存帴鏇存柊鍑哄簱瀹屾垚 - item.Status = 2;//鐘舵�� - await Db.Updateable(item).ExecuteCommandAsync(); - if (notice.Status == 0) - { - notice.CheckDate = DateTime.Now; - notice.Status = 1; - notice.UpdateUser = _userManager.UserId; - notice.UpdateTime = time; - await Db.Updateable(notice).ExecuteCommandAsync(); - } - } - continue; - } - //褰撳墠鍑哄簱鐨勫偍浣嶄俊鎭� - var locate = await Db.Queryable<SysStorageLocat>().FirstAsync(m => m.LocatNo == locateNo && m.IsDel == "0"); - if (locate == null) - { - flagList.Add(2); - continue; - } - //鍒ゆ柇鍌ㄤ綅鏍囧織鏄惁涓烘崯鍧� - if (locate.Flag == "2") - { - flagList.Add(3); - continue; - } - #endregion - if (locate.Status == "1") //鏈夌墿鍝� - { - #region 娣诲姞鍑哄簱浠诲姟 - var taskNo = new Common().GetMaxNo("TK"); - //娣诲姞鍑哄簱浠诲姟 - var exTask = new LogTask - { - TaskNo = taskNo, - Sender = "WMS", - Receiver = "WCS", - IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛 - StartLocat = locate.LocatNo,//璧峰浣嶇疆 - EndLocat = outMode,//鐩爣浣嶇疆 - PalletNo = item.PalletNo,//鎵樼洏鐮� - IsSend = 1,//鏄惁鍙啀娆′笅鍙� - IsCancel = 1,//鏄惁鍙彇娑� - IsFinish = 1,//鏄惁鍙畬鎴� - Type = "1",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟 - Status = "0",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚 - OrderType = "2",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗� + CRNo = item.CRNo, + PalletNo = item.PalletNo, + BoxNo = b.BoxNo, + BoxNo2 = b.BoxNo2, + BoxNo3 = b.BoxNo3, + Qty = b.Qty, + SkuNo = b.SkuNo, + SkuName = b.SkuName, + Standard = b.Standard, + LotNo = b.LotNo, + LotText = b.LotText, + SupplierLot = b.SupplierLot, + CreateUser = _userManager.UserId, CreateTime = time }; - await Db.Insertable(exTask).ExecuteCommandAsync(); - - outDtoList.Add(new OutCommandDto() - { - PalletNo = item.PalletNo,//鎵樼洏鍙� - StartLocate = locate.LocatNo, // 璧峰浣嶇疆 - StartRoadway = locate.RoadwayNo, - EndLocate = "", // 鐩爣浣嶇疆 - TaskNo = exTask.TaskNo, // 浠诲姟鍙� - TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱) - OutMode = "", //鐩爣鍦板潃 - Order = 1 - }); - #endregion - - #region 鏀瑰彉鏁版嵁 - if (item.Status == 0)//鍒ゆ柇鎵樼洏鏄惁涓嬪彂杩� - { - if (notice.Status == 0) - { - notice.CheckDate = DateTime.Now; - notice.Status = 1; - notice.UpdateUser = _userManager.UserId; - notice.UpdateTime = time; - await Db.Updateable(notice).ExecuteCommandAsync(); - } - } - locate.Status = "3"; //瑕佸嚭搴撶殑鍌ㄤ綅鏀瑰彉鐘舵�� 姝e湪鍑哄簱 - await Db.Updateable(locate).ExecuteCommandAsync(); - - item.TaskNo = exTask.TaskNo; // 鍑哄簱鍒嗛厤淇℃伅涓洿鏂颁换鍔″彿 - item.Status = 1; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� - await Db.Updateable(item).ExecuteCommandAsync(); - #endregion - - flagList.Add(0); - } - else if (locate.Status == "3") //鍑哄簱涓� - { - #region 鏀瑰彉鏁版嵁 - //鍒ゆ柇鏄惁鏄凡缁忓嚭杩囧簱鍙堝洖搴擄紙鐘舵�佷负寰呮嫞璐х殑 1锛� - if (item.Status == 0) - { - if (notice.Status == 0) - { - notice.CheckDate = DateTime.Now; - notice.Status = 1; - notice.UpdateUser = _userManager.UserId; - notice.UpdateTime = time; - await Db.Updateable(notice).ExecuteCommandAsync(); - - } - } - var taskNo = Db.Queryable<LogTask>().First(m => m.OrderType == "2" && m.TaskNo != item.TaskNo && m.Status == "1" && m.PalletNo == item.PalletNo); - item.TaskNo = taskNo.TaskNo; - item.Status = 1; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� - await Db.Updateable(item).ExecuteCommandAsync(); - - #endregion - } - else if (locate.Status == "5") //绉诲嚭涓� - { - flagList.Add(1); + logList.Add(checkLog); } } - //娣诲姞鎿嶄綔鏃ュ織璁板綍 - //var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鐩樼偣鍗曟嵁", crNo, "鍑哄簱", $"鐐瑰嚮鍑哄簱鎸夐挳鐩樼偣鍗曞彿涓猴細{crNo}鐨勭洏鐐瑰崟", userId); - await _operation.AddLogOperationCr(new OperationInputVm() - { - ParentName = "搴撳唴浣滀笟", - MenuName = "鐩樼偣鍗曟嵁", - FkNo = crNo, - TypeName = "鍑哄簱", - Msg = $"鐐瑰嚮鍑哄簱鎸夐挳鐩樼偣鍗曞彿涓猴細{crNo}鐨勭洏鐐瑰崟" - }); - Db.CommitTran(); - str = string.Empty; - if (flagList.Count(m => m == 1) > 0) - { - str += "1.褰撳墠瑕佸嚭搴撶殑鍌ㄤ綅姝e湪绉诲嚭銆�"; - } - if (flagList.Count(m => m == 2) > 0) - { - str += "2.鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)銆�"; - } - if (flagList.Count(m => m == 3) > 0) - { - str += "4.鍌ㄤ綅鎹熷潖涓嶈兘鍑哄簱銆�"; - } - if (flagList.Count(m => m == 4) > 0) - { - str += "3.瑕佸嚭搴撶殑鎵樼洏姝e湪鍏ュ簱銆�"; - } - if (flagList.Count(m => m == 5) > 0) - { - str += "5.瑕佸嚭搴撶殑鎵樼洏鍦ㄩ浂绠卞簱銆�"; - } - if (outDtoList.Count > 0) - { - // 姝e紡杩愯绋嬪簭鏀惧紑 - var list2 = outDtoList.Select(m => m.TaskNo).ToList(); - var jsonData = JsonConvert.SerializeObject(outDtoList); - string response = ""; - - try - { - var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss") - //response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍑哄簱鍛戒护", "WCS"); //姝e紡鐗堟湰鏀惧紑 - var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss") - - ////瑙f瀽杩斿洖鏁版嵁 - //var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response); - //if (wcsModel.StatusCode == 0) - //{ - // //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�// - // new TaskServer().EditTaskIssueOk(list2, time1, time2); - //str += "涓嬪彂鎴愬姛"; - //} - //if (wcsModel.StatusCode == -1) - //{ - // new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.Msg); - // throw new Exception(wcsModel.Msg); - //} - } - catch (Exception ex) - { - throw new Exception(ex.Message); - } - } - return outDtoList; + //鐢熸垚鐩樼偣璁板綍 + await Db.Insertable(logList).ExecuteCommandAsync(); } - catch (Exception e) + // 鍌ㄤ綅鍙� + var locateNo = outStockDetail.First(m => m.PalletNo == item.PalletNo && m.SkuNo == item.SkuNo && m.LotNo == item.LotNo).LocatNo; + + #region 鍒ゆ柇 + //鍒ゆ柇鎵樼洏鏄惁鍦ㄥ簱鍐� + if (string.IsNullOrWhiteSpace(locateNo)) { - Db.RollbackTran(); - throw new Exception(e.Message); + var de = outStockDetail.First(m => m.SkuNo == item.SkuNo && m.LotNo == item.LotNo && m.PalletNo == item.PalletNo); + //鍒ゆ柇鏄惁鏄浂绠卞簱锛屽綋鍓嶆槑缁嗕俊鎭洿鎺ユ洿鏂板嚭搴撳畬鎴� + if (de != null && de.WareHouseNo == "W02") + { + //鐩樼偣鏄庣粏鐘舵�佹敼涓哄緟鐩樼偣 + item.Status = 2; + await Db.Updateable(item).ExecuteCommandAsync(); + //鐩樼偣淇℃伅淇敼 + if (notice.Status == 0) + { + notice.CheckDate = DateTime.Now; + notice.Status = 1; + notice.UpdateUser = _userManager.UserId; + notice.UpdateTime = time; + await Db.Updateable(notice).ExecuteCommandAsync(); + } + //搴撳瓨涓綋鍓嶆墭鐩樼殑淇℃伅 + var stockDetail = await Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == item.PalletNo).ToListAsync(); + foreach (var s in stockDetail) + { + s.LocatNo = "";//鍌ㄤ綅鏇存敼锛堟敼涓虹┖锛� + s.WareHouseNo = "";//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級 + s.RoadwayNo = "";//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級 + s.AreaNo = "";//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級 + await Db.Updateable(s).ExecuteCommandAsync(); + } + flagList.Add(5); + continue; + } + //鍒ゆ柇鎵樼洏鏄惁鍦ㄥ叆搴撲腑 + var imBl = com.GetImTask(item.PalletNo); + if (imBl != null) + { + flagList.Add(4); + continue; + } + //鍒ゆ柇鏄惁鏄凡缁忓嚭杩囧簱鍙堝洖搴擄紙鐘舵�佷负寰呮嫞璐х殑 1锛� + if (item.Status == 0) + { + //濡傛灉涓嶅湪浠撳簱鍐咃紝褰撳墠鏄庣粏淇℃伅鐩存帴鏇存柊鍑哄簱瀹屾垚 + item.Status = 2;//鐘舵�� + await Db.Updateable(item).ExecuteCommandAsync(); + if (notice.Status == 0) + { + notice.CheckDate = DateTime.Now; + notice.Status = 1; + notice.UpdateUser = _userManager.UserId; + notice.UpdateTime = time; + await Db.Updateable(notice).ExecuteCommandAsync(); + } + } + continue; + } + //褰撳墠鍑哄簱鐨勫偍浣嶄俊鎭� + var locate = await Db.Queryable<SysStorageLocat>().FirstAsync(m => m.LocatNo == locateNo && m.IsDel == "0"); + if (locate == null) + { + flagList.Add(2); + continue; + } + //鍒ゆ柇鍌ㄤ綅鏍囧織鏄惁涓烘崯鍧� + if (locate.Flag == "2") + { + flagList.Add(3); + continue; } #endregion - } - catch (Exception e) - { - throw new Exception(e.Message); - } - } + if (locate.Status == "1") //鏈夌墿鍝� + { + #region 娣诲姞鍑哄簱浠诲姟 + var taskNo = new Common().GetMaxNo("TK"); + //娣诲姞鍑哄簱浠诲姟 + var exTask = new LogTask + { + TaskNo = taskNo, + Sender = "WMS", + Receiver = "WCS", + IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛 + StartLocat = locate.LocatNo,//璧峰浣嶇疆 + EndLocat = outMode,//鐩爣浣嶇疆 + PalletNo = item.PalletNo,//鎵樼洏鐮� + IsSend = 1,//鏄惁鍙啀娆′笅鍙� + IsCancel = 1,//鏄惁鍙彇娑� + IsFinish = 1,//鏄惁鍙畬鎴� + Type = "1",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟 + Status = "0",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚 + OrderType = "2",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗� + CreateTime = time + }; + await Db.Insertable(exTask).ExecuteCommandAsync(); + + outDtoList.Add(new OutCommandDto() + { + PalletNo = item.PalletNo,//鎵樼洏鍙� + StartLocate = locate.LocatNo, // 璧峰浣嶇疆 + StartRoadway = locate.RoadwayNo, + EndLocate = "", // 鐩爣浣嶇疆 + TaskNo = exTask.TaskNo, // 浠诲姟鍙� + TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱) + OutMode = "", //鐩爣鍦板潃 + Order = 1 + }); + #endregion + + #region 鏀瑰彉鏁版嵁 + if (item.Status == 0)//鍒ゆ柇鎵樼洏鏄惁涓嬪彂杩� + { + if (notice.Status == 0) + { + notice.CheckDate = DateTime.Now; + notice.Status = 1; + notice.UpdateUser = _userManager.UserId; + notice.UpdateTime = time; + await Db.Updateable(notice).ExecuteCommandAsync(); + } + } + locate.Status = "3"; //瑕佸嚭搴撶殑鍌ㄤ綅鏀瑰彉鐘舵�� 姝e湪鍑哄簱 + await Db.Updateable(locate).ExecuteCommandAsync(); + + item.TaskNo = exTask.TaskNo; // 鍑哄簱鍒嗛厤淇℃伅涓洿鏂颁换鍔″彿 + item.Status = 1; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� + await Db.Updateable(item).ExecuteCommandAsync(); + #endregion + + flagList.Add(0); + } + else if (locate.Status == "3") //鍑哄簱涓� + { + #region 鏀瑰彉鏁版嵁 + //鍒ゆ柇鏄惁鏄凡缁忓嚭杩囧簱鍙堝洖搴擄紙鐘舵�佷负寰呮嫞璐х殑 1锛� + if (item.Status == 0) + { + if (notice.Status == 0) + { + notice.CheckDate = DateTime.Now; + notice.Status = 1; + notice.UpdateUser = _userManager.UserId; + notice.UpdateTime = time; + await Db.Updateable(notice).ExecuteCommandAsync(); + + } + } + var taskNo = Db.Queryable<LogTask>().First(m => m.OrderType == "2" && m.TaskNo != item.TaskNo && m.Status == "1" && m.PalletNo == item.PalletNo); + item.TaskNo = taskNo.TaskNo; + item.Status = 1; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� + await Db.Updateable(item).ExecuteCommandAsync(); + + #endregion + } + else if (locate.Status == "5") //绉诲嚭涓� + { + flagList.Add(1); + } + } + //娣诲姞鎿嶄綔鏃ュ織璁板綍 + //var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鐩樼偣鍗曟嵁", crNo, "鍑哄簱", $"鐐瑰嚮鍑哄簱鎸夐挳鐩樼偣鍗曞彿涓猴細{crNo}鐨勭洏鐐瑰崟", userId); + await _operation.AddLogOperationCr(new OperationInputVm() + { + ParentName = "搴撳唴浣滀笟", + MenuName = "鐩樼偣鍗曟嵁", + FkNo = crNo, + TypeName = "鍑哄簱", + Msg = $"鐐瑰嚮鍑哄簱鎸夐挳鐩樼偣鍗曞彿涓猴細{crNo}鐨勭洏鐐瑰崟" + }); + //Db.CommitTran(); + + str = string.Empty; + if (flagList.Count(m => m == 1) > 0) + { + str += "1.褰撳墠瑕佸嚭搴撶殑鍌ㄤ綅姝e湪绉诲嚭銆�"; + } + if (flagList.Count(m => m == 2) > 0) + { + str += "2.鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)銆�"; + } + if (flagList.Count(m => m == 3) > 0) + { + str += "3.鍌ㄤ綅鎹熷潖涓嶈兘鍑哄簱銆�"; + } + if (flagList.Count(m => m == 4) > 0) + { + str += "4.瑕佸嚭搴撶殑鎵樼洏姝e湪鍏ュ簱銆�"; + } + if (flagList.Count(m => m == 5) > 0) + { + str += "5.瑕佸嚭搴撶殑鎵樼洏鍦ㄩ浂绠卞簱銆�"; + } + if (!string.IsNullOrEmpty(str)) + throw Oops.Bah(str); + if (outDtoList.Count > 0) + { + // 姝e紡杩愯绋嬪簭鏀惧紑 + var list2 = outDtoList.Select(m => m.TaskNo).ToList(); + var jsonData = JsonConvert.SerializeObject(outDtoList); + string response = ""; + + var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss") + //response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍑哄簱鍛戒护", "WCS"); //姝e紡鐗堟湰鏀惧紑 + var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss") + + ////瑙f瀽杩斿洖鏁版嵁 + //var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response); + //if (wcsModel.StatusCode == 0) + //{ + // //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�// + // new TaskServer().EditTaskIssueOk(list2, time1, time2); + // str += "涓嬪彂鎴愬姛"; + //} + //if (wcsModel.StatusCode == -1) + //{ + // new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.Msg); + // throw Oops.Bah(wcsModel.Msg); + //} + } + return outDtoList; + #endregion + } + + /// <summary> + /// 瑙嗚鐩樼偣 + /// </summary> + /// <param name="crNo"></param> + /// <param name="url"></param> + /// <param name="str"></param> + /// <returns></returns> + public async Task<List<OutCommandDto>> CheckVision(string crNo, string url, string str) + { + #region 闆嗗悎 + var outDtoList = new List<OutCommandDto>(); //鍑哄簱鏁版嵁鐨勯泦鍚� + //璁板綍閿欒淇℃伅鐨勯泦鍚� + var flagList = new List<int>();//1:褰撳墠瑕佸嚭搴撶殑鍌ㄤ綅姝e湪绉诲嚭銆�2 鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)銆�3鍌ㄤ綅鎹熷潖涓嶈兘鍑哄簱銆�4 瑕佸嚭搴撶殑鎵樼洏姝e湪鍏ュ簱 + + #endregion + var com = new Common(); + //assign.IsHavePyTask(); + var notice = await Db.Queryable<BllStockCheck>().FirstAsync(m => m.CRNo == crNo && m.IsDel == "0"); + if (notice == null) + { + throw Oops.Bah($"鏈壘鍒皗crNo}鐩樼偣鍗曚俊鎭�"); + } + //鎵�鏈夎鍑哄簱鐨勭洏鐐规槑缁嗕俊鎭�(绛夊緟鐨勪俊鎭拰寰呮嫞璐х殑淇℃伅) + var funSetting = Db.Queryable<SysFunSetting>().First(a => a.IsDel == "0" && a.FunSetNo == "InventoryCheckMethod"); + if (funSetting == null || funSetting.IsEnable == "OFF") + { + throw Oops.Bah("闇�閰嶇疆鐩樼偣鏂瑰紡"); + } + var list = await Db.Queryable<BllStockCheckDetail>().Where(a => a.IsDel == "0" && a.CRNo == crNo && (a.Status == 0 || a.Status == 1 || a.Status == 2)).ToListAsync(); + if (list.Count == 0) //鍒ゆ柇鏄惁鏈夐渶瑕佷笅鍙戠殑鐩樼偣鏄庣粏 + { + throw Oops.Bah("褰撳墠鐩樼偣鍗曟嵁鏃犻渶瑕佷笅鍙戠殑鎵樼洏"); + } + if (funSetting.SetValue == "once") + { + if (list.Any(s => s.Status == 1 || s.Status == 2)) + { + throw Oops.Bah("宸叉湁姝e湪鍑哄簱鎴栧緟鐩樼偣鐨勬暟鎹紝璇峰畬鎴愮洏鐐瑰悗鍐嶅嚭搴�"); + } + list = new List<BllStockCheckDetail>() { list.FirstOrDefault() }; + } + else + { + list = list.Where(s => s.Status == 0).ToList(); + } + #region + //瑕佸嚭搴撶殑鎵樼洏闆嗗悎 + var outLpnList = list.Select(m => m.PalletNo).Distinct().ToList(); + //瑕佸嚭搴撶殑鏄庣粏闆嗗悎 + var outStockDetail = await Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && outLpnList.Contains(m.PalletNo)).ToListAsync(); + var outStockBox = await Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && outLpnList.Contains(m.PalletNo)).ToListAsync(); + //鑾峰彇鐗╂枡淇℃伅 + var skuNo = await Db.Queryable<SysMaterials>().Where(a => a.IsDel == "0" && a.Type == "4").Select(a => a.SkuNo).ToListAsync(); + var time = DateTime.Now; + //Db.BeginTran(); + //寰幆鐩樼偣鏄庣粏鐨勪俊鎭敓鎴愬嚭搴撲换鍔� + foreach (var item in list) + { + if (item.Status == 0) + { + var logList = new List<BllStockCheckLog>(); + //鍒ゆ柇鏄惁涓烘棤鐮佺墿鏂� + if (skuNo.Contains(item.SkuNo)) + { + var de = outStockDetail.First(m => m.IsDel == "0" && + m.SkuNo == item.SkuNo && m.LotNo == item.LotNo && m.PalletNo == item.PalletNo); + + var checkLog = new BllStockCheckLog() + { + CRNo = item.CRNo, + PalletNo = item.PalletNo, + BoxNo = "", + BoxNo2 = "", + BoxNo3 = "", + Qty = (int?)de.Qty, + SkuNo = de.SkuNo, + SkuName = de.SkuName, + Standard = de.Standard, + LotNo = de.LotNo, + LotText = de.LotText, + SupplierLot = de.SupplierLot, + + CreateUser = _userManager.UserId, + CreateTime = time + }; + logList.Add(checkLog); + + } + else + { + var de = outStockDetail.Where(m => + m.SkuNo == item.SkuNo && m.LotNo == item.LotNo && m.PalletNo == item.PalletNo).Select(m => m.Id).ToList(); + var bo = outStockBox.Where(m => de.Contains(m.StockDetailId)).ToList(); + foreach (var b in bo) + { + var checkLog = new BllStockCheckLog() + { + CRNo = item.CRNo, + PalletNo = item.PalletNo, + BoxNo = b.BoxNo, + BoxNo2 = b.BoxNo2, + BoxNo3 = b.BoxNo3, + Qty = b.Qty, + SkuNo = b.SkuNo, + SkuName = b.SkuName, + Standard = b.Standard, + LotNo = b.LotNo, + LotText = b.LotText, + SupplierLot = b.SupplierLot, + + CreateUser = _userManager.UserId, + CreateTime = time + }; + logList.Add(checkLog); + } + } + + //鐢熸垚鐩樼偣璁板綍 + await Db.Insertable(logList).ExecuteCommandAsync(); + } + // 鍌ㄤ綅鍙� + var locateNo = outStockDetail.First(m => m.PalletNo == item.PalletNo && m.SkuNo == item.SkuNo && m.LotNo == item.LotNo).LocatNo; + + #region 鍒ゆ柇 + //鍒ゆ柇鎵樼洏鏄惁鍦ㄥ簱鍐� + if (string.IsNullOrWhiteSpace(locateNo)) + { + var de = outStockDetail.First(m => m.SkuNo == item.SkuNo && m.LotNo == item.LotNo && m.PalletNo == item.PalletNo); + //鍒ゆ柇鏄惁鏄浂绠卞簱锛屽綋鍓嶆槑缁嗕俊鎭洿鎺ユ洿鏂板嚭搴撳畬鎴� + if (de != null && de.WareHouseNo == "W02") + { + //鐩樼偣鏄庣粏鐘舵�佹敼涓哄緟鐩樼偣 + item.Status = 2; + await Db.Updateable(item).ExecuteCommandAsync(); + //鐩樼偣淇℃伅淇敼 + if (notice.Status == 0) + { + notice.CheckDate = DateTime.Now; + notice.Status = 1; + notice.UpdateUser = _userManager.UserId; + notice.UpdateTime = time; + await Db.Updateable(notice).ExecuteCommandAsync(); + } + //搴撳瓨涓綋鍓嶆墭鐩樼殑淇℃伅 + var stockDetail = await Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == item.PalletNo).ToListAsync(); + foreach (var s in stockDetail) + { + s.LocatNo = "";//鍌ㄤ綅鏇存敼锛堟敼涓虹┖锛� + s.WareHouseNo = "";//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級 + s.RoadwayNo = "";//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級 + s.AreaNo = "";//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級 + await Db.Updateable(s).ExecuteCommandAsync(); + } + flagList.Add(5); + continue; + } + //鍒ゆ柇鎵樼洏鏄惁鍦ㄥ叆搴撲腑 + var imBl = com.GetImTask(item.PalletNo); + if (imBl != null) + { + flagList.Add(4); + continue; + } + //鍒ゆ柇鏄惁鏄凡缁忓嚭杩囧簱鍙堝洖搴擄紙鐘舵�佷负寰呮嫞璐х殑 1锛� + if (item.Status == 0) + { + //濡傛灉涓嶅湪浠撳簱鍐咃紝褰撳墠鏄庣粏淇℃伅鐩存帴鏇存柊鍑哄簱瀹屾垚 + item.Status = 2;//鐘舵�� + await Db.Updateable(item).ExecuteCommandAsync(); + if (notice.Status == 0) + { + notice.CheckDate = DateTime.Now; + notice.Status = 1; + notice.UpdateUser = _userManager.UserId; + notice.UpdateTime = time; + await Db.Updateable(notice).ExecuteCommandAsync(); + } + } + continue; + } + //褰撳墠鍑哄簱鐨勫偍浣嶄俊鎭� + var locate = await Db.Queryable<SysStorageLocat>().FirstAsync(m => m.LocatNo == locateNo && m.IsDel == "0"); + if (locate == null) + { + flagList.Add(2); + continue; + } + //鍒ゆ柇鍌ㄤ綅鏍囧織鏄惁涓烘崯鍧� + if (locate.Flag == "2") + { + flagList.Add(3); + continue; + } + #endregion + if (locate.Status == "1") //鏈夌墿鍝� + { + #region 娣诲姞鍑哄簱浠诲姟 + var taskNo = new Common().GetMaxNo("TK"); + //娣诲姞鍑哄簱浠诲姟 + var exTask = new LogTask + { + TaskNo = taskNo, + Sender = "WMS", + Receiver = "WCS", + IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛 + StartLocat = locate.LocatNo,//璧峰浣嶇疆 + //EndLocat = outMode,//鐩爣浣嶇疆 + PalletNo = item.PalletNo,//鎵樼洏鐮� + IsSend = 1,//鏄惁鍙啀娆′笅鍙� + IsCancel = 1,//鏄惁鍙彇娑� + IsFinish = 1,//鏄惁鍙畬鎴� + Type = "1",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟 + Status = "0",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚 + OrderType = "4",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗� 4瑙嗚鐩樼偣 + + CreateTime = time + }; + await Db.Insertable(exTask).ExecuteCommandAsync(); + + outDtoList.Add(new OutCommandDto() + { + PalletNo = item.PalletNo,//鎵樼洏鍙� + StartLocate = locate.LocatNo, // 璧峰浣嶇疆 + StartRoadway = locate.RoadwayNo, + EndLocate = "", // 鐩爣浣嶇疆 + TaskNo = exTask.TaskNo, // 浠诲姟鍙� + TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱) + OutMode = "", //鐩爣鍦板潃 + Order = 1 + }); + #endregion + + #region 鏀瑰彉鏁版嵁 + if (item.Status == 0)//鍒ゆ柇鎵樼洏鏄惁涓嬪彂杩� + { + if (notice.Status == 0) + { + notice.CheckDate = DateTime.Now; + notice.Status = 1; + notice.UpdateUser = _userManager.UserId; + notice.UpdateTime = time; + await Db.Updateable(notice).ExecuteCommandAsync(); + } + } + locate.Status = "3"; //瑕佸嚭搴撶殑鍌ㄤ綅鏀瑰彉鐘舵�� 姝e湪鍑哄簱 + await Db.Updateable(locate).ExecuteCommandAsync(); + + item.TaskNo = exTask.TaskNo; // 鍑哄簱鍒嗛厤淇℃伅涓洿鏂颁换鍔″彿 + item.Status = 1; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� + await Db.Updateable(item).ExecuteCommandAsync(); + #endregion + + flagList.Add(0); + } + else if (locate.Status == "3") //鍑哄簱涓� + { + #region 鏀瑰彉鏁版嵁 + //鍒ゆ柇鏄惁鏄凡缁忓嚭杩囧簱鍙堝洖搴擄紙鐘舵�佷负寰呮嫞璐х殑 1锛� + if (item.Status == 0) + { + if (notice.Status == 0) + { + notice.CheckDate = DateTime.Now; + notice.Status = 1; + notice.UpdateUser = _userManager.UserId; + notice.UpdateTime = time; + await Db.Updateable(notice).ExecuteCommandAsync(); + + } + } + var taskNo = Db.Queryable<LogTask>().First(m => m.OrderType == "2" && m.TaskNo != item.TaskNo && m.Status == "1" && m.PalletNo == item.PalletNo); + item.TaskNo = taskNo.TaskNo; + item.Status = 1; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� + await Db.Updateable(item).ExecuteCommandAsync(); + + #endregion + } + else if (locate.Status == "5") //绉诲嚭涓� + { + flagList.Add(1); + } + } + //娣诲姞鎿嶄綔鏃ュ織璁板綍 + //var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鐩樼偣鍗曟嵁", crNo, "鍑哄簱", $"鐐瑰嚮鍑哄簱鎸夐挳鐩樼偣鍗曞彿涓猴細{crNo}鐨勭洏鐐瑰崟", userId); + await _operation.AddLogOperationCr(new OperationInputVm() + { + ParentName = "搴撳唴浣滀笟", + MenuName = "鐩樼偣鍗曟嵁", + FkNo = crNo, + TypeName = "鍑哄簱", + Msg = $"鐐瑰嚮鍑哄簱鎸夐挳鐩樼偣鍗曞彿涓猴細{crNo}鐨勭洏鐐瑰崟" + }); + //Db.CommitTran(); + + str = string.Empty; + if (flagList.Count(m => m == 1) > 0) + { + str += "1.褰撳墠瑕佸嚭搴撶殑鍌ㄤ綅姝e湪绉诲嚭銆�"; + } + if (flagList.Count(m => m == 2) > 0) + { + str += "2.鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)銆�"; + } + if (flagList.Count(m => m == 3) > 0) + { + str += "3.鍌ㄤ綅鎹熷潖涓嶈兘鍑哄簱銆�"; + } + if (flagList.Count(m => m == 4) > 0) + { + str += "4.瑕佸嚭搴撶殑鎵樼洏姝e湪鍏ュ簱銆�"; + } + if (flagList.Count(m => m == 5) > 0) + { + str += "5.瑕佸嚭搴撶殑鎵樼洏鍦ㄩ浂绠卞簱銆�"; + } + if (!string.IsNullOrEmpty(str)) + throw Oops.Bah(str); + if (outDtoList.Count > 0) + { + // 姝e紡杩愯绋嬪簭鏀惧紑 + var list2 = outDtoList.Select(m => m.TaskNo).ToList(); + var jsonData = JsonConvert.SerializeObject(outDtoList); + string response = ""; + + var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss") + //response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍑哄簱鍛戒护", "WCS"); //姝e紡鐗堟湰鏀惧紑 + var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss") + + ////瑙f瀽杩斿洖鏁版嵁 + //var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response); + //if (wcsModel.StatusCode == 0) + //{ + // //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�// + // new TaskServer().EditTaskIssueOk(list2, time1, time2); + // str += "涓嬪彂鎴愬姛"; + //} + //if (wcsModel.StatusCode == -1) + //{ + // new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.Msg); + // throw Oops.Bah(wcsModel.Msg); + //} + } + return outDtoList; + #endregion + } //鐩樼偣鍑哄簱瀹屾垚 public async Task CheckSuccess(string taskNo, int userId) { diff --git a/Wms/WMS.BLL/BllSoServer/CompleteDetailServer.cs b/Wms/WMS.BLL/BllSoServer/CompleteDetailServer.cs index bf98076..a0520ce 100644 --- a/Wms/WMS.BLL/BllSoServer/CompleteDetailServer.cs +++ b/Wms/WMS.BLL/BllSoServer/CompleteDetailServer.cs @@ -3,7 +3,9 @@ using System.Linq; using System.Linq.Expressions; using System.Text; +using System.Threading.Tasks; using Model.ModelDto.BllSoDto; +using Model.ModelVm.BllSoVm; using SqlSugar; using WMS.DAL; using WMS.Entity.BllSoEntity; @@ -13,118 +15,58 @@ namespace WMS.BLL.BllSoServer { - public class CompleteDetailServer: DbHelper<BllCompleteDetail>,ICompleteDetailServer + public class CompleteDetailServer : DbHelper<BllCompleteDetail>, ICompleteDetailServer { private static readonly SqlSugarScope Db = DataContext.Db; - public CompleteDetailServer():base(Db) + public CompleteDetailServer() : base(Db) { } //鏌ヨ鎷h揣鏄庣粏绠辩爜淇℃伅锛堝垎缁勫悗锛� - public List<CompleteDetailDto> GetCompleteDetailList(int id, int page, int limit, out int count) + public async Task<List<CompleteDetailDto>> GetCompleteDetailList(GetCompleteDetailVm model, RefAsync<int> count) { - try - { - var total = 0; - var detailInfo = Db.Queryable<BllCompleteDetail>().First(w => string.IsNullOrEmpty(w.BoxNo) || string.IsNullOrEmpty(w.BoxNo3)); - if (detailInfo == null) + Expression<Func<BllCompleteDetail, bool>> item = Expressionable.Create<BllCompleteDetail>() + .And(it => it.ExportAllotId == model.Id) + .And(it => it.IsDel == "0") + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + var data = await GetAllWhereAsync(item) + .GroupBy(m => new { - Expression<Func<BllCompleteDetail, bool>> item = Expressionable.Create<BllCompleteDetail>() - .And(it => it.ExportAllotId == id) - .And(it => it.IsDel == "0") - .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� - var data = GetAllWhereAsync(item) - .GroupBy(m => new - { - m.SONo, - m.SODetailNo, - m.StockId, - m.ExportAllotId, + m.SONo, + m.SODetailNo, + m.StockId, + m.ExportAllotId, - m.BoxNo, - m.LotNo, - m.LotText, - m.SupplierLot, - m.SkuNo, - m.SkuName, - m.Standard, - m.PalletNo, - m.NowPalletNo, - }) - .Select(a => new CompleteDetailDto() - { - SONo = a.SONo, - SODetailNo = a.SODetailNo, - StockId = a.StockId, - ExportAllotId = a.ExportAllotId, - - BoxNo = a.BoxNo, - LotNo = a.LotNo, - LotText = a.LotText, - SupplierLot = a.SupplierLot, - SkuNo = a.SkuNo, - SkuName = a.SkuName, - Standard = a.Standard, - PalletNo = a.PalletNo, - CompleteQty = SqlFunc.AggregateSum(a.CompleteQty), - NowPalletNo = a.NowPalletNo, - //CreateTime = a.CreateTime - }).ToOffsetPage(page, limit, ref total); - count = total; - return data; - } - else //绠辩爜鎴栨敮鐮佷负绌鸿鏄庢槸鎸夋暟閲忔嫞璐э紝澧炲姞 CreateTime 鍒嗙粍鏉′欢 + m.BoxNo, + m.LotNo, + m.LotText, + m.SupplierLot, + m.SkuNo, + m.SkuName, + m.Standard, + m.PalletNo, + m.NowPalletNo + }) + .Select(a => new CompleteDetailDto() { - Expression<Func<BllCompleteDetail, bool>> item = Expressionable.Create<BllCompleteDetail>() - .And(it => it.ExportAllotId == id) - .And(it => it.IsDel == "0") - .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� - var data = GetAllWhereAsync(item) - .GroupBy(m => new - { - m.SONo, - m.SODetailNo, - m.StockId, - m.ExportAllotId, + SONo = a.SONo, + SODetailNo = a.SODetailNo, + StockId = a.StockId, + ExportAllotId = a.ExportAllotId, - m.BoxNo, - m.LotNo, - m.LotText, - m.SupplierLot, - m.SkuNo, - m.SkuName, - m.Standard, - m.PalletNo, - m.NowPalletNo, - m.CreateTime - }) - .Select(a => new CompleteDetailDto() - { - SONo = a.SONo, - SODetailNo = a.SODetailNo, - StockId = a.StockId, - ExportAllotId = a.ExportAllotId, + BoxNo = a.BoxNo, + LotNo = a.LotNo, + LotText = a.LotText, + SupplierLot = a.SupplierLot, + SkuNo = a.SkuNo, + SkuName = a.SkuName, + Standard = a.Standard, + PalletNo = a.PalletNo, + CompleteQty = SqlFunc.AggregateSum(a.CompleteQty), + NowPalletNo = a.NowPalletNo, + }).ToPageListAsync(model.Page, model.Limit, count); - BoxNo = a.BoxNo, - LotNo = a.LotNo, - LotText = a.LotText, - SupplierLot = a.SupplierLot, - SkuNo = a.SkuNo, - SkuName = a.SkuName, - Standard = a.Standard, - PalletNo = a.PalletNo, - CompleteQty = SqlFunc.AggregateSum(a.CompleteQty), - NowPalletNo = a.NowPalletNo, - //CreateTime = a.CreateTime - }).ToOffsetPage(page, limit, ref total); - count = total; - return data; - } - } - catch (Exception e) - { - throw new Exception(e.Message); - } + return data; } //鏌ヨ鎷h揣鏄庣粏鏀爜璇︾粏淇℃伅 @@ -135,7 +77,7 @@ Expression<Func<BllCompleteDetail, bool>> item = Expressionable.Create<BllCompleteDetail>() .AndIF(!string.IsNullOrWhiteSpace(boxNo), it => it.BoxNo == boxNo.Trim()) .AndIF(!string.IsNullOrWhiteSpace(boxNo3), it => it.BoxNo3.Contains(boxNo3.Trim())) - .ToExpression(); + .ToExpression(); var data = GetAllWhereAsync(item) .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id) .LeftJoin<SysUserInfor>((a, b, c) => a.UpdateUser == c.Id) @@ -159,7 +101,7 @@ CompleteQty = a.CompleteQty, NowPalletNo = a.NowPalletNo, - CreateUserName = b.RealName, + CreateUserName = b.RealName, UpdateUserName = c.RealName, CreateTime = a.CreateTime, UpdateTime = a.UpdateTime, @@ -201,7 +143,7 @@ { page = 1; } - + sqlString += sqlPub + $" order by 1 offset {((page - 1) * limit)} rows fetch next {limit} rows only;"; var com = new Common(); @@ -210,7 +152,7 @@ var modelList = Db.Ado.SqlQuery<CompleteDetailDto>(sqlString); return modelList; } - else + else { string sqlString = string.Empty; string sqlCount = string.Empty; diff --git a/Wms/WMS.BLL/BllSoServer/ExportAllotServer.cs b/Wms/WMS.BLL/BllSoServer/ExportAllotServer.cs index 417f7cb..40a89e1 100644 --- a/Wms/WMS.BLL/BllSoServer/ExportAllotServer.cs +++ b/Wms/WMS.BLL/BllSoServer/ExportAllotServer.cs @@ -3,7 +3,9 @@ using System.Linq; using System.Linq.Expressions; using System.Text; +using System.Threading.Tasks; using Model.ModelDto.BllSoDto; +using Model.ModelVm.BllSoVm; using SqlSugar; using WMS.BLL.LogServer; using WMS.DAL; @@ -24,72 +26,66 @@ } //鏌ヨ鍑哄簱鍒嗛厤琛ㄤ俊鎭� - public List<ExportAllotDto> GetExportAllotList(string no, string waveNo, string palletNo, string skuNo, string skuName, string lotNo, string status, string boxNo, int page, int limit, out int count) + public async Task<List<ExportAllotDto>> GetExportAllotList(GetExportAllotVm model, RefAsync<int> count) { - try - { - var strList = new List<int>(); + var strList = new List<int>(); - if (!string.IsNullOrWhiteSpace(boxNo)) + if (!string.IsNullOrWhiteSpace(model.BoxNo)) + { + var detailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.BoxNo.Contains(model.BoxNo.Trim())).Select(m => m.ExportAllotId).Distinct().ToList(); + strList = detailList; + } + Expression<Func<BllExportAllot, bool>> item = Expressionable.Create<BllExportAllot>() + .AndIF(!string.IsNullOrWhiteSpace(model.SoNo), it => it.SONo.Contains(model.SoNo.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(model.WaveNo), it => it.WaveNo.Contains(model.WaveNo.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(model.PalletNo), it => it.PalletNo.Contains(model.PalletNo.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(model.SkuNo), it => it.SkuNo.Contains(model.SkuNo.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(model.SkuName), it => it.SkuName.Contains(model.SkuName.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(model.LotNo), it => it.LotNo.Contains(model.LotNo.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(model.Status), it => it.Status == model.Status) + .AndIF(!string.IsNullOrWhiteSpace(model.BoxNo), m => strList.Contains(m.Id)) + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + var total = 0; + var data = await GetAllWhereAsync(item) + .LeftJoin<SysLogisticsInfo>((a, b) => a.LogisticsId == b.Id) + .LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id) + .LeftJoin<SysUserInfor>((a, b, c, d) => a.CreateUser == d.Id) + .Select((a, b, c, d) => new ExportAllotDto() { - var detailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.BoxNo.Contains(boxNo.Trim())).Select(m => m.ExportAllotId).Distinct().ToList(); - strList = detailList; - } - Expression<Func<BllExportAllot, bool>> item = Expressionable.Create<BllExportAllot>() - .AndIF(!string.IsNullOrWhiteSpace(no), it => it.SONo.Contains(no.Trim())) - .AndIF(!string.IsNullOrWhiteSpace(waveNo), it => it.WaveNo.Contains(waveNo.Trim())) - .AndIF(!string.IsNullOrWhiteSpace(palletNo), it => it.PalletNo.Contains(palletNo.Trim())) - .AndIF(!string.IsNullOrWhiteSpace(skuNo), it => it.SkuNo.Contains(skuNo.Trim())) - .AndIF(!string.IsNullOrWhiteSpace(skuName), it => it.SkuName.Contains(skuName.Trim())) - .AndIF(!string.IsNullOrWhiteSpace(lotNo), it => it.LotNo.Contains(lotNo.Trim())) - .AndIF(!string.IsNullOrWhiteSpace(status), it => it.Status == status) - .AndIF(!string.IsNullOrWhiteSpace(boxNo), m => strList.Contains(m.Id)) - .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� - var total = 0; - var data = GetAllWhereAsync(item) - .LeftJoin<SysLogisticsInfo>((a, b) => a.LogisticsId == b.Id) - .LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id) - .LeftJoin<SysUserInfor>((a, b, c, d) => a.CreateUser == d.Id) - .Select((a, b, c, d) => new ExportAllotDto() - { - Id = a.Id, - SONo = a.SONo, - WaveNo = a.WaveNo, - SODetailNo = a.SODetailNo, - StockId = a.StockId, - TaskNo = a.TaskNo, + Id = a.Id, + SONo = a.SONo, + WaveNo = a.WaveNo, + SODetailNo = a.SODetailNo, + StockId = a.StockId, + TaskNo = a.TaskNo, - LotNo = a.LotNo, - LotText = a.LotText, - SupplierLot = a.SupplierLot, - SkuNo = a.SkuNo, - SkuName = a.SkuName, - Standard = a.Standard, - PalletNo = a.PalletNo, - IsBale = a.IsBale, - IsBelt = a.IsBelt, - Qty = a.Qty, - CompleteQty = a.CompleteQty, - Status = a.Status, - LogisticsId = a.LogisticsId, - LogisticsName = b.CarrierName, - IsAdvance = a.IsAdvance, - OutMode = a.OutMode, - LoadingAddre=a.LoadingAddre, - UnstackingMode=a.UnstackingMode, + LotNo = a.LotNo, + LotText = a.LotText, + SupplierLot = a.SupplierLot, + SkuNo = a.SkuNo, + SkuName = a.SkuName, + Standard = a.Standard, + PalletNo = a.PalletNo, + IsBale = a.IsBale, + IsBelt = a.IsBelt, + Qty = a.Qty, + CompleteQty = a.CompleteQty, + Status = a.Status, + LogisticsId = a.LogisticsId, + LogisticsName = b.CarrierName, + IsAdvance = a.IsAdvance, + OutMode = a.OutMode, + LoadingAddre = a.LoadingAddre, + UnstackingMode = a.UnstackingMode, - CreateUserName = c.RealName, - UpdateUserName = d.RealName, - CreateTime = a.CreateTime, - UpdateTime = a.UpdateTime - }).OrderByDescending(a => a.CreateTime).OrderBy(a => a.Status).OrderBy(a => a.SkuNo).ToOffsetPage(page, limit, ref total); - count = total; - return data; - } - catch (Exception e) - { - throw new Exception(e.Message); - } + CreateUserName = c.RealName, + UpdateUserName = d.RealName, + CreateTime = a.CreateTime, + UpdateTime = a.UpdateTime + }).OrderByDescending(a => a.CreateTime).OrderBy(a => a.Status).OrderBy(a => a.SkuNo) + .ToPageListAsync(model.Page, model.Limit, count); + count = total; + return data; } //鎾ら攢鍒嗛厤锛堝垹闄わ級 diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeDetailServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeDetailServer.cs index f6f4fe9..3cc19b6 100644 --- a/Wms/WMS.BLL/BllSoServer/ExportNoticeDetailServer.cs +++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeDetailServer.cs @@ -26,59 +26,53 @@ } public async Task<List<ExportNoticeDetailDto>> GetExportNoticeDetailList(GetExportNoticeDetailVm model, RefAsync<int> count) { - try + if (string.IsNullOrWhiteSpace(model.SoNo)) { - if (string.IsNullOrWhiteSpace(model.SoNo)) - { - throw new Exception("鍑哄簱鍗曞彿涓虹┖"); - } - var notice = DataContext.Db.Queryable<BllExportNotice>().Where(m => m.IsDel == "0" && m.SONo == model.SoNo).ToList().FirstOrDefault(); - if (notice == null) - { - throw new Exception("鍑哄簱鍗曞彿涓虹┖"); - } - - var data = await GetAllWhereAsync(a=>a.SONo == model.SoNo) - .LeftJoin<SysPackag>((a,b)=> a.PackagNo == b.PackagNo) - .LeftJoin<SysUserInfor>((a,b,c)=> a.CreateUser == c.Id) - .LeftJoin<SysUserInfor>((a,b,c,d)=> a.UpdateUser == d.Id) - .Select((a, b, c, d) => new ExportNoticeDetailDto() - { - Id = a.Id, - Status = a.Status, - Origin = notice.Origin, - SONo = a.SONo, - SkuNo = a.SkuNo, - SkuName = a.SkuName, - Standard = a.Standard, - LotNo = a.LotNo, - LotText = a.LotText, - Qty = a.Qty, - AllotQty = a.AllotQty, - FactQty = a.FactQty, - CompleteQty = a.CompleteQty, - PackagNo = a.PackagNo, - PackagName = b.PackagName, - Price = a.Price, - Money = a.Money, - IsBale = a.IsBale, - IsBelt = a.IsBelt, - SupplierLot = a.SupplierLot, - IsWave = a.IsWave, - WaveNo = a.WaveNo, - - CreateUserName = c.RealName, - UpdateUserName = d.RealName, - CreateTime = a.CreateTime, - UpdateTime = a.UpdateTime - }).ToPageListAsync(model.Page, model.Limit, count); - - return data; + throw new Exception("鍑哄簱鍗曞彿涓虹┖"); } - catch (Exception e) + var notice = DataContext.Db.Queryable<BllExportNotice>().Where(m => m.IsDel == "0" && m.SONo == model.SoNo).ToList().FirstOrDefault(); + if (notice == null) { - throw new Exception(e.Message); + throw new Exception("鍑哄簱鍗曞彿涓虹┖"); } + + var data = await GetAllWhereAsync(a => a.SONo == model.SoNo) + .LeftJoin<SysPackag>((a, b) => a.PackagNo == b.PackagNo) + .LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id) + .LeftJoin<SysUserInfor>((a, b, c, d) => a.UpdateUser == d.Id) + .Select((a, b, c, d) => new ExportNoticeDetailDto() + { + Id = a.Id, + Status = a.Status, + Origin = notice.Origin, + SONo = a.SONo, + SkuNo = a.SkuNo, + SkuName = a.SkuName, + Standard = a.Standard, + LotNo = a.LotNo, + LotText = a.LotText, + Qty = a.Qty, + AllotQty = a.AllotQty, + FactQty = a.FactQty, + CompleteQty = a.CompleteQty, + PackagNo = a.PackagNo, + PackagName = b.PackagName, + Price = a.Price, + Money = a.Money, + IsBale = a.IsBale, + IsBelt = a.IsBelt, + SupplierLot = a.SupplierLot, + IsWave = a.IsWave, + WaveNo = a.WaveNo, + IsMixBox = a.IsMixBox, + + CreateUserName = c.RealName, + UpdateUserName = d.RealName, + CreateTime = a.CreateTime, + UpdateTime = a.UpdateTime + }).ToPageListAsync(model.Page, model.Limit, count); + + return data; } public bool DelExportNoticeDetail(int id, int userId) diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs index 3f7e3e2..e746979 100644 --- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs +++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs @@ -430,6 +430,7 @@ IsWave = "0", WaveNo = "", IsIssueLotNo = string.IsNullOrWhiteSpace(d.LotNo) ? "0" : "1", + IsMixBox = d.IsMixBox, OrderDetailCode = d.OrderDetailCode, @@ -540,7 +541,7 @@ var item = new BllExportNoticeDetail() { SONo = billNo, - OrderDetailCode=d.OrderDetailCode, + OrderDetailCode = d.OrderDetailCode, SkuNo = sku.SkuNo, SkuName = sku.SkuName, Standard = sku.Standard, @@ -559,6 +560,7 @@ IsWave = "0", WaveNo = "", IsIssueLotNo = string.IsNullOrWhiteSpace(d.LotNo) ? "0" : "1", + IsMixBox = d.IsMixBox, CreateUser = 0, }; @@ -814,67 +816,60 @@ public async Task<List<ExportNoticeDto>> GetExportNoticeList(GetExportNoticeVm model, RefAsync<int> count) { - try - { - var strList = new List<string>(); + var strList = new List<string>(); - if (!string.IsNullOrWhiteSpace(model.LotNo)) + if (!string.IsNullOrWhiteSpace(model.LotNo)) + { + var detailList = Db.Queryable<BllExportNoticeDetail>().Where(m => m.IsDel == "0" && m.LotNo.Contains(model.LotNo.Trim())).Select(m => m.SONo).Distinct().ToList(); + strList = detailList; + } + Expression<Func<BllExportNotice, bool>> item = Expressionable.Create<BllExportNotice>() + .AndIF(!string.IsNullOrWhiteSpace(model.No), it => it.SONo.Contains(model.No.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(model.Type), it => it.Type == model.Type) + .AndIF(!string.IsNullOrWhiteSpace(model.Status), it => it.Status == model.Status) + .AndIF(model.LogisticsId != null, it => it.LogisticsId == model.LogisticsId) + .AndIF(!string.IsNullOrWhiteSpace(model.IsWave), it => it.IsWave == model.IsWave) + .AndIF(!string.IsNullOrWhiteSpace(model.IsDespatch), it => it.IsDespatch == model.IsDespatch) + .AndIF(!string.IsNullOrWhiteSpace(model.WaveNo), it => it.WaveNo.Contains(model.WaveNo.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(model.LotNo), it => strList.Contains(it.SONo)) + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + + var data = await GetAllWhereAsync(item) + .LeftJoin<SysLogisticsInfo>((a, b) => a.LogisticsId == b.Id) + .LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id) + .LeftJoin<SysUserInfor>((a, b, c, d) => a.CreateUser == d.Id) + .LeftJoin<SysUserInfor>((a, b, c, d, e) => a.CheckUser == e.Id) + .Select((a, b, c, d, e) => new ExportNoticeDto() { - var detailList = Db.Queryable<BllExportNoticeDetail>().Where(m => m.IsDel == "0" && m.LotNo.Contains(model.LotNo.Trim())).Select(m => m.SONo).Distinct().ToList(); - strList = detailList; - } - Expression<Func<BllExportNotice, bool>> item = Expressionable.Create<BllExportNotice>() - .AndIF(!string.IsNullOrWhiteSpace(model.No), it => it.SONo.Contains(model.No.Trim())) - .AndIF(!string.IsNullOrWhiteSpace(model.Type), it => it.Type == model.Type) - .AndIF(!string.IsNullOrWhiteSpace(model.Status), it => it.Status == model.Status) - .AndIF(model.LogisticsId != null, it => it.LogisticsId == model.LogisticsId) - .AndIF(!string.IsNullOrWhiteSpace(model.IsWave), it => it.IsWave == model.IsWave) - .AndIF(!string.IsNullOrWhiteSpace(model.IsDespatch), it => it.IsDespatch == model.IsDespatch) - .AndIF(!string.IsNullOrWhiteSpace(model.WaveNo), it => it.WaveNo.Contains(model.WaveNo.Trim())) - .AndIF(!string.IsNullOrWhiteSpace(model.LotNo), it => strList.Contains(it.SONo)) - .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + Id = a.Id, + SONo = a.SONo, + Type = a.Type, + Status = a.Status, + Origin = a.Origin, + CustomerNo = a.CustomerNo, + CustomerName = a.CustomerName, + LotNo = a.LotNo, + LotText = a.LotText, + SupplierLot = a.SupplierLot, + LogisticsId = a.LogisticsId, + LogisticsName = b.CarrierName, + IsWave = a.IsWave, + WaveNo = a.WaveNo, + IsDespatch = a.IsDespatch, + Demo = a.Demo, - var data = await GetAllWhereAsync(item) - .LeftJoin<SysLogisticsInfo>((a, b) => a.LogisticsId == b.Id) - .LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id) - .LeftJoin<SysUserInfor>((a, b, c, d) => a.CreateUser == d.Id) - .LeftJoin<SysUserInfor>((a, b, c, d, e) => a.CheckUser == e.Id) - .Select((a, b, c, d, e) => new ExportNoticeDto() - { - Id = a.Id, - SONo = a.SONo, - Type = a.Type, - Status = a.Status, - Origin = a.Origin, - CustomerNo = a.CustomerNo, - CustomerName = a.CustomerName, - LotNo = a.LotNo, - LotText = a.LotText, - SupplierLot = a.SupplierLot, - LogisticsId = a.LogisticsId, - LogisticsName = b.CarrierName, - IsWave = a.IsWave, - WaveNo = a.WaveNo, - IsDespatch = a.IsDespatch, - Demo = a.Demo, + CreateUserName = c.RealName, + UpdateUserName = c.RealName, + CreateTime = a.CreateTime, + UpdateTime = a.UpdateTime, - CreateUserName = c.RealName, - UpdateUserName = c.RealName, - CreateTime = a.CreateTime, - UpdateTime = a.UpdateTime, + CheckUserName = e.RealName, + CheckTime = a.CheckTime + }) + .OrderByDescending(a => a.CreateTime) + .ToPageListAsync(model.Page, model.Limit, count); - CheckUserName = e.RealName, - CheckTime = a.CheckTime - }) - .OrderByDescending(a => a.CreateTime) - .ToPageListAsync(model.Page, model.Limit, count); - - return data; - } - catch (Exception e) - { - throw new Exception(e.Message); - } + return data; } //鑾峰彇娣诲姞/缂栬緫鍑哄簱鍗曟椂閫夋嫨鐗╂枡鏄庣粏淇℃伅 @@ -1907,33 +1902,23 @@ /// <param name="limit">闆舵墭鏍囪</param> /// <param name="count">闆舵墭鏍囪</param> /// <returns></returns> - public List<DataStockDetail> GetPalletNoOutList(string skuNo, string skuName, string palletNo, string lotNo, string inspectMark, string bitPalletMark, int page, int limit, out int count) + public async Task<List<DataStockDetail>> GetPalletNoOutList(GetPalletNoOutVm model, RefAsync<int> count) { + Expression<Func<DataStockDetail, bool>> item = Expressionable.Create<DataStockDetail>() + .AndIF(!string.IsNullOrWhiteSpace(model.SkuNo), m => m.SkuNo.Contains(model.SkuNo.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(model.SkuName), m => m.SkuName.Contains(model.SkuName.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(model.PalletNo), m => m.PalletNo.Contains(model.PalletNo.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(model.LotNo), m => m.LotNo.Contains(model.LotNo.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(model.InspectMark), m => m.InspectMark == model.InspectMark) + .AndIF(!string.IsNullOrWhiteSpace(model.BitPalletMark), m => m.BitPalletMark == model.BitPalletMark) + .And(m => !string.IsNullOrWhiteSpace(m.WareHouseNo)) + .And(a => a.Status == "0") + .And(a => a.WareHouseNo == "W01") + .ToExpression(); + var data = await Db.Queryable<DataStockDetail>().Where(item).OrderBy(m => m.LocatNo).ToPageListAsync(model.Page, model.Limit, count); + //data.Select(m => m.Status == "0" && m.IsDel == "0"); - try - { - Expression<Func<DataStockDetail, bool>> item = Expressionable.Create<DataStockDetail>() - .AndIF(!string.IsNullOrWhiteSpace(skuNo), m => m.SkuNo.Contains(skuNo.Trim())) - .AndIF(!string.IsNullOrWhiteSpace(skuName), m => m.SkuName.Contains(skuName.Trim())) - .AndIF(!string.IsNullOrWhiteSpace(palletNo), m => m.PalletNo.Contains(palletNo.Trim())) - .AndIF(!string.IsNullOrWhiteSpace(lotNo), m => m.LotNo.Contains(lotNo.Trim())) - .AndIF(!string.IsNullOrWhiteSpace(inspectMark), m => m.InspectMark == inspectMark) - .AndIF(!string.IsNullOrWhiteSpace(bitPalletMark), m => m.BitPalletMark == bitPalletMark) - .And(m => !string.IsNullOrWhiteSpace(m.WareHouseNo)) - .And(a => a.Status == "0") - .And(a => a.WareHouseNo == "W01") - .ToExpression(); - var total = 0; - var data = Db.Queryable<DataStockDetail>().Where(item).OrderBy(m => m.LocatNo).ToOffsetPage(page, limit, ref total); - //data.Select(m => m.Status == "0" && m.IsDel == "0"); - count = total; - - return data; - } - catch (Exception e) - { - throw new Exception(e.Message); - } + return data; } //鎵樼洏鍑哄簱 @@ -4324,6 +4309,8 @@ var noticeDetail = Db.Queryable<BllExportNoticeDetail>().Where(m => m.IsDel == "0" && m.SONo == soNo).ToList(); //搴撳瓨鎬昏〃淇℃伅 var data = Db.Queryable<DataStock>().Where(m => m.IsDel == "0").ToList(); + //搴撳瓨鏄庣粏涓楠屽悎鏍兼壒娆¢泦鍚� + var dataDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.InspectStatus == "1").GroupBy(g => g.LotNo).Select(s => s.LotNo).ToList(); //搴撳瓨鏄庣粏琛ㄤ俊鎭� var dataBoxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0").ToList(); @@ -4333,7 +4320,7 @@ { //楠岃瘉鍏堣繘鍏堝嚭鍘熷垯 - var forData = data.Where(m => m.SkuNo == item.SkuNo && m.LotNo != item.LotNo && (m.Qty - m.FrozenQty - m.LockQty) > 0 ).Select(m=>m.LotNo).ToList(); //鑾峰彇褰撳墠鐗╂枡鐨勬墍鏈夋壒娆′俊鎭�(鎺掗櫎鍗曟嵁鐨勬壒娆★紝闃叉鍗曟嵁鎵�鍦ㄦ壒娆¢攣瀹氭暟閲忓悗楠岃瘉灏忎簬绛変簬0) + var forData = data.Where(m => m.SkuNo == item.SkuNo && m.LotNo != item.LotNo && (m.Qty - m.FrozenQty - m.LockQty) > 0 && dataDetail.Contains(m.LotNo)).Select(m=>m.LotNo).ToList(); //鑾峰彇褰撳墠鐗╂枡鐨勬墍鏈夋壒娆′俊鎭�(鎺掗櫎鍗曟嵁鐨勬壒娆★紝闃叉鍗曟嵁鎵�鍦ㄦ壒娆¢攣瀹氭暟閲忓悗楠岃瘉灏忎簬绛変簬0) forData.Add(item.LotNo); //闆嗗悎娣诲姞鍗曟嵁鐨勬壒娆� //鑾峰彇鎺掑簭鍚庣殑绗竴涓壒娆� diff --git a/Wms/WMS.BLL/BllSoServer/WaveMageServer.cs b/Wms/WMS.BLL/BllSoServer/WaveMageServer.cs index 692cc5c..88419dd 100644 --- a/Wms/WMS.BLL/BllSoServer/WaveMageServer.cs +++ b/Wms/WMS.BLL/BllSoServer/WaveMageServer.cs @@ -3,8 +3,10 @@ using System.Linq; using System.Linq.Expressions; using System.Text; +using System.Threading.Tasks; using Model.InterFaceModel; using Model.ModelDto.BllSoDto; +using Model.ModelVm.BllSoVm; using Newtonsoft.Json; using SqlSugar; using WMS.BLL.Logic; @@ -27,52 +29,44 @@ } //鑾峰彇娉㈡鍗曚俊鎭� - public List<WaveMageDto> GetWaveMageList(string waveNo, string status, string lotNo, int? logisticsId, int page, int limit, out int count) + public async Task<List<WaveMageDto>> GetWaveMageList(GetWaveMageVm model, RefAsync<int> count) { - try - { - Expression<Func<BllWaveMage, bool>> item = Expressionable.Create<BllWaveMage>() - .AndIF(!string.IsNullOrWhiteSpace(waveNo), it => it.WaveNo.Contains(waveNo.Trim())) - .AndIF(!string.IsNullOrWhiteSpace(status), it => it.Status == status) - .AndIF(logisticsId != null, it => it.LogisticsId == logisticsId) - .AndIF(!string.IsNullOrWhiteSpace(lotNo), it => it.LotNo.Contains(lotNo)) + Expression<Func<BllWaveMage, bool>> item = Expressionable.Create<BllWaveMage>() + .AndIF(!string.IsNullOrWhiteSpace(model.WaveNo), it => it.WaveNo.Contains(model.WaveNo.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(model.Status), it => it.Status == model.Status) + .AndIF(model.LogisticsId != null, it => it.LogisticsId == model.LogisticsId) + .AndIF(!string.IsNullOrWhiteSpace(model.LotNo), it => it.LotNo.Contains(model.LotNo)) .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� - var total = 0; - var data = GetAllWhereAsync(item) - .LeftJoin<SysLogisticsInfo>((a, b) => a.LogisticsId == b.Id) - .LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id) - .LeftJoin<SysUserInfor>((a, b, c, d) => a.CreateUser == d.Id) - .Select((a, b, c, d) => new WaveMageDto() - { - Id = a.Id, - WaveNo = a.WaveNo, - Status = a.Status, - Origin = a.Origin, - CustomerNo = a.CustomerNo, - CustomerName = a.CustomerName, - LotNo = a.LotNo, - LotText = a.LotText, - SupplierLot = a.SupplierLot, - LogisticsId = a.LogisticsId, - LogisticsName = b.CarrierName, - Address = a.Address, - CreateUserName = c.RealName, - UpdateUserName = c.RealName, - CreateTime = a.CreateTime, - UpdateTime = a.UpdateTime, + var data = await GetAllWhereAsync(item) + .LeftJoin<SysLogisticsInfo>((a, b) => a.LogisticsId == b.Id) + .LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id) + .LeftJoin<SysUserInfor>((a, b, c, d) => a.CreateUser == d.Id) + .Select((a, b, c, d) => new WaveMageDto() + { + Id = a.Id, + WaveNo = a.WaveNo, + Status = a.Status, + Origin = a.Origin, + CustomerNo = a.CustomerNo, + CustomerName = a.CustomerName, + LotNo = a.LotNo, + LotText = a.LotText, + SupplierLot = a.SupplierLot, + LogisticsId = a.LogisticsId, + LogisticsName = b.CarrierName, + Address = a.Address, - }) - .OrderByDescending(a => a.CreateTime) - .ToOffsetPage(page, limit, ref total); - count = total; + CreateUserName = c.RealName, + UpdateUserName = c.RealName, + CreateTime = a.CreateTime, + UpdateTime = a.UpdateTime, - return data; - } - catch (Exception e) - { - throw new Exception(e.Message); - } + }) + .OrderByDescending(a => a.CreateTime) + .ToPageListAsync(model.Page, model.Limit, count); + + return data; } //鑾峰彇娣诲姞娉㈡鍗曠殑鍑哄簱鍗曚俊鎭� diff --git a/Wms/WMS.BLL/LogServer/OperationCrServer.cs b/Wms/WMS.BLL/LogServer/OperationCrServer.cs index 0a660f3..45580a1 100644 --- a/Wms/WMS.BLL/LogServer/OperationCrServer.cs +++ b/Wms/WMS.BLL/LogServer/OperationCrServer.cs @@ -101,7 +101,7 @@ input.Type = (await Db.Queryable<SysDictionary>().FirstAsync(s => s.DictName == input.TypeName && s.IsDel == "0"))?.Id.ToString(); input.CreateUser = _userManager.UserId; input.CreateTime = DateTime.Now; - return await Db.Insertable<LogOperationSys>(input).ExecuteCommandAsync(); + return await Db.Insertable<LogOperationCR>(input).ExecuteCommandAsync(); } } } diff --git a/Wms/WMS.BLL/LogServer/OperationSOServer.cs b/Wms/WMS.BLL/LogServer/OperationSOServer.cs index f8cff57..f59a724 100644 --- a/Wms/WMS.BLL/LogServer/OperationSOServer.cs +++ b/Wms/WMS.BLL/LogServer/OperationSOServer.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Linq.Expressions; using System.Text; +using System.Threading.Tasks; using Model.ModelDto.LogDto; using SqlSugar; using WMS.BLL.SysServer; @@ -21,43 +22,35 @@ public OperationSOServer() : base(Db) { } - public List<OperationDto> GetLogOperationSoList(string menuName, string type, string msg, string startTime, string endTime, int page, int limit, out int count) + public async Task<List<OperationDto>> GetLogOperationSoList(string menuName, string type, string msg, string startTime, string endTime, int page, int limit, RefAsync<int> count) { - try - { - var item = Expressionable.Create<LogOperationSO>() + var item = Expressionable.Create<LogOperationSO>() .AndIF(!string.IsNullOrWhiteSpace(menuName), it => it.MenuName.Contains(menuName.Trim())) .AndIF(!string.IsNullOrWhiteSpace(type), it => it.Type == type) .AndIF(!string.IsNullOrWhiteSpace(msg), it => it.Msg.Contains(msg.Trim())) .AndIF(!string.IsNullOrWhiteSpace(startTime), it => it.CreateTime >= Convert.ToDateTime(startTime)) .AndIF(!string.IsNullOrWhiteSpace(endTime), it => it.CreateTime <= Convert.ToDateTime(endTime).AddDays(1)) .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� - var total = 0; - var list = GetAllWhereAsync(item) - .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString()) - .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id) - .Select((it, dic, users) => new OperationDto() - { - Id = it.Id, - ParentNo = it.ParentNo, - MenuNo = it.MenuNo, - MenuName = it.MenuName, - FkNo = it.FkNo, - Type = dic.DictName, - Msg = it.Msg, - CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"), - CreateUserName = users.RealName, - }) - .OrderByDescending(it => it.CreateTime) - .ToOffsetPage(page, limit, ref total); - count = total; - return list.OrderByDescending(m => m.CreateTime).ToList(); - } - catch (Exception e) - { - throw new Exception(e.Message); - } + var list = await GetAllWhereAsync(item) + .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString()) + .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id) + .Select((it, dic, users) => new OperationDto() + { + Id = it.Id, + ParentNo = it.ParentNo, + MenuNo = it.MenuNo, + MenuName = it.MenuName, + FkNo = it.FkNo, + Type = dic.DictName, + Msg = it.Msg, + CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"), + CreateUserName = users.RealName, + }) + .OrderByDescending(it => it.CreateTime) + .ToPageListAsync(page, limit, count); + + return list.OrderByDescending(m => m.CreateTime).ToList(); } public bool AddLogOperationSo(string parentNo, string menuName, string fkNo, string type, string msg, int userId) { diff --git a/Wms/WMS.BLL/SysServer/PalletsServer.cs b/Wms/WMS.BLL/SysServer/PalletsServer.cs index 8a7c445..7905c29 100644 --- a/Wms/WMS.BLL/SysServer/PalletsServer.cs +++ b/Wms/WMS.BLL/SysServer/PalletsServer.cs @@ -125,8 +125,17 @@ var str = pallNo.Substring(3, 5); string remove = pallNo.Substring(0, 3); - int sibelius = Convert.ToInt16(str); + int sibelius = 0; var num = 0; + if (remove != "T" + DateTime.Now.ToString("yy")) + { + remove = "T" + DateTime.Now.ToString("yy"); + sibelius = 0; + } + else + { + sibelius = Convert.ToInt16(str); + } for (int i = 0; i < groupCount; i++) { sibelius += 1; 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.Entity/BllSoEntity/BLLExportNoticeDetail.cs b/Wms/WMS.Entity/BllSoEntity/BLLExportNoticeDetail.cs index c7580de..f1094de 100644 --- a/Wms/WMS.Entity/BllSoEntity/BLLExportNoticeDetail.cs +++ b/Wms/WMS.Entity/BllSoEntity/BLLExportNoticeDetail.cs @@ -153,7 +153,13 @@ /// Nullable:True /// </summary> public string IsIssueLotNo { get; set; } - + + /// <summary> + /// Desc:鏄惁鎺ュ彈鎷肩 + /// Default: 0锛氬惁 1锛氭槸 + /// Nullable:True + /// </summary> + public string IsMixBox { get; set; } /// <summary> /// 鑷畾涔夊垪1 diff --git a/Wms/WMS.Entity/LogEntity/LogTask.cs b/Wms/WMS.Entity/LogEntity/LogTask.cs index 53d440d..fdbd504 100644 --- a/Wms/WMS.Entity/LogEntity/LogTask.cs +++ b/Wms/WMS.Entity/LogEntity/LogTask.cs @@ -128,7 +128,7 @@ public int? IsFinish {get;set;} /// <summary> - /// Desc:鍗曟嵁绫诲瀷 0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗� + /// Desc:鍗曟嵁绫诲瀷 0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗� 4瑙嗚鐩樼偣 /// Default: /// Nullable:True /// </summary> diff --git a/Wms/WMS.IBLL/IBllAsnServer/IArrivalNoticeServer.cs b/Wms/WMS.IBLL/IBllAsnServer/IArrivalNoticeServer.cs index a9936ce..5372da9 100644 --- a/Wms/WMS.IBLL/IBllAsnServer/IArrivalNoticeServer.cs +++ b/Wms/WMS.IBLL/IBllAsnServer/IArrivalNoticeServer.cs @@ -3,7 +3,9 @@ using Model.ModelDto.SysDto; using Model.ModelVm; using Model.ModelVm.SysVm; +using SqlSugar; using System.Collections.Generic; +using System.Threading.Tasks; namespace WMS.IBLL.IBllAsnServer { @@ -17,7 +19,7 @@ /// <param name="model">鏌ヨ鏉′欢</param> /// <param name="count">鏁伴噺</param> /// <returns>鍏ュ簱鍗曚俊鎭�</returns> - List<ArrivalNoticeDto> GetArrivalNoticeList(ArrivalNoticeVm model, out int count); + Task<List<ArrivalNoticeDto>> GetArrivalNoticeList(ArrivalNoticeVm model, RefAsync<int> count); /// <summary> /// 鍏ュ簱鍗曟槑缁嗘暟閲� @@ -25,7 +27,7 @@ /// <param name="model">鏌ヨ鏉′欢</param> /// <param name="count"></param> /// <returns></returns> - List<ArrivalNoticeDetailDto> GetArrivalNoticeDetailList(ArrivalNoticeDetailVm model, out int count); + Task<List<ArrivalNoticeDetailDto>> GetArrivalNoticeDetailList(ArrivalNoticeDetailVm model, RefAsync<int> count); /// <summary> /// 鑾峰彇鍏ュ簱鍗曟槑缁嗗墿浣欐墦鍗版暟閲� diff --git a/Wms/WMS.IBLL/IBllCheckServer/IStockCheckServer.cs b/Wms/WMS.IBLL/IBllCheckServer/IStockCheckServer.cs index c9c34be..a8c8e2e 100644 --- a/Wms/WMS.IBLL/IBllCheckServer/IStockCheckServer.cs +++ b/Wms/WMS.IBLL/IBllCheckServer/IStockCheckServer.cs @@ -104,6 +104,14 @@ /// <param name="str"></param> /// <returns></returns> Task<List<OutCommandDto>> CheckOutHouse(string crNo, string outMode, string url, string str); + /// <summary> + /// 瑙嗚鐩樼偣 + /// </summary> + /// <param name="crNo"></param> + /// <param name="url"></param> + /// <param name="str"></param> + /// <returns></returns> + Task<List<OutCommandDto>> CheckVision(string crNo, string url, string str); /// <summary> /// 鐩樼偣鍑哄簱瀹屾垚 diff --git a/Wms/WMS.IBLL/IBllSoServer/ICompleteDetailServer.cs b/Wms/WMS.IBLL/IBllSoServer/ICompleteDetailServer.cs index d786a62..20c29d2 100644 --- a/Wms/WMS.IBLL/IBllSoServer/ICompleteDetailServer.cs +++ b/Wms/WMS.IBLL/IBllSoServer/ICompleteDetailServer.cs @@ -1,7 +1,10 @@ 锘縰sing System; using System.Collections.Generic; using System.Text; +using System.Threading.Tasks; using Model.ModelDto.BllSoDto; +using Model.ModelVm.BllSoVm; +using SqlSugar; namespace WMS.IBLL.IBllSoServer { @@ -15,7 +18,7 @@ /// <param name="limit"></param> /// <param name="count"></param> /// <returns></returns> - List<CompleteDetailDto> GetCompleteDetailList(int id, int page, int limit, out int count); + Task<List<CompleteDetailDto>> GetCompleteDetailList(GetCompleteDetailVm model, RefAsync<int> count); /// <summary> /// 鑾峰彇鎷h揣鏄庣粏涓缁嗙鏀俊鎭� 鏍规嵁绠辩爜\鏀爜 diff --git a/Wms/WMS.IBLL/IBllSoServer/IExportAllotServer.cs b/Wms/WMS.IBLL/IBllSoServer/IExportAllotServer.cs index 6754893..8e63369 100644 --- a/Wms/WMS.IBLL/IBllSoServer/IExportAllotServer.cs +++ b/Wms/WMS.IBLL/IBllSoServer/IExportAllotServer.cs @@ -1,7 +1,10 @@ 锘縰sing System; using System.Collections.Generic; using System.Text; +using System.Threading.Tasks; using Model.ModelDto.BllSoDto; +using Model.ModelVm.BllSoVm; +using SqlSugar; namespace WMS.IBLL.IBllSoServer { @@ -22,7 +25,7 @@ /// <param name="limit"></param> /// <param name="count"></param> /// <returns></returns> - List<ExportAllotDto> GetExportAllotList(string no, string waveNo, string palletNo, string skuNo, string skuName, string lotNo, string status, string boxNo, int page, int limit, out int count); + Task<List<ExportAllotDto>> GetExportAllotList(GetExportAllotVm model, RefAsync<int> count); /// <summary> /// 鎾ら攢鍒嗛厤锛堝垹闄わ級 diff --git a/Wms/WMS.IBLL/IBllSoServer/IExportNoticeServer.cs b/Wms/WMS.IBLL/IBllSoServer/IExportNoticeServer.cs index 870ddad..c5939bc 100644 --- a/Wms/WMS.IBLL/IBllSoServer/IExportNoticeServer.cs +++ b/Wms/WMS.IBLL/IBllSoServer/IExportNoticeServer.cs @@ -110,8 +110,7 @@ /// <param name="limit"></param> /// <param name="count"></param> /// <returns></returns> - List<DataStockDetail> GetPalletNoOutList(string skuNo, string skuName, string palletNo, string lotNo, - string inspectMark, string bitPalletMark, int page, int limit, out int count); + Task<List<DataStockDetail>> GetPalletNoOutList(GetPalletNoOutVm model, RefAsync<int> count); /// <summary> /// 鎵樼洏涓嬪彂鍑哄簱 diff --git a/Wms/WMS.IBLL/IBllSoServer/IWaveMageServer.cs b/Wms/WMS.IBLL/IBllSoServer/IWaveMageServer.cs index 190caf7..16d646b 100644 --- a/Wms/WMS.IBLL/IBllSoServer/IWaveMageServer.cs +++ b/Wms/WMS.IBLL/IBllSoServer/IWaveMageServer.cs @@ -1,8 +1,11 @@ 锘縰sing System; using System.Collections.Generic; using System.Text; +using System.Threading.Tasks; using Model.InterFaceModel; using Model.ModelDto.BllSoDto; +using Model.ModelVm.BllSoVm; +using SqlSugar; namespace WMS.IBLL.IBllSoServer { @@ -19,7 +22,7 @@ /// <param name="limit">鏁伴噺</param> /// <param name="count">涓暟閲�</param> /// <returns></returns> - List<WaveMageDto> GetWaveMageList(string waveNo, string status, string lotNo, int? logisticsId, int page, int limit, out int count); + Task<List<WaveMageDto>> GetWaveMageList(GetWaveMageVm model, RefAsync<int> count); /// <summary> /// 鑾峰彇娣诲姞娉㈡鍗曠殑鍑哄簱鍗曚俊鎭� diff --git a/Wms/WMS.IBLL/ILogServer/IOperationSOServer.cs b/Wms/WMS.IBLL/ILogServer/IOperationSOServer.cs index 0197a1a..5043705 100644 --- a/Wms/WMS.IBLL/ILogServer/IOperationSOServer.cs +++ b/Wms/WMS.IBLL/ILogServer/IOperationSOServer.cs @@ -1,7 +1,9 @@ 锘縰sing System; using System.Collections.Generic; using System.Text; +using System.Threading.Tasks; using Model.ModelDto.LogDto; +using SqlSugar; namespace WMS.IBLL.ILogServer { @@ -19,8 +21,8 @@ /// <param name="limit"></param> /// <param name="count"></param> /// <returns></returns> - List<OperationDto> GetLogOperationSoList(string menuName, string type, string msg, string startTime, - string endTime, int page, int limit, out int count); + Task<List<OperationDto>> GetLogOperationSoList(string menuName, string type, string msg, string startTime, + string endTime, int page, int limit, RefAsync<int> count); /// <summary> /// 娣诲姞鍑哄簱鎿嶄綔鏃ュ織 /// </summary> diff --git a/Wms/Wms/Controllers/BllAsnController.cs b/Wms/Wms/Controllers/BllAsnController.cs index acaa4b0..d92a29a 100644 --- a/Wms/Wms/Controllers/BllAsnController.cs +++ b/Wms/Wms/Controllers/BllAsnController.cs @@ -20,7 +20,7 @@ [Route("api/[controller]/[action]")] [ApiController] [Authorize] - + public class BllAsnController : ControllerBase { #region 渚濊禆娉ㄥ叆 @@ -36,7 +36,7 @@ #endregion #region 鏋勯�犲嚱鏁� - public BllAsnController(IArrivalNoticeServer arrivalNoticeSvc, IPalletBindServer palletBindSvc,IBllBoxInfoServer bllBoxInfoSvc, ITaskServer taskSvc,IOperationASNServer logSvc, IPalletUnbindServer palletUnbind,IAuditLogServer auditLog,IBllLabelBoxNoServer labelBox, IProcurePlanServer procurePlanSvc) + public BllAsnController(IArrivalNoticeServer arrivalNoticeSvc, IPalletBindServer palletBindSvc, IBllBoxInfoServer bllBoxInfoSvc, ITaskServer taskSvc, IOperationASNServer logSvc, IPalletUnbindServer palletUnbind, IAuditLogServer auditLog, IBllLabelBoxNoServer labelBox, IProcurePlanServer procurePlanSvc) { _arrivalNoticeSvc = arrivalNoticeSvc; _PalletBindSvc = palletBindSvc; @@ -57,33 +57,23 @@ /// <param name="model">鏌ヨ鏉′欢</param> /// <returns>鍏ュ簱鍗曚俊鎭�</returns> [HttpPost] - public IActionResult GetArrivalNoticeList(ArrivalNoticeVm model) + [ServiceFilter(typeof(ApiResponseActionFilter))] + public async Task<SqlSugarPagedList> GetArrivalNoticeList(ArrivalNoticeVm model) { - try - { - var models = _arrivalNoticeSvc.GetArrivalNoticeList(model, out int count); - return Ok(new { code = 0, count, msg = "鍏ュ簱鍗曚俊鎭�", data = models }); - } - catch (Exception e) - { - return Ok(new { code = 1, msg = e.Message }); - } - } + RefAsync<int> count = new RefAsync<int>(); + var bolls = await _arrivalNoticeSvc.GetArrivalNoticeList(model, count); + return new SqlSugarPagedList() { Items = bolls, Total = count }; + } + [HttpPost] - public IActionResult GetArrivalNoticeDetailList(ArrivalNoticeDetailVm model) + [ServiceFilter(typeof(ApiResponseActionFilter))] + public async Task<SqlSugarPagedList> GetArrivalNoticeDetailList(ArrivalNoticeDetailVm model) { - try - { - var models = _arrivalNoticeSvc.GetArrivalNoticeDetailList(model, out int count); - - return Ok(new { code = 0, count, msg = "鍏ュ簱鍗曟槑缁嗕俊鎭�", data = models }); - } - catch (Exception e) - { - return Ok(new { code = 1, msg = e.Message }); - } + RefAsync<int> count = new RefAsync<int>(); + var bolls = await _arrivalNoticeSvc.GetArrivalNoticeDetailList(model, count); + return new SqlSugarPagedList() { Items = bolls, Total = count }; } /// <summary> @@ -178,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); @@ -188,7 +182,7 @@ } if (strMesage.Contains("-1")) { - return Ok(new { code = 0, msg = "閮ㄥ垎鎴愬姛 "+ strMesage }); + return Ok(new { code = 0, msg = "閮ㄥ垎鎴愬姛 " + strMesage }); } else { @@ -276,7 +270,7 @@ /// <param name="reason"></param> /// <returns></returns> [HttpGet] - public IActionResult CancelOrder(int id,string reason) + public IActionResult CancelOrder(int id, string reason) { try { @@ -290,12 +284,12 @@ { throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅"); } - - _arrivalNoticeSvc.CancelOrder(id,reason,int.Parse(userId)); - + _arrivalNoticeSvc.CancelOrder(id, reason, int.Parse(userId)); + + return Ok(new { code = 0, msg = "鍏ュ簱鍗曟挙閿�鐢宠鎴愬姛" }); - + } catch (Exception e) { @@ -370,13 +364,13 @@ } [HttpGet] - public IActionResult GetBoxInfoByBoxNo(string boxNo, string boxNo3,int bindNo=0) + public IActionResult GetBoxInfoByBoxNo(string boxNo, string boxNo3, int bindNo = 0) { try { - var models = _PalletBindSvc.GetBoxInfoByBoxNo(boxNo, boxNo3,bindNo); + var models = _PalletBindSvc.GetBoxInfoByBoxNo(boxNo, boxNo3, bindNo); - return Ok(new { code = 0, count= models.Count, msg = "绠辨敮鏄庣粏淇℃伅", data = models }); + return Ok(new { code = 0, count = models.Count, msg = "绠辨敮鏄庣粏淇℃伅", data = models }); } catch (Exception e) { @@ -434,7 +428,7 @@ { throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅"); } - _PalletBindSvc.DelBindBoxInfo(boxNo,int.Parse(userId)); + _PalletBindSvc.DelBindBoxInfo(boxNo, int.Parse(userId)); return Ok(new { code = 0, count = 0, msg = "鍒犻櫎鎴愬姛", data = "" }); } @@ -466,7 +460,7 @@ { throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅"); } - _PalletBindSvc.CancelPalletBind(id, reason,int.Parse(userId)); + _PalletBindSvc.CancelPalletBind(id, reason, int.Parse(userId)); return Ok(new { code = 0, count = 0, msg = "鎵樼洏缁戝畾鎾ら攢鐢宠鎴愬姛", data = "" }); } @@ -490,7 +484,7 @@ { var list = _BoxInfoSvc.GetBoxInfoList(boxNo, isContinue, boxNo2); var num = 0; - if (list!=null) + if (list != null) { num = list.Count; } @@ -516,7 +510,7 @@ { try { - var models = _PalletBindSvc.GetLocateList("W01",model.RoadwayNo,model.Row,model.Column,model.Layer,model.LocateNo,model.StockDetailId, model.Page,model.Limit, out int count); + var models = _PalletBindSvc.GetLocateList("W01", model.RoadwayNo, model.Row, model.Column, model.Layer, model.LocateNo, model.StockDetailId, model.Page, model.Limit, out int count); return Ok(new { code = 0, count, msg = "鑾峰彇鎸囧畾鍌ㄤ綅淇℃伅", data = models }); } @@ -546,7 +540,7 @@ { throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅"); } - _PalletBindSvc.SaveAppointSlot(model.BindId,model.LocateId,int.Parse(userId)); + _PalletBindSvc.SaveAppointSlot(model.BindId, model.LocateId, int.Parse(userId)); return Ok(new { code = 0, count = 0, msg = "鎸囧畾鍌ㄤ綅鎴愬姛", data = "" }); } @@ -698,7 +692,7 @@ RefAsync<int> count = new RefAsync<int>(); var bolls = await _taskSvc.GetTaskList(type, model.Type, model.Status, model.TaskNo, model.IsSuccess, model.PalletNo, model.Msg, model.Page, model.Limit, count); - return Ok(new { code = 0, count, msg = "鍏ュ簱浠诲姟淇℃伅", data = bolls }); + return Ok(new { code = 0, count = count.Value, msg = "鍏ュ簱浠诲姟淇℃伅", data = bolls }); } catch (Exception e) { @@ -867,9 +861,9 @@ { return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); } - _auditLog.EditAudit(model.Id,model.Status,model.Opinion, int.Parse(userId)); + _auditLog.EditAudit(model.Id, model.Status, model.Opinion, int.Parse(userId)); - return Ok(new { code = 0, count=0, msg = "瀹℃牳璁板綍鍒楄〃", data = "" }); + return Ok(new { code = 0, count = 0, msg = "瀹℃牳璁板綍鍒楄〃", data = "" }); } catch (Exception e) { @@ -926,7 +920,7 @@ return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); } var list = _BoxInfoSvc.AddLabelBox(model.Id, model.IsReset, decimal.Parse(model.ArriveQty), model.ProductionTime, model.ExpirationTime, model.StoreTime, model.SupplierLot, int.Parse(userId)); - return Ok(new { code = 0, msg = "鐢熸垚绠辩爜鏍囩鎴愬姛", data = list }); + return Ok(new { code = 0, msg = "鐢熸垚绠辩爜鏍囩鎴愬姛", data = list }); } catch (Exception e) { @@ -951,7 +945,7 @@ { return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); } - var list = _BoxInfoSvc.GetBuDaLabelList(model.BoxNo, model.EndBoxNo, model.BoxNo2, model.EndBoxNo2,model.Type,int.Parse(userId)); + var list = _BoxInfoSvc.GetBuDaLabelList(model.BoxNo, model.EndBoxNo, model.BoxNo2, model.EndBoxNo2, model.Type, int.Parse(userId)); return Ok(new { code = 0, msg = "鑾峰彇琛ユ墦绠辩爜鏍囩淇℃伅", data = list }); } catch (Exception e) @@ -992,7 +986,7 @@ { return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); } - _BoxInfoSvc.DelLabelByAsnNo(model.AsnNo,model.LotNo,int.Parse(userId)); + _BoxInfoSvc.DelLabelByAsnNo(model.AsnNo, model.LotNo, int.Parse(userId)); return Ok(new { code = 0, msg = "鍒犻櫎鎴愬姛", data = "" }); } catch (Exception e) @@ -1134,7 +1128,7 @@ { try { - var type = new List<string>() { "0","1","2" }; + var type = new List<string>() { "0", "1", "2" }; var bolls = _taskSvc.GetArchivingTaskList(type, model.Type, model.Status, model.TaskNo, model.IsSuccess, model.PalletNo, model.Msg, model.Page, model.Limit, out int count); return Ok(new { code = 0, count, msg = "浠诲姟淇℃伅", data = bolls }); @@ -1155,7 +1149,7 @@ { try { - var bolls = _logSvc.GetArchivingLogOperationList(model.ComeFrom,model.MenuName, model.Type, model.Msg, model.StartTime, model.EndTime, model.Page, model.Limit, out int count); + var bolls = _logSvc.GetArchivingLogOperationList(model.ComeFrom, model.MenuName, model.Type, model.Msg, model.StartTime, model.EndTime, model.Page, model.Limit, out int count); return Ok(new { code = 0, count, msg = "鍏ュ簱鎿嶄綔鏃ュ織淇℃伅", data = bolls }); } @@ -1174,7 +1168,7 @@ /// <returns>閲囪喘鍗曚俊鎭�</returns> [HttpPost] [ServiceFilter(typeof(ApiResponseActionFilter))] - public async Task<SqlSugarPagedList> GetProcurePlanNoticeList(ProcurePlanNoticeVm model) + public async Task<SqlSugarPagedList> GetProcurePlanNoticeList(ProcurePlanNoticeVm model) { RefAsync<int> count = new RefAsync<int>(); var bolls = await _procurePlanSvc.GetProcurePlanNoticeList(model, count); @@ -1221,7 +1215,7 @@ { throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅"); } - + _procurePlanSvc.CreateAsnByProcurePlan(Convert.ToInt32(model.Id), int.Parse(UserId)); return Ok(new { code = 0, msg = "娣诲姞鎴愬姛" }); diff --git a/Wms/Wms/Controllers/BllCheckController.cs b/Wms/Wms/Controllers/BllCheckController.cs index 812b777..5ac84ab 100644 --- a/Wms/Wms/Controllers/BllCheckController.cs +++ b/Wms/Wms/Controllers/BllCheckController.cs @@ -70,7 +70,7 @@ { RefAsync<int> count = new RefAsync<int>(); var bolls = await _stockCheckSvc.GetStockCheckList(model.CrNo, model.Status, model.PalletNo, model.SkuNo, model.SkuName, model.LotNo, model.StartTime, model.EndTime, model.Page, model.Limit, count); - return Ok(new { code = 0, count, msg = "鐩樼偣鍗曚俊鎭�", data = bolls }); + return Ok(new { code = 0, count = count.Value, msg = "鐩樼偣鍗曚俊鎭�", data = bolls }); } /// <summary> @@ -84,7 +84,7 @@ RefAsync<int> count = new RefAsync<int>(); var bolls = await _stockCheckSvc.GetStockCheckDetailList(model.CrNo, model.Page, model.Limit, count); - return Ok(new { code = 0, count, msg = "鐩樼偣鍗曟槑缁嗕俊鎭�", data = bolls }); + return Ok(new { code = 0, count = count.Value, msg = "鐩樼偣鍗曟槑缁嗕俊鎭�", data = bolls }); } /// <summary> /// 鑾峰彇搴撳瓨鏄庣粏淇℃伅锛堢洏鐐归�夋嫨鏄庣粏鏁版嵁婧愶級 @@ -96,7 +96,7 @@ { RefAsync<int> count = new RefAsync<int>(); var bolls = await _stockCheckSvc.GetCheckStockDetailList(model.HouseNo, model.RoadwayNo, model.LocateNo, model.Msg, model.Page, model.Limit, count); - return Ok(new { code = 0, count, msg = "鑾峰彇搴撳瓨鏄庣粏淇℃伅", data = bolls }); + return Ok(new { code = 0, count = count.Value, msg = "鑾峰彇搴撳瓨鏄庣粏淇℃伅", data = bolls }); } /// <summary> @@ -175,7 +175,7 @@ RefAsync<int> count = new RefAsync<int>(); var list = await _stockCheckLogSvc.GetStockCheckLogList(model.CrNo, model.Status, model.PalletNo, model.BoxNo, model.SkuNo, model.SkuName, model.LotNo, model.Page, model.Limit, count); - return Ok(new { code = 0, count, msg = "鐩樼偣璁板綍", data = list }); + return Ok(new { code = 0, count = count.Value, msg = "鐩樼偣璁板綍", data = list }); } catch (Exception e) { @@ -201,7 +201,7 @@ RefAsync<int> count = new RefAsync<int>(); var bolls = await _taskSvc.GetTaskList(type, model.Type, model.Status, model.TaskNo, model.IsSuccess, model.PalletNo, model.Msg, model.Page, model.Limit, count); - return Ok(new { code = 0, count, msg = "搴撳唴浠诲姟淇℃伅", data = bolls }); + return Ok(new { code = 0, count = count.Value, msg = "搴撳唴浠诲姟淇℃伅", data = bolls }); } catch (Exception e) { @@ -222,7 +222,7 @@ RefAsync<int> count = new RefAsync<int>(); var bolls = await _logSvc.GetLogOperationCrList(model.MenuName, model.Type, model.Msg, model.StartTime, model.EndTime, model.Page, model.Limit, count); - return Ok(new { code = 0, count, msg = "鍑哄簱鎿嶄綔鏃ュ織淇℃伅", data = bolls }); + return Ok(new { code = 0, count = count.Value, msg = "鍑哄簱鎿嶄綔鏃ュ織淇℃伅", data = bolls }); } catch (Exception e) { @@ -336,7 +336,7 @@ { RefAsync<int> count = new RefAsync<int>(); List<MateDataStockDto> mateDataStockDtos = await _stockPallet.GetPalletsOutside(model.SkuNo, model.SkuName, model.LotNo, model.PalletNo, model.Page, model.Limit, count); - return Ok(new { code = 0, count, msg = "鑾峰彇搴撳鎵樼洏淇℃伅鎴愬姛", data = mateDataStockDtos }); + return Ok(new { code = 0, count = count.Value, msg = "鑾峰彇搴撳鎵樼洏淇℃伅鎴愬姛", data = mateDataStockDtos }); } /// <summary> diff --git a/Wms/Wms/Controllers/BllSoController.cs b/Wms/Wms/Controllers/BllSoController.cs index f81022e..73a6d6d 100644 --- a/Wms/Wms/Controllers/BllSoController.cs +++ b/Wms/Wms/Controllers/BllSoController.cs @@ -522,18 +522,13 @@ /// <param name="model"></param> /// <returns></returns> [HttpPost] - public IActionResult GetExportAllotList(GetExportAllotVm model) + [ServiceFilter(typeof(ApiResponseActionFilter))] + public async Task<SqlSugarPagedList> GetExportAllotList(GetExportAllotVm model) { - try - { - var bolls = _exAllotSvc.GetExportAllotList(model.SoNo, model.WaveNo, model.PalletNo, model.SkuNo, model.SkuName, model.LotNo, model.Status,model.BoxNo, model.Page, model.Limit, out int count); + RefAsync<int> count = new RefAsync<int>(); + var bolls = await _exAllotSvc.GetExportAllotList(model, count); - return Ok(new { code = 0, count, msg = "鍑哄簱鍒嗛厤淇℃伅", data = bolls }); - } - catch (Exception e) - { - return Ok(new { code = 1, msg = e.Message }); - } + return new SqlSugarPagedList() { Items = bolls, Total = count }; } /// <summary> @@ -577,18 +572,13 @@ /// <param name="model"></param> /// <returns></returns> [HttpPost] - public IActionResult GetCompleteDetailList(GetCompleteDetailVm model) + [ServiceFilter(typeof(ApiResponseActionFilter))] + public async Task<SqlSugarPagedList> GetCompleteDetailList(GetCompleteDetailVm model) { - try - { - var bolls = _comDetailSvc.GetCompleteDetailList(model.Id,model.Page, model.Limit, out int count); + RefAsync<int> count = new RefAsync<int>(); + var bolls = await _comDetailSvc.GetCompleteDetailList(model, count); - return Ok(new { code = 0, count, msg = "鎷h揣鏄庣粏淇℃伅", data = bolls }); - } - catch (Exception e) - { - return Ok(new { code = 1, msg = e.Message }); - } + return new SqlSugarPagedList() { Items = bolls, Total = count }; } [HttpGet] @@ -615,19 +605,14 @@ /// </summary> /// <param name="model"></param> /// <returns></returns> - [HttpPost] - public IActionResult GetPalletNoOutList(GetPalletNoOutVm model) + [HttpPost] + [ServiceFilter(typeof(ApiResponseActionFilter))] + public async Task<SqlSugarPagedList> GetPalletNoOutList(GetPalletNoOutVm model) { - try - { - var bolls = _exNoticeSvc.GetPalletNoOutList(model.SkuNo,model.SkuName,model.PalletNo,model.LotNo,model.InspectMark,model.BitPalletMark,model.Page,model.Limit,out int count); + RefAsync<int> count = new RefAsync<int>(); + var bolls = await _exNoticeSvc.GetPalletNoOutList(model, count); - return Ok(new { code = 0, count, msg = "鑾峰彇鎵樼洏鍑哄簱鏁版嵁寮傚父", data = bolls}); - } - catch (Exception e) - { - return Ok(new { code = 1, msg = "鎵樼洏鍑哄簱鏁版嵁" + e.Message }); - } + return new SqlSugarPagedList() { Items = bolls, Total = count }; } /// <summary> @@ -722,7 +707,7 @@ RefAsync<int> count = new RefAsync<int>(); var bolls = await _taskSvc.GetTaskList( type, model.Type,model.Status,model.TaskNo,model.IsSuccess,model.PalletNo,model.Msg,model.Page, model.Limit, count); - return Ok(new { code = 0, count, msg = "鍑哄簱浠诲姟淇℃伅", data = bolls }); + return Ok(new { code = 0, count = count.Value, msg = "鍑哄簱浠诲姟淇℃伅", data = bolls }); } catch (Exception e) { @@ -865,18 +850,13 @@ /// <param name="model"></param> /// <returns></returns> [HttpPost] - public IActionResult GetLogOperationSoList(GetOperationVm model) + [ServiceFilter(typeof(ApiResponseActionFilter))] + public async Task<SqlSugarPagedList> GetLogOperationSoList(GetOperationVm model) { - try - { - var bolls = _logSvc.GetLogOperationSoList(model.MenuName, model.Type, model.Msg, model.StartTime, model.EndTime,model.Page, model.Limit, out int count); + RefAsync<int> count = new RefAsync<int>(); + var bolls = await _logSvc.GetLogOperationSoList(model.MenuName, model.Type, model.Msg, model.StartTime, model.EndTime, model.Page, model.Limit, count); - return Ok(new { code = 0, count, msg = "鍑哄簱鎿嶄綔鏃ュ織淇℃伅", data = bolls }); - } - catch (Exception e) - { - return Ok(new { code = 1, msg = e.Message }); - } + return new SqlSugarPagedList() { Items = bolls, Total = count }; } #endregion @@ -910,18 +890,13 @@ /// <param name="model"></param> /// <returns></returns> [HttpPost] - public IActionResult GetWaveMageList(GetWaveMageVm model) + [ServiceFilter(typeof(ApiResponseActionFilter))] + public async Task<SqlSugarPagedList> GetWaveMageList(GetWaveMageVm model) { - try - { - var bolls = _waveSvc.GetWaveMageList(model.WaveNo, model.Status, model.LotNo, model.LogisticsId, model.Page, model.Limit, out int count); + RefAsync<int> count = new RefAsync<int>(); + var bolls = await _waveSvc.GetWaveMageList(model, count); - return Ok(new { code = 0, count, msg = "鍑哄簱鍗曚俊鎭�", data = bolls }); - } - catch (Exception e) - { - return Ok(new { code = 1, msg = e.Message }); - } + return new SqlSugarPagedList() { Items = bolls, Total = count }; } /// <summary> diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs index fd9e65d..d8da14f 100644 --- a/Wms/Wms/Controllers/DownApiController.cs +++ b/Wms/Wms/Controllers/DownApiController.cs @@ -174,33 +174,54 @@ /// <returns></returns> [Authorize] [HttpGet] + [UnitOfWork] public async Task<IActionResult> CheckOutHouse(string crNo, string outMode) { - try + //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴稩D + var claimsIdentity = this.User.Identity as ClaimsIdentity; + if (claimsIdentity == null) { - //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴稩D - var claimsIdentity = this.User.Identity as ClaimsIdentity; - if (claimsIdentity == null) - { - return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); - } - var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value; - if (string.IsNullOrWhiteSpace(userId)) - { - return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); - } - string str = ""; - var list = await _crCheckSvc.CheckOutHouse(crNo, outMode, _config.WcsHost + _config.IssueComApiUrl, str); - - return Ok(new { code = 0, msg = str, data = list }); - + return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); } - catch (Exception e) + var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value; + if (string.IsNullOrWhiteSpace(userId)) { - return Ok(new { code = 1, msg = e.Message }); + return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); } + string str = ""; + var list = await _crCheckSvc.CheckOutHouse(crNo, outMode, _config.WcsHost + _config.IssueComApiUrl, str); + + return Ok(new { code = 0, msg = str, data = list }); + } + /// <summary> + /// 鎸囦护涓嬪彂锛堣瑙夌洏鐐癸級 + /// </summary> + /// <param name="crNo"></param> + /// <param name="outMode"></param> + /// <returns></returns> + [Authorize] + [HttpGet] + [UnitOfWork] + public async Task<IActionResult> CheckVision(string crNo) + { + //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴稩D + var claimsIdentity = this.User.Identity as ClaimsIdentity; + if (claimsIdentity == null) + { + return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); + } + var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value; + if (string.IsNullOrWhiteSpace(userId)) + { + return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); + } + string str = ""; + var list = await _crCheckSvc.CheckVision(crNo, _config.WcsHost + _config.IssueComApiUrl, str); + return Ok(new { code = 0, msg = str, data = list }); + + } /// <summary> /// 閲嶆柊涓嬪彂鐩樼偣浠诲姟 /// </summary> -- Gitblit v1.8.0