| StandardPda/MES.Service/Dto/webApi/SalesPalletDetailSearchDto.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MES.Service/Dto/webApi/SalesPalletSearchDto.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MES.Service/Modes/SalesDeliveryNoticeDetail.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MES.Service/service/Warehouse/SalesPalletManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MESApplication/Controllers/Warehouse/SalesPalletController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
StandardPda/MES.Service/Dto/webApi/SalesPalletDetailSearchDto.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,53 @@ namespace MES.Service.Dto.webApi; /// <summary> /// é宿çæç»æç´¢è¯·æ±DTO /// </summary> public class SalesPalletDetailSearchDto { /// <summary> /// æç´¢æ¡ä»¶å¯¹è±¡ /// </summary> public SalesPalletDetailSearchConditions? Conditions { get; set; } } /// <summary> /// é宿çæç»æç´¢æ¡ä»¶ /// </summary> public class SalesPalletDetailSearchConditions { /// <summary> /// æ æ¿ç /// </summary> public string? Stackcode { get; set; } /// <summary> /// åæ®ç¼å· /// </summary> public string? BillNo { get; set; } /// <summary> /// 主表ID /// </summary> public decimal? Mid { get; set; } /// <summary> /// ç©æç¼å· /// </summary> public string? ItemNo { get; set; } /// <summary> /// ç©æåç§° /// </summary> public string? ItemName { get; set; } /// <summary> /// ç©æè§æ ¼ /// </summary> public string? ItemModel { get; set; } /// <summary> /// æ°é /// </summary> public decimal? Qty { get; set; } } StandardPda/MES.Service/Dto/webApi/SalesPalletSearchDto.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,41 @@ using MES.Service.Dto.@base; namespace MES.Service.Dto.webApi; /// <summary> /// é宿çæç´¢è¯·æ±DTO /// </summary> public class SalesPalletSearchDto: Page { /// <summary> /// åæ®ç¼å· /// </summary> public string? BillNo { get; set; } /// <summary> /// å®¡æ ¸ç¶æ /// </summary> public decimal? Status { get; set; } /// <summary> /// ç©æç¼å· /// </summary> public string? ItemNo { get; set; } /// <summary> /// ç©æåç§° /// </summary> public string? ItemName { get; set; } /// <summary> /// ç©æè§æ ¼ /// </summary> public string? ItemModel { get; set; } /// <summary> /// å®¡æ ¸äºº /// </summary> public string? CheckUser { get; set; } } StandardPda/MES.Service/Modes/SalesDeliveryNoticeDetail.cs
@@ -8,208 +8,208 @@ [SugarTable("SALES_DELIVERY_NOTICE_DETAIL")] public class SalesDeliveryNoticeDetail { /// <summary> /// </summary> [SugarColumn(ColumnName = "ID", /// <summary> /// </summary> [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_DELIVERY_NOTICE_DETAIL", IsPrimaryKey = true)] public decimal? Id { get; set; } /// <summary> /// éå®è®¢åå· /// </summary> [SugarColumn(ColumnName = "SALES_ORDER_ID")] public string SalesOrderId { get; set; } /// <summary> /// éå®è®¢åå· /// </summary> [SugarColumn(ColumnName = "SALES_ORDER_ID")] public string? SalesOrderId { get; set; } /// <summary> /// ç©æç¼ç /// </summary> [SugarColumn(ColumnName = "MATERIAL_ID")] public string MaterialId { get; set; } /// <summary> /// ç©æç¼ç /// </summary> [SugarColumn(ColumnName = "MATERIAL_ID")] public string? MaterialId { get; set; } /// <summary> /// ç©æåç§° /// </summary> [SugarColumn(ColumnName = "MATERIAL_NAME")] public string MaterialName { get; set; } /// <summary> /// ç©æåç§° /// </summary> [SugarColumn(ColumnName = "MATERIAL_NAME")] public string? MaterialName { get; set; } /// <summary> /// ç©æè§æ ¼ /// </summary> [SugarColumn(ColumnName = "MATERIAL_SPECIFICATION")] public string MaterialSpecification { get; set; } /// <summary> /// ç©æè§æ ¼ /// </summary> [SugarColumn(ColumnName = "MATERIAL_SPECIFICATION")] public string? MaterialSpecification { get; set; } /// <summary> /// éå®åä½ /// </summary> [SugarColumn(ColumnName = "SALES_UNIT_ID")] public string SalesUnitId { get; set; } /// <summary> /// éå®åä½ /// </summary> [SugarColumn(ColumnName = "SALES_UNIT_ID")] public string? SalesUnitId { get; set; } /// <summary> /// é宿°é /// </summary> [SugarColumn(ColumnName = "SALES_QUANTITY")] /// <summary> /// é宿°é /// </summary> [SugarColumn(ColumnName = "SALES_QUANTITY")] public decimal? SalesQuantity { get; set; } /// <summary> /// æ¯å¦èµ å /// </summary> [SugarColumn(ColumnName = "IS_FREE")] public string IsFree { get; set; } /// <summary> /// æ¯å¦èµ å /// </summary> [SugarColumn(ColumnName = "IS_FREE")] public string? IsFree { get; set; } /// <summary> /// è¦è´§æ¥æ /// </summary> [SugarColumn(ColumnName = "DELIVERY_DATE")] /// <summary> /// è¦è´§æ¥æ /// </summary> [SugarColumn(ColumnName = "DELIVERY_DATE")] public DateTime? DeliveryDate { get; set; } /// <summary> /// åºè´§ä»åº /// </summary> [SugarColumn(ColumnName = "WAREHOUSE")] public string Warehouse { get; set; } /// <summary> /// åºè´§ä»åº /// </summary> [SugarColumn(ColumnName = "WAREHOUSE")] public string? Warehouse { get; set; } /// <summary> /// 计åè·è¸ªå· /// </summary> [SugarColumn(ColumnName = "PLAN_TRACKING_NUMBER")] public string PlanTrackingNumber { get; set; } /// <summary> /// 计åè·è¸ªå· /// </summary> [SugarColumn(ColumnName = "PLAN_TRACKING_NUMBER")] public string? PlanTrackingNumber { get; set; } /// <summary> /// æ¹å· /// </summary> [SugarColumn(ColumnName = "LOT_NUMBER")] public string LotNumber { get; set; } /// <summary> /// æ¹å· /// </summary> [SugarColumn(ColumnName = "LOT_NUMBER")] public string? LotNumber { get; set; } /// <summary> /// æºåç¼å· /// </summary> [SugarColumn(ColumnName = "SRC_BILL_NO")] public string SrcBillNo { get; set; } /// <summary> /// æºåç¼å· /// </summary> [SugarColumn(ColumnName = "SRC_BILL_NO")] public string? SrcBillNo { get; set; } /// <summary> /// 计价æ°é /// </summary> [SugarColumn(ColumnName = "PRICE_QTY")] /// <summary> /// 计价æ°é /// </summary> [SugarColumn(ColumnName = "PRICE_QTY")] public decimal? PriceQty { get; set; } /// <summary> /// 货主 /// </summary> [SugarColumn(ColumnName = "OWNER_ID")] public string OwnerId { get; set; } /// <summary> /// 货主 /// </summary> [SugarColumn(ColumnName = "OWNER_ID")] public string? OwnerId { get; set; } /// <summary> /// åºååä½ /// </summary> [SugarColumn(ColumnName = "INVENTORY_UNIT")] public string InventoryUnit { get; set; } /// <summary> /// åºååä½ /// </summary> [SugarColumn(ColumnName = "INVENTORY_UNIT")] public string? InventoryUnit { get; set; } /// <summary> /// åºåæ°é /// </summary> [SugarColumn(ColumnName = "INVENTORY_QUANTITY")] /// <summary> /// åºåæ°é /// </summary> [SugarColumn(ColumnName = "INVENTORY_QUANTITY")] public decimal? InventoryQuantity { get; set; } /// <summary> /// ç©æç±»å« /// </summary> [SugarColumn(ColumnName = "MATERIAL_CATEGORY")] public string MaterialCategory { get; set; } /// <summary> /// ç©æç±»å« /// </summary> [SugarColumn(ColumnName = "MATERIAL_CATEGORY")] public string? MaterialCategory { get; set; } /// <summary> /// 计ååè´§æ¥æ /// </summary> [SugarColumn(ColumnName = "PLAN_DELIVERY_DATE")] /// <summary> /// 计ååè´§æ¥æ /// </summary> [SugarColumn(ColumnName = "PLAN_DELIVERY_DATE")] public DateTime? PlanDeliveryDate { get; set; } /// <summary> /// è¶ åæ§å¶åä½ /// </summary> [SugarColumn(ColumnName = "OUT_LMT_UNIT")] public string OutLmtUnit { get; set; } /// <summary> /// è¶ åæ§å¶åä½ /// </summary> [SugarColumn(ColumnName = "OUT_LMT_UNIT")] public string? OutLmtUnit { get; set; } /// <summary> /// åºåºä¸é /// </summary> [SugarColumn(ColumnName = "OUT_MAX_QTY")] /// <summary> /// åºåºä¸é /// </summary> [SugarColumn(ColumnName = "OUT_MAX_QTY")] public decimal? OutMaxQty { get; set; } /// <summary> /// åºåºä¸é /// </summary> [SugarColumn(ColumnName = "OUT_MIN_QTY")] /// <summary> /// åºåºä¸é /// </summary> [SugarColumn(ColumnName = "OUT_MIN_QTY")] public decimal? OutMinQty { get; set; } /// <summary> /// 交货å°ç¹ /// </summary> [SugarColumn(ColumnName = "DELIVERY_LOC")] public string DeliveryLoc { get; set; } /// <summary> /// 交货å°ç¹ /// </summary> [SugarColumn(ColumnName = "DELIVERY_LOC")] public string? DeliveryLoc { get; set; } /// <summary> /// 交货å°å /// </summary> [SugarColumn(ColumnName = "DELIVERYL_ADDRESS")] public string DeliverylAddress { get; set; } /// <summary> /// 交货å°å /// </summary> [SugarColumn(ColumnName = "DELIVERYL_ADDRESS")] public string? DeliverylAddress { get; set; } /// <summary> /// æºååå· /// </summary> [SugarColumn(ColumnName = "SOURCE_BILL_NO")] public string SourceBillNo { get; set; } /// <summary> /// æºååå· /// </summary> [SugarColumn(ColumnName = "SOURCE_BILL_NO")] public string? SourceBillNo { get; set; } /// <summary> /// 订ååå· /// </summary> [SugarColumn(ColumnName = "ORDER_BILL_NO")] public string OrderBillNo { get; set; } /// <summary> /// 订ååå· /// </summary> [SugarColumn(ColumnName = "ORDER_BILL_NO")] public string? OrderBillNo { get; set; } /// <summary> /// ç»æ¢ç¶æ /// </summary> [SugarColumn(ColumnName = "TERMINATION_STATUS")] public string TerminationStatus { get; set; } /// <summary> /// ç»æ¢ç¶æ /// </summary> [SugarColumn(ColumnName = "TERMINATION_STATUS")] public string? TerminationStatus { get; set; } /// <summary> /// ç»æ¢æ¥æ /// </summary> [SugarColumn(ColumnName = "TERMINATION_DATE")] /// <summary> /// ç»æ¢æ¥æ /// </summary> [SugarColumn(ColumnName = "TERMINATION_DATE")] public DateTime? TerminationDate { get; set; } /// <summary> /// 累计åºåºæ°é /// </summary> [SugarColumn(ColumnName = "SUM_OUT_QTY")] /// <summary> /// 累计åºåºæ°é /// </summary> [SugarColumn(ColumnName = "SUM_OUT_QTY")] public decimal? SumOutQty { get; set; } /// <summary> /// æªåºåºæ°é /// </summary> [SugarColumn(ColumnName = "REMAIN_OUT_QTY")] /// <summary> /// æªåºåºæ°é /// </summary> [SugarColumn(ColumnName = "REMAIN_OUT_QTY")] public decimal? RemainOutQty { get; set; } /// <summary> /// ERPè¡ID /// </summary> [SugarColumn(ColumnName = "ERP_LINE_ID")] public string ErpLineId { get; set; } /// <summary> /// ERPè¡ID /// </summary> [SugarColumn(ColumnName = "ERP_LINE_ID")] public string? ErpLineId { get; set; } /// <summary> /// ERP头ID /// </summary> [SugarColumn(ColumnName = "ERP_HEAD_ID")] public string ErpHeadId { get; set; } /// <summary> /// ERP头ID /// </summary> [SugarColumn(ColumnName = "ERP_HEAD_ID")] public string? ErpHeadId { get; set; } /// <summary> /// ERP头ID ///</summary> //[SugarColumn(ColumnName = "f_UNW_Base_GDY")] //public string GDY { get; set; } //public string? GDY { get; set; } ///// <summary> ///// 夿³¨ /////</summary> //[SugarColumn(ColumnName = "FEntrynote")] //public string NOTE { get; set; } //public string? NOTE { get; set; } /// <summary> /// è¦è´§æ¥æ /// </summary> StandardPda/MES.Service/service/Warehouse/SalesPalletManager.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,96 @@ using MES.Service.DB; using MES.Service.Dto.service; using MES.Service.Dto.webApi; using MES.Service.Modes; using SqlSugar; namespace MES.Service.service.Warehouse; /// <summary> /// é宿ç管çæå¡ /// </summary> public class SalesPalletManager : Repository<SalesPallet> { /// <summary> /// è·åé宿çåé¡µæ°æ® /// </summary> /// <param name="request">æ¥è¯¢è¯·æ±åæ°</param> /// <returns></returns> public (List<SalesPalletQueryDto> item, int TotalCount) GetSalesPalletPage(SalesPalletSearchDto request) { var query = Db.Queryable<SalesPallet>() .LeftJoin<SalesDeliveryNotice>((z, a) => a.BillNo == z.BillNo) .LeftJoin<SalesDeliveryNoticeDetail>((z, a, b) => a.ErpId == b.ErpHeadId && z.ItemId.ToString() == b.MaterialId) .LeftJoin<MesItems>((z, a, b, s) => s.Id.ToString() == b.MaterialId) .LeftJoin<MesUnit>((z, a, b, s, u) => u.Id.ToString() == b.SalesUnitId) .LeftJoin<SysUser>((z, a, b, s, u, su) => su.Fcode == z.CheckUser) .LeftJoin<MesDepots>((z, a, b, s, u, su, d) => d.DepotId.ToString() == b.Warehouse) .WhereIF(!string.IsNullOrEmpty(request.BillNo), (z, a, b, s, u, su, d) => z.BillNo.Contains(request.BillNo)) .WhereIF(!string.IsNullOrEmpty(request.ItemNo), (z, a, b, s, u, su, d) => s.ItemNo.Contains(request.ItemNo)) .WhereIF(!string.IsNullOrEmpty(request.ItemName), (z, a, b, s, u, su, d) => s.ItemName.Contains(request.ItemName)) .WhereIF(request.Status.HasValue, (z, a, b, s, u, su, d) => z.Status == request.Status) .Select((z, a, b, s, u, su, d) => new SalesPalletQueryDto { Id = z.Id, Status = z.Status, CheckDate = z.CheckDate, CheckUser = su.Fname, BillNo = z.BillNo, ItemNo = s.ItemNo, ItemName = s.ItemName, ItemModel = s.ItemModel, UnitName = u.Fname, Xsdd = b.SalesQuantity, Yb = z.SalesQuantity, Wyj = a.BillNo + s.Id.ToString() }); var totalCount = 0; var items = query.ToPageList(request.PageIndex, request.Limit, ref totalCount); return (items, totalCount); } public List<SalesPalletDetailQueryDto> GetSalesPalletDetail(SalesPalletDetailQueryDto request) { var subQuery = Db.Queryable<MesPalletBinding1>() .LeftJoin<Womdaa>((a, b) => a.TicketNo == b.Daa001) .LeftJoin<MesItems>((a, b, it) => it.Id.ToString() == b.Daa002) .GroupBy((a, b, it) => new { a.Stackcode, it.Id }) .Select((a, b, it) => new { StackCode = a.Stackcode, ItemId = it.Id, ItemNo = SqlFunc.AggregateMax(it.ItemNo), ItemName = SqlFunc.AggregateMax(it.ItemName), ItemModel = SqlFunc.AggregateMax(it.ItemModel) }); var query = Db.Queryable<SalesPalletDetail>() .LeftJoin(subQuery, (b, o) => b.Stackcode == o.StackCode) .Where((b, o) => b.Mid == request.Mid) .Select((b, o) => new SalesPalletDetailQueryDto { Id = b.Id, Mid = b.Mid, BillNo = b.BillNo, Stackcode = b.Stackcode, Qty = b.Qty, ItemNo = o.ItemNo, ItemName = o.ItemName, ItemModel = o.ItemModel }); return query.ToList(); } } StandardPda/MESApplication/Controllers/Warehouse/SalesPalletController.cs
@@ -1,3 +1,4 @@ using MES.Service.Dto.webApi; using MES.Service.util; using MES.Service.service.Warehouse; using Microsoft.AspNetCore.Mvc; @@ -14,15 +15,45 @@ private readonly SalesPalletManager _manager = new(); /// <summary> /// è·åé宿çä¿¡æ¯ /// è·åé宿çåé¡µæ°æ® /// </summary> /// <returns>é宿çä¿¡æ¯å表</returns> [HttpPost("GetSalesPalletInfo")] public ResponseResult GetSalesPalletInfo() /// <param name="request">æ¥è¯¢è¯·æ±åæ°</param> /// <returns>åé¡µç»æ</returns> [HttpPost("GetSalesPalletPage")] public ResponseResult GetSalesPalletPage( [FromBody] SalesPalletSearchDto request) { try { var result = _manager.GetSalesPalletInfo(); var (items, totalCount) = _manager.GetSalesPalletPage(request); return new ResponseResult { status = 0, message = "OK", data = items, TotalCount = totalCount }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// è·åé宿çæç»æ°æ® /// </summary> /// <param name="request">æ¥è¯¢è¯·æ±åæ°</param> /// <returns>æç»å表</returns> [HttpPost("GetSalesPalletDetail")] public ResponseResult GetSalesPalletDetail( [FromBody] SalesPalletDetailQueryDto request) { try { var result = _manager.GetSalesPalletDetail(request); return new ResponseResult { status = 0, @@ -35,107 +66,4 @@ return ResponseResult.ResponseError(ex); } } /// <summary> /// æ ¹æ®æ¡ä»¶è·åé宿çä¿¡æ¯ /// </summary> /// <param name="request">æ¥è¯¢æ¡ä»¶</param> /// <returns>é宿çä¿¡æ¯å表</returns> [HttpPost("GetSalesPalletInfoByCondition")] public ResponseResult GetSalesPalletInfoByCondition([FromBody] SalesPalletQueryRequest request) { try { var result = _manager.GetSalesPalletInfo(request.BillNo, request.ItemId, request.Status); return new ResponseResult { status = 0, message = "æ¥è¯¢æå", data = result }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// è·åé宿çæç»ä¿¡æ¯ /// </summary> /// <returns>é宿çæç»ä¿¡æ¯å表</returns> [HttpPost("GetSalesPalletDetailInfo")] public ResponseResult GetSalesPalletDetailInfo() { try { var result = _manager.GetSalesPalletDetailInfo(); return new ResponseResult { status = 0, message = "æ¥è¯¢æå", data = result }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// <summary> /// æ ¹æ®æ æ¿ç è·åé宿çæç»ä¿¡æ¯ /// </summary> /// <param name="request">æ¥è¯¢æ¡ä»¶</param> /// <returns>é宿çæç»ä¿¡æ¯å表</returns> [HttpPost("GetSalesPalletDetailInfoByStackcode")] public ResponseResult GetSalesPalletDetailInfoByStackcode([FromBody] SalesPalletDetailQueryRequest request) { try { var result = _manager.GetSalesPalletDetailInfo(request.Stackcode); return new ResponseResult { status = 0, message = "æ¥è¯¢æå", data = result }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } } /// <summary> /// éå®æçæ¥è¯¢è¯·æ± /// </summary> public class SalesPalletQueryRequest { /// <summary> /// åæ®ç¼å· /// </summary> public string? BillNo { get; set; } /// <summary> /// ç©æID /// </summary> public decimal? ItemId { get; set; } /// <summary> /// å®¡æ ¸ç¶æ /// </summary> public decimal? Status { get; set; } } /// <summary> /// é宿çæç»æ¥è¯¢è¯·æ± /// </summary> public class SalesPalletDetailQueryRequest { /// <summary> /// æ æ¿ç /// </summary> public string? Stackcode { get; set; } }