bklLiudl
2024-07-12 a541742fd68adfd5d4a77d1f7f0fc69045c72ac2
采购单据,入库单据
7个文件已修改
202 ■■■■ 已修改文件
HTML/views/ASNSetting/ArrivalNotice.html 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllAsnServer/ProcurePlanServer.cs 74 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/SysServer/RoleRightServer.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.Entity/BllAsnEntity/BllArrivalNotice.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.IBLL/IBllAsnServer/IProcurePlanServer.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/Controllers/BasisController.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/Controllers/BllAsnController.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/ASNSetting/ArrivalNotice.html
@@ -95,36 +95,20 @@
                        <div class="layui-input-inline">
                            <select name="Type" id="Type" lay-filter="Type" lay-search>
                                <option value=""></option>
                                <!-- JC23 -->
                                <!--JC26-->
                                <option value="0">成品入库</option>
                                <option value="1">采购入库</option>
                                <option value="4">车间余料退回入库</option>
                                <option value="5">其它入库</option>
                                <option value="6">代储入库</option>
                                <!-- JC24 -->
                                <!-- <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>  -->
                                <!-- JC09 -->
                                <!-- <option value="0">标准产品入库</option>
                                <option value="1">非标产品入库</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>
                    </div>
                    <div class="layui-inline">
                        <label class="layui-form-label" style="width: 90px;">上游系统单号</label>
                        <label class="layui-form-label">下发单号</label>
                        <div class="layui-input-inline">
                            <input type="text" id="OrderCode" name="OrderCode" placeholder="上游系统单号" autocomplete="off"
                                class="layui-input">
                            <input type="text" id="OrderCode" name="OrderCode" placeholder="上游系统下发的单号"
                                autocomplete="off" class="layui-input">
                        </div>
                    </div>
                    <div class="layui-inline">
@@ -152,9 +136,9 @@
                        <label class="layui-form-label">撤销原因</label>
                        <div class="layui-input-inline">
                            <textarea id="Reason" name="Reason" placeholder="请输入内容" class="layui-textarea"></textarea>
                        </div>
                    </div>
                        </div>
                    </div>
                    <div class="layui-inline">
                        <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit
                            lay-filter="LAY-app-contlist-search">
@@ -224,19 +208,16 @@
                    <script type="text/html" id="buttonTpl">
                        {{# function GetBtn3(d){
                                var html = ``;
                                if(d.Status=='0'){
                                    html = `<button class="layui-btn layui-btn-radius layui-btn-xs">等待执行</button>`;
                                } else if(d.Status=='1') {
                                    html = `<button class="layui-btn layui-btn-radius layui-btn-danger layui-btn-xs">正在执行</button>`;
                                } else if(d.Status=='2') {
                                    html = `<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">执行完毕</button>`;
                                } else if(d.Status=='3') {
                                    html = `<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">订单关闭</button>`;
                                } else if(d.Status=='4') {
                                    html = `<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">上传完毕</button>`;
                                } else {
                                switch(d.Status)
                                {
                                    case "0" : html = `<button class="layui-btn layui-btn-radius layui-btn-xs">等待执行</button>`;break;
                                    case "1" : html = `<button class="layui-btn layui-btn-radius layui-btn-danger layui-btn-xs">正在执行</button>`; break;
                                    case "2" : html = `<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">执行完毕</button>`; break;
                                    case "3" : html = `<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">订单关闭</button>`; break;
                                    case "4" : html = `<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">上传完毕</button>`; break;
                                    default : break;
                                }
                                return html;
                            }    
                        }}
