liulijun
2026-03-11 311af0e12107da928e0633f0b3a274e9bccc7e05
继续优化老厂排程单页面(按照要求单独增加幅宽一列数据)

继续优化老厂排程单页面(按照要求单独增加幅宽一列数据)
已修改3个文件
83 ■■■■■ 文件已修改
项目代码/WMS/WMSClient/src/views/outbound/outSGOrder.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutSGOrder.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WMSServices/WIDESEA_OutboundService/OutSGOrderService.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/WMS/WMSClient/src/views/outbound/outSGOrder.vue
@@ -121,12 +121,19 @@
        align: "left",
      },
      {
        field: "materialNoWidth",
        title: "物料编号(幅宽)",
        type: "string",
        width: 160,
        align: "left",
      },
          field: "materialNos",
          title: "物料编号",
          type: "string",
          width: 160,
          align: "left",
        },
        {
          field: "materialWides",
          title: "幅宽",
          type: "string",
          width: 100,
          align: "left",
        },
    ]);
    const detail = ref({
      cnName: "出库明细单",
ÏîÄ¿´úÂë/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutSGOrder.cs
@@ -67,21 +67,27 @@
        public int OutSGOrderStatus { get; set; }
        /// <summary>
    /// å¤‡æ³¨
    /// </summary>
    [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "备注")]
    public string Remark { get; set; }
        /// å¤‡æ³¨
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "备注")]
        public string Remark { get; set; }
    /// <summary>
    /// ç‰©æ–™ç¼–号(幅宽)
    /// </summary>
    [SugarColumn(IsIgnore = true, ColumnDescription = "物料编号(幅宽)")]
    public string MaterialNoWidth { get; set; }
        /// <summary>
        /// ç‰©æ–™ç¼–号
        /// </summary>
        [SugarColumn(IsIgnore = true, ColumnDescription = "物料编号")]
        public string MaterialNos { get; set; }
    /// <summary>
    /// é‡‡è´­åˆ—表
    /// </summary>
    [Navigate(NavigateType.OneToMany, nameof(Dt_OutSGOrderDetail.OutSGOrderId), nameof(Id))]
    public List<Dt_OutSGOrderDetail> Details { get; set; }
        /// <summary>
        /// å¹…宽
        /// </summary>
        [SugarColumn(IsIgnore = true, ColumnDescription = "幅宽")]
        public string MaterialWides { get; set; }
        /// <summary>
        /// é‡‡è´­åˆ—表
        /// </summary>
        [Navigate(NavigateType.OneToMany, nameof(Dt_OutSGOrderDetail.OutSGOrderId), nameof(Id))]
        public List<Dt_OutSGOrderDetail> Details { get; set; }
    }
}
ÏîÄ¿´úÂë/WMS/WMSServices/WIDESEA_OutboundService/OutSGOrderService.cs
@@ -72,20 +72,30 @@
                {
                    if (detailsByOrderId.TryGetValue(order.Id, out var details))
                    {
                        // æŒ‰ç‰©æ–™ç¼–号和幅宽的组合分组:若物料代码相同但幅宽不同,会被分成不同的组
                        var materialGroups = details
                            .GroupBy(d => new {
                                MaterialNo = d.MaterialNo,
                                Width = d.Width
                            })
                            .Select(g => $"{g.Key.MaterialNo}({g.Key.Width})").ToList();
                        // èŽ·å–æ‰€æœ‰å”¯ä¸€çš„ç‰©æ–™ç¼–å·
                        var uniqueMaterialNos = details
                            .Select(d => d.MaterialNo)
                            .Distinct()
                            .ToList();
                        
                        // å°†åˆ†ç»„结果合并为一个字符串,多个组之间用逗号分隔
                        order.MaterialNoWidth = string.Join(",", materialGroups);
                        // èŽ·å–æ‰€æœ‰å”¯ä¸€çš„å¹…å®½
                        var uniqueWidths = details
                            .Select(d => d.Width.ToString())
                            .Distinct()
                            .ToList();
                        // è®¾ç½®ç‰©æ–™ç¼–号,多个用斜杠分隔
                        order.MaterialNos = string.Join("/", uniqueMaterialNos);
                        // è®¾ç½®å¹…宽:如果幅宽有多个不一致的数值就显示多个,如果一样就显示一个
                        order.MaterialWides = uniqueWidths.Count == 1
                            ? uniqueWidths[0]
                            : string.Join("/", uniqueWidths);
                    }
                    else
                    {
                        order.MaterialNoWidth = "";
                        order.MaterialNos = "";
                        order.MaterialWides = "";
                    }
                }
            }