From 2056ae6f3d8243b0555f437ec6d214666d5bde53 Mon Sep 17 00:00:00 2001
From: chengsc <11752@DESKTOP-DS49RCP>
Date: 星期一, 02 六月 2025 09:43:19 +0800
Subject: [PATCH] 修改问题
---
Pda/View/AsnSetting/WorkshopIn.html | 571 +++++++++++++++++++++++++++
Wms/WMS.BLL/HttpServer.cs | 28
Wms/Wms/Controllers/UpApiController.cs | 2
Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs | 8
Pda/View/SoSetting/ExNoticeOut.html | 29 +
Wms/Wms/Controllers/PdaAsnController.cs | 54 ++
Wms/WMS.Entity/BllAsnEntity/BllPalletBind.cs | 2
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs | 452 +++++++++++++++++++++
Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs | 2
Wms/WMS.IBLL/IPdaServer/IPdaAsnServer.cs | 6
Wms/Wms/Controllers/PdaSoController.cs | 13
Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 55 ++
Wms/Model/ModelVm/PdaVm/PdaAsnVm.cs | 10
13 files changed, 1,192 insertions(+), 40 deletions(-)
diff --git a/Pda/View/AsnSetting/WorkshopIn.html b/Pda/View/AsnSetting/WorkshopIn.html
index e69de29..3ce1a48 100644
--- a/Pda/View/AsnSetting/WorkshopIn.html
+++ b/Pda/View/AsnSetting/WorkshopIn.html
@@ -0,0 +1,571 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+ <meta name="viewport" content="user-scalable=0,width=device-width,initial-scale=1.0" />
+ <meta charset="UTF-8" />
+ <!-- <meta name="viewport" content="width=device-width, initial-scale=0.665, minimum-scale=0.5, maximum-scale=1, user-scalable=no" /> -->
+ <!-- <meta name="viewport" content="width=device-width, initial-scale=0.665" /> -->
+ <meta http-equiv="X-UA-Compatible" content="ie=edge" />
+ <title>Boxline PDA</title>
+
+ <link rel="stylesheet" href="/layui/css/layui.css" />
+ <link rel="stylesheet" href="/css/style.css" />
+ <script src="/js/adaptive.js"></script>
+ <link rel="stylesheet" href="/css/my.css" />
+ <style type="text/css">
+ td {
+ word-break: break-all;
+ word-wrap: break-word;
+ }
+
+ .layui-form-switch {
+ margin-top: 0;
+ }
+
+ /* 鏍囩鏍峰紡 */
+ .tableyang-this a {
+ margin: 10px 10px 0px 0px;
+ line-height: 30px;
+ width: 100px;
+ color: #999;
+ text-align: center;
+ float: left;
+ background: #f7f7f7;
+ user-select: none;
+ position: relative;
+ z-index: 1;
+ cursor: pointer;
+ border-radius: 5px;
+ border: 1px solid #ccc;
+ transition: all 0.3s ease;
+ }
+
+ .tableyang-this a.hover {
+ color: #5298ff;
+ background-color: #eff2ff;
+ border: 1px solid #5298ff;
+ }
+
+ /* 鍐呭灞呬腑 */
+ .tableyang-tab {
+ display: flex;
+ /* justify-content: center; */
+ /* align-items: center; */
+ flex-direction: column;
+ height: 90vh;
+ }
+
+ /* 蹇呯敤鏍峰紡 */
+ .tableyang-2,
+ .tableyang-3 {
+ display: none;
+ }
+
+ ul {
+ list-style-type: none;
+ padding: 0;
+ }
+
+ li {
+ cursor: pointer;
+ background-color: lightgray;
+ padding: 10px;
+ margin-bottom: 5px;
+ }
+ </style>
+ <link rel="stylesheet" href="/css/adapter.css" />
+ <script src="../../js/jquery.js"></script>
+ <script src="../../js/jquery-3.5.1.min.js"></script>
+</head>
+
+<body>
+ <div id="" class="main-content">
+
+ <div id="" class="layout-title">
+ <table border="" cellspacing="" cellpadding="">
+ <tr>
+ <td class="img-back"><a href="../index.html"><img src="/assets/back.jpg"></a></td>
+ <td class="title-text" lang>杞﹂棿鍏ュ簱</td>
+ <td class="title-menu-icon"><img id="menuImg" src="/assets/menu.jpg"></td>
+ </tr>
+ </table>
+ </div>
+
+ <div id="" class="layout-sub-content">
+ <div id="menuList" class="menu">
+ <ul class="" style="text-align: center;">
+ <li><a href="../index.html" lang>涓婚〉</a></li>
+ <!-- <li><a href="productEnterConfirm.html">鍏ュ簱淇℃伅纭</a></li> -->
+ <li><a href="../login.html" lang>閲嶆柊鐧诲綍</a></li>
+ </ul>
+ </div>
+
+ <button id="option1" class="layout-btn" type="button">鏍囩</button>
+ <button id="option2" class="layout-btn" type="button">鏁伴噺</button>
+ <br /><br />
+
+ <!-- 鏈夌爜 -->
+ <div id="content1">
+ <div id="zongDiv" class="layout-bill-info" style="height: 285px;">
+ <form class="layui-form" action="">
+
+ <div id="" class="layui-form-item layout-input">
+ <label class="layui-form-label" lang>鎵樼洏鏉$爜锛�</label>
+ <div class="layui-input-block">
+ <input id="PalletNo" type="text" lay-verify="stock" lang langholder
+ placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ <div id="BOX" class="layui-form-item layout-input">
+ <label class="layui-form-label" lang>澶栫鏉$爜锛�</label>
+ <div class="layui-input-block">
+ <input id="BoxCode" type="text" lay-verify="required" lang langholder
+ placeholder="璇锋壂鎻忓绠辨潯鐮�" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ <div id="" class="layui-form-item layout-input">
+ <label class="layui-form-label" lang>鏁伴噺锛�</label>
+ <div class="layui-input-block">
+ <input id="BoxNum" type="number" lay-verify="required" lang langholder
+ placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" class="layui-input"
+ oninput="value=value.replace(/^(0+)|[^\d]+/g,'')">
+ </div>
+ </div>
+ <div id="" class="layui-form-item layout-dropdownlist">
+ <label class="layui-form-label" lang>杞﹂棿锛�</label>
+ <div class="layui-input-block" id="selectAreaDiv">
+ <select id="area" lay-filter="getarea" lay-search>
+ <option value="B06">1002</option>
+ <option value="B09">1003涓�妤�</option>
+ <option value="B07">1003浜屾ゼ</option>
+ </select>
+ <img src="/assets/down_arraw.png">
+ </div>
+ </div>
+ <table class="layout-tbl-input" border="" cellspacing="" cellpadding="">
+ <tr>
+ <td>
+ <div id="" class="layui-form-item layout-boxinfo">
+ <label class="layui-form-label" lang>鎵规:</label>
+ <div class="layui-input-block">
+ <input id="LotNo" type="text" disabled placeholder="" autocomplete="off"
+ class="layui-input">
+ </div>
+ </div>
+ </td>
+ <td>
+ <div id="" class="layui-form-item layout-boxinfo">
+ <label class="layui-form-label" lang>鐗╂枡鍚嶇О锛�</label>
+ <div class="layui-input-block">
+ <input id="SkuName" type="text" disabled placeholder="" autocomplete="off"
+ class="layui-input">
+ </div>
+ </div>
+ </td>
+
+ </tr>
+ </table>
+
+ <table class="layout-tbl-submit" border="" cellspacing="" cellpadding="">
+ <tr>
+ <td style="width: 23%;"></td>
+ <td>
+ <button class="layout-btn layout-btn-red" lang type="button" lay-submit
+ lay-filter="formBind">缁戝畾鍒版墭鐩�</button>
+ </td>
+ <td style="width: 33%;"></td>
+
+ </tr>
+ </table>
+ </form>
+ </div>
+
+ </div>
+ <!-- 鏃犵爜 -->
+ <div id="content2">
+ <div id="zongDiv2" class="layout-bill-info" style="height: 255px;">
+ <form class="layui-form" id="form2" action="">
+ <div id="" class="layui-form-item layout-input">
+ <label class="layui-form-label" lang>鐗╂枡缂栫爜锛�</label>
+ <div class="layui-input-block">
+ <input id="SkuNo" type="text" lay-verify="stock" lang langholder
+ placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�" autocomplete="off" class="layui-input">
+ </div>
+ </div><div id="" class="layui-form-item layout-input">
+ <label class="layui-form-label" lang>鎵规鍙凤細</label>
+ <div class="layui-input-block">
+ <input id="LotNo2" type="text" lay-verify="stock" lang langholder
+ placeholder="璇疯緭鍏ユ壒娆�" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ <div id="" class="layui-form-item layout-input">
+ <label class="layui-form-label" lang>鎵樼洏鏉$爜锛�</label>
+ <div class="layui-input-block">
+ <input id="PalletNo2" type="text" lay-verify="stock" lang langholder
+ placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+
+ <div id="" class="layui-form-item layout-input">
+ <label class="layui-form-label" lang>鐗╂枡鏁伴噺锛�</label>
+ <div class="layui-input-block">
+ <input id="SkuQty2" type="number" lay-verify="stock" lang langholder
+ placeholder="璇疯緭鍏ョ墿鏂欐暟閲�" autocomplete="off" class="layui-input"
+ oninput="value=value.replace(/^(0+)|[^\d]+/g,'')">
+ </div>
+ </div>
+ <div id="" class="layui-form-item layout-dropdownlist">
+ <label class="layui-form-label" lang>杞﹂棿锛�</label>
+ <div class="layui-input-block" id="selectAreaDiv2">
+ <select id="area2" lay-filter="getarea2" lay-search>
+ <option value="B06">1002</option>
+ <option value="B09">1003涓�妤�</option>
+ <option value="B07">1003浜屾ゼ</option>
+ </select>
+ <img src="/assets/down_arraw.png">
+ </div>
+ </div>
+ <table class="layout-tbl-submit" border="" cellspacing="" cellpadding="">
+ <tr>
+ <td style="width: 23%;"></td>
+ <td>
+ <button class="layout-btn layout-btn-red" lang type="button" lay-submit
+ lay-filter="formBind">缁戝畾鍒版墭鐩�</button>
+ </td>
+ <td style="width: 33%;"></td>
+
+ </tr>
+ </table>
+
+ </form>
+ </div>
+
+ <br>
+ <br>
+ <div id="demodiv1">
+ <br><br><br><br><br><br><br>
+ </div>
+
+
+ <!-- <div id="" class="cut-line">
+ <img src="/assets/fengexian.png">
+ </div> -->
+
+ <!-- <div class="layout-tbl-paging" id="">
+ <table id="tableBoxList1" class="tbl-box-list" border="" cellspacing="" cellpadding="">
+ <tr>
+ <th lang style="width: 15%;">鐗╂枡缂栫爜</th>
+ <th lang style="width: 35%;">鐗╂枡鍚嶇О</th>
+ <th lang style="width: 25%;">鎵规</th>
+ <th lang style="width: 15%;">鐗╂枡鏁伴噺</th>
+ <th lang style="width: 10%;">鎿嶄綔</th>
+ </tr>
+ <tr id="boxCell" style="display: none;">
+ <td name="code">AG000001</td>
+ <td name="name">鐤嫍鍚嶇О鍚嶇О鍚嶇О</td>
+ <td name="lotNo">鎵规鍙�</td>
+ <td name="num">30</td>
+ <td name="del">
+ <div id="" class="tbl-btn-del" lang>
+ 鍒犻櫎
+ </div>
+ </td>
+ </tr>
+ </table>
+
+ <table id="tableBoxPages1" class="tbl-box-pages" border="" cellspacing="" cellpadding="">
+ <tr>
+ <td class="page-prev">涓婁竴椤�</td>
+ <td class="page-num page-num-select">1</td>
+ <td class="page-num">2</td>
+ <td class="page-num">3</td>
+ <td class="page-num">4</td>
+ <td class="page-num">5</td>
+ <td class="page-next">涓嬩竴椤�</td>
+ </tr>
+ </table>
+ </div> -->
+
+ </div>
+
+ </div>
+ </div>
+ <script src="/js/jquery-3.5.1.min.js"></script>
+ <script src="/layui/layui.js"></script>
+ <script src="/js/public.js"></script>
+ <script src="/js/language.js"></script>
+ <script src="/js/jquery.cookie.js"></script>
+ <script>
+ layui.use(['form', 'jquery'], function () {
+ var form = layui.form
+
+ /* 鏍囩鍒囨崲浠g爜 */
+ $('#demodiv').hide();
+ $('#demodiv1').hide();
+ var xianshiyemian = 0;
+
+ $('#option1').attr("style", "background-color: red;width: 50%;float: left;text-align: center;"); //閫変腑鍚庨鑹�
+ $('#option2').attr("style", "background-color: #999;width: 50%;float: right;text-align: center;"); //榛樿棰滆壊
+ $('#content2').hide();
+ $(document).ready(function () {
+ $('#option1').click(function () {
+ // qingkong();
+ xianshiyemian = 0;
+ $('#content1').show();
+ $('#option1').attr("style", "background-color: red;width: 50%;float: left;text-align: center;"); //閫変腑鍚庨鑹�
+
+ $('#content2').hide();
+ $('#option2').attr("style", "background-color: #999;width: 50%;float: right;text-align: center;"); //榛樿棰滆壊
+ });
+
+ $('#option2').click(function () {
+ // qingkong();
+ xianshiyemian = 1;
+ $('#content1').hide();
+ $('#option1').attr("style", "background-color: #999;width: 50%;float: left;text-align: center;"); //榛樿棰滆壊
+
+
+ $('#content2').show();
+ $('#option2').attr("style", "background-color: red;width: 50%;float: right;text-align: center;"); //閫変腑鍚庨鑹�
+
+ });
+ });
+
+ /*鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺��*/
+
+ initLanguage()
+ setLanguage()
+
+
+ //鏄惁杩炵画缁勬墭
+ isContinue = "0";
+
+
+ // 鎵樼洏鐮佹枃鏈敼鍙樻椂瑙﹀彂
+ $("#PalletNo").on('input', function () {
+
+ if ($("#PalletNo").val() == "" || $("#PalletNo").val().length < 8) {
+ return;
+ }
+ if ($("#PalletNo").val().length >= 8) {
+ $("#PalletNo").val($("#PalletNo").val().substr(-8))
+ }
+ checkPalletStat()
+ })
+ // 鎵樼洏鐮佹枃鏈敼鍙樻椂瑙﹀彂-鏁伴噺
+ $("#PalletNo1").on('input', function () {
+
+ if ($("#PalletNo1").val() == "" || $("#PalletNo1").val().length < 8) {
+ return;
+ }
+ if ($("#PalletNo1").val().length >= 8) {
+ $("#PalletNo1").val($("#PalletNo1").val().substr(-8))
+ }
+ checkPalletStat()
+ })
+
+ // 鍒ゆ柇鎵樼洏鐮佹槸鍚﹀彲鐢�
+ function checkPalletStat() {
+ if (xianshiyemian == 0) {
+ var param = {
+ "PalletNo": $("#PalletNo").val()
+ }
+ sendData(IP + "/PdaAsn/IsEnablePalletNo", param, 'post', function (res) {
+ if (res.code == 0) {
+ $("#BoxCode").focus();
+
+ } else {
+ layer.msg(res.msg, {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function () { });
+ }
+ });
+ }
+ else if (xianshiyemian == 1) {
+ var param = {
+ "PalletNo": $("#PalletNo1").val()
+ }
+ sendData(IP + "/PdaAsn/IsEnablePalletNo", param, 'post', function (res) {
+ if (res.code == 0) {
+
+ $("#SkuQty").focus();
+
+ } else {
+ layer.msg(res.msg, {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function () { });
+ }
+ });
+ }
+
+ }
+
+
+ //绠辩爜鍥炶溅浜嬩欢
+ $("#BoxCode").keydown(function (e) {
+ if (e.keyCode === 13) {
+ if ($("#BoxCode").val() == "") {
+ layer.msg('璇峰厛鎵弿绠辩爜', {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ });
+ return
+ }
+ checkBoxInfo()
+ }
+ });
+
+ //绠卞洖杞︿簨浠�
+ function checkBoxInfo() {
+ var param = {
+ "BoxNo": $("#BoxCode").val(),
+ }
+ sendData(IP + "/PdaAsn/GetWmsBoxInfos", param, 'post', function (res) {
+
+ if (res.code == 0) { //鎴愬姛
+ $("#BoxNum").val(res.data[0].Qty);
+ $("#SkuName").val(res.data[0].SkuName);
+ $("#LotNo").val(res.data[0].LotNo);
+
+ } else { //涓嶆垚鍔�
+ layer.msg(res.msg, {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ });
+
+ }
+ });
+
+ }
+
+ //缁戝畾鍒版墭鐩樹簨浠�
+ form.on('submit(formBind)', function (data) {
+ if (xianshiyemian == 0) {
+
+ if ($("#PalletNo").val() == "") {
+ layer.msg('璇锋壂鎻忔墭鐩樻潯鐮�', {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ });
+ return;
+ }
+ if ($("#BoxCode").val() == "") {
+ layer.msg('璇锋壂鎻忓绠辨潯鐮�', {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ });
+ return;
+ }
+ var param = {
+ PalletNo: $("#PalletNo").val(),
+ BoxNo: $("#BoxCode").val(),
+ SkuQty: parseFloat($("#BoxNum").val()), //鐗╂枡鏁伴噺
+ AreaNo:$("#area").val(),
+ TableType: xianshiyemian,
+ }
+ console.log(param)
+ //缁勭洏
+ sendData(IP + "/PdaAsn/ChejianIn", param, 'post', function (res) {
+ if (res.code == 0) { //鎴愬姛
+ layer.msg(res.msg, {
+ icon: 1,
+ time: 1000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function () {
+ $("#BoxCode").val("");
+ $("#BoxNum").val("");
+ $("#SkuName").val("");
+ $("#LotNo").val("");
+
+ });
+ } else { //涓嶆垚鍔�
+ layer.msg(res.msg, {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function () {
+ //鍥炶皟
+ });
+ }
+ });
+ }
+ else if (xianshiyemian == 1) {
+ if ($("#bar1").val() == "") {
+ layer.msg('璇烽�夋嫨鍏ュ簱鍗�', {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ });
+ return;
+ }
+ if ($("#SkuNo").val() == "") {
+ layer.msg('璇疯緭鍏ョ墿鏂�', {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ });
+ return;
+ }
+ if ($("#PalletNo2").val() == "") {
+ layer.msg('璇锋壂鎻忔墭鐩樻潯鐮�', {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ });
+ return;
+ }
+ var param = {
+ PalletNo: $("#PalletNo2").val(),
+ SkuNo: $("#SkuNo").val(),
+ LotNo: $("#LotNo2").val(),
+ SkuQty: parseFloat($("#SkuQty2").val()), //鐗╂枡鏁伴噺
+ AreaNo:$("#area").val(),
+ TableType: xianshiyemian,
+ }
+ console.log(param)
+ //缁勭洏
+ sendData(IP + "/PdaAsn/ChejianIn", param, 'post', function (res) {
+ if (res.code == 0) { //鎴愬姛
+ layer.msg(res.msg, {
+ icon: 1,
+ time: 1000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function () {
+ $("#PalletNo2").val("");
+ $("#SkuNo").val("");
+ $("#SkuQty2").val("");
+ $("#LotNo2").val("");
+
+ });
+ } else { //涓嶆垚鍔�
+ layer.msg(res.msg, {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function () {
+ //鍥炶皟
+ });
+ }
+ });
+ }
+
+ return false; //闃绘琛ㄥ崟璺宠浆銆傚鏋滈渶瑕佽〃鍗曡烦杞紝鍘绘帀杩欐鍗冲彲銆�
+ });
+
+
+
+ /*鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺��*/
+
+ $("#menuImg").click(function (e) {
+ e.stopPropagation()
+
+ if ($("#menuList").is(":hidden")) {
+ $("#menuList").show()
+ } else {
+ $("#menuList").hide()
+ }
+ })
+ $('body').click(function () {
+ $("#menuList").hide()
+ })
+ })
+ </script>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/Pda/View/SoSetting/ExNoticeOut.html b/Pda/View/SoSetting/ExNoticeOut.html
index 0643eae..26b6c46 100644
--- a/Pda/View/SoSetting/ExNoticeOut.html
+++ b/Pda/View/SoSetting/ExNoticeOut.html
@@ -147,13 +147,22 @@
//閫変腑鍗曟嵁浜嬩欢
form.on('select(getbar)', function (data) {
-
+ $("#PalletNo").empty()
+ $("#PalletNo").append('<option value =>' + '</option>');
+ form.render('select');
if (data.value == "") {
return;
}
updateGoodList();
+
});
-
+ //閫変腑鍗曟嵁鏄庣粏浜嬩欢
+ form.on('select(goodSelect)', function (data) {
+
+ $("#PalletNo").empty()
+ $("#PalletNo").append('<option value =>' + '</option>');
+ form.render('select');
+ });
$("#selectDiv").click(function () {
var input = $('select[id="bar"]').next().find('.layui-select-title input')
var val = input.val()
@@ -163,6 +172,17 @@
$('select[id="bar"]').next().find('.layui-select-title input').val(val)
})
})
+
+ $("#selectPalletNo").click(function () {
+ var input = $('select[id="PalletNo"]').next().find('.layui-select-title input')
+ var val = input.val()
+ //鍏堟洿鏂颁竴涓嬪嚭搴撳崟
+ updatePalletNoList(function (data) {
+ $('select[id="PalletNo"]').next().addClass('layui-form-selected')
+ $('select[id="PalletNo"]').next().find('.layui-select-title input').val(val)
+ })
+ })
+
//鍒濆鍖栨覆鏌� 鍑哄簱鍗�
function updateBillList(callback) {
var input = $('select[id="bar"]').next().find('.layui-select-title input')
@@ -271,9 +291,10 @@
form.render('select');
var param = {
- soNo:$("#bar").val()
+ SoNo:$("#bar").val(),
+ SoDetailId:$("#goodSelect").val(),
};
- sendData(IP + "/PdaCr/GetPalletNoListBySoNo", param, 'get', function (res) {
+ sendData(IP + "/PdaSo/GetPalletListBySo", param, 'post', function (res) {
if (res.code == 0) { //鎴愬姛
for (var i = 0; i < res.data.length; i++) {
$("#PalletNo").append('<option value =' + res.data[i] + '>' + res.data[i]+
diff --git a/Wms/Model/ModelVm/PdaVm/PdaAsnVm.cs b/Wms/Model/ModelVm/PdaVm/PdaAsnVm.cs
index 38ea760..871e349 100644
--- a/Wms/Model/ModelVm/PdaVm/PdaAsnVm.cs
+++ b/Wms/Model/ModelVm/PdaVm/PdaAsnVm.cs
@@ -24,7 +24,8 @@
/// Desc:澶栫鏉$爜
/// </summary>
public string BoxNo { get; set; }
-
+ public string SkuNo { get; set; }
+
/// <summary>
/// Desc:鏄惁杩炵画缁勬墭
/// </summary>
@@ -100,6 +101,11 @@
/// </summary>
public string BoxLevel { get; set; }
-
+ /// <summary>
+ /// 杞﹂棿鍖哄煙 1002 1003涓�妤� 1003浜屾ゼ
+ /// </summary>
+ public string AreaNo { get; set; }
+
+
}
}
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
index ad302b4..d69c86e 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -2409,6 +2409,458 @@
}
}
+ /// <summary>
+ /// 鏍规嵁绠辩爜鑾峰彇鏍囩绠辩爜淇℃伅锛堣溅闂村叆搴�-鑾峰彇WMS鐢熸垚鐨勭淇℃伅锛�
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ public List<BoxInfoDto> GetWmsBoxInfos(string boxNo)
+ {
+ try
+ {
+ if (string.IsNullOrEmpty(boxNo))
+ {
+ throw new Exception("璇锋壂鎻忓绠辨潯鐮�!");
+ }
+
+ string sqlString = $@"SELECT BoxNo, SkuNo, SkuName, LotNo, BitBoxMark, SUM(Qty) as Qty FROM BllBoxInfo
+ WHERE IsDel = '0' and Status='0' and BoxNo = '{boxNo}'
+ GROUP BY BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; ";
+ var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString);
+
+ if (models.Count != 0)
+ {
+ return models;
+ }
+ else
+ {
+ throw new Exception("娌℃湁鏌ヨ鍒扮鐮佷俊鎭�");
+ }
+
+ }
+ catch (Exception ex)
+ {
+ throw ex;
+ }
+ }
+
+
+ public void ChejianIn(string palletNo,string boxNo,decimal qty,string areaNo,int userId)
+ {
+ try
+ {
+ #region MyRegion
+
+ if (string.IsNullOrWhiteSpace(palletNo))
+ {
+ throw new Exception("鎵樼洏鍙蜂笉鑳戒负绌�");
+ }
+ if (string.IsNullOrWhiteSpace(boxNo))
+ {
+ throw new Exception("绠卞彿涓嶈兘涓虹┖");
+ }
+ if (qty<=0)
+ {
+ throw new Exception("鏁伴噺涓嶈兘灏忕瓑0");
+ }
+ var boxInfo = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == boxNo).ToList();
+ if (boxInfo.Count == 0)
+ {
+ throw new Exception("鏈煡璇㈠埌褰撳墠绠卞彿淇℃伅");
+ }
+ var boxInfoOne = boxInfo.First();
+ var pall = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNo);
+ if (pall == null)
+ {
+ throw new Exception("鏈煡璇㈠埌褰撳墠鎵樼洏淇℃伅");
+ }
+ #endregion
+
+ //寮�鍚簨鍔�
+ Db.BeginTran();
+ //褰撳墠鏃堕棿
+ var comTime = DateTime.Now;
+
+ #region 鍖呰
+
+ var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == boxInfoOne.SkuNo);
+ var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == sku.PackagNo);
+
+ var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺
+ var bNum = 0;//绠辩爜鐗╁搧鏁伴噺
+
+ //鍏叡鏂规硶鑾峰彇鍖呰鏁伴噺
+ new Common().GetPackQtyInfo(pack.PackagNo, ref pNum, ref bNum);
+
+ #endregion
+
+ var msgStr = $"绠卞彿涓簕boxNo}";
+ var boxInfoList = new List<BllBoxInfo>();
+
+
+ boxInfoList.AddRange(boxInfo);
+
+ #region 搴撳瓨鏄庣粏
+
+ var area = Db.Queryable<SysStorageArea>().First(m => m.IsDel == "0" && m.AreaNo == areaNo);
+ if (area == null)
+ {
+ throw new Exception("鍏ュ簱鍖哄煙涓嶈兘涓虹┖");
+ }
+
+ var tags = "0";
+
+ // 鍒ゆ柇搴撳瓨鏄庣粏鏄惁宸叉湁姝ゆ墭鐩樹俊鎭�
+ var sd1 = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.SkuNo== boxInfoOne.SkuNo && m.LotNo == boxInfoOne.LotNo && m.PalletNo == palletNo);
+ var sdId1 = 0;
+ if (sd1 != null)
+ {
+ if (sd1.AreaNo!= areaNo)
+ {
+ throw new Exception("閫夋嫨鐨勫尯鍩熶笌搴撳瓨涓嶅悓");
+ }
+ sdId1 = sd1.Id;
+ // 搴撳瓨宸插瓨鍦� 鏇存柊鏁版嵁
+ sd1.Qty += qty;
+ sd1.CompleteTime = comTime;
+ sd1.UpdateUser = userId;
+ sd1.UpdateTime = comTime;
+
+ Db.Updateable(sd1).ExecuteCommand();
+ }
+ else
+ {
+ // 搴撳瓨涓嶅瓨鍦� 鎻掑叆鏁版嵁
+ sd1 = new DataStockDetail()
+ {
+ LotNo = boxInfoOne.LotNo,
+ LotText = boxInfoOne.LotText,
+ SupplierLot = boxInfoOne.SupplierLot,
+ SkuNo = sku.SkuNo,
+ SkuName = sku.SkuName,
+ Standard = sku.Standard,
+ Qty = qty,
+ LockQty = 0,
+ FrozenQty = 0,
+ InspectQty = 0,
+ WareHouseNo = area.WareHouseNo,//鎵�灞炰粨搴�
+ RoadwayNo = "",//鎵�灞炲贩閬�
+ AreaNo = area.AreaNo,//鎵�灞炲尯鍩�
+ LocatNo = "",//鍌ㄤ綅鍦板潃
+ PalletNo = palletNo,
+ PalletTags = tags,
+ CompleteTime = comTime,
+ ProductionTime = boxInfoOne.ProductionTime,
+ ExpirationTime = boxInfoOne.ExpirationTime,
+ Status = "0",
+ InspectMark = boxInfoOne.InspectMark,
+ InspectStatus = sku.IsInspect,
+ BitPalletMark = "1",
+ PackagNo = sku.PackagNo,
+
+ IsDel = "0",
+ CreateUser = 0,
+ CreateTime = comTime
+ };
+
+ //娣诲姞搴撳瓨鏄庣粏
+ sdId1 = Db.Insertable(sd1).ExecuteReturnIdentity();
+ }
+ #endregion
+
+ // 鏇存敼绠辨敮鍏崇郴琛�
+ decimal factQty = 0.00m;//鎵樼洏鎬绘暟閲�
+
+
+ //鏍囩缁勬墭
+ var boxGroup = boxInfo.GroupBy(m => m.BoxNo).ToList();
+ foreach (var g in boxGroup)
+ {
+ decimal boxFullQty = 0;//绠卞唴鎬绘暟閲�
+ foreach (var box in g)
+ {
+ if (box.BindNo != null && box.BindNo != 0)
+ {
+ continue;
+ }
+
+
+ box.PalletNo = palletNo;
+ box.Status = "2";
+
+ box.CompleteTime = comTime;
+ box.UpdateTime = comTime;
+ box.UpdateUser = userId;
+
+ //box.Qty = box.Qty;
+ //box.BitBoxMark = box.Qty == box.FullQty ? "0" : "1";
+
+ factQty += box.Qty;
+ boxFullQty += box.Qty;
+
+ #region 搴撳瓨绠辩爜鏄庣粏
+ var box2 = new DataBoxInfo()
+ {
+ StockDetailId = sdId1,
+ BoxNo = box.BoxNo,
+ BoxNo2 = box.BoxNo2,
+ BoxNo3 = box.BoxNo3,
+ PalletNo = box.PalletNo,
+ PalletNo2 = box.PalletNo2,
+ PalletNo3 = box.PalletNo3,
+ Qty = box.Qty,
+ FullQty = box.FullQty,
+ Status = "2",//0锛氭湭缁勬墭 1锛氬凡缁勬墭 2锛氬凡鍏ュ簱 3锛氬凡鍑哄簱 4:宸插垎閰� 5锛氬凡鎷h揣
+ LotNo = box.LotNo,
+ LotText = box.LotText,
+ SkuNo = box.SkuNo,
+ SkuName = box.SkuName,
+ Standard = sku.Standard,
+ ProductionTime = box.ProductionTime,
+ SupplierLot = box.SupplierLot,
+ InspectStatus = sku.IsInspect,
+ InspectMark = box.InspectMark,
+ BitBoxMark = box.BitBoxMark,
+ ExpirationTime = box.ExpirationTime,
+
+ CreateUser = 0,
+ CreateTime = comTime
+ };
+ //娣诲姞搴撳瓨绠辩爜鏄庣粏
+ Db.Insertable(box2).ExecuteCommand();
+ #endregion
+ }
+ if (boxFullQty > bNum)
+ {
+ throw new Exception($"缁戝畾澶辫触锛寋g.Key}绠辩爜缁戝畾鏁伴噺澶т簬璇ョ墿鍝佸寘瑁呮暟閲忥紒");
+ }
+ }
+ //鏇存敼绠辨敮鍏崇郴琛ㄤ俊鎭�
+ Db.Updateable(boxInfoList).ExecuteCommand();
+
+
+ #region 搴撳瓨
+ var dataStock = Db.Queryable<DataStock>().First(m => m.IsDel == "0" && m.SkuNo == sku.SkuNo && m.LotNo == boxInfoOne.LotNo);
+ if (dataStock != null)
+ {
+ dataStock.Qty += factQty;
+ Db.Updateable(dataStock).ExecuteCommand();
+ }
+ else
+ {
+ var stock = new DataStock()
+ {
+ SkuNo = sku.SkuNo,
+ SkuName = sku.SkuName,
+ Standard = sku.Standard,
+ LotNo = boxInfoOne.LotNo,
+ LotText = boxInfoOne.LotText,
+ Qty = qty,
+ LockQty = 0,
+ FrozenQty = 0,
+ IsSampling = "0",
+ IsDel = "0",
+ CreateUser = userId,
+ CreateTime = comTime
+ };
+ Db.Insertable(stock).ExecuteCommand();
+ }
+ #endregion
+
+ // 鏇存敼鎵樼洏浣跨敤鐘舵��
+ var sqlStr = $"update SysPallets set Status = '1' where PalletNo = '{palletNo}';";
+ ////娣诲姞鎵樼洏璁板綍琛ㄦ暟鎹�
+ //sqlStr += $"insert into LogPalletTrack values('{palletNo}','{boxNo}','缁勭洏','0',getDate(),{userId},NULL,NULL);";
+ //Db.Ado.ExecuteCommand(sqlStr);
+ new OperationASNServer().AddLogOperationAsn("PDA妯″潡", "杞﹂棿鍏ュ簱", boxNo, "娣诲姞", $"娣诲姞浜嗘墭鐩樼爜涓猴細{palletNo}銆亄msgStr}鐨勫叆搴撲俊鎭�", userId);
+
+ //鎻愪氦浜嬪姟
+ Db.CommitTran();
+
+ }
+ catch (Exception e)
+ {
+ Db.RollbackTran();
+ throw new Exception(e.Message);
+ }
+ }
+
+ /// <summary>
+ /// 杞﹂棿缁戝畾鎵樼洏 涓嶈创鏍囩墿鏂�
+ /// </summary>
+ /// <param name="model"></param>
+ /// <param name="userId"></param>
+ /// <exception cref="Exception"></exception>
+ public void ChejianQtyIn(string palletNo, string skuNo, string lotNo, decimal qty, string areaNo, int userId)
+ {
+ try
+ {
+ #region MyRegion
+
+ if (string.IsNullOrWhiteSpace(palletNo))
+ {
+ throw new Exception("鎵樼洏鍙蜂笉鑳戒负绌�");
+ }
+ if (string.IsNullOrWhiteSpace(skuNo))
+ {
+ throw new Exception("鐗╂枡涓嶈兘涓虹┖");
+ }
+ if (qty <= 0)
+ {
+ throw new Exception("鏁伴噺涓嶈兘灏忕瓑0");
+ }
+ var skuInfo = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == skuNo);
+ if (skuInfo == null)
+ {
+ throw new Exception("鏈煡璇㈠埌鐗╂枡淇℃伅");
+ }
+ var pall = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNo);
+ if (pall == null)
+ {
+ throw new Exception("鏈煡璇㈠埌褰撳墠鎵樼洏淇℃伅");
+ }
+ #endregion
+
+ //寮�鍚簨鍔�
+ Db.BeginTran();
+ //褰撳墠鏃堕棿
+ var comTime = DateTime.Now;
+
+ #region 鍖呰
+
+ var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == skuInfo.PackagNo);
+
+ var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺
+ var bNum = 0;//绠辩爜鐗╁搧鏁伴噺
+
+ //鍏叡鏂规硶鑾峰彇鍖呰鏁伴噺
+ new Common().GetPackQtyInfo(pack.PackagNo, ref pNum, ref bNum);
+
+ #endregion
+
+
+
+ #region 搴撳瓨鏄庣粏
+
+ var area = Db.Queryable<SysStorageArea>().First(m => m.IsDel == "0" && m.AreaNo == areaNo);
+ if (area == null)
+ {
+ throw new Exception("鍏ュ簱鍖哄煙涓嶈兘涓虹┖");
+ }
+
+ var tags = "0";
+
+ // 鍒ゆ柇搴撳瓨鏄庣粏鏄惁宸叉湁姝ゆ墭鐩樹俊鎭�
+ var sd1 = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.SkuNo == skuNo && m.LotNo == lotNo && m.PalletNo == palletNo);
+ var sdId1 = 0;
+ if (sd1 != null)
+ {
+ if (sd1.AreaNo != areaNo)
+ {
+ throw new Exception("閫夋嫨鐨勫尯鍩熶笌搴撳瓨涓嶅悓");
+ }
+ sdId1 = sd1.Id;
+ // 搴撳瓨宸插瓨鍦� 鏇存柊鏁版嵁
+ sd1.Qty += qty;
+ sd1.CompleteTime = comTime;
+ sd1.UpdateUser = userId;
+ sd1.UpdateTime = comTime;
+ if (sd1.Qty >= pNum)
+ {
+ sd1.BitPalletMark = "0";
+ }
+ Db.Updateable(sd1).ExecuteCommand();
+ }
+ else
+ {
+ // 搴撳瓨涓嶅瓨鍦� 鎻掑叆鏁版嵁
+ sd1 = new DataStockDetail()
+ {
+ LotNo = lotNo,
+ SupplierLot = "",
+ SkuNo = skuInfo.SkuNo,
+ SkuName = skuInfo.SkuName,
+ Standard = skuInfo.Standard,
+ Qty = qty,
+ LockQty = 0,
+ FrozenQty = 0,
+ InspectQty = 0,
+ WareHouseNo = area.WareHouseNo,//鎵�灞炰粨搴�
+ RoadwayNo = "",//鎵�灞炲贩閬�
+ AreaNo = area.AreaNo,//鎵�灞炲尯鍩�
+ LocatNo = "",//鍌ㄤ綅鍦板潃
+ PalletNo = palletNo,
+ PalletTags = tags,
+ CompleteTime = comTime,
+ //ProductionTime = boxInfoOne.ProductionTime,
+ //ExpirationTime = boxInfoOne.ExpirationTime,
+ Status = "0",
+ InspectMark = "0",
+ InspectStatus = "1",
+ BitPalletMark = qty >= pNum ?"0" :"1",
+ PackagNo = skuInfo.PackagNo,
+
+ IsDel = "0",
+ CreateUser = 0,
+ CreateTime = comTime
+ };
+
+ //娣诲姞搴撳瓨鏄庣粏
+ sdId1 = Db.Insertable(sd1).ExecuteReturnIdentity();
+ }
+ #endregion
+
+ // 鏇存敼绠辨敮鍏崇郴琛�
+ decimal factQty = 0.00m;//鎵樼洏鎬绘暟閲�
+
+
+ #region 搴撳瓨
+ var dataStock = Db.Queryable<DataStock>().First(m => m.IsDel == "0" && m.SkuNo == skuInfo.SkuNo && m.LotNo == lotNo);
+ if (dataStock != null)
+ {
+ dataStock.Qty += factQty;
+ Db.Updateable(dataStock).ExecuteCommand();
+ }
+ else
+ {
+ var stock = new DataStock()
+ {
+ SkuNo = skuInfo.SkuNo,
+ SkuName = skuInfo.SkuName,
+ Standard = skuInfo.Standard,
+ LotNo = lotNo,
+ LotText = "",
+ Qty = qty,
+ LockQty = 0,
+ FrozenQty = 0,
+ IsSampling = "0",
+ IsDel = "0",
+ CreateUser = userId,
+ CreateTime = comTime
+ };
+ Db.Insertable(stock).ExecuteCommand();
+ }
+ #endregion
+
+ // 鏇存敼鎵樼洏浣跨敤鐘舵��
+ var sqlStr = $"update SysPallets set Status = '1' where PalletNo = '{palletNo}';";
+ ////娣诲姞鎵樼洏璁板綍琛ㄦ暟鎹�
+ //sqlStr += $"insert into LogPalletTrack values('{palletNo}','{boxNo}','缁勭洏','0',getDate(),{userId},NULL,NULL);";
+ Db.Ado.ExecuteCommand(sqlStr);
+ new OperationASNServer().AddLogOperationAsn("PDA妯″潡", "杞﹂棿鍏ュ簱", skuNo, "娣诲姞", $"娣诲姞浜嗘墭鐩樼爜涓猴細{palletNo}鐨勫叆搴撲俊鎭�", userId);
+
+ //鎻愪氦浜嬪姟
+ Db.CommitTran();
+
+ }
+ catch (Exception e)
+ {
+ Db.RollbackTran();
+ throw new Exception(e.Message);
+ }
+
+ }
+
#endregion
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index 6c14235..8cc4019 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -124,7 +124,7 @@
if (pinStockDetail != null)
{
- if (palletNo != palletNoNew)//闈炴暣鎵樻嫞璐�
+ if (palletNo != palletNoNew)//闈炴暣鎵樻嫞璐�
{
var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Id!= pinStockDetail.Id).ToList();
if (pinStockDetails.Count(m=>m.SONo != notice.SONo) > 0)
@@ -142,15 +142,19 @@
var newPalletInfo = await Db.Queryable<SysPallets>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Status == "0");
if (newPalletInfo == null)
{
- var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Id != pinStockDetail.Id).ToList();
+ var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew &&(m.SkuNo != stockDetail.SkuNo || m.LotNo != stockDetail.LotNo)).ToList();
if (pinStockDetails.Count(m => m.SONo != notice.SONo) > 0)
{
throw Oops.Bah("鏂版墭鐩樹俊鎭笉瀛樺湪鎴栧凡琚娇鐢紒");
- }
+ }
}
- //淇敼鏂版墭鐩樼姸鎬�
- newPalletInfo.Status = "1";
- await Db.Updateable(newPalletInfo).ExecuteCommandAsync();
+ else
+ {
+ //淇敼鏂版墭鐩樼姸鎬�
+ newPalletInfo.Status = "1";
+ await Db.Updateable(newPalletInfo).ExecuteCommandAsync();
+ }
+
}
var sd = new DataStockDetail();
@@ -458,9 +462,10 @@
if (isNew)
{
- sd.Qty = pickQty;
- sd.LockQty = pickQty;
- await Db.Updateable(sd).ExecuteCommandAsync();
+ var sdnew = Db.Queryable<DataStockDetail>().First(m => m.Id == sdId);
+ sdnew.Qty = pickQty;
+ sdnew.LockQty = pickQty;
+ await Db.Updateable(sdnew).ExecuteCommandAsync();
}
else
{
@@ -588,15 +593,18 @@
var newPalletInfo = await Db.Queryable<SysPallets>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Status == "0");
if (newPalletInfo == null)
{
- var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Id != pinStockDetail.Id).ToList();
+ var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew && (m.SkuNo != stockDetail.SkuNo && m.LotNo != stockDetail.LotNo)).ToList();
if (pinStockDetails.Count(m => m.SONo != notice.SONo) > 0)
{
throw Oops.Bah("鏂版墭鐩樹俊鎭笉瀛樺湪鎴栧凡琚娇鐢紒");
}
}
- //淇敼鏂版墭鐩樼姸鎬�
- newPalletInfo.Status = "1";
- await Db.Updateable(newPalletInfo).ExecuteCommandAsync();
+ else
+ {
+ //淇敼鏂版墭鐩樼姸鎬�
+ newPalletInfo.Status = "1";
+ await Db.Updateable(newPalletInfo).ExecuteCommandAsync();
+ }
}
if (isNew)
@@ -1522,6 +1530,27 @@
return allotList2;
}
+
+ //鑾峰彇鎵樼洏涓惈鏈夌殑鎵ц涓殑鍗曟嵁
+ public async Task<List<string>> GetPalletListBySo(string soNo, string soDetailId)
+ {
+ if (string.IsNullOrWhiteSpace(soNo))//鍒ゆ柇鎵樼洏鏄惁涓虹┖
+ {
+ throw Oops.Bah("鍑哄簱鍗曚负绌猴紝璇烽�夋嫨鍑哄簱鍗�");
+ }
+ if (string.IsNullOrWhiteSpace(soDetailId))
+ {
+ throw Oops.Bah("鍑哄簱鏄庣粏涓虹┖锛岃閫夋嫨鐗╂枡-鎵规");
+ }
+
+ var allotList = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.Status == "0" && m.SONo == soNo && m.SODetailNo == int.Parse(soDetailId)).Select(m => m.PalletNo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToListAsync();
+ return allotList;
+
+
+ }
+
+
+
//鑾峰彇鎵樼洏涓惈鏈夌殑鎵ц涓殑鍗曟嵁
public async Task<List<string>> GetRunNoticeList(string type)
{
diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
index 4ef8b56..0322da7 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -1014,7 +1014,7 @@
skuList = skuList.Where(m => m.SkuNo == "100088").ToList();
}
skuStrList = skuList.Select(m => m.SkuNo).ToList();
- var areaStr = new List<string>() { "B02", "B05", "B08" };
+ var areaStr = new List<string>() { "B06", "B07", "B09" };
var stockRst = new StockServer();
var stockDetailRst = new StockDetailServer();
Expression<Func<DataStockDetail, bool>> item = Expressionable.Create<DataStockDetail>()
diff --git a/Wms/WMS.BLL/HttpServer.cs b/Wms/WMS.BLL/HttpServer.cs
index 81d4d68..e426f1e 100644
--- a/Wms/WMS.BLL/HttpServer.cs
+++ b/Wms/WMS.BLL/HttpServer.cs
@@ -1378,7 +1378,7 @@
throw new Exception("閫夋嫨鐨勫嚭搴撳崟鏄庣粏鍙傛暟閿欒");
}
//鎵�鏈夎鍑哄簱鐨勫嚭搴撳垎閰嶄俊鎭�(鏈笅鍙戠殑淇℃伅鍜屽緟鎷h揣鐨勪俊鎭�)
- var item = Db.Queryable<BllExportAllot>().First(a => a.IsDel == "0" && a.SONo == soNo && a.SODetailNo == intDetailId && a.Status == "0" );
+ var item = Db.Queryable<BllExportAllot>().First(a => a.IsDel == "0" && a.SONo == soNo && a.SODetailNo == intDetailId && a.PalletNo == palletNo && a.Status == "0" );
if (item == null) //鍒ゆ柇鏄惁鏈夐渶瑕佷笅鍙戠殑鍑哄簱娴佹按
{
throw new Exception("褰撳墠鍑哄簱鍗曟嵁鏃犻渶瑕佷笅鍙戠殑鎵樼洏");
@@ -1418,8 +1418,7 @@
var imBl = com.GetImTask(item.PalletNo);
if (imBl != null)
{
- str = "瑕佸嚭搴撶殑鎵樼洏姝e湪鍏ュ簱";
- return outDto1;
+ throw new Exception("瑕佸嚭搴撶殑鎵樼洏姝e湪鍏ュ簱");
}
//鍒ゆ柇鏄惁鏄凡缁忓嚭杩囧簱鍙堝洖搴�
if (item.Status == "0")
@@ -1445,40 +1444,34 @@
Db.Updateable(notice).ExecuteCommand();
}
}
- str = "瑕佸嚭搴撶殑鎵樼洏宸插湪搴撳";
+ Db.CommitTran();
+ str = "鎵樼洏宸插湪搴撳";
return outDto1;
}
- str = "瑕佸嚭搴撶殑鎵樼洏姝e湪鍏ュ簱";
- return outDto1;
}
var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == locateNo && m.IsDel == "0");//褰撳墠鍑哄簱鐨勫偍浣嶄俊鎭�
if (locate == null)
{
- str = "鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)";
- return outDto1;
+ throw new Exception("鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)");
}
//鍒ゆ柇鍌ㄤ綅鏍囧織鏄惁涓烘崯鍧�
if (locate.Flag == "2")
{
- str = "鍌ㄤ綅鎹熷潖涓嶈兘鍑哄簱";
- return outDto1;
+ throw new Exception("鍌ㄤ綅鎹熷潖涓嶈兘鍑哄簱");
}
if (locate.WareHouseNo != "W02")
{
- str = "鎵樼洏涓嶅湪璐ф灦搴撲笂";
- return outDto1;
+ throw new Exception("鎵樼洏涓嶅湪璐ф灦搴撲笂");
}
var locateEnd = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == outModeLocate && m.IsDel == "0");//褰撳墠鍑哄簱鐨勭洰鏍囧偍浣嶄俊鎭�
if (locateEnd == null)
{
- str = "鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)";
- return outDto1;
+ throw new Exception("鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)");
}
else if (locateEnd.Status != "0")
{
- str = "鐩爣鍌ㄤ綅鐘舵�佷笉鏄┖鍌ㄤ綅";
- return outDto1;
+ throw new Exception("鐩爣鍌ㄤ綅鐘舵�佷笉鏄┖鍌ㄤ綅");
}
#endregion
@@ -1606,8 +1599,7 @@
}
else if (locate.Status == "5") //绉诲嚭涓�
{
- str = "褰撳墠瑕佸嚭搴撶殑鍌ㄤ綅姝e湪绉诲嚭";
- return outDto1;
+ throw new Exception("褰撳墠瑕佸嚭搴撶殑鍌ㄤ綅姝e湪绉诲嚭");
}
diff --git a/Wms/WMS.Entity/BllAsnEntity/BllPalletBind.cs b/Wms/WMS.Entity/BllAsnEntity/BllPalletBind.cs
index 14fbde5..6106319 100644
--- a/Wms/WMS.Entity/BllAsnEntity/BllPalletBind.cs
+++ b/Wms/WMS.Entity/BllAsnEntity/BllPalletBind.cs
@@ -87,7 +87,7 @@
public decimal? FullQty {get;set;}
/// <summary>
- /// Desc:鐘舵��
+ /// Desc:鐘舵�� 2鍏ュ簱瀹屾垚 3涓婃灦瀹屾垚
/// Default:
/// Nullable:True
/// </summary>
diff --git a/Wms/WMS.IBLL/IPdaServer/IPdaAsnServer.cs b/Wms/WMS.IBLL/IPdaServer/IPdaAsnServer.cs
index 4d1624b..a68f398 100644
--- a/Wms/WMS.IBLL/IPdaServer/IPdaAsnServer.cs
+++ b/Wms/WMS.IBLL/IPdaServer/IPdaAsnServer.cs
@@ -29,6 +29,12 @@
/// <param name="userId"></param>
void SaveAppointLocate(string palletNo, string locateNo, int userId);
+ List<BoxInfoDto> GetWmsBoxInfos(string boxNo);
+
+ void ChejianIn(string palletNo, string boxNo, decimal qty,string areaNo, int userId);
+
+ void ChejianQtyIn(string palletNo, string skuNo, string lotNo, decimal qty, string areaNo, int userId);
+
#endregion
diff --git a/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs b/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
index 826ff84..d2260d4 100644
--- a/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
+++ b/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
@@ -62,6 +62,14 @@
Task<List<string>> GetRunNoticeList(string type);
/// <summary>
+ /// 鑾峰彇鍑哄簱鍗曟湭涓嬪彂鍑哄簱鐨勬墭鐩�
+ /// </summary>
+ /// <param name="soNo"></param>
+ /// <param name="soDetailId"></param>
+ /// <returns></returns>
+ Task<List<string>> GetPalletListBySo(string soNo, string soDetailId);
+
+ /// <summary>
/// 鑾峰彇鍑哄簱鎵樼洏涓婄殑鐗╂枡鎵规(鏍规嵁鎵樼洏鐮�)
/// </summary>
/// <param name="palletNo">鎵樼洏鐮�</param>
diff --git a/Wms/Wms/Controllers/PdaAsnController.cs b/Wms/Wms/Controllers/PdaAsnController.cs
index 3987256..fb8efd8 100644
--- a/Wms/Wms/Controllers/PdaAsnController.cs
+++ b/Wms/Wms/Controllers/PdaAsnController.cs
@@ -193,6 +193,26 @@
}
/// <summary>
+ /// 鏍规嵁绠辩爜鑾峰彇鏍囩绠辩爜淇℃伅锛堣溅闂村叆搴�-鑾峰彇WMS鐢熸垚鐨勭淇℃伅锛�
+ /// </summary>
+ /// <param name="boxNo">BoxNo:绠卞彿</param>
+ /// <returns></returns>
+ [HttpPost]
+ public IActionResult GetWmsBoxInfos(string boxNo)
+ {
+ try
+ {
+ var models = _PdaAsnSvc.GetWmsBoxInfos(boxNo);
+
+ return Ok(new { code = 0, msg = "鏍囩绠辩爜淇℃伅", data = models });
+ }
+ catch (Exception e)
+ {
+ return Ok(new { code = 1, msg = e.Message });
+ }
+ }
+
+ /// <summary>
/// 鍒ゆ柇鎵樼洏鏄惁鍙敤 鍏敤鏂规硶
/// </summary>
/// <param name="model">PalletNo锛氭墭鐩樻潯鐮�</param>
@@ -243,6 +263,40 @@
}
+ /// <summary>
+ /// 缁戝畾鎵樼洏
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ [HttpPost]
+ public IActionResult ChejianIn(PdaPalletBindVm model)
+ {
+ try
+ {
+
+ if (_userManager.UserId ==0)
+ {
+ throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅");
+ }
+
+ if (model.TableType == 0)
+ {
+ _PdaAsnSvc.ChejianIn(model.PalletNo,model.BoxNo,model.SkuQty,model.AreaNo, _userManager.UserId);
+ }
+ else if (model.TableType == 1)
+ {
+ _PdaAsnSvc.ChejianQtyIn(model.PalletNo,model.SkuNo,model.LotNo,model.SkuQty,model.AreaNo, _userManager.UserId);
+ }
+
+ return Ok(new { code = 0, msg = "缁戝畾鎴愬姛!" });
+ }
+ catch (Exception e)
+ {
+ return Ok(new { code = 1, msg = e.Message });
+ }
+ }
+
+
//---------------------------------------------鐢宠鍏ュ簱椤甸潰----------------------------------------------------------------------
diff --git a/Wms/Wms/Controllers/PdaSoController.cs b/Wms/Wms/Controllers/PdaSoController.cs
index 2d6283f..f23655c 100644
--- a/Wms/Wms/Controllers/PdaSoController.cs
+++ b/Wms/Wms/Controllers/PdaSoController.cs
@@ -81,6 +81,19 @@
return await _pdaSoSvc.GetSoSkuLotNoListBySo(model.SoNo);
}
+
+ /// <summary>
+ /// 鑾峰彇鐗╂枡-鎵规淇℃伅
+ /// </summary>
+ /// <param name="model">PalletNo:鎵樼洏鐮併�丼oNo:鍗曟嵁鍙�</param>
+ /// <returns></returns>
+ [HttpPost]
+ public async Task<List<string>> GetPalletListBySo(PdaSoVm model)
+ {
+ return await _pdaSoSvc.GetPalletListBySo(model.SoNo,model.SoDetailId);
+ }
+
+
/// <summary>
/// 鑾峰彇鐗╂枡-鎵规淇℃伅
/// </summary>
diff --git a/Wms/Wms/Controllers/UpApiController.cs b/Wms/Wms/Controllers/UpApiController.cs
index b8743c0..79cb4b6 100644
--- a/Wms/Wms/Controllers/UpApiController.cs
+++ b/Wms/Wms/Controllers/UpApiController.cs
@@ -242,7 +242,7 @@
await _stockCheckSvc.StockAdjustAuto(model.Id);
}
//绯荤粺瀵规帴鍚庢斁寮�
- //var bl =_stockCheckSvc.FinishCr(model.Id,_config.ErpHost + _config.DataChangeUrl, int.Parse(userId));
+ var bl =_stockCheckSvc.FinishCr(model.Id,_config.ErpHost + _config.DataChangeUrl, int.Parse(userId));
//if (bl)
//{
return Ok(new { code = 0, count = 0, msg = "鐩樼偣鍗曡皟鏁翠笂浼犳垚鍔�" });
--
Gitblit v1.8.0