From 9b6d6f7f6b89c80edbef8da32feb0cf504a7c523 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期三, 27 十一月 2024 22:38:53 +0800 Subject: [PATCH] 采购退料 --- Controllers/Warehouse/MesInvItemOutsController.cs | 323 +++++++++ Dto/service/OutItemDto.cs | 16 entity/MesInvItemArn.cs | 8 service/Warehouse/MesInvItemArnManager.cs | 71 ++ Controllers/base/MesDepotsController.cs | 159 ++++ entity/MesInvItemArnDetail.cs | 330 ++++---- Dto/service/WarehouseQuery.cs | 1 service/Warehouse/MesInvItemOutItemsManager.cs | 78 ++ entity/MesInvItemOutCDetails.cs | 57 util/UtilityHelper.cs | 2 entity/CgtlView.cs | 138 +++ entity/MesInvItemOutItems.cs | 41 Dto/service/MaterialReceipt.cs | 12 Controllers/Warehouse/MesInvItemArnController.cs | 202 +++++ service/Warehouse/MesInvItemOutCDetailsManager.cs | 122 +++ entity/MesInvItemOuts.cs | 66 + service/base/MesDepotsManager.cs | 7 service/Warehouse/MesInvItemOutsManager.cs | 429 ++++++++++++ 18 files changed, 1,825 insertions(+), 237 deletions(-) diff --git a/Controllers/Warehouse/MesInvItemArnController.cs b/Controllers/Warehouse/MesInvItemArnController.cs new file mode 100644 index 0000000..30f5d84 --- /dev/null +++ b/Controllers/Warehouse/MesInvItemArnController.cs @@ -0,0 +1,202 @@ +锘縰sing System.Dynamic; +using Microsoft.AspNetCore.Mvc; +using NewPdaSqlServer.Dto.service; +using NewPdaSqlServer.entity; +using NewPdaSqlServer.service.Warehouse; +using NewPdaSqlServer.util; + +namespace NewPdaSqlServer.Controllers.Warehouse; + +[ApiController] +[Route("api/[controller]")] +public class MesInvItemArnController : ControllerBase +{ + private readonly MesInvItemArnManager m = new(); + + + [HttpPost("GetPageList")] + public ResponseResult GetPageList(WarehouseQuery query) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.GetPagedResults(query); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + //GetSuppliers() + [HttpPost("GetSuppliers")] + public ResponseResult GetSuppliers() + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.GetSuppliers(); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + /// <summary> + /// 鑾峰彇鎵�鏈� + /// </summary> + /// <returns></returns> + [HttpPost("GetList")] + public ResponseResult GetList() + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.GetList(); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + + /// <summary> + /// 鏍规嵁涓婚敭鑾峰彇 + /// </summary> + /// <returns></returns> + [HttpPost("GetById")] + public ResponseResult GetById(int id) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.GetById(id); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + /// <summary> + /// 鏍规嵁涓婚敭鍒犻櫎 + /// </summary> + /// <returns></returns> + [HttpPost("DeleteByIds")] + public ResponseResult DeleteByIds([FromBody] object[] ids) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.DeleteByIds(ids); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + /// <summary> + /// 娣诲姞 + /// </summary> + /// <returns></returns> + [HttpPost("Insert")] + public ResponseResult Add([FromBody] MesInvItemArn data) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.Insert(data); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + /// <summary> + /// 娣诲姞杩斿洖鑷 + /// </summary> + /// <returns></returns> + [HttpPost("InsertReturnIdentity")] + public ResponseResult InsertReturnIdentity([FromBody] MesInvItemArn data) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.InsertReturnIdentity(data); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + /// <summary> + /// 淇敼 + /// </summary> + /// <returns></returns> + [HttpPost("Update")] + public ResponseResult Update([FromBody] MesInvItemArn data) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.Update(data); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } +} \ No newline at end of file diff --git a/Controllers/Warehouse/MesInvItemOutsController.cs b/Controllers/Warehouse/MesInvItemOutsController.cs new file mode 100644 index 0000000..7d679e6 --- /dev/null +++ b/Controllers/Warehouse/MesInvItemOutsController.cs @@ -0,0 +1,323 @@ +锘縰sing System.Dynamic; +using Microsoft.AspNetCore.Mvc; +using NewPdaSqlServer.Dto.service; +using NewPdaSqlServer.entity; +using NewPdaSqlServer.service.Warehouse; +using NewPdaSqlServer.util; + +namespace NewPdaSqlServer.Controllers.Warehouse; + +[ApiController] +[Route("api/[controller]")] +public class MesInvItemOutsController : ControllerBase +{ + private readonly MesInvItemOutsManager m = new(); + + [HttpPost("SaveMessageCenter")] + public ResponseResult SaveMessageCenter(WarehouseQuery entity) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.SaveMessageCenter(entity); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + [HttpPost("DeApproveBefore")] + public ResponseResult DeApproveBefore(WarehouseQuery entity) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.DeApproveBefore(entity); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + + [HttpPost("Audit")] + public ResponseResult Audit(WarehouseQuery query) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.Audit(query); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + [HttpPost("GetPage")] + public ResponseResult GetPage(WarehouseQuery query) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.GetPage(query); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + [HttpPost("GetItems")] + public ResponseResult GetItems(WarehouseQuery query) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.GetItems(query); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + [HttpPost("SelectMaterials")] + public ResponseResult SelectMaterials(WarehouseQuery query) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.SelectMaterials(query); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + [HttpPost("SaveCombination")] + public ResponseResult SaveCombination(OutItemDto dto) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.SaveCombination(dto); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + [HttpPost("GetMaxItemOutNo")] + public ResponseResult GetMaxItemOutNo() + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.GetMaxItemOutNo(); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + + /// <summary> + /// 鑾峰彇鎵�鏈� + /// </summary> + /// <returns></returns> + [HttpPost("GetList")] + public ResponseResult GetList() + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.GetList(); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + + /// <summary> + /// 鏍规嵁涓婚敭鑾峰彇 + /// </summary> + /// <returns></returns> + [HttpPost("GetById")] + public ResponseResult GetById(int id) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.GetById(id); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + /// <summary> + /// 鏍规嵁涓婚敭鍒犻櫎 + /// </summary> + /// <returns></returns> + [HttpPost("DeleteByIds")] + public ResponseResult DeleteByIds([FromBody] object[] ids) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.DeleteByIds(ids); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + /// <summary> + /// 娣诲姞 + /// </summary> + /// <returns></returns> + [HttpPost("Insert")] + public ResponseResult Add([FromBody] MesInvItemOuts data) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.Insert(data); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + /// <summary> + /// 娣诲姞杩斿洖鑷 + /// </summary> + /// <returns></returns> + [HttpPost("InsertReturnIdentity")] + public ResponseResult InsertReturnIdentity( + [FromBody] MesInvItemOuts data) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.InsertReturnIdentity(data); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + /// <summary> + /// 淇敼 + /// </summary> + /// <returns></returns> + [HttpPost("Update")] + public ResponseResult Update([FromBody] MesInvItemOuts data) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.Update(data); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } +} \ No newline at end of file diff --git a/Controllers/base/MesDepotsController.cs b/Controllers/base/MesDepotsController.cs new file mode 100644 index 0000000..d60eaac --- /dev/null +++ b/Controllers/base/MesDepotsController.cs @@ -0,0 +1,159 @@ +锘縰sing System.Dynamic; +using Microsoft.AspNetCore.Mvc; +using NewPdaSqlServer.entity; +using NewPdaSqlServer.service.@base; +using NewPdaSqlServer.util; + +namespace NewPdaSqlServer.Controllers.@base; + +[ApiController] +[Route("api/[controller]")] +public class MesDepotsController : ControllerBase +{ + private readonly MesDepotsManager m = new(); + + /// <summary> + /// 鑾峰彇鎵�鏈� + /// </summary> + /// <returns></returns> + [HttpPost("GetList")] + public ResponseResult GetList() + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.GetList(); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + + /// <summary> + /// 鏍规嵁涓婚敭鑾峰彇 + /// </summary> + /// <returns></returns> + [HttpPost("GetById")] + public ResponseResult GetById(int id) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.GetById(id); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + /// <summary> + /// 鏍规嵁涓婚敭鍒犻櫎 + /// </summary> + /// <returns></returns> + [HttpPost("DeleteByIds")] + public ResponseResult DeleteByIds([FromBody] object[] ids) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.DeleteByIds(ids); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + /// <summary> + /// 娣诲姞 + /// </summary> + /// <returns></returns> + [HttpPost("Insert")] + public ResponseResult Add([FromBody] MesDepots data) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.Insert(data); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + /// <summary> + /// 娣诲姞杩斿洖鑷 + /// </summary> + /// <returns></returns> + [HttpPost("InsertReturnIdentity")] + public ResponseResult InsertReturnIdentity([FromBody] MesDepots data) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.InsertReturnIdentity(data); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + /// <summary> + /// 淇敼 + /// </summary> + /// <returns></returns> + [HttpPost("Update")] + public ResponseResult Update([FromBody] MesDepots data) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.Update(data); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } +} \ No newline at end of file diff --git a/Dto/service/MaterialReceipt.cs b/Dto/service/MaterialReceipt.cs new file mode 100644 index 0000000..1e2b168 --- /dev/null +++ b/Dto/service/MaterialReceipt.cs @@ -0,0 +1,12 @@ +锘縰sing NewPdaSqlServer.entity; + +namespace NewPdaSqlServer.Dto.service; + +public class MaterialReceipt +{ + public List<MesInvItemOutItems>? ItemsList { get; set; } + + public List<MesInvItemOutCDetails>? InvItemoutCDetails { get; set; } + + public MesInvItemOuts? ItemOuts { get; set; } +} \ No newline at end of file diff --git a/Dto/service/OutItemDto.cs b/Dto/service/OutItemDto.cs new file mode 100644 index 0000000..1a1b53c --- /dev/null +++ b/Dto/service/OutItemDto.cs @@ -0,0 +1,16 @@ +锘縰sing NewPdaSqlServer.entity; + +namespace NewPdaSqlServer.Dto.service; + +public class OutItemDto +{ + public MesInvItemOuts? Form { get; set; } + public List<MesInvItemOutItems>? SaveItems { get; set; } + public List<MesInvItemOutItems>? SelectItems { get; set; } + + public string? ItemNo { get; set; } + + public decimal? Quantity { get; set; } + + // public List<InventoryItem>? SumItem { get; set; } +} \ No newline at end of file diff --git a/Dto/service/WarehouseQuery.cs b/Dto/service/WarehouseQuery.cs index 24a77db..cf21cc1 100644 --- a/Dto/service/WarehouseQuery.cs +++ b/Dto/service/WarehouseQuery.cs @@ -19,6 +19,7 @@ public string? Type { get; set; } public string? DepotCode { get; set; } public string? SuppNo { get; set; } + public string? SuppId { get; set; } public string? Factory { get; set; } diff --git a/entity/CgtlView.cs b/entity/CgtlView.cs new file mode 100644 index 0000000..56e8e16 --- /dev/null +++ b/entity/CgtlView.cs @@ -0,0 +1,138 @@ +锘縰sing SqlSugar; + +namespace NewPdaSqlServer.entity; + +[SugarTable("V_CGTL")] +public class CgtlView +{ + /// <summary> + /// 閲囪喘鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "WORK_NO")] + public string? WorkNo { get; set; } + + + /// <summary> + /// 琛屽彿 + /// </summary> + [SugarColumn(ColumnName = "work_line")] + public string? WorkLine { get; set; } + + + /// <summary> + /// 鐗╂枡缂栧彿 + /// </summary> + [SugarColumn(ColumnName = "item_no")] + public string? ItemNo { get; set; } + + + /// <summary> + /// 鐗╂枡鍚嶇О + /// </summary> + [SugarColumn(ColumnName = "item_name")] + public string? ItemName { get; set; } + + + /// <summary> + /// 瑙勬牸鍨嬪彿 + /// </summary> + [SugarColumn(ColumnName = "item_model")] + public string? ItemModel { get; set; } + + + /// <summary> + /// 鍏ュ簱鏁伴噺 + /// </summary> + [SugarColumn(ColumnName = "RK_QTY")] + public decimal? RkQty { get; set; } + + + /// <summary> + /// 鍗曚綅 + /// </summary> + [SugarColumn(ColumnName = "UNIT")] + public string? Unit { get; set; } + + + /// <summary> + /// 渚涘簲鍟嗙紪鍙� + /// </summary> + [SugarColumn(ColumnName = "supp_no")] + public string? SuppNo { get; set; } + + + /// <summary> + /// 宸查��鏂欐暟閲� + /// </summary> + [SugarColumn(ColumnName = "YTL_QTY")] + public decimal? YtlQty { get; set; } + + + /// <summary> + /// 鍙��鏁伴噺 + /// </summary> + [SugarColumn(ColumnName = "KT_QTY")] + public decimal? KtQty { get; set; } + + + /// <summary> + /// 鍒拌揣鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "PBILL_NO")] + public string? PBillNo { get; set; } + + + /// <summary> + /// 绫诲瀷锛堥粯璁や负 0锛� + /// </summary> + [SugarColumn(ColumnName = "F_TYPE")] + public int FType { get; set; } = 0; + + + /// <summary> + /// 閲囪喘鍗曞唴鐮� + /// </summary> + [SugarColumn(ColumnName = "EBELN_K3ID")] + public string? EbelnK3Id { get; set; } + + + /// <summary> + /// 閲囪喘琛屽唴鐮� + /// </summary> + [SugarColumn(ColumnName = "LINE_K3ID")] + public string? LineK3Id { get; set; } + + + /// <summary> + /// 鍏ュ簱鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "RK_NO")] + public string? RkNo { get; set; } + + + /// <summary> + /// 鍏ュ簱鏃ユ湡锛屾牸寮忎负yyyy-MM-dd + /// </summary> + [SugarColumn(ColumnName = "RK_DATE")] + public string? RkDate { get; set; } + + + /// <summary> + /// 鍏ュ簱鍗曡鍐呯爜 + /// </summary> + [SugarColumn(ColumnName = "RK_LINE")] + public string? RkLine { get; set; } + + + /// <summary> + /// 鐗╂枡鍐呯爜 + /// </summary> + [SugarColumn(ColumnName = "ITEM_ID")] + public string? ItemId { get; set; } + + /// <summary> + /// 渚涘簲鍟唅d + /// </summary> + [SugarColumn(ColumnName = "SUPP_ID")] + public string? SuppId { get; set; } +} \ No newline at end of file diff --git a/entity/MesInvItemArn.cs b/entity/MesInvItemArn.cs index 2b6e598..b87f1d5 100644 --- a/entity/MesInvItemArn.cs +++ b/entity/MesInvItemArn.cs @@ -241,4 +241,12 @@ /// </summary> [SugarColumn(ColumnName = "organize_code")] public string? OrganizeCode { get; set; } + + [SugarColumn(IsIgnore = true)] public string? DepotName { get; set; } + + [SugarColumn(IsIgnore = true)] public string? SuppName { get; set; } + + [SugarColumn(IsIgnore = true)] public string? SuppNo { get; set; } + + [SugarColumn(IsIgnore = true)] public string? DepotsCode { get; set; } } \ No newline at end of file diff --git a/entity/MesInvItemArnDetail.cs b/entity/MesInvItemArnDetail.cs index eaba4f3..4275372 100644 --- a/entity/MesInvItemArnDetail.cs +++ b/entity/MesInvItemArnDetail.cs @@ -7,248 +7,248 @@ [SugarTable("MES_INV_ITEM_ARN_DETAIL")] public class MesInvItemArnDetail { - /// <summary> - /// 榛樿鍊�: (newid()) - /// </summary> - [SugarColumn(ColumnName = "guid", IsPrimaryKey = true)] + /// <summary> + /// 榛樿鍊�: (newid()) + /// </summary> + [SugarColumn(ColumnName = "guid", IsPrimaryKey = true)] public Guid Guid { get; set; } - /// <summary> - /// </summary> - [SugarColumn(ColumnName = "parent_Guid")] + /// <summary> + /// </summary> + [SugarColumn(ColumnName = "parent_Guid")] public Guid? ParentGuid { get; set; } - /// <summary> - /// MES_ROH_IN_DATA鐨刧uid - /// </summary> - [SugarColumn(ColumnName = "about_Guid")] + /// <summary> + /// MES_ROH_IN_DATA鐨刧uid + /// </summary> + [SugarColumn(ColumnName = "about_Guid")] public Guid? AboutGuid { get; set; } - /// <summary> - /// 閲囪喘鍗曞彿 - /// </summary> - [SugarColumn(ColumnName = "ebeln")] + /// <summary> + /// 閲囪喘鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "ebeln")] public string Ebeln { get; set; } - /// <summary> - /// 閲囪喘璁㈠崟琛屽彿 - /// </summary> - [SugarColumn(ColumnName = "ebeln_line")] + /// <summary> + /// 閲囪喘璁㈠崟琛屽彿 + /// </summary> + [SugarColumn(ColumnName = "ebeln_line")] public int? EbelnLine { get; set; } - /// <summary> - /// 閲囪喘璁㈠崟鏁伴噺 - /// </summary> - [SugarColumn(ColumnName = "ebeln_qty")] + /// <summary> + /// 閲囪喘璁㈠崟鏁伴噺 + /// </summary> + [SugarColumn(ColumnName = "ebeln_qty")] public decimal? EbelnQty { get; set; } - /// <summary> - /// 鐗╂枡缂栫爜 - /// </summary> - [SugarColumn(ColumnName = "item_no")] + /// <summary> + /// 鐗╂枡缂栫爜 + /// </summary> + [SugarColumn(ColumnName = "item_no")] public string ItemNo { get; set; } - /// <summary> - /// 鏀惰揣鏁伴噺 - /// </summary> - [SugarColumn(ColumnName = "quantity")] + /// <summary> + /// 鏀惰揣鏁伴噺 + /// </summary> + [SugarColumn(ColumnName = "quantity")] public decimal? Quantity { get; set; } - /// <summary> - /// 鍒涘缓浜� - /// </summary> - [SugarColumn(ColumnName = "create_by")] + /// <summary> + /// 鍒涘缓浜� + /// </summary> + [SugarColumn(ColumnName = "create_by")] public string CreateBy { get; set; } - /// <summary> - /// 鍒涘缓鏃堕棿 - /// </summary> - [SugarColumn(ColumnName = "create_date")] + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + [SugarColumn(ColumnName = "create_date")] public DateTime? CreateDate { get; set; } - /// <summary> - /// 鏈�鍚庢洿鏂颁汉 - /// </summary> - [SugarColumn(ColumnName = "lastupdate_by")] + /// <summary> + /// 鏈�鍚庢洿鏂颁汉 + /// </summary> + [SugarColumn(ColumnName = "lastupdate_by")] public string LastupdateBy { get; set; } - /// <summary> - /// 鏈�鍚庢洿鏂版椂闂� - /// </summary> - [SugarColumn(ColumnName = "lastupdate_date")] + /// <summary> + /// 鏈�鍚庢洿鏂版椂闂� + /// </summary> + [SugarColumn(ColumnName = "lastupdate_date")] public DateTime? LastupdateDate { get; set; } - /// <summary> - /// 鍒嗗巶缂栫爜 - /// </summary> - [SugarColumn(ColumnName = "factory")] + /// <summary> + /// 鍒嗗巶缂栫爜 + /// </summary> + [SugarColumn(ColumnName = "factory")] public string Factory { get; set; } - /// <summary> - /// 鍏徃浠g爜 - /// </summary> - [SugarColumn(ColumnName = "company")] + /// <summary> + /// 鍏徃浠g爜 + /// </summary> + [SugarColumn(ColumnName = "company")] public string Company { get; set; } - /// <summary> - /// 閲囪喘鍗旾D - /// </summary> - [SugarColumn(ColumnName = "ebeln_k3id")] + /// <summary> + /// 閲囪喘鍗旾D + /// </summary> + [SugarColumn(ColumnName = "ebeln_k3id")] public int? EbelnK3id { get; set; } - /// <summary> - /// 閲囪喘鍗曡ID - /// </summary> - [SugarColumn(ColumnName = "line_k3id")] + /// <summary> + /// 閲囪喘鍗曡ID + /// </summary> + [SugarColumn(ColumnName = "line_k3id")] public int? LineK3id { get; set; } - /// <summary> - /// 鏈搴旀敹鏁伴噺 - /// </summary> - [SugarColumn(ColumnName = "sub_qty")] + /// <summary> + /// 鏈搴旀敹鏁伴噺 + /// </summary> + [SugarColumn(ColumnName = "sub_qty")] public decimal? SubQty { get; set; } - /// <summary> - /// 浣欓噺 - /// </summary> - [SugarColumn(ColumnName = "margin_qty")] + /// <summary> + /// 浣欓噺 + /// </summary> + [SugarColumn(ColumnName = "margin_qty")] public int? MarginQty { get; set; } - /// <summary> - /// 浠诲姟鍗曞彿 - /// </summary> - [SugarColumn(ColumnName = "work_no")] + /// <summary> + /// 浠诲姟鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "work_no")] public string WorkNo { get; set; } - /// <summary> - /// 鎬ユ枡鏍囪瘑 - /// 榛樿鍊�: ((0)) - /// </summary> - [SugarColumn(ColumnName = "urgent_flag")] + /// <summary> + /// 鎬ユ枡鏍囪瘑 + /// 榛樿鍊�: ((0)) + /// </summary> + [SugarColumn(ColumnName = "urgent_flag")] public bool? UrgentFlag { get; set; } - /// <summary> - /// 澶囨敞 - /// </summary> - [SugarColumn(ColumnName = "memo")] + /// <summary> + /// 澶囨敞 + /// </summary> + [SugarColumn(ColumnName = "memo")] public string Memo { get; set; } - /// <summary> - /// 妫�楠岀粨鏋� - /// </summary> - [SugarColumn(ColumnName = "check_res")] + /// <summary> + /// 妫�楠岀粨鏋� + /// </summary> + [SugarColumn(ColumnName = "check_res")] public string CheckRes { get; set; } - /// <summary> - /// 妫�楠岀姸鎬� 锛堝緟妫�銆佸垎閫夈�佺壒閲囥�佸凡妫�锛� - /// 榛樿鍊�: ('寰呮') - /// </summary> - [SugarColumn(ColumnName = "check_states")] + /// <summary> + /// 妫�楠岀姸鎬� 锛堝緟妫�銆佸垎閫夈�佺壒閲囥�佸凡妫�锛� + /// 榛樿鍊�: ('寰呮') + /// </summary> + [SugarColumn(ColumnName = "check_states")] public string CheckStates { get; set; } - /// <summary> - /// 鏀惰揣浣欓噺 - /// </summary> - [SugarColumn(ColumnName = "quantity_m")] + /// <summary> + /// 鏀惰揣浣欓噺 + /// </summary> + [SugarColumn(ColumnName = "quantity_m")] public int? QuantityM { get; set; } - /// <summary> - /// 鏈搴旀敹浣欓噺 - /// </summary> - [SugarColumn(ColumnName = "sub_mqty")] + /// <summary> + /// 鏈搴旀敹浣欓噺 + /// </summary> + [SugarColumn(ColumnName = "sub_mqty")] public int? SubMqty { get; set; } - /// <summary> - /// 妫�楠屾棩鏈� - /// </summary> - [SugarColumn(ColumnName = "check_date")] + /// <summary> + /// 妫�楠屾棩鏈� + /// </summary> + [SugarColumn(ColumnName = "check_date")] public DateTime? CheckDate { get; set; } - /// <summary> - /// 鏄惁妫�楠� - /// 榛樿鍊�: ((0)) - /// </summary> - [SugarColumn(ColumnName = "ischeck")] + /// <summary> + /// 鏄惁妫�楠� + /// 榛樿鍊�: ((0)) + /// </summary> + [SugarColumn(ColumnName = "ischeck")] public int? Ischeck { get; set; } - /// <summary> - /// 宸叉敹鏁伴噺 - /// </summary> - [SugarColumn(ColumnName = "ok_qty")] + /// <summary> + /// 宸叉敹鏁伴噺 + /// </summary> + [SugarColumn(ColumnName = "ok_qty")] public int? OkQty { get; set; } - /// <summary> - /// 宸叉敹浣欓噺 - /// </summary> - [SugarColumn(ColumnName = "ok_mqty")] + /// <summary> + /// 宸叉敹浣欓噺 + /// </summary> + [SugarColumn(ColumnName = "ok_mqty")] public int? OkMqty { get; set; } - /// <summary> - /// 浜у搧鍨嬪彿 - /// </summary> - [SugarColumn(ColumnName = "board_style")] + /// <summary> + /// 浜у搧鍨嬪彿 + /// </summary> + [SugarColumn(ColumnName = "board_style")] public string BoardStyle { get; set; } - /// <summary> - /// 浠诲姟鍗曡鍙� - /// </summary> - [SugarColumn(ColumnName = "work_line")] + /// <summary> + /// 浠诲姟鍗曡鍙� + /// </summary> + [SugarColumn(ColumnName = "work_line")] public int? WorkLine { get; set; } - /// <summary> - /// 0銆侀噰璐崟锛�1銆佸澶栧崟 - /// 榛樿鍊�: ((0)) - /// </summary> - [SugarColumn(ColumnName = "f_type")] + /// <summary> + /// 0銆侀噰璐崟锛�1銆佸澶栧崟 + /// 榛樿鍊�: ((0)) + /// </summary> + [SugarColumn(ColumnName = "f_type")] public int? FType { get; set; } - /// <summary> - /// 鏄惁鍏ュ簱 - /// 榛樿鍊�: ((0)) - /// </summary> - [SugarColumn(ColumnName = "isdeps_in")] + /// <summary> + /// 鏄惁鍏ュ簱 + /// 榛樿鍊�: ((0)) + /// </summary> + [SugarColumn(ColumnName = "isdeps_in")] public bool? IsdepsIn { get; set; } - /// <summary> - /// 鍒拌揣鍗曞彿 - /// </summary> - [SugarColumn(ColumnName = "dha001")] + /// <summary> + /// 鍒拌揣鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "dha001")] public string Dha001 { get; set; } - /// <summary> - /// 宸插叆搴撴暟閲� - /// </summary> - [SugarColumn(ColumnName = "ok_rkqty")] + /// <summary> + /// 宸插叆搴撴暟閲� + /// </summary> + [SugarColumn(ColumnName = "ok_rkqty")] public int? OkRkqty { get; set; } - /// <summary> - /// 鍒拌揣鍗曞彿 - /// </summary> - [SugarColumn(ColumnName = "cbill_no")] + /// <summary> + /// 鍒拌揣鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "cbill_no")] public string CbillNo { get; set; } - /// <summary> - /// 閲囪喘鍏ュ簱鏁伴噺 - /// </summary> - [SugarColumn(ColumnName = "cg_rkqty")] + /// <summary> + /// 閲囪喘鍏ュ簱鏁伴噺 + /// </summary> + [SugarColumn(ColumnName = "cg_rkqty")] public int? CgRkqty { get; set; } - /// <summary> - /// 鐗╂枡ID - /// </summary> - [SugarColumn(ColumnName = "item_id")] + /// <summary> + /// 鐗╂枡ID + /// </summary> + [SugarColumn(ColumnName = "item_id")] public int? ItemId { get; set; } - /// <summary> - /// 閫�璐ф爣璇� - /// 榛樿鍊�: ((0)) - /// </summary> - [SugarColumn(ColumnName = "return_flag")] + /// <summary> + /// 閫�璐ф爣璇� + /// 榛樿鍊�: ((0)) + /// </summary> + [SugarColumn(ColumnName = "return_flag")] public int? ReturnFlag { get; set; } - /// <summary> - /// 鎺ㄩ�佺姸鎬� - /// </summary> - [SugarColumn(ColumnName = "states")] + /// <summary> + /// 鎺ㄩ�佺姸鎬� + /// </summary> + [SugarColumn(ColumnName = "states")] public string States { get; set; } } \ No newline at end of file diff --git a/entity/MesInvItemOutCDetails.cs b/entity/MesInvItemOutCDetails.cs index 429a5cd..48f47ce 100644 --- a/entity/MesInvItemOutCDetails.cs +++ b/entity/MesInvItemOutCDetails.cs @@ -24,25 +24,25 @@ /// 鐗╂枡鏉$爜 /// </summary> [SugarColumn(ColumnName = "ITEM_BARCODE")] - public string ItemBarcode { get; set; } + public string? ItemBarcode { get; set; } /// <summary> /// 瀹㈡埛鐗╂枡缂栫爜锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級 /// </summary> [SugarColumn(ColumnName = "C_ITEM_CODE")] - public string CItemCode { get; set; } + public string? CItemCode { get; set; } /// <summary> /// 鏈徃鐗╂枡缂栫爜锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級 /// </summary> [SugarColumn(ColumnName = "ITEM_NO")] - public string ItemNo { get; set; } + public string? ItemNo { get; set; } /// <summary> /// 鍘傚鎵规 /// </summary> [SugarColumn(ColumnName = "LOT_NO")] - public string LotNo { get; set; } + public string? LotNo { get; set; } /// <summary> /// 鏁伴噺锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級 @@ -61,7 +61,7 @@ /// 鍒涘缓浜� /// </summary> [SugarColumn(ColumnName = "CREATE_BY")] - public string CreateBy { get; set; } + public string? CreateBy { get; set; } /// <summary> /// 鍒涘缓鏃堕棿 @@ -73,7 +73,7 @@ /// 鏈�鍚庢洿鏂颁汉 /// </summary> [SugarColumn(ColumnName = "LASTUPDATE_BY")] - public string LastupdateBy { get; set; } + public string? LastupdateBy { get; set; } /// <summary> /// 鏈�鍚庢洿鏂版椂闂� @@ -85,25 +85,25 @@ /// 瀹㈡埛缂栫爜 /// </summary> [SugarColumn(ColumnName = "CUST_NO")] - public string CustNo { get; set; } + public string? CustNo { get; set; } /// <summary> /// 浠撳簱缂栫爜 /// </summary> [SugarColumn(ColumnName = "DEPOT_CODE")] - public string DepotCode { get; set; } + public string? DepotCode { get; set; } /// <summary> /// 璐т綅缂栫爜 /// </summary> [SugarColumn(ColumnName = "DEPOT_SECTION_CODE")] - public string DepotSectionCode { get; set; } + public string? DepotSectionCode { get; set; } /// <summary> /// 澶囨敞 /// </summary> [SugarColumn(ColumnName = "REMARK")] - public string Remark { get; set; } + public string? Remark { get; set; } /// <summary> /// 鍏嶆鏍囪瘑(0-鍚︼紝1-鏄�) @@ -115,7 +115,7 @@ /// 鎶曟枡鎵规 /// </summary> [SugarColumn(ColumnName = "PRD_LOT_NO")] - public string PrdLotNo { get; set; } + public string? PrdLotNo { get; set; } /// <summary> /// 鏄惁鍋氭帴鏀舵鏌� @@ -128,55 +128,55 @@ /// 宸ュ巶缂栧彿 /// </summary> [SugarColumn(ColumnName = "FACTORY")] - public string Factory { get; set; } + public string? Factory { get; set; } /// <summary> /// 鍏徃缂栧彿 /// </summary> [SugarColumn(ColumnName = "COMPANY")] - public string Company { get; set; } + public string? Company { get; set; } /// <summary> /// 鍘熺敓浜у伐鍗� /// </summary> [SugarColumn(ColumnName = "TASK_NOY")] - public string TaskNoy { get; set; } + public string? TaskNoy { get; set; } /// <summary> /// 绠卞彿 /// </summary> [SugarColumn(ColumnName = "BOX_NO")] - public string BoxNo { get; set; } + public string? BoxNo { get; set; } /// <summary> /// 鍖呰鎵规 /// </summary> [SugarColumn(ColumnName = "TASK_PACK")] - public string TaskPack { get; set; } + public string? TaskPack { get; set; } /// <summary> /// 鍗℃澘 /// </summary> [SugarColumn(ColumnName = "KB_NO")] - public string KbNo { get; set; } + public string? KbNo { get; set; } /// <summary> /// 鏉垮瀷 /// </summary> [SugarColumn(ColumnName = "BOARD_STYLE")] - public string BoardStyle { get; set; } + public string? BoardStyle { get; set; } /// <summary> /// 鐢熶骇宸ュ崟 /// </summary> [SugarColumn(ColumnName = "TASK_NO")] - public string TaskNo { get; set; } + public string? TaskNo { get; set; } /// <summary> /// 宸ュ崟鍙� /// </summary> [SugarColumn(ColumnName = "WORK_NO")] - public string WorkNo { get; set; } + public string? WorkNo { get; set; } /// <summary> /// 宸ヤ綔绾� @@ -188,13 +188,13 @@ /// 渚涘簲鍟嗙紪鍙� /// </summary> [SugarColumn(ColumnName = "SUPP_NO")] - public string SuppNo { get; set; } + public string? SuppNo { get; set; } /// <summary> /// 閲囪喘鍗曞彿 /// </summary> [SugarColumn(ColumnName = "PBILL_NO")] - public string PbillNo { get; set; } + public string? PbillNo { get; set; } /// <summary> /// 鏀跺埌鏁伴噺 @@ -213,19 +213,19 @@ /// 鏀惰揣浜� /// </summary> [SugarColumn(ColumnName = "RCV_BY")] - public string RcvBy { get; set; } + public string? RcvBy { get; set; } /// <summary> /// 鏀惰揣閮ㄥ垎 /// </summary> [SugarColumn(ColumnName = "RCV_PART")] - public string RcvPart { get; set; } + public string? RcvPart { get; set; } /// <summary> /// 鍏ュ簱缂栧彿 /// </summary> [SugarColumn(ColumnName = "RK_NO")] - public string RkNo { get; set; } + public string? RkNo { get; set; } /// <summary> /// 閲囪喘璁㈠崟ID @@ -256,4 +256,11 @@ /// </summary> [SugarColumn(ColumnName = "depot_id")] public int? DepotId { get; set; } + + [SugarColumn(IsIgnore = true)] public string? DepotName { get; set; } + [SugarColumn(IsIgnore = true)] public string? ItemName { get; set; } + [SugarColumn(IsIgnore = true)] public string? ItemModel { get; set; } + [SugarColumn(IsIgnore = true)] public string? Unit { get; set; } + + [SugarColumn(IsIgnore = true)] public string? DepotSectionName { get; set; } } \ No newline at end of file diff --git a/entity/MesInvItemOutItems.cs b/entity/MesInvItemOutItems.cs index fde8da3..6d4a2b3 100644 --- a/entity/MesInvItemOutItems.cs +++ b/entity/MesInvItemOutItems.cs @@ -23,7 +23,7 @@ /// 鐗╂枡缂栧彿 /// </summary> [SugarColumn(ColumnName = "item_no")] - public string ItemNo { get; set; } + public string? ItemNo { get; set; } /// <summary> /// 鐢宠鏁伴噺 @@ -34,7 +34,7 @@ /// <summary> /// </summary> [SugarColumn(ColumnName = "create_by")] - public string CreateBy { get; set; } + public string? CreateBy { get; set; } /// <summary> /// </summary> @@ -44,7 +44,7 @@ /// <summary> /// </summary> [SugarColumn(ColumnName = "lastupdate_by")] - public string LastupdateBy { get; set; } + public string? LastupdateBy { get; set; } /// <summary> /// </summary> @@ -55,40 +55,40 @@ /// 澶囨敞淇℃伅 /// </summary> [SugarColumn(ColumnName = "remark")] - public string Remark { get; set; } + public string? Remark { get; set; } /// <summary> /// </summary> [SugarColumn(ColumnName = "factory")] - public string Factory { get; set; } + public string? Factory { get; set; } /// <summary> /// </summary> [SugarColumn(ColumnName = "company")] - public string Company { get; set; } + public string? Company { get; set; } /// <summary> /// 鎺ㄤ粙浠撳簱 /// </summary> [SugarColumn(ColumnName = "depot_code")] - public string DepotCode { get; set; } + public string? DepotCode { get; set; } /// <summary> /// 鎺ㄤ粙搴撲綅 /// </summary> [SugarColumn(ColumnName = "depot_section_code")] - public string DepotSectionCode { get; set; } + public string? DepotSectionCode { get; set; } /// <summary> /// </summary> [SugarColumn(ColumnName = "task_no")] - public string TaskNo { get; set; } + public string? TaskNo { get; set; } /// <summary> /// 鍒拌揣鍗曞彿 /// </summary> [SugarColumn(ColumnName = "work_no")] - public string WorkNo { get; set; } + public string? WorkNo { get; set; } /// <summary> /// 鍒拌揣鍗曡鍙� @@ -112,13 +112,13 @@ /// ERP_鏂欏彿 /// </summary> [SugarColumn(ColumnName = "erp_item_no")] - public string ErpItemNo { get; set; } + public string? ErpItemNo { get; set; } /// <summary> /// 棰滆壊 /// </summary> [SugarColumn(ColumnName = "color_name")] - public string ColorName { get; set; } + public string? ColorName { get; set; } /// <summary> /// 鏈�鏂颁笅杞芥洿鏂版爣璇� @@ -144,7 +144,7 @@ /// 榛樿鍊�: ('0') /// </summary> [SugarColumn(ColumnName = "ebeln")] - public string Ebeln { get; set; } + public string? Ebeln { get; set; } /// <summary> /// 閲囪喘璁㈠崟琛屽彿 @@ -162,7 +162,7 @@ /// 浜у搧缂栧彿 /// </summary> [SugarColumn(ColumnName = "board_item")] - public string BoardItem { get; set; } + public string? BoardItem { get; set; } /// <summary> /// </summary> @@ -185,19 +185,19 @@ /// 棰嗘枡缂栧彿/鐢熶骇宸ュ崟 /// </summary> [SugarColumn(ColumnName = "pbill_no")] - public string PbillNo { get; set; } + public string? PbillNo { get; set; } /// <summary> /// erp鎺ュ彛杩斿洖 /// </summary> [SugarColumn(ColumnName = "erp_mark")] - public string ErpMark { get; set; } + public string? ErpMark { get; set; } /// <summary> /// 鍏ュ簱鍗曞彿 /// </summary> [SugarColumn(ColumnName = "rk_no")] - public string RkNo { get; set; } + public string? RkNo { get; set; } /// <summary> /// 宸插叆搴撴暟 @@ -222,4 +222,11 @@ /// </summary> [SugarColumn(ColumnName = "item_dabid")] public int? ItemDabid { get; set; } + + + [SugarColumn(IsIgnore = true)] public string? ItemName { get; set; } + + [SugarColumn(IsIgnore = true)] public string? ItemModel { get; set; } + + [SugarColumn(IsIgnore = true)] public decimal? KtQty { get; set; } } \ No newline at end of file diff --git a/entity/MesInvItemOuts.cs b/entity/MesInvItemOuts.cs index 527065b..89aec87 100644 --- a/entity/MesInvItemOuts.cs +++ b/entity/MesInvItemOuts.cs @@ -17,25 +17,25 @@ /// 琛ユ枡鐢宠鍗曞彿 /// </summary> [SugarColumn(ColumnName = "bbill_no")] - public string BbillNo { get; set; } + public string? BbillNo { get; set; } /// <summary> /// 鍑哄簱鍗曞彿 /// </summary> [SugarColumn(ColumnName = "item_out_no")] - public string ItemOutNo { get; set; } + public string? ItemOutNo { get; set; } /// <summary> /// 鐢熶骇璁㈠崟 /// </summary> [SugarColumn(ColumnName = "task_no")] - public string TaskNo { get; set; } + public string? TaskNo { get; set; } /// <summary> /// 宸ュ簭鍙� /// </summary> [SugarColumn(ColumnName = "proc_no")] - public string ProcNo { get; set; } + public string? ProcNo { get; set; } /// <summary> /// 鐘舵�亅0-鏈鏍�1-瀹℃牳 @@ -48,7 +48,7 @@ /// 鍒涘缓浜� /// </summary> [SugarColumn(ColumnName = "create_by")] - public string CreateBy { get; set; } + public string? CreateBy { get; set; } /// <summary> /// 鍒涘缓鏃堕棿 @@ -61,7 +61,7 @@ /// 鏈�鍚庢洿鏂颁汉 /// </summary> [SugarColumn(ColumnName = "lastupdate_by")] - public string LastupdateBy { get; set; } + public string? LastupdateBy { get; set; } /// <summary> /// 鏈�鍚庢洿鏂版椂闂� @@ -86,25 +86,25 @@ /// 澶囨敞淇℃伅 /// </summary> [SugarColumn(ColumnName = "remark")] - public string Remark { get; set; } + public string? Remark { get; set; } /// <summary> /// 鍑哄簱鍘熷洜 /// </summary> [SugarColumn(ColumnName = "reason")] - public string Reason { get; set; } + public string? Reason { get; set; } /// <summary> /// 鐢熶骇绾跨紪鐮� /// </summary> [SugarColumn(ColumnName = "produce_line_no")] - public string ProduceLineNo { get; set; } + public string? ProduceLineNo { get; set; } /// <summary> /// 瀹℃牳浜� /// </summary> [SugarColumn(ColumnName = "check_user")] - public string CheckUser { get; set; } + public string? CheckUser { get; set; } /// <summary> /// 瀹℃牳鏃ユ湡 @@ -122,19 +122,19 @@ /// 棰嗘枡宸ユ /// </summary> [SugarColumn(ColumnName = "mmlist")] - public string Mmlist { get; set; } + public string? Mmlist { get; set; } /// <summary> /// 瀛愬簱CODE /// </summary> [SugarColumn(ColumnName = "depot_code")] - public string DepotCode { get; set; } + public string? DepotCode { get; set; } /// <summary> /// SAP杩斿洖鍗曟嵁 /// </summary> [SugarColumn(ColumnName = "sapno")] - public string Sapno { get; set; } + public string? Sapno { get; set; } /// <summary> /// 鏄惁宸插洖鍐橲AP @@ -153,19 +153,19 @@ /// SAP杩斿洖淇℃伅 /// </summary> [SugarColumn(ColumnName = "saptext")] - public string Saptext { get; set; } + public string? Saptext { get; set; } /// <summary> /// 宸ュ簭绾夸綋 /// </summary> [SugarColumn(ColumnName = "proc_line_no")] - public string ProcLineNo { get; set; } + public string? ProcLineNo { get; set; } /// <summary> /// 棰嗘枡閮ㄩ棬 /// </summary> [SugarColumn(ColumnName = "out_part")] - public string OutPart { get; set; } + public string? OutPart { get; set; } /// <summary> /// 0 鐢熶骇,1 濮斿 @@ -192,19 +192,19 @@ /// 鎺ユ敹浜� /// </summary> [SugarColumn(ColumnName = "receiver")] - public string Receiver { get; set; } + public string? Receiver { get; set; } /// <summary> /// 宸ュ巶缂栧彿 /// </summary> [SugarColumn(ColumnName = "factory")] - public string Factory { get; set; } + public string? Factory { get; set; } /// <summary> /// 鍏徃缂栧彿 /// </summary> [SugarColumn(ColumnName = "company")] - public string Company { get; set; } + public string? Company { get; set; } /// <summary> /// 鍐查攢浜嬪姟绫诲瀷缂栫爜 @@ -216,7 +216,7 @@ /// 浠诲姟鍗曞彿 /// </summary> [SugarColumn(ColumnName = "work_no")] - public string WorkNo { get; set; } + public string? WorkNo { get; set; } /// <summary> /// 浠诲姟鍗曞彿琛屽彿 @@ -228,13 +228,13 @@ /// 渚涘簲鍟嗙紪鍙� /// </summary> [SugarColumn(ColumnName = "supp_no")] - public string SuppNo { get; set; } + public string? SuppNo { get; set; } /// <summary> /// 璁㈠崟鍙� /// </summary> [SugarColumn(ColumnName = "cmpocode")] - public string Cmpocode { get; set; } + public string? Cmpocode { get; set; } /// <summary> /// 鍘熺墿鏂欏嚭璐ф爣璇� @@ -254,19 +254,19 @@ /// 鍑哄簱绫诲埆 /// </summary> [SugarColumn(ColumnName = "out_type")] - public string OutType { get; set; } + public string? OutType { get; set; } /// <summary> /// 涓氬姟绫诲瀷 /// </summary> [SugarColumn(ColumnName = "business_type")] - public string BusinessType { get; set; } + public string? BusinessType { get; set; } /// <summary> /// 浜у搧缂栧彿 /// </summary> [SugarColumn(ColumnName = "board_item")] - public string BoardItem { get; set; } + public string? BoardItem { get; set; } /// <summary> /// 浜ч噺 @@ -278,7 +278,7 @@ /// 棰嗘枡缂栧彿/濮斿璁㈠崟/鍏朵粬鍑哄簱鍗曞彿 /// </summary> [SugarColumn(ColumnName = "pbill_no")] - public string PbillNo { get; set; } + public string? PbillNo { get; set; } /// <summary> /// 鏍囪瘑 /1宸叉帹閫� @@ -290,19 +290,19 @@ /// 閫�鏂欐柟寮� /// </summary> [SugarColumn(ColumnName = "fmrmode")] - public string Fmrmode { get; set; } + public string? Fmrmode { get; set; } /// <summary> /// erp杩斿洖淇℃伅 /// </summary> [SugarColumn(ColumnName = "msg")] - public string Msg { get; set; } + public string? Msg { get; set; } /// <summary> /// 鐘舵�� /// </summary> [SugarColumn(ColumnName = "states")] - public string States { get; set; } + public string? States { get; set; } /// <summary> /// </summary> @@ -313,4 +313,12 @@ /// </summary> [SugarColumn(ColumnName = "depot_id")] public int? DepotId { get; set; } + + [SugarColumn(IsIgnore = true)] public string? DepotName { get; set; } + + [SugarColumn(IsIgnore = true)] public string? SuppName { get; set; } + + [SugarColumn(IsIgnore = true)] public string? CreateByFname { get; set; } + + [SugarColumn(IsIgnore = true)] public string? CheckUserFname { get; set; } } \ No newline at end of file diff --git a/service/Warehouse/MesInvItemArnManager.cs b/service/Warehouse/MesInvItemArnManager.cs new file mode 100644 index 0000000..b13f4a9 --- /dev/null +++ b/service/Warehouse/MesInvItemArnManager.cs @@ -0,0 +1,71 @@ +锘縰sing NewPdaSqlServer.DB; +using NewPdaSqlServer.Dto.service; +using NewPdaSqlServer.entity; +using NewPdaSqlServer.util; +using SqlSugar; + +namespace NewPdaSqlServer.service.Warehouse; + +public class MesInvItemArnManager : Repository<MesInvItemArn> +{ + //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉� + + //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 MesInvItemArnManager.cs + public List<MesInvItemArn> GetPagedResults(WarehouseQuery query) + { + var parsedGuid = Guid.Empty; + if (!string.IsNullOrEmpty(query.id)) + { + var isValid = Guid.TryParse(query.id, out parsedGuid); + if (!isValid) + throw new ApplicationException("GUID杞崲閿欒"); + } + + // 鏌ヨ骞跺垎椤� + var result = Db.Queryable<MesInvItemArn, MesDepots, MesSupplier>( + (a, d, f) => new object[] + { + JoinType.Left, a.DepotsId == d.DepotId.ToString(), + JoinType.Left, a.SuppId == f.Id.ToString() + }) + .Where((a, d, f) => a.BillTypeId == 700 + && a.TransctionNo == "701" + && a.IsVisual == 0) + .WhereIF(UtilityHelper.CheckGuid(parsedGuid), + (a, d, f) => a.Guid == parsedGuid) + .Select((a, d, f) => new MesInvItemArn + { + Status = a.Status, + SuppNo = f.SuppNo, + FType = a.FType, + Fstatus = a.Fstatus, + Remark = a.Remark, + CheckDate = a.CheckDate, + DepotsCode = d.DepotCode, + Guid = a.Guid, + UrgentFlag = a.UrgentFlag, + CreateBy = a.CreateBy, + BillNo = a.BillNo, + PaperBillNo = a.PaperBillNo, + DepotName = d.DepotName, + SuppName = f.SuppName + }).OrderByDescending(a => a.BillNo) + .ToPageList(query.PageIndex, query.Limit); + + return result; + } + + public List<MesSupplier> GetSuppliers() + { + return Db.Queryable<MesInvItemArn, MesSupplier>((a, b) => + new JoinQueryInfos(JoinType.Left, a.SuppId == b.Id.ToString())) + .GroupBy((a, b) => new { b.Id, b.SuppNo, b.SuppName }) + .Select((a, b) => new MesSupplier + { + SuppNo = b.SuppNo, + SuppName = b.SuppName, + Id = b.Id + }) + .ToList(); + } +} \ No newline at end of file diff --git a/service/Warehouse/MesInvItemOutCDetailsManager.cs b/service/Warehouse/MesInvItemOutCDetailsManager.cs new file mode 100644 index 0000000..3547138 --- /dev/null +++ b/service/Warehouse/MesInvItemOutCDetailsManager.cs @@ -0,0 +1,122 @@ +锘縰sing NewPdaSqlServer.DB; +using NewPdaSqlServer.Dto.service; +using NewPdaSqlServer.entity; +using SqlSugar; + +namespace NewPdaSqlServer.service.Warehouse; + +public class MesInvItemOutCDetailsManager : Repository<MesInvItemOutCDetails> +{ + //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉� + + //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 MesInvItemOutCDetailsManager.cs + + + public MesInvItemOutCDetails GetOutList(WarehouseQuery query) + { + var mesInvItemBarcodes = Db.Queryable<MesInvItemBarcodes>() + .Where(s => s.ItemBarcode == query.barcode).Count(); + + if (mesInvItemBarcodes <= 0) throw new Exception("鏉$爜涓嶅瓨鍦�"); + + var mesInvItemOutCDetails = Db.Queryable<MesInvItemOutCDetails>() + .Where(s => s.ItemBarcode == query.barcode && s.Receive == false) + .Count(); + + + if (mesInvItemOutCDetails <= 0) throw new Exception("鏉$爜涓嶇鍚堟帴鏀舵潯浠�,璇锋鏌ワ紒"); + + + var entity = Db + .Queryable<MesInvItemOutCDetails, MesInvItemOuts, MesItems>( + (a, b, c) => + new JoinQueryInfos(JoinType.Left, a.ItemOutId == b.Guid, + JoinType.Left, a.ItemNo == c.ItemNo)) + .Where((a, b, c) => a.ItemBarcode == query.barcode) + .Select((a, b, c) => new MesInvItemOutCDetails + { + PbillNo = b.ItemOutNo, + WorkNo = a.WorkNo, + ItemNo = a.ItemNo, + ItemName = c.ItemName, + Quantity = a.Quantity + }).First(); + + if (entity == null) + throw new Exception("鍑哄簱鏉$爜" + query.barcode + " 涓嶅瓨鍦紝璇风‘璁�!"); + + + return entity; + } + + + public MaterialReceipt GetFormList(WarehouseQuery query) + { + var mesInvItemBarcodes = Db.Queryable<MesInvItemBarcodes>() + .Where(s => s.ItemBarcode == query.barcode).Count(); + + if (mesInvItemBarcodes <= 0) throw new Exception("鏉$爜涓嶅瓨鍦�"); + + var mesInvItemOutCDetails = Db.Queryable<MesInvItemOutCDetails>() + .Where(s => s.ItemBarcode == query.barcode).First(); + + var entity = new MaterialReceipt + { + InvItemoutCDetails = + GetMesInvItemOutCDetails(mesInvItemOutCDetails.PbillNo), + ItemOuts = GetMesInvItemOuts(mesInvItemOutCDetails.PbillNo) + }; + + return entity; + } + + + public MesInvItemOutCDetails confirmReceipt(WarehouseQuery query) + { + if (string.IsNullOrWhiteSpace(query.barcode)) + throw new Exception("璇锋壂鍑哄簱鏉$爜锛�"); + + if (string.IsNullOrWhiteSpace(query.billNo)) + throw new Exception("鍑哄簱鍗曟嵁涓嶈兘涓虹┖锛�"); + + + var barcodeInfo = GetBarcodeInfo(query.barcode); + + + if (barcodeInfo.Receive.Value) throw new Exception("姝ゆ潯鐮佸凡缁忔帴鏀�,璇锋鏌ワ紒"); + + + UseTransaction(db => + { + var count = db.Updateable<MesInvItemOutCDetails>() + .SetColumns(s => s.Receive == true) + .Where(s => s.ItemBarcode == barcodeInfo.ItemBarcode) + .ExecuteCommand(); + + return 1; + }); + + return barcodeInfo; + } + + + public List<MesInvItemOutCDetails> GetMesInvItemOutCDetails(string billno) + { + return Db.Queryable<MesInvItemOutCDetails>() + .Where(s => s.PbillNo == billno).ToList(); + } + + public MesInvItemOuts GetMesInvItemOuts(string billno) + { + return Db.Queryable<MesInvItemOuts>() + .Where(a => a.ItemOutNo == billno).Single(); + } + + + private MesInvItemOutCDetails GetBarcodeInfo(string itemBarcode) + { + // Get barcode information + return Db.Queryable<MesInvItemOutCDetails>() + .First(b => b.ItemBarcode == itemBarcode); + } +} \ No newline at end of file diff --git a/service/Warehouse/MesInvItemOutItemsManager.cs b/service/Warehouse/MesInvItemOutItemsManager.cs new file mode 100644 index 0000000..816b03b --- /dev/null +++ b/service/Warehouse/MesInvItemOutItemsManager.cs @@ -0,0 +1,78 @@ +锘縰sing NewPdaSqlServer.DB; +using NewPdaSqlServer.entity; +using SqlSugar; + +namespace NewPdaSqlServer.service.Warehouse; + +public class MesInvItemOutItemsManager : Repository<MesInvItemOutItems> +{ + //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉� + + //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 MesInvItemOutItemsManager.cs + + + #region 鏁欏鏂规硶 + + /// <summary> + /// 浠撳偍鏂规硶婊¤冻涓嶄簡澶嶆潅涓氬姟闇�姹傦紝涓氬姟浠g爜璇峰湪杩欓噷闈㈠畾涔夋柟娉� + /// </summary> + public void Study() + { + /*********鏌ヨ*********/ + + var data1 = base.GetById(1); //鏍规嵁ID鏌ヨ + var data2 = base.GetList(); //鏌ヨ鎵�鏈� + var data3 = base.GetList(it => 1 == 1); //鏍规嵁鏉′欢鏌ヨ + //var data4 = base.GetSingle(it => 1 == 1);//鏍规嵁鏉′欢鏌ヨ涓�鏉�,濡傛灉瓒呰繃涓�鏉′細鎶ラ敊 + + var p = new PageModel { PageIndex = 1, PageSize = 2 }; // 鍒嗛〉鏌ヨ + var data5 = base.GetPageList(it => 1 == 1, p); + Console.Write(p.TotalCount); //杩斿洖鎬绘暟 + + var data6 = + base.GetPageList(it => 1 == 1, p, + it => SqlFunc.GetRandom()); // 鍒嗛〉鏌ヨ鍔犳帓搴� + Console.Write(p.TotalCount); //杩斿洖鎬绘暟 + + var conModels = new List<IConditionalModel>(); //缁勮鏉′欢鏌ヨ浣滀负鏉′欢瀹炵幇 鍒嗛〉鏌ヨ鍔犳帓搴� + conModels.Add(new ConditionalModel + { + FieldName = typeof(MesInvItemOutItems).GetProperties()[0].Name, + ConditionalType = ConditionalType.Equal, FieldValue = "1" + }); //id=1 + var data7 = base.GetPageList(conModels, p, it => SqlFunc.GetRandom()); + + AsQueryable().Where(x => 1 == 1) + .ToList(); //鏀寔浜嗚浆鎹㈡垚queryable,鎴戜滑鍙互鐢╭ueryable瀹炵幇澶嶆潅鍔熻兘 + + + /*********鎻掑叆*********/ + var insertData = new MesInvItemOutItems(); //娴嬭瘯鍙傛暟 + var insertArray = new[] { insertData }; + base.Insert(insertData); //鎻掑叆 + base.InsertRange(insertArray); //鎵归噺鎻掑叆 + var id = base.InsertReturnIdentity(insertData); //鎻掑叆杩斿洖鑷鍒� + AsInsertable(insertData).ExecuteCommand(); //鎴戜滑鍙互杞垚 Insertable瀹炵幇澶嶆潅鎻掑叆 + + + /*********鏇存柊*********/ + var updateData = new MesInvItemOutItems(); //娴嬭瘯鍙傛暟 + var updateArray = new[] { updateData }; //娴嬭瘯鍙傛暟 + base.Update(updateData); //鏍规嵁瀹炰綋鏇存柊 + base.UpdateRange(updateArray); //鎵归噺鏇存柊 + //base.Update(it => new MesInvItemOutItems() { ClassName = "a", CreateTime = DateTime.Now }, it => it.id==1);// 鍙洿鏂癈lassName鍒楀拰CreateTime鍒楋紝鍏跺畠鍒椾笉鏇存柊锛屾潯浠秈d=1 + AsUpdateable(updateData).ExecuteCommand(); //杞垚Updateable鍙互瀹炵幇澶嶆潅鐨勬彃鍏� + + + /*********鍒犻櫎*********/ + var deldata = new MesInvItemOutItems(); //娴嬭瘯鍙傛暟 + base.Delete(deldata); //鏍规嵁瀹炰綋鍒犻櫎 + base.DeleteById(1); //鏍规嵁涓婚敭鍒犻櫎 + base.DeleteById(new[] { 1, 2 }); //鏍规嵁涓婚敭鏁扮粍鍒犻櫎 + base.Delete(it => 1 == 2); //鏍规嵁鏉′欢鍒犻櫎 + AsDeleteable().Where(it => 1 == 2) + .ExecuteCommand(); //杞垚Deleteable瀹炵幇澶嶆潅鐨勬搷浣� + } + + #endregion +} \ No newline at end of file diff --git a/service/Warehouse/MesInvItemOutsManager.cs b/service/Warehouse/MesInvItemOutsManager.cs new file mode 100644 index 0000000..dae6a83 --- /dev/null +++ b/service/Warehouse/MesInvItemOutsManager.cs @@ -0,0 +1,429 @@ +锘縰sing NewPdaSqlServer.DB; +using NewPdaSqlServer.Dto.service; +using NewPdaSqlServer.entity; +using NewPdaSqlServer.util; +using SqlSugar; + +namespace NewPdaSqlServer.service.Warehouse; + +public class MesInvItemOutsManager : Repository<MesInvItemOuts> +{ + public List<MesInvItemOuts> GetPage(WarehouseQuery query) + { + var parsedGuid = Guid.Empty; + if (!string.IsNullOrEmpty(query.id)) + { + var isValid = Guid.TryParse(query.id, out parsedGuid); + if (!isValid) + throw new ApplicationException("GUID杞崲閿欒"); + } + + return + Db.Queryable<MesInvItemOuts, MesDepots, MesSupplier, SysUser, + SysUser>((a, e, i, u1, u3) => + new JoinQueryInfos( + JoinType.Left, + a.DepotId == e.DepotId, + JoinType.Left, + a.SuppId == i.Id, + JoinType.Left, + a.CreateBy == u1.Account, + JoinType.Left, + a.CheckUser == u3.Account)) + .WhereIF(UtilityHelper.CheckGuid(parsedGuid), + (a, e, i, u1, u3) => a.Guid == parsedGuid) + .WhereIF(!string.IsNullOrEmpty(query.billNo), + (a, e, i, u1, u3) => a.ItemOutNo == query.billNo) + .Select((a, e, i, u1, u3) => new MesInvItemOuts + { + Guid = a.Guid, + DepotCode = e.DepotCode, + Fmrmode = a.Fmrmode, + CheckDate = a.CheckDate, + CheckUser = a.CheckUser, + States = a.States, + Reason = a.Reason, + Remark = a.Remark, + Nflag = a.Nflag, + FType = a.FType, + SuppNo = i.SuppNo, + DepotName = e.DepotName, + SuppName = i.SuppName, + CreateByFname = u1.Account, + CheckUserFname = u3.Account, + CreateDate = a.CreateDate, + CreateBy = a.CreateBy, + Status = a.Status, + ItemOutNo = a.ItemOutNo + }).ToPageList(query.PageIndex, query.Limit); + } + + public List<MesInvItemOutItems> GetItems(WarehouseQuery query) + { + var parsedGuid = Guid.Empty; + if (string.IsNullOrEmpty(query.id)) return []; + + var isValid = Guid.TryParse(query.id, out parsedGuid); + if (!isValid) + throw new ApplicationException("GUID杞崲閿欒"); + + var mesInvItemOutItemsList = Db.Queryable<MesInvItemOutItems, MesItems>( + (c, s) => new object[] + { + JoinType.Inner, c.ItemId == s.Id + }).Where((c, s) => c.ItemOutId == parsedGuid) + .Select<MesInvItemOutItems>((c, s) => new MesInvItemOutItems + { + Guid = c.Guid, + TlQty = c.TlQty, + WorkLine = c.WorkLine, + PbillNo = c.PbillNo, + LineK3id = c.LineK3id, + DepotCode = c.DepotCode, + Status = c.Status, + Remark = c.Remark, + EbelnK3id = c.EbelnK3id, + Quantity = c.Quantity, + ItemNo = s.ItemNo, + ItemName = s.ItemName, + ItemModel = s.ItemModel, + ItemId = c.ItemId, + RkNo = c.RkNo, + WorkNo = c.WorkNo + }).ToList(); + + foreach (var mesInvItemOutItemse in mesInvItemOutItemsList) + { + var u = Db.Queryable<MesInvItemOutItems>() + .GroupBy(it => new + { it.ItemId, it.PbillNo, it.WorkLine, it.RkNo }) + .Where(it => it.ItemId == mesInvItemOutItemse.ItemId + // && it.PbillNo == mesInvItemOutItemse.PbillNo + // && it.WorkLine == mesInvItemOutItemse.WorkLine + && it.RkNo == mesInvItemOutItemse.RkNo) + .Select(it => new + { + KtQty = SqlFunc.AggregateSum(it.Quantity ?? 0) + }).First(); + + var s1 = Db.Queryable<MesInvItemInCItems>() + .GroupBy(it => new + { it.ItemId, it.Ebeln, it.WorkLine, it.BillNo }) + .Where(it => it.ItemId == mesInvItemOutItemse.ItemId + && it.CbillNo == mesInvItemOutItemse.PbillNo + // && it.WorkLine == mesInvItemOutItemse.WorkLine + // && it.BillNo == mesInvItemOutItemse.RkNo + ) + .Select(it => new + { + RkQty = SqlFunc.AggregateSum(it.Quantity ?? 0) + }).First(); + + mesInvItemOutItemse.KtQty = s1.RkQty - u.KtQty; + } + + return mesInvItemOutItemsList; + } + + public OutItemDto SaveCombination(OutItemDto dto) + { + var mesInvItemOuts = dto.Form; + mesInvItemOuts.Status = 0; + mesInvItemOuts.BoardFlag = false; + mesInvItemOuts.Sapstatus = false; + mesInvItemOuts.OutStatus = false; + mesInvItemOuts.ItemFlag = false; + mesInvItemOuts.IsVisual = true; + mesInvItemOuts.TransactionNo = 203; + mesInvItemOuts.Factory = "1000"; + mesInvItemOuts.Company = "1000"; + + var newGuid = Guid.NewGuid(); + + mesInvItemOuts.Guid = newGuid; + + //杩斿洖ID + var command = Db.Insertable(mesInvItemOuts) + .ExecuteCommand(); + + if (command <= 0) throw new Exception("鎻掑叆閿欒"); + + dto.SaveItems.ForEach(s => + { + s.ItemOutId = newGuid; + s.Factory = "1000"; + s.Company = "1000"; + s.Status = 0; + s.DepotCode = mesInvItemOuts.DepotCode; + s.FType = mesInvItemOuts.FType; + s.CreateBy = mesInvItemOuts.CreateBy; + s.CreateDate = mesInvItemOuts.CreateDate; + }); + + var insertable = Db.Insertable(dto.SaveItems) + .ExecuteCommand(); + + if (insertable < 0) throw new Exception("鎻掑叆閿欒"); + + var query = new WarehouseQuery(); + query.id = newGuid.ToString(); + dto.SelectItems = GetItems(query); + + return dto; + } + + + public List<CgtlView> SelectMaterials(WarehouseQuery query) + { + return Db.Queryable<CgtlView>() + .Where(s => s.SuppId == query.SuppId) + .ToList(); + } + + private void Validate(WarehouseQuery query) + { + // 鏍¢獙鍗曞彿鏄惁姝g‘ + var mesInvItemOuts = Db.Queryable<MesInvItemOuts>() + .Where(o => o.ItemOutNo == query.billNo) + .Single(); + + if (mesInvItemOuts == null) + throw new Exception("娌℃壘鍒�" + query.billNo + " 瀵瑰簲鐨勯噰璐��璐у崟锛岃妫�鏌�"); + + // 鏍¢獙瀛愯〃鏁版嵁 + var itemOutItems = Db.Queryable<MesInvItemOutItems>() + .Where(o => o.ItemOutId == mesInvItemOuts.Guid) + .ToList(); + + var sql = string.Empty; + var P_Msg = string.Empty; + + foreach (var item in itemOutItems) + { + // 鍒ゆ柇鐢宠鏁伴噺鏄惁澶т簬鍓╀綑鍙��鏁伴噺 + sql = string.Format( + @"SELECT isnull(s1.RK_QTY, 0) - isnull(KT_QTY, 0) KT_QTY + FROM MES_INV_ITEM_OUT_ITEMS C + LEFT JOIN (SELECT SUM(QUANTITY) KT_QTY, + ITEM_NO, + PBILL_NO, + RK_NO, + WORK_LINE + FROM MES_INV_ITEM_OUT_ITEMS + GROUP BY ITEM_NO, PBILL_NO, WORK_LINE,RK_NO) U + ON U.ITEM_NO = C.ITEM_NO + AND U.WORK_LINE = C.WORK_LINE + AND U.PBILL_NO = C.PBILL_NO + AND U.RK_NO = C.RK_NO + LEFT JOIN (SELECT SUM(QUANTITY) RK_QTY, + ITEM_NO, + EBELN, + WORK_LINE,BILL_NO + FROM MES_INV_ITEM_IN_C_ITEMS + GROUP BY ITEM_NO, EBELN, WORK_LINE,BILL_NO) s1 + ON S1.ITEM_NO = C.ITEM_NO + AND S1.WORK_LINE = C.WORK_LINE + AND S1.EBELN = C.PBILL_NO + AND S1.BILL_NO = C.RK_NO + WHERE C.guid = '{0}'", item.Guid); + var sy_Qty = Db.Ado.SqlQuery<decimal>(sql); + + if (sy_Qty != null && sy_Qty[0] < 0) + { + P_Msg = + $"閲囪喘璁㈠崟锛歿item.PbillNo}锛岃锛歿item.WorkLine}锛岀墿鏂欙細{item.ItemNo} 鐢宠鏁伴噺澶т簬鍓╀綑鍙敹鏁伴噺"; + throw new Exception(P_Msg); + } + + // 鍒ゆ柇琛屾槸鍚﹂噸澶� + var cf_Num = Db.Queryable<MesInvItemOutItems>() + .Where(s1 => s1.ItemNo == item.ItemNo && + s1.WorkLine == item.WorkLine && + s1.PbillNo == item.PbillNo && + s1.ItemOutId == mesInvItemOuts.Guid && + s1.RkNo == item.RkNo) + .Count(); + + if (cf_Num <= 1) continue; + P_Msg = + $"閲囪喘璁㈠崟锛歿item.PbillNo}锛岃锛歿item.WorkLine}锛岀墿鏂欙細{item.ItemNo}閲嶅璇峰垹闄ゅ叾涓竴鏉℃暟鎹�"; + throw new Exception(P_Msg); + } + + // 鏍¢獙涓昏〃鍐呭鏄惁琚垹鎺� + // 涓昏〃浠撳簱缂栫爜 + if (string.IsNullOrEmpty(mesInvItemOuts.DepotCode)) + { + P_Msg = "浠撳簱缂栫爜涓虹┖锛岃妫�鏌�"; + throw new Exception(P_Msg); + } + + var supplierExists = Db.Queryable<MesSupplier>() + .Any(supplier => supplier.SuppNo == mesInvItemOuts.SuppNo); + + if (!supplierExists) + { + P_Msg = $"渚涘簲鍟嗙紪鐮� {mesInvItemOuts.SuppNo} 鍦ㄧ郴缁熶腑涓嶅瓨鍦紝璇锋鏌�"; + throw new Exception(P_Msg); + } + + // 瀛愯〃琛屼笌涓昏〃绗﹀悎鎬ф牎楠� + foreach (var j in itemOutItems) + { + // 鏍¢獙瀛愯〃瀵瑰簲閲囪喘璁㈠崟鐨勪緵搴斿晢缂栫爜 + var c_SuppNo = Db.Queryable<MesRohIn, MesSupplier>( + (roh, supp) => new JoinQueryInfos( + JoinType.Left, + roh.Supplier == supp.Id.ToString() + )) + .Where(roh => roh.BillNo == j.WorkNo) + .Select((roh, supp) => supp.SuppNo) + .Single(); + + if (c_SuppNo == null) + { + P_Msg = $"瀛愯〃琛屼緵搴斿晢缂栫爜 {c_SuppNo} 鍦ㄧ郴缁熶腑鏈壘鍒�"; + throw new Exception(P_Msg); + } + + if (mesInvItemOuts.SuppNo != c_SuppNo) + { + P_Msg = + $"瀛愯〃閲囪喘璁㈠崟琛岀殑渚涘簲鍟嗙紪鐮� {c_SuppNo} 涓庝富琛ㄤ緵搴斿晢缂栫爜 {mesInvItemOuts.SuppNo} 涓嶄竴鑷达紝璇锋鏌�"; + throw new Exception(P_Msg); + } + + // 鏍¢獙瀛愯〃濮斿閲囪喘绫诲瀷鍜屼富琛ㄧ被鍨嬫槸鍚︿竴鑷� + if (j.FType != mesInvItemOuts.FType) + { + P_Msg = + $"瀛愯〃濮斿绫诲瀷锛歿j.FType}锛屼笌涓昏〃濮斿绫诲瀷锛歿mesInvItemOuts.FType}锛屼笉涓�鑷达紝璇锋鏌�"; + throw new Exception(P_Msg); + } + + // 妫�鏌ュ瓙琛ㄤ粨搴撴槸鍚﹀拰涓昏〃浠撳簱涓�鑷� + if (j.DepotCode == mesInvItemOuts.DepotCode) continue; + P_Msg = + $"瀛愯〃浠撳簱缂栫爜锛歿j.DepotCode} 涓庝富琛ㄤ粨搴撶紪鐮侊細{mesInvItemOuts.DepotCode}锛屼笉涓�鑷达紝璇锋鏌�"; + throw new Exception(P_Msg); + } + } + + public bool DeApproveBefore(WarehouseQuery query) + { + var mesInvItemOuts = base.GetById(query.id); + if (mesInvItemOuts == null) throw new Exception("鍑哄簱鍗曚笉瀛樺湪"); + + var nflag = mesInvItemOuts.Nflag ?? 0; + + if (nflag != 0) return true; + + return false; + } + + public bool Audit(WarehouseQuery query) + { + // 瀹℃牳鍓嶆牎楠� + Validate(query); + query.status = 1; + //瀹℃牳 + return Update(query); + } + + private bool Update(WarehouseQuery entity) + { + var parsedGuid = Guid.Empty; + if (!string.IsNullOrEmpty(entity.id)) + { + var isValid = Guid.TryParse(entity.id, out parsedGuid); + if (!isValid) + throw new ApplicationException("GUID杞崲閿欒"); + } + + if (!UtilityHelper.CheckGuid(parsedGuid)) + { + throw new ApplicationException("鏇存柊閿欒锛屾暟鎹槸涓嶅悎娉曠殑"); + } + + var userName = entity.userName ?? "system"; + return Db.Updateable<MesInvItemOuts>() + .SetColumns(s => s.Status == entity.status) + .SetColumns(s => s.CheckUser == userName) + .SetColumns(s => s.CheckDate == DateTime.Now) + .Where(s => s.Guid == parsedGuid).ExecuteCommand() > 0; + } + + + public string GetMaxItemOutNo() + { + var date = DateTime.Now.ToString("yyyyMMdd"); + var par = "NTL" + date; + var sql = + $"select max(ITEM_OUT_NO) from MES_INV_ITEM_OUTS where ITEM_OUT_NO like '{par}%'"; + var maxBillNo = Db.Ado.SqlQuerySingle<string>(sql); + + var number = "0001"; + if (maxBillNo != null) + { + maxBillNo = maxBillNo.Substring(11); + var no = Convert.ToInt32(maxBillNo); + no++; + number = no.ToString().PadLeft(4, '0'); + } + + return "NTL" + date + number; + } + + public MessageCenter SaveMessageCenter(WarehouseQuery query) + { + var message = MesToErpParam(query); + + // var executeReturnIdentity = + // Db.Insertable(message).ExecuteReturnIdentity(); + // if (executeReturnIdentity > 0) + // { + // message.Id = executeReturnIdentity; + // message.Pid = executeReturnIdentity; + // return message; + // } + + throw new Exception("鑾峰彇鏁版嵁澶辫触"); + } + + public MessageCenter MesToErpParam(WarehouseQuery query) + { + var erpParameters = ""; + var title = ""; + var tableName = "MES_INV_ITEM_OUTS_" + query.Type; + if ("A".Equals(query.Type)) + { + //erpParameters = GetErpParameters(query.billNo); + title = "閲囪喘閫�璐у崟" + query.billNo + "瀹℃牳"; + } + else if ("B".Equals(query.Type)) + { + //erpParameters = GetDeApprovePam(query.id); + title = "閲囪喘閫�璐у崟" + query.billNo + "鍙嶅鏍�"; + } + + var ErpUrl = AppsettingsUtility.Settings.ProductionErpUrl; + var message = new MessageCenter + { + TableName = tableName, + Url = ErpUrl, + Status = 1, + CreateBy = query.userName, + Route = query.billNo, + Title = title, + PageName = "Warehouse/PurchaseReturn/Add?id=" + query.id + + "&itemOutNo=" + query.billNo, + CreateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + Method = "POST", + Seq = 1, + Data = erpParameters, + IsMessage = 0, + ContentType = "application/x-www-form-urlencoded" + }; + return message; + } +} \ No newline at end of file diff --git a/service/base/MesDepotsManager.cs b/service/base/MesDepotsManager.cs new file mode 100644 index 0000000..a5bddc9 --- /dev/null +++ b/service/base/MesDepotsManager.cs @@ -0,0 +1,7 @@ +锘縰sing NewPdaSqlServer.DB; +using NewPdaSqlServer.entity; + +namespace NewPdaSqlServer.service.@base; + +public class MesDepotsManager : Repository<MesDepots> +{} \ No newline at end of file diff --git a/util/UtilityHelper.cs b/util/UtilityHelper.cs index c374f7c..7b042d2 100644 --- a/util/UtilityHelper.cs +++ b/util/UtilityHelper.cs @@ -99,7 +99,7 @@ /// <summary> - /// 鍒ゆ柇鏄笉鏄痝uid + /// 濡傛灉guid涓� Empty鎴栬�卬ull 杩斿洖false /// </summary> /// <param name="guid"></param> /// <returns></returns> -- Gitblit v1.9.3