| | |
| | | using Dm; |
| | | using MES.Service.DB; |
| | | using MES.Service.DB; |
| | | using MES.Service.Dto.webApi; |
| | | using MES.Service.Modes; |
| | | using SqlSugar; |
| | | using System.Net.NetworkInformation; |
| | | using System.Runtime.CompilerServices; |
| | | |
| | | namespace MES.Service.service; |
| | | |
| | | public class WomcaaManager : Repository<Womcaa> |
| | | { |
| | | //当前类已经继承了 Repository 增、删、查、改的方法 |
| | | |
| | | //这里面写的代码不会给覆盖,如果要重新生成请删除 WomcaaManager.cs |
| | | |
| | | private readonly WomcabManager _womcabManager = new(); |
| | | |
| | | public bool SaveList(List<ErpWOM> rohIns) |
| | |
| | | return UpdateData(db, mesWomcaa, mesWomcabs) ? 1 : 0; |
| | | case "2": |
| | | case "4": |
| | | //kyy 2024-09-13 变更 |
| | | case "5": |
| | | return SaveOrUpdateData(db, mesWomcaa, mesWomcabs) |
| | | ? 1 |
| | | : 0; |
| | | default: |
| | | throw new NotImplementedException( |
| | | $"type没有{womErpCaa.Type}这个类型"); |
| | | $"type类型为{womErpCaa.Type}的不存在"); |
| | | } |
| | | }) > 0; |
| | | } |
| | |
| | | db.Deleteable<Womcab>() |
| | | .Where(s => s.Eid == mesWomcaa.Erpid).ExecuteCommand(); |
| | | |
| | | //单条插入忽略空字段 |
| | | var orUpdate = db.Insertable(mesWomcaa) |
| | | .IgnoreColumns(true).ExecuteCommand() > 0; |
| | | |
| | | //批量插入忽略空字段 |
| | | var baOrUpdate = db.Insertable(mesWomcabs).PageSize(1) |
| | | .IgnoreColumnsNull() |
| | | .ExecuteCommand() > 0; |
| | | |
| | | if (orUpdate && baOrUpdate) return true; |
| | | throw new NotImplementedException("插入或更新失败"); |
| | | |
| | | if (orUpdate && baOrUpdate) |
| | | { |
| | | //定义输入参数 |
| | | var inputParam1 = new SugarParameter("P_WORK_NO", mesWomcaa.Caa001); |
| | | // 定义输出参数 |
| | | var outParam1 = new SugarParameter("c_Result", null, true); |
| | | var outParam2 = new SugarParameter("C_MSG", null, true); |
| | | // 使用 SqlSugar 执行存储过程 |
| | | Db.Ado.ExecuteCommand("BEGIN PRC_UPDATE_DAA(:P_WORK_NO,:c_Result,:C_MSG); END;", inputParam1, outParam1, outParam2); |
| | | // 获取输出参数的值 |
| | | int result = int.Parse((string)outParam1.Value); |
| | | string message = outParam2.Value == DBNull.Value ? string.Empty : (string)outParam2.Value; |
| | | if (result == 1) |
| | | { |
| | | //存储过程失败则事务进行回滚 |
| | | //db.Ado.RollbackTran(); |
| | | throw new Exception(message); |
| | | } |
| | | // 提交事务 |
| | | //db.Ado.CommitTran(); |
| | | return true; |
| | | } |
| | | |
| | | throw new NotImplementedException("更新失败"); |
| | | } |
| | | |
| | | private bool UpdateData(SqlSugarScope db, Womcaa mesWomcaa, |
| | |
| | | |
| | | private Womcaa MapErpCAAtoWomcaa(ErpCAA dto) |
| | | { |
| | | //string jabs="0"; |
| | | |
| | | //var entity = new Womcaa |
| | | //{ |
| | | // Erpid = Convert.ToDecimal(dto.Id), |
| | | // Caa001 = dto.FBillNo, |
| | | // Caa004 = dto.FBillType, |
| | | // Caa005 = dto.FConveyDate, |
| | | // Caa006 = dto.FMaterialId, |
| | | // Caa009 = dto.FUnitId, |
| | | // Caa010 = dto.FPlanStartDate, |
| | | // Caa011 = dto.FPlanFinishDate, |
| | | // Caa012 = Convert.ToDecimal(dto.FQty), |
| | | // Caa013 = dto.FBomId, |
| | | // Caa015 = dto.FSaleOrderNo, |
| | | // Caa015Head = dto.FSaleOrderEntrySeq, |
| | | // Caa016 = dto.FDescription, |
| | | // Caa017 = 0, |
| | | // Caa018 = Convert.ToDecimal(dto.PLAN_ID), |
| | | // Caa019 = dto.PLAN_SEQ, |
| | | // Caa020 = dto.PLAN_NUM, |
| | | // Caa021 = dto.FWorkShopID, |
| | | // Fstatus = 0, |
| | | // Caa022 = Convert.ToDecimal(dto.FQty), |
| | | // Caa023 = dto.FStatus, |
| | | // Caa024 = 0, |
| | | // RoutingId = dto.FRoutingId, |
| | | // WorkShopId = dto.FREMWorkShopId, |
| | | // DepotCode = dto.FStockId, |
| | | // CreateDate = dto.FDate, |
| | | // WorkGroupId = dto.FWorkGroupId, |
| | | // PlanId = dto.FPlannerID, |
| | | // StockInlimith = dto.FStockInLimitH, |
| | | // StockInlimitl = dto.FStockInLimitL, |
| | | // Mtono = dto.FMTONO, |
| | | // Lot = dto.FLot, |
| | | // CreateType = dto.FCreateType, |
| | | // SrcBillType = dto.FSrcBillType, |
| | | // SrcBillNo = dto.FSrcBillNo, |
| | | // SrcBillentryseq = dto.FSrcBillEntrySeq, |
| | | // SaleOrderNo = dto.FSaleOrderNo, |
| | | // SaleOrderEntryseq = dto.FSaleOrderEntrySeq, |
| | | // ForceCloserid = dto.FForceCloserId, |
| | | // CloseType = dto.FCloseType, |
| | | // SrcSplitBillno = dto.FSrcSplitBillNo, |
| | | // F_ZSXG_KH = dto.F_ZSXG_KH, |
| | | // F_ZJXF_YHRQ = dto.F_ZJXF_YHRQ, |
| | | // PrdOrg = dto.erP_SCZZ, |
| | | // TrustOrg = dto.erP_WTZZ, |
| | | // TbTime = DateTime.Now, |
| | | // JaBs = "0" |
| | | //}; |
| | | |
| | | //if (dto.Type == "5") |
| | | //{ |
| | | // entity.IsXg = 1; |
| | | //} |
| | | //else |
| | | //{ |
| | | // entity.IsXg = 0; |
| | | //} |
| | | |
| | | //if (dto.FStatus == "6" || dto.FStatus == "7") |
| | | //{ |
| | | // entity.JaBs = "1"; |
| | | // entity.JaTime = DateTime.Now; |
| | | //} |
| | | |
| | | var entity = new Womcaa |
| | | { |
| | | Erpid = Convert.ToInt32(dto.Id), /// ERPID |
| | | Caa001 = dto.FBillNo, /// 单号 |
| | | Caa021 = dto.FWorkShopID, /// 工作车间 |
| | | RoutingId = dto.FRoutingId, /// 工艺路线 |
| | | WorkShopId = dto.FREMWorkShopId, /// 产线 |
| | | DepotCode = dto.FStockId, /// 仓库 |
| | | CreateDate = dto.FDate, /// 单据日期 |
| | | Caa004 = dto.FBillType, /// 单据类型 |
| | | Caa023 = dto.FStatus, /// 状态 完工,未完工 |
| | | Caa006 = dto.FMaterialId, /// 产品编码 |
| | | Caa009 = dto.FUnitId, /// 单位 |
| | | Erpid = Convert.ToInt64(dto.Id), |
| | | Caa001 = dto.FBillNo, |
| | | Caa021 = dto.FWorkShopID, |
| | | DepotCode = dto.FStockId, |
| | | CreateDate = dto.FDate, |
| | | Caa004 = dto.FBillType, |
| | | Caa023 = dto.FStatus, |
| | | Caa006 = dto.FMaterialId, |
| | | Caa009 = dto.FUnitId, |
| | | Caa012 = !string.IsNullOrEmpty(dto.FQty) |
| | | ? Convert.ToDecimal(dto.FQty) |
| | | : null, /// 数量 |
| | | WorkGroupId = dto.FWorkGroupId, /// 计划组 |
| | | PlanId = dto.FPlannerID, /// 计划员 |
| | | Caa010 = dto.FPlanStartDate, /// 预计开工时间 |
| | | Caa011 = dto.FPlanFinishDate, /// 预计完工时间 |
| | | Caa005 = dto.FConveyDate, /// 开单日期 |
| | | StockInlimith = dto.FStockInLimitH, /// 入库上限 |
| | | StockInlimitl = dto.FStockInLimitL, /// 入库下限 |
| | | Mtono = dto.FMTONO, /// 计划跟踪号 |
| | | Lot = dto.FLot, /// 批号 |
| | | Caa013 = dto.FBomId, /// BOM版次 |
| | | : null, |
| | | WorkGroupId = dto.FWorkGroupId, |
| | | PlanId = dto.FPlannerID, |
| | | Caa010 = dto.FPlanStartDate, |
| | | Caa011 = dto.FPlanFinishDate, |
| | | Caa005 = dto.FConveyDate, |
| | | StockInlimith = dto.FStockInLimitH, |
| | | StockInlimitl = dto.FStockInLimitL, |
| | | Mtono = dto.FMTONO, |
| | | Lot = dto.FLot, |
| | | Caa013 = dto.FBomId, |
| | | |
| | | CreateType = dto.FCreateType, /// 生成方式 |
| | | Caa018 = !string.IsNullOrEmpty(dto.PLAN_ID) |
| | | ? Convert.ToInt32(dto.PLAN_ID) |
| | | : null, /// ERP源单ID |
| | | Caa019 = dto.PLAN_SEQ, /// ERP源单行号 |
| | | Caa020 = dto.PLAN_NUM, /// ERP源单单号(任务单号) |
| | | SrcBillType = dto.FSrcBillType, /// 源单类型 |
| | | SrcBillNo = dto.FSrcBillNo, /// 源单编号 |
| | | SrcBillentryseq = dto.FSrcBillEntrySeq, /// 源单分录行号 |
| | | SaleOrderNo = dto.FSaleOrderNo, /// 需求单据号 |
| | | SaleOrderEntryseq = dto.FSaleOrderEntrySeq, /// 需求单据行号 |
| | | ForceCloserid = dto.FForceCloserId, /// 结案人 |
| | | CloseType = dto.FCloseType, /// 结案类型 |
| | | SrcSplitBillno = dto.FSrcSplitBillNo, /// 源拆分订单编号 |
| | | Caa016 = dto.FDescription, /// 备注 |
| | | BTBZ = dto.BTBZ, /// 备注 |
| | | PrdOrg = dto.FPrdOrgId, /// 生产组织ID |
| | | TrustOrg = dto.FEnTrustOrgId, /// 委托组织ID |
| | | Typea = dto.TypeA, /// 单据状态 |
| | | |
| | | |
| | | //沃尔新增 |
| | | WR_F_SCDD_SCTZD = dto.F_SCDD_SCTZD, |
| | | WR_F_SCDD_XH = dto.F_SCDD_XH |
| | | CreateType = dto.FCreateType, |
| | | Caa020 = dto.FBillNo, |
| | | SrcBillType = dto.FSrcBillType, |
| | | SrcBillNo = dto.FSrcBillNo, |
| | | SrcBillentryseq = dto.FSrcBillEntrySeq, |
| | | SaleOrderNo = dto.FSaleOrderNo, |
| | | SaleOrderEntryseq = dto.FSaleOrderEntrySeq, |
| | | ForceCloserid = dto.FForceCloserId, |
| | | CloseType = dto.FCloseType, |
| | | SrcSplitBillno = dto.FSrcSplitBillNo, |
| | | Caa016 = dto.FDescription, |
| | | PrdOrg = dto.FPrdOrgId, |
| | | TrustOrg = dto.FEnTrustOrgId, |
| | | Bomtype = dto.FBOMType, |
| | | Bommaster = dto.FBOMMaster, |
| | | Bomaltrnate = dto.FBOMAlternate, |
| | | Bomeffedate = dto.FBOMEffeDate, |
| | | Routingalternate = dto.FRoutingAlternate, |
| | | Routingeffedate = dto.FRoutingEffeDate, |
| | | Mrpqty = dto.FMRPQty, |
| | | Actualstartdate = dto.FActualStartDate, |
| | | Actualcompletedate = dto.FActualCompleteDate, |
| | | Mosourcedoctype = dto.FMOSourceDocType, |
| | | Project = dto.FProject, |
| | | Ownerorg = dto.FOwnerOrg, |
| | | Createdby = dto.FCreatedBy, |
| | | Createdon = dto.FCreatedOn, |
| | | Totalstartqty = dto.FTotalStartQty, |
| | | Totalcompleteqty = dto.FTotalCompleteQty, |
| | | Totalrcvqty = dto.FTotalRcvQty, |
| | | Totalreworkingqty = dto.FTotalReworkingQty, |
| | | Reasonforrework = dto.FReasonForRework, |
| | | Isforcewholeset = dto.FIsForceWholeSet, |
| | | PREVMO = dto.FPrevMO, |
| | | Typea = dto.TypeA |
| | | }; |
| | | |
| | | |
| | | var single = base.GetSingle(it => it.Erpid == entity.Erpid); |
| | | if (single != null) entity.Id = single.Id; |
| | | |
| | | //Caa006 = dto.FMaterialId, |
| | | var mesLinkU9 = Db.Queryable<MesLinkU9>() |
| | | .Where(x => x.U9Id == dto.FMaterialId |
| | | && x.OrgId == dto.FPrdOrgId |
| | | && x.TableType == "MES_ITEMS").First(); |
| | | |
| | | var mesLinkU9_xm = Db.Queryable<MesLinkU9>() |
| | | .Where(x => x.U9Id == Convert.ToString(dto.FProject) |
| | | && x.OrgId == dto.FPrdOrgId |
| | | && x.TableType == "MES_PROJECT").First(); |
| | | |
| | | if (mesLinkU9 != null) entity.Caa006 = mesLinkU9.MesId; |
| | | if (mesLinkU9_xm != null) entity.Project = Convert.ToInt64(mesLinkU9_xm.MesId); |
| | | |
| | | return entity; |
| | | } |
| | |
| | | { |
| | | var womcab = new Womcab |
| | | { |
| | | Erpid = Convert.ToDecimal(dto.ID), |
| | | Erpid = !string.IsNullOrEmpty(dto.ID) |
| | | ? Convert.ToDecimal(dto.ID) |
| | | : throw new Exception("子表id不允许为空"), |
| | | Cab001 = dto.FBillNo, |
| | | Cab002 = dto.FSeq, |
| | | Cab003 = dto.FMaterialID, |
| | | Cab006 = Convert.ToDecimal(dto.FNeedQty), |
| | | MustQty = Convert.ToDecimal(dto.FMustQty), |
| | | Cab007 = Convert.ToDecimal(dto.FPickedQty), |
| | | Cab006 = !string.IsNullOrEmpty(dto.FNeedQty) |
| | | ? Convert.ToDecimal(dto.FNeedQty) |
| | | : null, |
| | | MustQty = !string.IsNullOrEmpty(dto.FMustQty) |
| | | ? Convert.ToDecimal(dto.FMustQty) |
| | | : null, |
| | | Cab007 = !string.IsNullOrEmpty(dto.FPickedQty) |
| | | ? Convert.ToDecimal(dto.FPickedQty) |
| | | : null, |
| | | PositionNo = dto.FPositionNO, |
| | | SupplyOrganization = dto.FChildSupplyOrgId, |
| | | IssuingOrganization = dto.FSupplyOrg, |
| | | OwnerId = dto.FOwnerID, |
| | | Mtono = dto.FMTONO, |
| | | Lot = dto.FLot, |
| | | DepotCode = dto.FStockID, |
| | | IssueType = dto.FIssueType, |
| | | Cab009 = dto.FUnitID, |
| | | SupplyType = dto.FSupplyType, |
| | | Cab012 = Convert.ToDecimal(dto.FStdQty), |
| | | Freplacegroup = Convert.ToInt32(dto.FReplaceGroup), |
| | | UseRate = Convert.ToDecimal(dto.FUseRate), |
| | | MaterialType = dto.FMaterialType, |
| | | Cab014 = dto.FIsKeyItem, |
| | | Numerator = Convert.ToDecimal(dto.FNumerator), |
| | | Denominator = Convert.ToDecimal(dto.FDenominator), |
| | | Pid = Convert.ToDecimal(dto.FID), |
| | | Eid = Convert.ToDecimal(dto.FID), |
| | | SCRAPQTY = Convert.ToDecimal(dto.FFixScrapQty), |
| | | SCRAPRATE = Convert.ToDecimal(dto.FScrapRate), |
| | | Typeb = dto.TypeB, |
| | | WR_F_XIFG_Base_qtr = dto.F_XIFG_Base_qtr, |
| | | WR_F_XIFG_Base_83g = dto.F_XIFG_Base_83g |
| | | Cab012 = !string.IsNullOrEmpty(dto.FStdQty) |
| | | ? Convert.ToDecimal(dto.FStdQty) |
| | | : null, |
| | | FreplaceGroup = !string.IsNullOrEmpty(dto.FReplaceGroup) |
| | | ? Convert.ToInt64(dto.FReplaceGroup) |
| | | : null, |
| | | UseRate = !string.IsNullOrEmpty(dto.FUseRate) |
| | | ? Convert.ToDecimal(dto.FUseRate) |
| | | : null, |
| | | |
| | | Cab014 = !string.IsNullOrEmpty(dto.FIsKeyItem) |
| | | ? Convert.ToInt64(dto.FIsKeyItem) |
| | | : null, |
| | | Numerator = !string.IsNullOrEmpty(dto.FNumerator) |
| | | ? Convert.ToDecimal(dto.FNumerator) |
| | | : null, |
| | | Denominator = !string.IsNullOrEmpty(dto.FDenominator) |
| | | ? Convert.ToDecimal(dto.FDenominator) |
| | | : null, |
| | | Pid = !string.IsNullOrEmpty(dto.FID) |
| | | ? Convert.ToDecimal(dto.FID) |
| | | : throw new Exception("父id不允许为空"), |
| | | Eid = !string.IsNullOrEmpty(dto.FID) |
| | | ? Convert.ToDecimal(dto.FID) |
| | | : throw new Exception("父id不允许为空"), |
| | | Scrapqty = !string.IsNullOrEmpty(dto.FFixScrapQty) |
| | | ? Convert.ToDecimal(dto.FFixScrapQty) |
| | | : null, |
| | | Scraprate = !string.IsNullOrEmpty(dto.FScrapRate) |
| | | ? Convert.ToDecimal(dto.FScrapRate) |
| | | : null, |
| | | Project = dto.FProject, |
| | | Bomreqqty = dto.FBOMReqQty, |
| | | Materialtype = dto.FMaterialType, |
| | | IsOverIssue = dto.FIsOverIssue, |
| | | StandardMaterialscale = dto.FStandardMaterialScale, |
| | | Fixedmaterialnum = dto.FFixedMaterialNum, |
| | | IsSubstitute = dto.FIsSubstitute, |
| | | Substituteditem = dto.FSubstitutedItem, |
| | | Issueuom = dto.FIssueUOM, |
| | | Qpa = dto.FQPA, |
| | | Scraptype = dto.FScrapType, |
| | | Bfopportunity = dto.FBFOpportunity, |
| | | Supplywh = dto.FSupplyWh, |
| | | Mocompletesetcheck = dto.FMOCompleteSetCheck, |
| | | Mostartsetcheck = dto.FMOStartSetCheck, |
| | | Iscoupleissue = dto.FIsCoupleIssue, |
| | | FDescription = dto.FDescription, |
| | | TypeB = dto.TypeB |
| | | |
| | | }; |
| | | |
| | | var entity = Db.Queryable<Womcab>() |
| | | .Where(s => s.Erpid == womcab.Erpid).Single(); |
| | | if (entity != null) womcab.Id = entity.Id; |
| | | |
| | | //Cab003 = dto.FMaterialID |
| | | var mesLinkU9 = Db.Queryable<MesLinkU9>() |
| | | .Where(x => x.U9Id == dto.FMaterialID |
| | | && x.OrgId == "1002011210000095" |
| | | && x.TableType == "MES_ITEMS").First(); |
| | | |
| | | var mesLinkU9_xm = Db.Queryable<MesLinkU9>() |
| | | .Where(x => x.U9Id == Convert.ToString(dto.FProject) |
| | | && x.OrgId == "1002011210000095" |
| | | && x.TableType == "MES_PROJECT").First(); |
| | | |
| | | if (mesLinkU9 != null) womcab.Cab003 = mesLinkU9.MesId; |
| | | if (mesLinkU9_xm != null) womcab.Project = mesLinkU9_xm.MesId; |
| | | |
| | | womcabList.Add(womcab); |
| | | } |
| | | |