From b88cbdbc97735732fe6406fbe5aa3228eaa1b551 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期一, 20 十月 2025 13:13:44 +0800
Subject: [PATCH] 修改包装管理,包装可输入小数
---
Wms/WMS.BLL/SysServer/MaterialsServer.cs | 168 ++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 146 insertions(+), 22 deletions(-)
diff --git a/Wms/WMS.BLL/SysServer/MaterialsServer.cs b/Wms/WMS.BLL/SysServer/MaterialsServer.cs
index 5554355..74ec721 100644
--- a/Wms/WMS.BLL/SysServer/MaterialsServer.cs
+++ b/Wms/WMS.BLL/SysServer/MaterialsServer.cs
@@ -7,10 +7,14 @@
using System.Text;
using System.Threading.Tasks;
using AutoMapper;
+using Model.InterFaceModel;
+using Model.ModelDto.BllSoDto;
using Model.ModelDto.SysDto;
+using Model.ModelVm.SysVm;
using SqlSugar;
using Utility;
using WMS.DAL;
+using WMS.Entity.BllSoEntity;
using WMS.Entity.Context;
using WMS.Entity.SysEntity;
using WMS.IBLL.ISysServer;
@@ -18,7 +22,7 @@
namespace WMS.BLL.SysServer
{
- public class MaterialsServer : DbHelper<SysMaterialCategory>, IMaterialsServer
+ public class MaterialsServer : DbHelper<SysMaterials>, IMaterialsServer
{
/// <summary>
/// 渚濊禆娉ㄥ叆
@@ -53,25 +57,56 @@
/// <param name="environment">瀛樺偍鐜</param>
/// <param name="categoryNo">绫诲埆缂栫爜</param>
/// <returns></returns>
- public Task<List<MaterialsDto>> GetMateList(string skuNo, string skuName, string auditStatusNo, string type, string isControlled, string isInspect, string environment, string categoryNo)
+ public async Task<List<MaterialsDto>> GetMateList(GetMaterialsVm model, RefAsync<int> count)
{
- return Db.Queryable<SysMaterials>()
- .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id)
- .LeftJoin<SysPackag>((a, b,c) => a.PackagNo == c.PackagNo)
- .LeftJoin<SysUnit> ((a,b,c,d)=>a.UnitNo == d.UnitNo)
- .LeftJoin<SysMaterialCategory>((a,b,c,d,e)=>a.CategoryNo == e.CategoryNo)
- .Where((a,b,c,d,e) => d.IsDel == "0" && e.IsDel =="0")
- .WhereIF(!string.IsNullOrEmpty(skuNo), a => a.SkuNo.Contains(skuNo))
- .WhereIF(!string.IsNullOrEmpty(skuName), a => a.SkuName.Contains(skuName))
- .WhereIF(!string.IsNullOrEmpty(auditStatusNo), a => a.AuditStatusNo == auditStatusNo)
- .WhereIF(!string.IsNullOrEmpty(type), a => a.Type == type)
- .WhereIF(!string.IsNullOrEmpty(isControlled), a => a.IsControlled == isControlled)
- .WhereIF(!string.IsNullOrEmpty(isInspect), a => a.IsInspect == isInspect)
- .WhereIF(!string.IsNullOrEmpty(environment), a => a.Environment == environment)
- .WhereIF(!string.IsNullOrEmpty(categoryNo), a => a.CategoryNo == categoryNo)
- .Where(a => a.IsDel == "0" )
- .Select<MaterialsDto>((a, b, c,d,e) => new MaterialsDto() { CreateUserName = b.RealName,PackagName = c.PackagName }, true)
- .ToListAsync();
+ Expression<Func<SysMaterials, bool>> item = Expressionable.Create<SysMaterials>()
+ .AndIF(!string.IsNullOrWhiteSpace(model.SkuNo), it => it.SkuNo.Contains(model.SkuNo.Trim()))
+ .AndIF(!string.IsNullOrWhiteSpace(model.SkuName), it => it.SkuName.Contains(model.SkuName.Trim()))
+ .AndIF(!string.IsNullOrWhiteSpace(model.AuditStatusNo), it => it.AuditStatusNo == model.AuditStatusNo)
+ .AndIF(!string.IsNullOrWhiteSpace(model.Type), it => it.Type == model.Type)
+ .AndIF(!string.IsNullOrWhiteSpace(model.IsControlled), it => it.IsControlled == model.IsControlled)
+ .AndIF(!string.IsNullOrWhiteSpace(model.IsInspect), it => it.IsInspect == model.IsInspect)
+ .AndIF(!string.IsNullOrWhiteSpace(model.Environment), it => it.Environment == model.Environment)
+ .AndIF(!string.IsNullOrWhiteSpace(model.CategoryNo), it => it.CategoryNo == model.CategoryNo)
+ .And(it => it.IsDel == "0")
+ .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
+ //Db.Aop.OnLogExecuting = (sql, data) =>
+ //{
+ // var nl = sql;
+ //};
+ var data = await GetAllWhereAsync(item)
+ .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id && b.IsDel == "0")
+ .LeftJoin<SysPackag>((a, b, c) => a.PackagNo == c.PackagNo && c.IsDel == "0")
+ .LeftJoin<SysMaterialCategory>((a, b, c, d) => a.CategoryNo == d.CategoryNo && d.IsDel == "0")
+ .Select((a, b, c, d) => new MaterialsDto()
+ {
+ Id = a.Id,
+ SkuNo = a.SkuNo,
+ SkuName = a.SkuName,
+ Standard = a.Standard,
+ Type = a.Type,
+ IsControlled = a.IsControlled,
+ IsInspect = a.IsInspect,
+ IsPasteCode = a.IsPasteCode,
+ Origin = a.Origin,
+ UnitNo = a.UnitNo,
+ PackagName = c.PackagName,
+ Environment = a.Environment,
+ CategoryNo = d.CategoryNo,
+ Weight = a.Weight,
+ Warranty = a.Warranty,
+ UnpackWarranty = a.UnpackWarranty,
+ AdventTime = a.AdventTime,
+ LowInventory = a.LowInventory,
+ Demo = a.Demo,
+ CreateUserName = b.UserName,
+ CreateTime = a.CreateTime
+ })
+ .Distinct()
+ .OrderByDescending(a => a.CreateTime)
+ .ToPageListAsync(model.Page, model.Limit, count);
+
+ return data;
}
/// <summary>
@@ -192,9 +227,11 @@
/// 鑾峰彇鍖呰淇℃伅鍒楄〃
/// </summary>
/// <returns></returns>
- public async Task<List<SysPackag>> GetPackagList()
+ public async Task<List<SysPackag>> GetPackagList(int page)
{
- return await Db.Queryable<SysPackag>().Where(s => s.IsDel == "0").ToListAsync();
+ int pageSize = 3000;
+ int skipCount = pageSize * (page - 1);
+ return await Db.Queryable<SysPackag>().Where(s => s.IsDel == "0").Skip(skipCount).Take(pageSize).ToListAsync();
}
#endregion
@@ -202,7 +239,7 @@
#endregion
#region erp
-
+
/// <summary>
/// 鑾峰彇erp鏁版嵁
/// </summary>
@@ -297,5 +334,92 @@
#endregion
+ #region sap
+
+ /// <summary>
+ /// SAP鏂板鐗╂枡涓绘暟鎹暟鎹�
+ /// </summary>
+ /// <param name="model">erp瀹炰綋</param>
+ /// <returns></returns>
+ /// <exception cref="Exception">鎹曡幏寮傚父</exception>
+ public async Task<string> AddSkuSap(SendSkuInfoVm model)
+ {
+ //鎹曡幏寮傚父
+ try
+ {
+ if (string.IsNullOrWhiteSpace(model.skuNo.ToString()) || string.IsNullOrWhiteSpace(model.skuName) || string.IsNullOrWhiteSpace(model.categoryNo))
+ {
+ throw new Exception("鍙傛暟閿欒");
+ }
+ //鍒ゆ柇鏄惁鍞竴
+ var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == model.skuNo.ToString());
+ if (sku != null)
+ {
+ throw new Exception("褰撳墠鐗╂枡宸插瓨鍦�");
+ }
+ //寮�鍚簨鍔�
+ Db.BeginTran();
+
+ var category = Db.Queryable<SysMaterialCategory>().First(w => w.IsDel == "0" && w.CategoryNo == model.categoryNo);
+ if (category == null)
+ {
+ category = new SysMaterialCategory()
+ {
+ CategoryNo = model.categoryNo,
+ CategoryName = model.categoryName,
+ CreateUser = 1
+ };
+ //娣诲姞鐗╂枡绫诲埆淇℃伅
+ Db.Insertable(category).ExecuteCommand();
+ }
+ var pack = new SysPackag()
+ {
+ PackagNo = model.skuNo.ToString(),
+ PackagName = model.skuName,
+ L1Num = 1,
+ L1Name = model.unit,
+ L2Num = Convert.ToInt32(model.packageQty),
+ L2Name = model.packageName
+ };
+ //娣诲姞鍖呰淇℃伅
+ Db.Insertable(pack).ExecuteCommand();
+
+ var addSku = new SysMaterials()
+ {
+ SkuNo = model.skuNo.ToString(),
+ SkuName = model.skuName,
+ Standard = model.specification,
+ CategoryNo = category.CategoryNo,
+ AuditStatusNo = "9", //model.AuditStatusNo
+ Type = "0",
+ IsControlled = "0",//鏄惁璇烽獙锛�0锛氭槸 1锛氬惁
+ IsInspect = model.consume.ToString() == "0" ? "1" : "0",
+ IsPasteCode = "1",
+ Origin = "SAP",
+ UnitNo = model.unit,
+ PackagNo = pack.PackagNo,
+ Environment = null,
+ Weight = null,
+ Warranty = Convert.ToInt32(model.shelfLife.Trim()),
+ UnpackWarranty = null,
+ Price = null,
+ AdventTime = Convert.ToInt32(model.remainingDays)
+ };
+ await Db.Insertable(addSku).ExecuteCommandAsync();
+
+ //鎻愪氦浜嬪姟
+ Db.CommitTran();
+
+ return "0";
+ }
+ catch (Exception ex)
+ {
+ //鍥炴粴浜嬪姟
+ Db.RollbackTran();
+ //鎶涘嚭寮傚父
+ throw new Exception("鏂板erp鏁版嵁寮傚父", ex);
+ }
+ }
+ #endregion
}
}
--
Gitblit v1.8.0