bklLiudl
2024-07-17 bec134656a5a8057435d77f5f8154928fb2625f9
更改sql写法
6个文件已修改
626 ■■■■■ 已修改文件
HTML/views/ASNSetting/ArrivalNoticeDetail.html 66 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/ASNSetting/SelMaterials.html 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs 408 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs 108 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.Entity/BllAsnEntity/BllArrivalNoticeDetail.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/Controllers/BllAsnController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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">代储入库</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">代储入库</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>
@@ -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) {
HTML/views/ASNSetting/SelMaterials.html
@@ -1,13 +1,16 @@
<!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">
    <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">
@@ -17,27 +20,25 @@
                        <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">
                            <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>
                            <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">代储入库</option>
                                    <option value="7">寄存入库</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">
                        <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>
@@ -76,20 +77,7 @@
                    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>');
                        // }
                if (r != null) {
                        
                        $("#Type").val(unescape(r[2])); // "optionValue"为需要被选中的选项的value属性值
                        form.render('select');
@@ -105,8 +93,7 @@
                  setParent: function(){
                    var checkStatus = table.checkStatus('goods-list');   
                    var id = '#LAY-app-content-list',goods = $('#goods-list');
                    if(checkStatus.data.length == 0)
                    {
                    if (checkStatus.data.length == 0) {
                      parent.layer.msg('请选择待入库的物料!');
                      return true;
                    }
@@ -280,4 +267,5 @@
            });
        </script>
    </body>
</html>
Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
@@ -8,18 +8,15 @@
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using Model.ModelVm.BllAsnVm;
using Newtonsoft.Json;
using Utility.Tools;
using System.Threading.Tasks;
using WMS.BLL.LogServer;
using WMS.DAL;
using WMS.Entity.BllAsnEntity;
using WMS.Entity.BllSoEntity;
using WMS.Entity.Context;
using WMS.Entity.DataEntity;
using WMS.Entity.SysEntity;
using WMS.IBLL.IBllAsnServer;
using WMS.Entity.BllSoEntity;
using WMS.Entity.DataEntity;
using System.Threading.Tasks;
namespace WMS.BLL.BllAsnServer
{
@@ -68,7 +65,7 @@
                    CustomerName = tb1.CustomerName,
                    LotNo = tb1.LotNo,
                    LotText = tb1.LotText,
                    CheckTime = tb1.CheckTime.ToString(),
                    CheckTime = ((DateTime)tb1.CheckTime).ToString("yyyy-MM-dd HH:mm:ss"),
                    CheckUserName = tb5.RealName,
                    SupplierLot = tb1.SupplierLot,
                    Demo = tb1.Demo,
@@ -76,7 +73,7 @@
                    CompleteTime = tb1.CompleteTime,
                    CreateTime = tb1.CreateTime,
                    CreateUserName = tb3.RealName,
                    UpdateTime = tb1.UpdateTime.ToString(),
                    UpdateTime = ((DateTime)tb1.UpdateTime).ToString("yyyy-MM-dd HH:mm:ss"),
                    UpdateUserName = tb4.RealName
                }).ToPageListAsync(model.Page, model.Limit, count);
@@ -129,7 +126,7 @@
                     CompleteTime = tb1.CompleteTime,
                     CreateTime = tb1.CreateTime,
                     CreateUserName = tb3.RealName,
                     UpdateTime = tb1.UpdateTime.ToString(),
                     UpdateTime = ((DateTime)tb1.UpdateTime).ToString("yyyy-MM-dd HH:mm:ss"),
                     UpdateUserName = tb4.RealName
                 }).ToPageListAsync(model.Page, model.Limit, count);