@@ -246,24 +227,16 @@
                    <script type="text/html" id="templetType">
                        {{# function GetBtn4(d){
                                var html = ``;
                                if(d.Type=='0'){
                                    html = `成品入库`;
                                } else if(d.Type=='1') {
                                    html = `采购入库`;
                                } else if(d.Type=='2') {
                                    html = `中间品入库`;
                                switch(d.Type)
                                {
                                    case "0" : html = `成品入库`;break;
                                    case "1" : html = `采购入库`; break;
                                    case "2" : html = `中间品入库`; break;
                                    case "3" : html = `退货入库`; break;
                                    case "4" : html = `余料退回入库`; break;
                                    default : break;
                                }
                                else if(d.Type=='4') {
                                    html = `车间余料退回入库`;
                                }else if(d.Type=='5') {
                                    html = `其它入库`;
                                }else if(d.Type=='6') {
                                    html = `代储入库`;
                                }else if(d.Type=='7') {
                                    html = `寄存入库`;
                                }else {
                                    
                                }
                                return html;
                            }    
                        }}
@@ -463,9 +436,10 @@
                { field: 'Origin', title: '来源', align: 'center', width: 80 },
                { field: 'CustomerName', title: '客户名称', align: 'center' },
                { field: 'Type', title: '单据类型', align: 'center', templet: '#templetType' },
                { field: 'OrderCode', title: '上游系统单号', align: 'center', width: 180 },
                { field: 'OrderCode', title: '下发单号', align: 'center', width: 180 },
                { field: 'CompleteTime', title: '完成时间', align: 'center', templet: '#templetCompleteTime' },
                { field: 'Demo', title: '备注', align: 'center', width: 180 },
                { field: 'UserName', title: '制单人', align: 'center', width: 110 },
                { field: 'CreateUserName', title: '创建人', align: 'center', width: 110 },
                { field: 'CreateTime', title: '创建时间', align: 'center', templet: '#templetCreateTime' },
                { field: 'UpdateUserName', title: '修改人', align: 'center', width: 110 },
