| | |
| | | /// 主表映射(仅处理基础字段,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> |
| | |
| | | : null, |
| | | |
| | | FsrcBillNo = erpDetail.FSRCBillNo, |
| | | InvBillNo = erpDetail.FSRCBillNo, |
| | | FsrcBillTypeId = erpDetail.FSRCBillTypeId, |
| | | |
| | | // 物料ID(安全转换) |