@@ -165,49 +162,32 @@
            {
                string skuType = string.Empty;
                int IsPack = 2; // 0:不贴 1:贴 2:不管
                /**
                 * 成品贴         0
                 * 采购可贴可不贴    1
                /** model.type (单据类型)
                 * 成品入库     0
                 * 采购入库     1
                 * 中间品不贴    2
                 * 退货贴        3
                 * 余料退回可贴可不贴    4
                 * 其它可贴可不贴    5
                 * 代储不贴        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"://代储入库
                        skuType = "(2)";
                        IsPack = 0; //不贴
                        break;
                    case "7"://寄存入库
                        //skuType = "(3)";
                        IsPack = 0; //不贴
                        skuType = "(0,1,2,3)";
                        break;
                    default: //其它
                        //skuType = "(0,1,2,3,4)";
                        skuType = "(0,1,2,3,4)";
                        break;
                }
@@ -229,8 +209,6 @@
                    .Includes(x => x.UnitInfo)
                    .Includes(x => x.PackagInfo)
                    .ToList();
                return data.Select(m => new MaterialsDto()
                {
@@ -266,9 +244,14 @@
        public string AddArrivalNotice(ArrivalNoticeVm model)
        {
            string strMessage = "";
            string sqlString = string.Empty;
            string sqlDetailStr = string.Empty;
            //0:成品入库 1:采购入库 2:中间品入库 3:退货入库 4:车间余料入库 5:其它入库 6:代储入库 7:寄存入库
            /** model.type (单据类型)
            * 成品入库     0
            * 采购入库     1
            * 中间品不贴    2
            * 退货入库        3
            * 余料退回入库    4
            */
            var TypeLot = "1, 5, 6, 7"; //批次可为空单据类型
            try
@@ -291,14 +274,23 @@
                
                lock (AsnLock)
                {
                    sqlString += "Insert into BllArrivalNotice (ASNNo,Type,Origin,CustomerNo,";
                    sqlString += "CustomerName,LotNo,LotText,SupplierLot,CreateUser) values ( ";
                    sqlString += $"'{model.ASNNo}','{model.Type}','{model.Origin}','{model.CustomerNo}', ";
                    sqlString += $"'{model.CustomerName}','{model.LotNo}','{model.LotText}','{model.SupplierLot}','{model.CreateUser}');";
                    // 总表实体赋值
                    BllArrivalNotice ASNModel = new BllArrivalNotice()
                    {
                        ASNNo = model.ASNNo,
                        Type = model.Type,
                        Origin = model.Origin,
                        CustomerNo = model.CustomerNo,
                        CustomerName = model.CustomerName,
                        Status = "0",
                        LotNo = model.LotNo,
                        LotText = model.LotText,
                        SupplierLot = model.SupplierLot,
                        CreateUser = (int)model.CreateUser
                    };
                    var detailModels = model.AsnDetail;
                    foreach (ArrivalNoticeDetailVm detailModel in detailModels)
                    List<BllArrivalNoticeDetail> details = new List<BllArrivalNoticeDetail>();
                    foreach (ArrivalNoticeDetailVm detailModel in model.AsnDetail)
                    {
                        if (string.IsNullOrEmpty(detailModel.SkuNo))
                        {
@@ -315,8 +307,7 @@
                            strMessage = "-1:数量必须大于0;";
                            continue;
                        }
                        //判断是否为采购入库单据或车间余料退回入库
                        // 0:成品入库 1:采购入库 2:中间品入库 3:退货入库 4:车间余料退回入库 5:其它入库 6:代储入库 7:寄存入库
                        if (model.Type == "1" || model.Type == "5" || model.Type == "6" || model.Type == "7")
                        {
                            if (!string.IsNullOrWhiteSpace(detailModel.LotNo))
@@ -356,10 +347,14 @@
                                throw new Exception("当前单据类型批次不可为空!");
                            }
                        }
                        // 判断是否已存在当前明细
                        string sqlCount = $"SELECT COUNT(ID) FROM BllArrivalNoticeDetail where ASNNo = '{model.ASNNo}' ";
                        sqlCount += $"and SkuNo ='{detailModel.SkuNo}' and LotNo = '{detailModel.LotNo}' and id != '{detailModel.Id}' and isdel = '0';";
                        var com = new Common().GetRowCount(sqlCount);
                        int com = Db.Queryable<BllArrivalNoticeDetail>()
                            .Where(m => m.ASNNo == model.ASNNo
                            && m.SkuNo == detailModel.SkuNo
                            && m.LotNo == detailModel.LotNo
                            && m.Id != (int)detailModel.Id
                            && m.IsDel == "0").ToList().Count();
                        if (com > 0)
                        {
                            strMessage = "-1:物料和批次号重复;";
@@ -371,26 +366,54 @@
                        }
                        // 计算出总金额
                        detailModel.Money = detailModel.Price * detailModel.Qty;
                        sqlDetailStr += "Insert into BllArrivalNoticeDetail (ASNNo,SkuNo,SkuName,Standard,";
                        sqlDetailStr += "LotNo,LotText,Qty,PackagNo,Price,Money,IsBale,IsBelt,SupplierLot,Status,IsSampling,InspectStatus,UDF1,UDF2,UDF3,UDF4,UDF5,CreateUser) values ( ";
                        sqlDetailStr += $"'{model.ASNNo}','{detailModel.SkuNo}','{detailModel.SkuName}','{detailModel.Standard}', ";
                        sqlDetailStr += $"'{detailModel.LotNo.Trim()}','{detailModel.LotText}','{detailModel.Qty}','{detailModel.PackagNo}','{detailModel.Price}', ";
                        sqlDetailStr += $"{detailModel.Money},'{detailModel.IsBale}','{detailModel.IsBelt}','{detailModel.SupplierLot}','0','0','0','{detailModel.UDF1}','{detailModel.UDF2}','{detailModel.UDF3}','{detailModel.UDF4}','{detailModel.UDF5}','{model.CreateUser}');";
                        BllArrivalNoticeDetail detail = new BllArrivalNoticeDetail()
                        {
                            ASNNo = model.ASNNo,
                            SkuNo = detailModel.SkuNo,
                            SkuName = detailModel.SkuName,
                            Standard = detailModel.Standard,
                            LotNo = detailModel.LotNo.Trim(),
                            LotText = detailModel.LotText,
                            Qty = (decimal)detailModel.Qty,
                            PackagNo = detailModel.PackagNo,
                            FactQty = 0,                        // 已组数量
                            CompleteQty = 0,                    // 完成数量
                            Price = detailModel.Price,
                            Money = detailModel.Money,
                            IsBale = detailModel.IsBale,
                            IsBelt = detailModel.IsBelt,
                            SupplierLot = detailModel.SupplierLot,
                            Status = "0",
                            IsSampling = "0",
                            InspectStatus = "0",
                            UDF1 = detailModel.UDF1,
                            UDF2 = detailModel.UDF2,
                            UDF3 = detailModel.UDF3,
                            UDF4 = detailModel.UDF4,
                            UDF5 = detailModel.UDF5,
                            CreateUser = (int)model.CreateUser,
                        };
                        details.Add(detail);
                    }
                    if (sqlDetailStr == string.Empty)
                    // 判断是否存在被过滤掉的明细
                    if (details.Count <= 0)
                    {
                        return strMessage;
                    }
                    Db.Ado.BeginTran();
                    int rowCount = Db.Ado.ExecuteCommand(sqlString);
                    var rowDetailCount = 1;
                    if (sqlDetailStr.Length > 0)
                    var rowCount = Db.Insertable(ASNModel).ExecuteCommand();
                    var rowDetailCount = 0;
                    if (details.Count  > 0)
                    {
                        rowDetailCount = Db.Ado.ExecuteCommand(sqlDetailStr);
                        rowDetailCount = Db.Insertable(details).ExecuteCommand();
                    }
                    Db.Ado.CommitTran();
                    if (rowCount > 0 && rowDetailCount > 0)
                    {
                        new OperationASNServer().AddLogOperationAsn("入库作业", "入库单据", model.ASNNo, "添加", $"添加了单据号为{model.ASNNo}的单据信息", Convert.ToInt32(model.CreateUser));
@@ -427,29 +450,31 @@
                    //7 必须为空
                    var TypeLot = "1, 5, 6, 7"; //批次为生成批次单据类型
                    
                    //if (model.Origin != "录入")
                    //{
                    //    strMessage = "-1:上游系统下发的单据,不可编辑;";
                    //    return strMessage;
                    //}
                    sqlString += $"select * from BllArrivalNotice where ASNNo = '{model.ASNNo}' and isDel = '0';";
                    var asnInfo = Db.Ado.SqlQuery<BllArrivalNotice>(sqlString).FirstOrDefault();
                    var asnInfo = Db.Queryable<BllArrivalNotice>().First(m => m.ASNNo == model.ASNNo && m.IsDel == "0");
                    if (asnInfo == null)
                    {
                        strMessage = "-1:单号不存在,或已删除!;";
                        return strMessage;
                    }
                    if (asnInfo.Status != "0")
                    {
                        strMessage = "-1:单据状态变更,不可编辑;";
                        return strMessage;
                    }
                    sqlString = "UPDATE BllArrivalNotice SET ";
                    sqlString += $"CustomerNo = '{model.CustomerNo}',CustomerName = '{model.CustomerName}',";
                    sqlString += $"LotNo = '{model.LotNo}',LotText = '{model.LotText}',";
                    sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
                    sqlString += $"WHERE ASNNo = '{model.ASNNo}'";
                    var dateTime = DateTime.Now;
                    // 编辑总单
                    asnInfo.CustomerNo = model.CustomerNo;
                    asnInfo.CustomerName = model.CustomerName;
                    asnInfo.LotNo = model.LotNo;
                    asnInfo.LotText = model.LotText;
                    asnInfo.UpdateTime = dateTime;
                    asnInfo.UpdateUser = model.CreateUser;
                    var detailModels = model.AsnDetail;
                    sqlDetailStr += $"SELECT * FROM BllArrivalNoticeDetail WHERE ASNNo = '{model.ASNNo}' and isDel = '0';";
                    var dbDetailModels = DataContext.Db.Ado.SqlQuery<BllArrivalNoticeDetail>(sqlDetailStr);
                    //var dbDetailModels = DataContext.Db.Ado.SqlQuery<BllArrivalNoticeDetail>(sqlDetailStr);
                    var dbDetailModels = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.ASNNo == model.ASNNo && m.IsDel == "0").ToList();
                    sqlDetailStr = string.Empty;
                    // 处理已删除的明细
@@ -457,13 +482,16 @@
                    {
                        if (detailModels.Count(it => it.Id == dbDetailModel.Id) == 0)
                        {
                            sqlDetailStr += $"UPDATE BllArrivalNoticeDetail SET IsDel = '1',";
                            sqlDetailStr += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
                            sqlDetailStr += $"WHERE Id = {dbDetailModel.Id};";
                            dbDetailModel.IsDel = "1";
                            dbDetailModel.UpdateTime = dateTime;
                            dbDetailModel.UpdateUser = model.CreateUser;
                        }
                    }
                    string toDayTime = DateTime.Now.ToString("yyyyMMdd");
                    // 处理修改和添加的明细
                    string toDayTime = dateTime.ToString("yyyymmdd");
                    List<BllArrivalNoticeDetail> addDetails = new List<BllArrivalNoticeDetail>();
                    List<BllArrivalNoticeDetail> editDetails = new List<BllArrivalNoticeDetail>();
                    foreach (ArrivalNoticeDetailVm detailModel in detailModels)
                    {
                        if (string.IsNullOrEmpty(detailModel.SkuNo))
@@ -491,9 +519,7 @@
                        }
                        // 判断是否已存在当前明细
                        string sqlCount = $"SELECT COUNT(ID) FROM BllArrivalNoticeDetail where ASNNo = '{model.ASNNo}' ";
                        sqlCount += $"and SkuNo ='{detailModel.SkuNo}' and LotNo = '{detailModel.LotNo}' and id != '{detailModel.Id}' and isdel = '0';";
                        var com = new Common().GetRowCount(sqlCount);
                        var com =  dbDetailModels.Where(m => m.SkuNo == detailModel.SkuNo && m.LotNo == detailModel.LotNo && m.Id != detailModel.Id && m.IsDel == "0").Count();
                        if (com > 0)
                        {
                            strMessage = "-1:物料和批次号重复;";
@@ -538,13 +564,33 @@
                            }
                            // 计算出总金额
                            detailModel.Money = detailModel.Price * detailModel.Qty;
                            sqlDetailStr += "Insert into BllArrivalNoticeDetail (ASNNo,SkuNo,SkuName,Standard,";
                            sqlDetailStr += "LotNo,LotText,Qty,PackagNo,Price,Money,IsBale,IsBelt,SupplierLot,Status,UDF1,UDF2,UDF3,UDF4,UDF5,CreateUser) values ( ";
                            sqlDetailStr += $"'{model.ASNNo}','{detailModel.SkuNo}','{detailModel.SkuName}','{detailModel.Standard}', ";
                            sqlDetailStr += $"'{detailModel.LotNo.Trim()}','{detailModel.LotText}','{detailModel.Qty}','{detailModel.PackagNo}','{detailModel.Price}', ";
                            sqlDetailStr += $"{detailModel.Money},'{detailModel.IsBale}','{detailModel.IsBelt}','{detailModel.SupplierLot}','0','{detailModel.UDF1}','{detailModel.UDF2}','{detailModel.UDF3}','{detailModel.UDF4}','{detailModel.UDF5}','{model.CreateUser}');";
                        
                            BllArrivalNoticeDetail addModel = new BllArrivalNoticeDetail()
                            {
                                ASNNo = model.ASNNo,
                                SkuNo = detailModel.SkuNo,
                                SkuName = detailModel.SkuName,
                                Standard = detailModel.Standard,
                                LotNo = detailModel.LotNo.Trim(),
                                LotText = detailModel.LotText,
                                Qty = (decimal)detailModel.Qty,
                                PackagNo = detailModel.PackagNo,
                                Price = detailModel.Price,
                                Money = detailModel.Money,
                                FactQty = 0,                        // 已组数量
                                CompleteQty = 0,                    // 完成数量
                                IsBale = detailModel.IsBale,
                                IsBelt = detailModel.IsBelt,
                                SupplierLot = detailModel.SupplierLot,
                                Status = "0",
                                UDF1 = detailModel.UDF1,
                                UDF2 = detailModel.UDF2,
                                UDF3 = detailModel.UDF3,
                                UDF4 = detailModel.UDF4,
                                UDF5 = detailModel.UDF5,
                                CreateUser=(int)model.CreateUser
                            };
                            addDetails.Add(addModel);
                        }
                        else
                        {
@@ -566,9 +612,10 @@
                            {
                                continue;
                            }
                            var dbDetail = dbDetailModels.First(m => m.Id == detailModel.Id);
                            if (TypeLot.Contains(model.Type))
                            {
                                var dbDetail = dbDetailModels.First(m=>m.Id == detailModel.Id);
                                if (!string.IsNullOrWhiteSpace(dbDetail.LotNo))
                                {
                                    if (dbDetail.LotNo != detailModel.LotNo)
@@ -581,24 +628,39 @@
                            }
                            // 计算出总金额
                            detailModel.Money = detailModel.Price * detailModel.Qty;
                            sqlDetailStr += $"UPDATE BllArrivalNoticeDetail SET ";
                            sqlDetailStr += $"Qty = '{detailModel.Qty}',LotNo = '{detailModel.LotNo.Trim()}',Money='{detailModel.Money}', ";
                            sqlDetailStr += $"LotText = '{detailModel.LotText}',SupplierLot = '{detailModel.SupplierLot}', ";
                            sqlDetailStr += $"IsBale = '{detailModel.IsBale}',IsBelt = '{detailModel.IsBelt}', ";
                            sqlDetailStr += $"UDF1 = '{detailModel.UDF1}',UDF2 = '{detailModel.UDF2}',UDF3 = '{detailModel.UDF3}',UDF4 = '{detailModel.UDF4}',UDF5 = '{detailModel.UDF5}',";
                            sqlDetailStr += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
                            sqlDetailStr += $"WHERE Id = {detailModel.Id};";
                            dbDetail.Qty = (decimal)detailModel.Qty;
                            dbDetail.LotNo = detailModel.LotNo;
                            dbDetail.Money = detailModel.Money;
                            dbDetail.LotText = detailModel.LotText;
                            dbDetail.SupplierLot = detailModel.SupplierLot;
                            dbDetail.IsBale = detailModel.IsBale;
                            dbDetail.UDF1 = detailModel.UDF1;
                            dbDetail.UDF2 = detailModel.UDF2;
                            dbDetail.UDF3 = detailModel.UDF3;
                            dbDetail.UDF4 = detailModel.UDF4;
                            dbDetail.UDF5 = detailModel.UDF5;
                            dbDetail.UpdateTime = dateTime;
                            dbDetail.UpdateUser = model.CreateUser;
                            editDetails.Add(dbDetail);
                        }
                    }
                    Db.Ado.BeginTran();
                    int rowCount = Db.Ado.ExecuteCommand(sqlString);
                    Db.Updateable(dbDetailModels).ExecuteCommand();
                    int rowCount = Db.Updateable(asnInfo).ExecuteCommand();
                    var rowDetailCount = 1;
                    if (sqlDetailStr.Length > 0)
                    if (addDetails.Count > 0)
                    {
                        rowDetailCount = Db.Ado.ExecuteCommand(sqlDetailStr);
                        rowDetailCount = Db.Insertable(addDetails).ExecuteCommand();
                    }
                    if (editDetails.Count > 0)
                    {
                        rowDetailCount += Db.Updateable(editDetails).ExecuteCommand();
                    }
                    Db.Ado.CommitTran();
                    if (rowCount > 0 && rowDetailCount > 0)
                    {
@@ -622,9 +684,7 @@
        {
            try
            {
                var sqlString = $"SELECT * FROM BllArrivalNotice WHERE ASNNo = '{model.ASNNo}' AND IsDel = 0 AND Status = '0';";
                var asnModel = Db.Ado.SqlQuery<BllArrivalNotice>(sqlString).FirstOrDefault();
                var asnModel = Db.Queryable<BllArrivalNotice>().First(m => m.ASNNo == model.ASNNo && m.IsDel == "0" && m.Status == "0");
                if (asnModel == null)
                {
                    return "-1:入库单状态已变更,不可删除!";
@@ -636,42 +696,48 @@
                }
                // 删除总单
                sqlString = $"UPDATE BllArrivalNotice SET IsDel = '1',";
                sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
                sqlString += $"WHERE ASNNo = '{model.ASNNo}';";
                var editDateTime = DateTime.Now;
                asnModel.IsDel = "1";
                asnModel.UpdateTime = editDateTime;
                asnModel.UpdateUser = model.CreateUser;
                // 删除明细单
                sqlString += $"UPDATE BllArrivalNoticeDetail SET IsDel = '1',";
                sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
                sqlString += $"WHERE ASNNo = '{model.ASNNo}';";
                var asnDetails = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.ASNNo == model.ASNNo && m.IsDel =="0").ToList();
                foreach (BllArrivalNoticeDetail asnDetail in asnDetails)
                {
                    asnDetail.IsDel = "1";
                    asnDetail.UpdateTime = editDateTime;
                    asnDetail.UpdateUser = model.CreateUser;
                }
                #region liudl Edit JC26物料不贴吗无需删除
                //判断是否为采购入库单据或车间余料退回入库
                // 0:成品入库 1:采购入库 2:中间品入库 3:退货入库 4:车间余料退回入库 5:其它入库 6:代储入库 7:寄存入库
                int notdel = 0;
                if (model.Type == "1" || model.Type == "4")
                {
                    //获取单据生成对应标签
                    var list = Db.Queryable<BllBoxInfo>().Where(a => a.IsDel == "0" && a.Status == "0" && a.BindNo == null);
                //int notdel = 0;
                //if (model.Type == "1" || model.Type == "4")
                //{
                //    //获取单据生成对应标签
                //    var list = Db.Queryable<BllBoxInfo>().Where(a => a.IsDel == "0" && a.Status == "0" && a.BindNo == null);
                    //验证对应箱支信息是否存在
                    if (list == null)
                    {
                        return "-1:已有箱码已绑定托盘或已入库,不可删除!";
                    }
                //    //验证对应箱支信息是否存在
                //    if (list == null)
                //    {
                //        return "-1:已有箱码已绑定托盘或已入库,不可删除!";
                //    }
                    // 删除对应箱支信息
                    sqlString += $"UPDATE BllBoxInfo SET IsDel = '1',";
                    sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
                    sqlString += $"WHERE ASNNo = '{model.ASNNo}';";
                    notdel = 1;
                }
                //    // 删除对应箱支信息
                //    sqlString += $"UPDATE BllBoxInfo SET IsDel = '1',";
                //    sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
                //    sqlString += $"WHERE ASNNo = '{model.ASNNo}';";
                //    notdel = 1;
                //}
                #endregion
                Db.Ado.BeginTran();
                int rowCount = Db.Ado.ExecuteCommand(sqlString);
                if (rowCount < 2 + notdel)
                {
                    Db.RollbackTran();
                    return "-1:删除失败!";
                }
                //int rowCount = Db.Ado.ExecuteCommand(sqlString);
                int rowCount = Db.Updateable(asnModel).ExecuteCommand();
                rowCount += Db.Updateable(asnDetails).ExecuteCommand();
                Db.Ado.CommitTran();
                new OperationASNServer().AddLogOperationAsn("入库作业", "入库单据", model.ASNNo, "删除", $"删除了单据号为{model.ASNNo}的单据信息", Convert.ToInt32(model.CreateUser));
                return "";
@@ -688,8 +754,7 @@
            string sqlString = string.Empty;
            try
            {
                sqlString = $"SELECT * FROM BllArrivalNotice WHERE ASNNo = '{model.ASNNo}' AND IsDel = 0 AND Status = '0';";
                var asnModel = Db.Ado.SqlQuery<BllArrivalNotice>(sqlString).FirstOrDefault();
                var asnModel = Db.Queryable<BllArrivalNotice>().First(m => m.ASNNo == model.ASNNo && m.IsDel == "0" && m.Status == "0");
                if (asnModel == null)
                {
@@ -702,28 +767,34 @@
                }
                sqlString = $"SELECT * FROM BllArrivalNoticeDetail WHERE ASNNo = '{model.ASNNo}' and Id <> {model.Id};";
                var detailModel = Db.Ado.SqlQuery<ArrivalNoticeDetailVm>(sqlString);
                var asnDetail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.ASNNo == model.ASNNo && m.IsDel == "0" && m.Id == model.Id);
                if (asnDetail == null)
                {
                    return "-1:明细状态已变更,不可删除!";
                }
                var detailModel = Db.Queryable<BllArrivalNoticeDetail>()
                    .Where(m => m.ASNNo == model.ASNNo && m.IsDel == "0" && m.Id != model.Id).ToList();
                var editDateTime = DateTime.Now;
                if (detailModel.Count <= 0)
                {
                    sqlString = $"UPDATE BllArrivalNotice SET IsDel = '1',";
                    sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
                    sqlString += $"WHERE ASNNo = '{model.ASNNo}';";
                    asnModel.IsDel = "1";
                    asnModel.UpdateTime = editDateTime;
                    asnModel.UpdateUser = model.CreateUser;
                }
                else
                {
                    sqlString = $"UPDATE BllArrivalNotice SET ";
                    sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
                    sqlString += $"WHERE ASNNo = '{model.ASNNo}';";
                    asnModel.UpdateTime = editDateTime;
                    asnModel.UpdateUser = model.CreateUser;
                }
                sqlString += $"UPDATE BllArrivalNoticeDetail SET IsDel = '1',";
                sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
                sqlString += $"WHERE Id = '{model.Id}';";
                asnDetail.IsDel = "0";
                asnDetail.UpdateTime = editDateTime;
                asnDetail.UpdateUser = model.CreateUser;
                Db.Ado.BeginTran();
                int rowCount = Db.Ado.ExecuteCommand(sqlString);
                int rowCount = Db.Updateable(asnModel).ExecuteCommand();
                rowCount += Db.Updateable(asnDetail).ExecuteCommand();
                if (rowCount < 2)
                {
@@ -731,8 +802,12 @@
                    return "-1:删除失败!";
                }
                Db.Ado.CommitTran();
                var detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.Id == model.Id);
                new OperationASNServer().AddLogOperationAsn("入库作业", "入库单据", model.ASNNo, "删除", $"删除了单据号为{model.ASNNo}、物料为{detail.SkuNo}、批次号为{detail.LotNo}的单据信息", Convert.ToInt32(model.CreateUser));
                new OperationASNServer().AddLogOperationAsn("入库作业", "入库单据", model.ASNNo, "删除",
                    $"删除了单据号为{model.ASNNo}、物料为{detail.SkuNo}、批次号为{detail.LotNo}的单据信息",
                    Convert.ToInt32(model.CreateUser));
                return "";
            }
            catch (Exception ex)