Wms/WMS.BLL/BllAsnServer/ProcurePlanServer.cs
@@ -41,8 +41,10 @@
                .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.SkuName), (tb1,tb2) => tb2.SkuName.Contains(model.SkuName))
                .WhereIF(!string.IsNullOrWhiteSpace(model.SkuNo), (tb1,tb2) => tb2.SkuNo.Contains(model.SkuNo))
                .Where(tb1 => tb1.IsDel == "0")
                .OrderByDescending(tb1 => tb1.Id)
                .OrderBy(tb1=>tb1.Status)
                .OrderByDescending(tb1 => tb1.CreateTime)
                .Distinct()
                .Select((tb1, tb2, tb3, tb4) => new ProcurePlanNoticeDto() {
                    Id = tb1.Id,
@@ -64,44 +66,43 @@
        /// <param name="model"></param>
        /// <param name="count"></param>
        /// <returns></returns>
        public List<ProcurePlanNoticeDetailDto> GetProcurePlanNoticeDetailList(ProcurePlanNoticeDetailVm model, out int count)
        public async Task<List<ProcurePlanNoticeDetailDto>> GetProcurePlanNoticeDetailList(ProcurePlanNoticeDetailVm model, RefAsync<int> count)
        {
            string sqlString = string.Empty;
            string sqlCount = string.Empty;
            int rowCount = 1;
            try
            var modelList = await Db.Queryable<BllProcurePlanNoticeDetail, SysUserInfor, SysUserInfor, SysMaterials,
                SysUnit, SysPackag>((tb1, tb2, tb3, tb4, tb5, tb6) => new JoinQueryInfos(
                    JoinType.Left, tb1.CreateUser == tb2.Id,
                    JoinType.Left, tb1.UpdateUser == tb3.Id,
                    JoinType.Left, tb1.SkuNo == tb4.SkuNo,
                    JoinType.Left, tb4.UnitNo == tb5.UnitNo,
                    JoinType.Left, tb1.PackagNo == tb6.PackagNo))
                .Where(tb1 => tb1.ParentId == model.ParentId && tb1.IsDel == "0")
                .OrderByDescending(tb1 => tb1.SkuNo)
                .Distinct()
                .Select((tb1, tb2, tb3, tb4, tb5, tb6) => new ProcurePlanNoticeDetailDto()
            {
                if (model.Page == 0)
                {
                    model.Page = 1;
                }
                sqlCount += $"SELECT COUNT(ID) FROM BllProcurePlanNoticeDetail where ParentId = '{model.ParentId}' and IsDel = '0';";
                var com = new Common();
                count = com.GetRowCount(sqlCount);
                if (count != 0)
                {
                    rowCount = count;
                }
                    Id = tb1.Id,
                    ParentId = tb1.ParentId.ToString(),
                    OrderDetailCode = tb1.OrderDetailCode,
                    SkuNo = tb1.SkuNo,
                    SkuName = tb1.SkuName,
                    Standard = tb1.Standard,
                    Qty = tb1.Qty,
                    CompleteQty = tb1.CompleteQty,
                    PackagNo = tb1.PackagNo,
                    PackagName = tb6.PackagName,
                    UnitName = tb5.UnitName,
                    Status = tb1.Status,
                    CustomerNo = tb1.CustomerNo,
                    CustomerName = tb1.CustomerName,
                    CompleteTime = tb1.CompleteTime,
                    CreateTime = tb1.CreateTime,
                    CreateUserName = tb2.RealName,
                    UpdateTime = tb1.UpdateTime.ToString(),
                    UpdateUserName = tb3.RealName
                sqlString += "SELECT DISTINCT tb1.*,tb3.RealName as CreateUserName, ";
                sqlString += "tb4.RealName as UpdateUserName,isnull(tb6.UnitName,tb5.UnitNo) as UnitName,tb7.PackagName ";
                sqlString += "FROM BllProcurePlanNoticeDetail AS tb1 ";
                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.ParentId = '{model.ParentId}' AND tb1.IsDel = '0' order by tb1.SkuNo desc ";
                sqlString += $"offset {((model.Page - 1) * model.Limit)} rows fetch next {rowCount} rows only;";
                var modelList = Db.Ado.SqlQuery<ProcurePlanNoticeDetailDto>(sqlString);
                }).ToPageListAsync(model.Page, model.Limit, count);
                return modelList;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// 通过采购单生成入库单据
@@ -340,6 +341,7 @@
                        CustomerNo = CustomerModel.CustomerNo,
                        CustomerName = CustomerModel.CustomerName,
                        OrderCode = model.OrderCode,
                        UserName = model.Username,
                        CreateUser = 0
                    };
                    // 插入入库总表信息
@@ -353,7 +355,7 @@
                        Standard = skuModel.Standard,
                        LotNo = "",
                        LotText = "",
                        Qty = 0,
                        Qty = (decimal)asnDetailModel.Qty,
                        FactQty=0,
                        CompleteQty=0,
                        PackagNo = skuModel.PackagNo,
@@ -364,7 +366,7 @@
                        OrderDetailCode = asnDetailModel.OrderDetailCode,
                        CreateUser = 0
                    };
                    // 插入入库总表信息
                    // 插入入库明细表信息
                    Db.Insertable(arrDetailModel).ExecuteCommand();
                    #endregion
Wms/WMS.BLL/SysServer/RoleRightServer.cs
@@ -57,7 +57,7 @@
                            .LeftJoin<SysRoles>((a, b, c) => a.RoleNo == c.RoleNo)
                            .Where((a, b, c) => a.IsDel == "0" && b.IsDel == "0" && c.IsDel == "0")
                            .Where((a, b, c) => a.RoleNo == modUser.RoleNo)
                            .OrderBy((a, b, c) => SqlFunc.ToInt32(a.MenuNo)).OrderBy((a, b, c) => b.Ord)
                            .OrderBy((a, b, c) => b.Ord)            //.OrderBy((a, b, c) => SqlFunc.ToInt32(a.MenuNo))
                            .Select<RoleRightDto>()
                            .ToListAsync();
        }
Wms/WMS.Entity/BllAsnEntity/BllArrivalNotice.cs
@@ -92,6 +92,11 @@
        public string OrderCode { get; set; }
        /// <summary>
        /// 制单人
        /// </summary>
        public string UserName { get; set; }
        /// <summary>
        /// 复核人
        /// </summary>
        public int CheckUser { get; set; }
