a2eed1b966a6700530814f3f468a7258f8b4f9b8..43010e679768b1afc58c6acddeac9a92fc290ffb
2025-08-22 kyy
1、采购退货修改
43010e 对比 | 目录
2025-08-19 kyy
采购退货新增操作类型type(5:提交 、6:撤回)
04632a 对比 | 目录
已修改2个文件
98 ■■■■■ 文件已修改
MES.Service/Modes/MesCgthSqDetail.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/service/BasicData/MesCgthSqManager.cs 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES.Service/Modes/MesCgthSqDetail.cs
@@ -133,4 +133,5 @@
    /// </summary>
    [SugarColumn(ColumnName = "FMtoNo")]
    public string? FMtoNo { get; set; }
}
MES.Service/service/BasicData/MesCgthSqManager.cs
@@ -55,8 +55,10 @@
                case "1": // 新增
                case "2": // 更新
                case "4": // 其他新增/更新类型
                case "5": // 提交
                    return SaveOrUpdateData(db, mesMain, mesDetails, mainId) ? 1 : 0;
                case "3": // 删除
                case "6": // 撤销
                    return DeleteData(db, mesMain, mesDetails, mainId) ? 1 : 0;
                default:
                    throw new NotImplementedException($"未实现的操作类型:{erpMain.TYPE}");
@@ -150,46 +152,66 @@
    /// 主表映射(仅处理基础字段,Id由GetOrCreateMainId确定)
    /// </summary>
    private MesCgthSq MapErpCgthaToMesCgthSq(ErpCgtha erpMain)
{
    return new MesCgthSq
    {
        return new MesCgthSq
        // Id暂不赋值(由GetOrCreateMainId后续确定)
        ErpId = erpMain.ERPID, // ERP主表ID
        BillNo = erpMain.billNo ?? throw new ArgumentNullException(nameof(erpMain.billNo), "单据编号不能为空"),
        Type = erpMain.TYPE,
        FDate = erpMain.FDate,
        FDocumentStatus = erpMain.FDocumentStatus,
        FSupplierId = erpMain.FSupplierID,
        FBillTypeId = erpMain.FBillTypeID,
        FBusinessType = erpMain.FBusinessType,
        // 转换ReturnType: A->检验退料, B->库存退料
        ReturnType = erpMain.FMRTYPE switch
        {
            // Id暂不赋值(由GetOrCreateMainId后续确定)
            ErpId = erpMain.ERPID, // ERP主表ID
            BillNo = erpMain.billNo ?? throw new ArgumentNullException(nameof(erpMain.billNo), "单据编号不能为空"),
            Type = erpMain.TYPE,
            FDate = erpMain.FDate,
            FDocumentStatus = erpMain.FDocumentStatus,
            FSupplierId = erpMain.FSupplierID,
            FBillTypeId = erpMain.FBillTypeID,
            FBusinessType = erpMain.FBusinessType,
            ReturnType = erpMain.FMRTYPE,
            ReturnMethod = erpMain.FMRMODE,
            CreateBy = erpMain.FCreatorId,
            FPurchaseOrgId = erpMain.FPurchaseOrgId,
            ThOrgId = erpMain.FStockOrgId,
            FRequireOrgId = erpMain.FRequireOrgId,
            FMRDeptId = erpMain.FMRDeptId,
            FStockerId = erpMain.FSTOCKERID,
            FPurchaserId = erpMain.FPURCHASERID,
            FMRReason = erpMain.FMRREASON,
            FPurchaseDeptId = erpMain.FPURCHASEDEPTID,
            FPurchaserGroupId = erpMain.FPURCHASERGROUPID,
            FACCTYPE = erpMain.FACCTYPE,
            FCreateDate = erpMain.FCreateDate,
            FWPVTINTEGERL6W = erpMain.F_WPVT_INTEGER_L6W,
            "A" => "检验退料",
            "B" => "库存退料",
            _ => erpMain.FMRTYPE // 保持原值不变
        },
        // 转换ReturnMethod: A->退料补料, B->退料扣款
        ReturnMethod = erpMain.FMRMODE switch
        {
            "A" => "退料补料",
            "B" => "退料并扣款",
            _ => erpMain.FMRMODE // 保持原值不变
        },
        CreateBy = erpMain.FCreatorId,
        LastUpdateUser = erpMain.FCreatorId,
        FPurchaseOrgId = erpMain.FPurchaseOrgId,
        ThOrgId = erpMain.FStockOrgId,
        FRequireOrgId = erpMain.FRequireOrgId,
        FMRDeptId = erpMain.FMRDeptId,
        FStockerId = erpMain.FSTOCKERID,
        FPurchaserId = erpMain.FPURCHASERID,
        FMRReason = erpMain.FMRREASON,
        FPurchaseDeptId = erpMain.FPURCHASEDEPTID,
        FPurchaserGroupId = erpMain.FPURCHASERGROUPID,
        // 转换FACCTYPE: Q->数量验收, A->金额验收, R->比例验收
        FACCTYPE = erpMain.FACCTYPE switch
        {
            "Q" => "Q:数量验收",
            "A" => "A:金额验收",
            "R" => "R:比例验收",
            _ => erpMain.FACCTYPE // 保持原值不变
        },
        FCreateDate = erpMain.FCreateDate,
        FWPVTINTEGERL6W = 0,
            // 供应商ID(安全转换)
            SuppId = !string.IsNullOrEmpty(erpMain.FSupplierID)
                     && int.TryParse(erpMain.FSupplierID, out int suppId)
                ? suppId
                : null,
            // 系统字段(创建时间仅新增时赋值,更新时不覆盖)
            CreateDate = DateTime.Now,
            LastUpdateTime = DateTime.Now
        };
    }
        // 供应商ID(安全转换)
        SuppId = !string.IsNullOrEmpty(erpMain.FSupplierID)
                 && int.TryParse(erpMain.FSupplierID, out int suppId)
            ? suppId
            : null,
        Status = false,
        // 系统字段(创建时间仅新增时赋值,更新时不覆盖)
        CreateDate = DateTime.Now,
        LastUpdateTime = DateTime.Now
    };
}
    /// <summary>
    /// 明细表映射(使用提前确定的mainId作为Mid)
    /// </summary>
@@ -212,6 +234,7 @@
                : null,
            FsrcBillNo = erpDetail.FSRCBillNo,
            InvBillNo = erpDetail.FSRCBillNo,
            FsrcBillTypeId = erpDetail.FSRCBillTypeId,
            // 物料ID(安全转换)