@@ -741,6 +816,7 @@
                throw new Exception(ex.Message);
            }
        }
        //关闭入库单
        public string CloseArrivalNotice(int id, int userId)
        {
@@ -751,29 +827,39 @@
                {
                    throw new Exception("未查询到入库单据信息");
                }
                //if (notice.Status != "2")
                //{
                //    throw new Exception("参数异常,请检查状态是否为执行完成");
                //}
                var palletBind = Db.Queryable<BllPalletBind>().Where(m => m.IsDel == "0" && m.ASNNo == notice.ASNNo && m.Status != "2" && m.Status != "3").ToList();
                var palletBind = Db.Queryable<BllPalletBind>()
                    .Where(m => m.IsDel == "0" && m.ASNNo == notice.ASNNo
                    && m.Status != "2" && m.Status != "3").ToList();
                if (palletBind != null && palletBind.Count > 0)
                {
                    throw new Exception("存在未入库完成托盘信息,不允许关单");
                }
                var comTime = DateTime.Now;
                var sqlString = "";
                // 总单关单
                sqlString = $"UPDATE BllArrivalNotice SET Status = '3',";
                sqlString += $"CompleteTime = GETDATE(),UpdateTime = GETDATE(),UpdateUser = '{userId}' ";
                sqlString += $"WHERE Id = '{id}';";
                var asnModel = Db.Queryable<BllArrivalNotice>().First(m => m.Id == id);
                if (asnModel != null)
                {
                    asnModel.Status = "3";
                    asnModel.CompleteTime = comTime;
                    asnModel.UpdateTime = comTime;
                    asnModel.UpdateUser = userId;
                }
                // 将未完成的明细改为已完成
                sqlString += $"UPDATE BllArrivalNoticeDetail SET Status = '2',";
                sqlString += $"CompleteTime = GETDATE(),UpdateTime = GETDATE(),UpdateUser = '{userId}' ";
                sqlString += $"WHERE Id = '{id}' and Status <> '2';";
                var asnDetails = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.Id == id && m.Status == "2").ToList();
                foreach (BllArrivalNoticeDetail asnDetail in asnDetails)
                {
                    asnDetail.Status = "2";
                    asnDetail.CompleteTime = comTime;
                    asnDetail.UpdateTime = comTime;
                    asnDetail.UpdateUser = userId;
                }
                Db.Ado.BeginTran();
                int rowCount = Db.Ado.ExecuteCommand(sqlString);
                int rowCount = Db.Updateable(asnModel).ExecuteCommand();
                rowCount += Db.Updateable(asnDetails).ExecuteCommand();
                if (rowCount <= 0)
                {
@@ -842,7 +928,7 @@
                        }
                        // 入库总表信息
                        string asnNo = new Common().GetMaxNo("ASN");
                        var asnModel = new BllArrivalNotice()
                        var asnModel1 = new BllArrivalNotice()
                        {
                            ASNNo = asnNo,
                            Status = "0",//执行状态,0:等待执行
@@ -854,7 +940,7 @@
                            CreateUser = 0
                        };
                        // 插入入库总表信息
                        Db.Insertable(asnModel).ExecuteCommand();
                        Db.Insertable(asnModel1).ExecuteCommand();
                        //入库单明细
                        var arrDetailModel = new BllArrivalNoticeDetail()
                        {
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));
Wms/WMS.Entity/BllAsnEntity/BllArrivalNoticeDetail.cs
@@ -65,6 +65,7 @@
        /// Default:0
        /// Nullable:True
        /// </summary>           
        [SugarColumn(DefaultValue = "0")]
        public decimal? FactQty {get;set;}
        /// <summary>
@@ -72,6 +73,7 @@
        /// Default:0
        /// Nullable:True
        /// </summary>           
        [SugarColumn(DefaultValue = "0")]
        public decimal? CompleteQty {get;set;}
        /// <summary>
Wms/Wms/Controllers/BllAsnController.cs
@@ -168,6 +168,10 @@
                {
                    throw new Exception("未获取到用户信息");
                }
                if (string.IsNullOrWhiteSpace(model.ASNNo))
                {
                    throw new Exception("单据号不可为null!");
                }
                model.CreateUser = int.Parse(UserId);
                string strMesage = _arrivalNoticeSvc.EditArrivalNotice(model);