Wms/WMS.IBLL/IBllAsnServer/IProcurePlanServer.cs
@@ -25,7 +25,7 @@
        /// <param name="model"></param>
        /// <param name="count"></param>
        /// <returns></returns>
        public List<ProcurePlanNoticeDetailDto> GetProcurePlanNoticeDetailList(ProcurePlanNoticeDetailVm model, out int count);
        Task <List<ProcurePlanNoticeDetailDto>> GetProcurePlanNoticeDetailList(ProcurePlanNoticeDetailVm model, RefAsync<int> count);
        /// <summary>
        /// 通过采购单生成入库单据
Wms/Wms/Controllers/BasisController.cs
@@ -22,6 +22,7 @@
using Model.ModelDto.LogDto;
using Utility;
using Model.ModelVm.LogVm;
using System.Diagnostics;
namespace Wms.Controllers
{
@@ -62,7 +63,10 @@
        /// <param name="department">部门</param>
        /// <param name="setting">功能设定</param>
        /// <param name="operation">操作日志</param>
        public BasisController(ICustomerServer customerSvc, ILogisticsInfoServer logisticsSvc, IUserInforServer userInforServer, IRolesServer rolesServer, IRoleRightServer roleRightServer, IRBACServer rBACServer, IUnitServer unitSvc, IPackagServer packagServer, IMaterialsServer mate, IDepartmentServer department, IFunSettingServer setting, IInterfaceServer interfaceS, IOperationSysServer operation, UserManager userManager)
        public BasisController(ICustomerServer customerSvc, ILogisticsInfoServer logisticsSvc, IUserInforServer userInforServer,
            IRolesServer rolesServer, IRoleRightServer roleRightServer, IRBACServer rBACServer, IUnitServer unitSvc,
            IPackagServer packagServer, IMaterialsServer mate, IDepartmentServer department, IFunSettingServer setting,
            IInterfaceServer interfaceS, IOperationSysServer operation, UserManager userManager)
        {
            _customerSvc = customerSvc;//客户Svc
            _logisticsSvc = logisticsSvc;//物流Svc
@@ -356,7 +360,13 @@
        [HttpGet]
        public async Task<List<RoleRightDto>> GetRoleRightList()
        {
            return await _roleRightServer.GetRoleMenuList();
            Stopwatch stopwatch = new Stopwatch();
            stopwatch.Start();
            var model =  await _roleRightServer.GetRoleMenuList();
            stopwatch.Stop();
            var time = stopwatch.ElapsedMilliseconds;
            return model;
        }
        /// <summary>
Wms/Wms/Controllers/BllAsnController.cs
@@ -13,6 +13,7 @@
using Model.ModelDto.BllAsnDto;
using System.Threading.Tasks;
using SqlSugar;
using System.Diagnostics;
namespace Wms.Controllers
{
@@ -1178,25 +1179,27 @@
            var bolls = await _procurePlanSvc.GetProcurePlanNoticeList(model, count);
            return new SqlSugarPagedList() { Items = bolls, Total = count };
        }
        /// <summary>
        /// 获取采购单明细信息
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult GetProcurePlanNoticeDetailList(ProcurePlanNoticeDetailVm model)
        [ServiceFilter(typeof(ApiResponseActionFilter))]
        public async Task<SqlSugarPagedList> GetProcurePlanNoticeDetailList(ProcurePlanNoticeDetailVm model)
        {
            try
            {
                var models = _procurePlanSvc.GetProcurePlanNoticeDetailList(model, out int count);
            Stopwatch stopwatch = new Stopwatch();
            stopwatch.Start();
            RefAsync<int> count = new RefAsync<int>();
            var bolls = await _procurePlanSvc.GetProcurePlanNoticeDetailList(model, count);
            stopwatch.Stop();
                return Ok(new { code = 0, count, msg = "入库单明细信息", data = models });
            var time = stopwatch.ElapsedMilliseconds;
            return new SqlSugarPagedList() { Items = bolls, Total = count };
            }
            catch (Exception e)
            {
                return Ok(new { code = 1, msg = e.Message });
            }
        }
        /// <summary>
        /// 通过采购单生成入库单据
        /// </summary>