| | |
| | | <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"> |
| | |
| | | <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"> |
| | |
| | | <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; |
| | | } |
| | | }} |
| | |
| | | <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; |
| | | } |
| | | }} |
| | |
| | | { 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 }, |
| | |
| | | .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, |
| | |
| | | /// <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> |
| | | /// 通过采购单生成入库单据 |
| | |
| | | CustomerNo = CustomerModel.CustomerNo, |
| | | CustomerName = CustomerModel.CustomerName, |
| | | OrderCode = model.OrderCode, |
| | | UserName = model.Username, |
| | | CreateUser = 0 |
| | | }; |
| | | // 插入入库总表信息 |
| | |
| | | Standard = skuModel.Standard, |
| | | LotNo = "", |
| | | LotText = "", |
| | | Qty = 0, |
| | | Qty = (decimal)asnDetailModel.Qty, |
| | | FactQty=0, |
| | | CompleteQty=0, |
| | | PackagNo = skuModel.PackagNo, |
| | |
| | | OrderDetailCode = asnDetailModel.OrderDetailCode, |
| | | CreateUser = 0 |
| | | }; |
| | | // 插入入库总表信息 |
| | | // 插入入库明细表信息 |
| | | Db.Insertable(arrDetailModel).ExecuteCommand(); |
| | | #endregion |
| | | |
| | |
| | | .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(); |
| | | } |
| | |
| | | public string OrderCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 制单人 |
| | | /// </summary> |
| | | public string UserName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 复核人 |
| | | /// </summary> |
| | | public int CheckUser { get; set; } |
| | |
| | | /// <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> |
| | | /// 通过采购单生成入库单据 |
| | |
| | | using Model.ModelDto.LogDto; |
| | | using Utility; |
| | | using Model.ModelVm.LogVm; |
| | | using System.Diagnostics; |
| | | |
| | | namespace Wms.Controllers |
| | | { |
| | |
| | | /// <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 |
| | |
| | | [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> |
| | |
| | | using Model.ModelDto.BllAsnDto; |
| | | using System.Threading.Tasks; |
| | | using SqlSugar; |
| | | using System.Diagnostics; |
| | | |
| | | namespace Wms.Controllers |
| | | { |
| | |
| | | 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> |