/// <summary> /// 保存入厂煤运输记录 /// </summary> /// <param name="transportId"></param> /// <param name="place"></param> /// <returns></returns> public bool SaveBuyFuelTransport(string transportId, DateTime dt, string place) { CmcsBuyFuelTransport transport = SelfDber.Get <CmcsBuyFuelTransport>(transportId); if (transport == null) { return(false); } transport.StepName = eTruckInFactoryStep.采样.ToString(); transport.SamplingTime = dt; transport.SamplePlace = place; CmcsInNetTransport inNetTransport = SelfDber.Get <CmcsInNetTransport>(transport.OutNetTransportId); if (inNetTransport != null) { inNetTransport.StepName = eTruckInFactoryStep.采样.ToString(); SelfDber.Update(inNetTransport); } return(Dbers.GetInstance().SelfDber.Update(transport) > 0); }
/// <summary> /// 保存入厂煤运输记录 /// </summary> /// <param name="transportId"></param> /// <param name="dt"></param> /// <returns></returns> public bool SaveBuyFuelTransport(string transportId, DateTime dt) { CmcsBuyFuelTransport transport = SelfDber.Get <CmcsBuyFuelTransport>(transportId); if (transport == null) { return(false); } transport.StepName = eTruckInFactoryStep.出厂.ToString(); transport.OutFactoryTime = dt; transport.IsFinish = 1; CmcsInNetTransport inNetTransport = SelfDber.Get <CmcsInNetTransport>(transport.OutNetTransportId); if (inNetTransport != null) { inNetTransport.StepName = eTruckInFactoryStep.出厂.ToString(); inNetTransport.OutfactoryTime = dt; SelfDber.Update(inNetTransport); } return(SelfDber.Update(transport) > 0); }
/// <summary> /// 保存矿发数据 /// </summary> /// <param name="sendEntities"></param> /// <param name="output"></param> public void SaveCarSendData(List <WL_CarSendInfo> sendEntities, Action <string, eOutputType> output) { foreach (var item in sendEntities) { if (string.IsNullOrWhiteSpace(item.物流矿发编号)) { continue; } var entity = SelfDber.Entity <CmcsInNetTransport>(" where SerialNumber=:SerialNumber", new { SerialNumber = item.物流矿发编号 }); if (entity == null) { #region 新增 entity = new CmcsInNetTransport(); entity.SerialNumber = item.物流矿发编号; entity.FactoryName = item.所属单位名称; var supplier = SelfDber.Entity <CmcsSupplier>(" where Name=:Name", new { Name = item.供应商名称 }); if (supplier != null) { entity.SupplierId = supplier.Id; } entity.SupplierName = item.供应商名称; var mine = SelfDber.Entity <CmcsMine>(" where Name=:Name", new { Name = item.矿点名称 }); if (mine != null) { entity.MineId = mine.Id; } entity.MineName = item.矿点名称; var fuelkind = SelfDber.Entity <CmcsFuelKind>(" where Name=:Name", new { Name = item.品种名称 }); if (fuelkind != null) { entity.FuelKindId = fuelkind.Id; } entity.FuelKindName = item.品种名称; var transCompany = SelfDber.Entity <CmcsTransportCompany>(" where Name=:Name", new { Name = item.承运商名称 }); if (transCompany != null) { entity.TransportCompanyId = transCompany.Id; } entity.TransportCompanyName = item.承运商名称; var autoTruck = SelfDber.Entity <CmcsAutotruck>(" where CarNumber=:CarNumber", new { CarNumber = item.车牌号 }); if (autoTruck != null) { entity.AutoTruckId = autoTruck.Id; } entity.CarNumber = item.车牌号; entity.IDCard = item.驾驶员身份证; entity.TicketWeight = item.矿发净重; entity.SealNumber = item.封签号; entity.CreationTime = item.创建时间; entity.StartTime = item.创建时间; entity.StepName = "在途"; entity.IsFinish = 0; entity.SyncFlag = 0; entity.Remark = "智能物流同步"; if (SelfDber.Insert <CmcsInNetTransport>(entity) > 0) { output("始发表数据获取成功,操作:新增,数据:" + Newtonsoft.Json.JsonConvert.SerializeObject(item), eOutputType.Normal); item.步完成 = 1; item.步完成时间 = DateTime.Now; //if (mysqlDber.Update<WL_CarSendInfo>(item) > 0) if (mysqlDber.Execute(string.Format("update 始发表 set 同步完成=1,同步完成时间='{0}' where 编号={1}", DateTime.Now, item.编号)) > 0) { output("始发表数据获取后回写成功,数据:" + Newtonsoft.Json.JsonConvert.SerializeObject(item), eOutputType.Normal); } } #endregion } else { #region 修改 entity.FactoryName = item.所属单位名称; var supplier = SelfDber.Entity <CmcsSupplier>(" where Name=:Name", new { Name = item.供应商名称 }); if (supplier != null) { entity.SupplierId = supplier.Id; } entity.SupplierName = item.供应商名称; var mine = SelfDber.Entity <CmcsMine>(" where Name=:Name", new { Name = item.矿点名称 }); if (mine != null) { entity.MineId = mine.Id; } entity.MineName = item.矿点名称; var fuelkind = SelfDber.Entity <CmcsFuelKind>(" where Name=:Name", new { Name = item.品种名称 }); if (fuelkind != null) { entity.FuelKindId = fuelkind.Id; } entity.FuelKindName = item.品种名称; var transCompany = SelfDber.Entity <CmcsTransportCompany>(" where Name=:Name", new { Name = item.承运商名称 }); if (transCompany != null) { entity.TransportCompanyId = transCompany.Id; } entity.TransportCompanyName = item.承运商名称; var autoTruck = SelfDber.Entity <CmcsAutotruck>(" where CarNumber=:CarNumber", new { CarNumber = item.车牌号 }); if (autoTruck != null) { entity.AutoTruckId = autoTruck.Id; } entity.CarNumber = item.车牌号; entity.IDCard = item.驾驶员身份证; entity.TicketWeight = item.矿发净重; entity.SealNumber = item.封签号; entity.SyncFlag = 0; if (SelfDber.Update <CmcsInNetTransport>(entity) > 0) { output("始发表数据获取成功,操作:更新,数据:" + Newtonsoft.Json.JsonConvert.SerializeObject(item), eOutputType.Normal); item.步完成 = 1; item.步完成时间 = DateTime.Now; //if (mysqlDber.Update<WL_CarSendInfo>(item) > 0) if (mysqlDber.Execute(string.Format("update 始发表 set 同步完成=1,同步完成时间='{0}' where 编号={1}", DateTime.Now, item.编号)) > 0) { output("始发表数据获取后回写成功,数据:" + Newtonsoft.Json.JsonConvert.SerializeObject(item), eOutputType.Normal); } } #endregion } } }
/// <summary> /// 保存入厂煤运输记录 /// </summary> /// <param name="transportId"></param> /// <param name="weight">重量</param> /// <param name="place"></param> /// <returns></returns> public bool SaveBuyFuelTransport(string transportId, decimal weight, DateTime dt, string place) { CmcsBuyFuelTransport transport = SelfDber.Get <CmcsBuyFuelTransport>(transportId); if (transport == null) { return(false); } //根据当前流程节点名称判断 if (transport.StepName != eTruckInFactoryStep.重车.ToString()) { transport.StepName = eTruckInFactoryStep.重车.ToString(); transport.GrossWeight = weight; transport.GrossPlace = place; transport.GrossTime = dt; CmcsInNetTransport inNetTransport = SelfDber.Get <CmcsInNetTransport>(transport.OutNetTransportId); if (inNetTransport != null) { inNetTransport.StepName = eTruckInFactoryStep.重车.ToString(); SelfDber.Update(inNetTransport); } } else if (transport.StepName == eTruckInFactoryStep.重车.ToString()) { transport.StepName = eTruckInFactoryStep.轻车.ToString(); transport.TareWeight = weight; transport.TarePlace = place; transport.TareTime = dt; transport.OutFactoryTime = dt; CmcsInNetTransport inNetTransport = SelfDber.Get <CmcsInNetTransport>(transport.OutNetTransportId); if (inNetTransport != null) { inNetTransport.StepName = eTruckInFactoryStep.轻车.ToString(); inNetTransport.IsFinish = 1; SelfDber.Update(inNetTransport); } //扣吨量 transport.DeductWeight = GetDeductWeightWithOutAuto(transport.Id); transport.SuttleWeight = transport.GrossWeight - transport.TareWeight - transport.DeductWeight; if (transport.GrossWeight > 0 && transport.TareWeight > 0) { if (transport.TheMine.PurcHaseType == "地方煤") { transport.TicketWeight = transport.SuttleWeight; } else if (transport.TheMine.PurcHaseType == "厂矿直供" && transport.TicketWeight > 0 && transport.TicketWeight <= (transport.GrossWeight - transport.TareWeight)) { CmcsBuyFuelTransportDeduct deduct = commonDAO.SelfDber.Entity <CmcsBuyFuelTransportDeduct>("where TransportId=:TransportId and DeductType = '磅差'", new { TransportId = transport.Id }); decimal KgWeight = transport.GrossWeight - transport.TareWeight - transport.TicketWeight + 0.1m; transport.SuttleWeight = transport.TicketWeight - 0.1m - transport.DeductWeight; if (deduct == null) { deduct = new CmcsBuyFuelTransportDeduct(); deduct.TransportId = transport.Id; deduct.DeductType = "磅差"; deduct.DeductWeight = KgWeight; Dbers.GetInstance().SelfDber.Insert(deduct); } else if (deduct != null && deduct.DeductWeight != KgWeight) { deduct.DeductWeight = KgWeight; Dbers.GetInstance().SelfDber.Update(deduct); } transport.DeductWeight += KgWeight; } } // 回皮即完结 transport.IsFinish = 1; //流程结束时删除临时运输记录 CmcsUnFinishTransport unFinishTransport = SelfDber.Entity <CmcsUnFinishTransport>("where TransportId=:TransportId", new { TransportId = transportId }); if (unFinishTransport != null) { SelfDber.Delete <CmcsUnFinishTransport>(unFinishTransport.Id); } } else { return(false); } return(SelfDber.Update(transport) > 0); }
/// <summary> /// 生成入厂煤运输排队记录,同时生成批次信息以及采制化三级编码 /// </summary> /// <param name="autotruck">车</param> /// <param name="supplier">供煤单位</param> /// <param name="mine">矿点</param> /// <param name="transportCompany">运输单位</param> /// <param name="fuelKind">煤种</param> /// <param name="ticketWeight">矿发量</param> /// <param name="inFactoryTime">入厂时间</param> /// <param name="remark">备注</param> /// <param name="place">地点</param> /// <param name="samplingType">采样方式</param> /// <returns></returns> public bool JoinQueueBuyFuelTransport(CmcsAutotruck autotruck, CmcsMine mine, CmcsTransportCompany transportCompany, CmcsFuelKind fuelKind, CmcsInNetTransport inNetTransport, decimal ticketWeight, string samplerCode, string weighterCode, DateTime inFactoryTime, string remark, string place, CmcsSupplier supplier = null) { CmcsBuyFuelTransport transport = new CmcsBuyFuelTransport { SerialNumber = carTransportDAO.CreateNewTransportSerialNumber(eCarType.入厂煤, inFactoryTime), AutotruckId = autotruck.Id, CarNumber = autotruck.CarNumber, MineId = mine.Id, MineName = mine.Name, TransportCompanyId = transportCompany.Id, TransportCompanyName = transportCompany.Name, FuelKindId = fuelKind.Id, FuelKindName = fuelKind.Name, TicketWeight = ticketWeight, InFactoryTime = inFactoryTime, IsFinish = 0, IsUse = 1, StepName = eTruckInFactoryStep.入厂.ToString(), OutNetTransportId = inNetTransport == null ? "" : inNetTransport.Id, SamplePlace = samplerCode, GrossPlace = weighterCode, Remark = remark, SamplingType = eSamplingType.机械采样.ToString() }; if (supplier != null) { transport.SupplierId = supplier.Id; transport.SupplierName = supplier.Name; } // 生成批次以及采制化三级编码数据 CmcsInFactoryBatch inFactoryBatch = carTransportDAO.GCQCInFactoryBatchByBuyFuelTransport(transport); if (inFactoryBatch != null) { if (SelfDber.Insert(transport) > 0) { if (inNetTransport != null) { //更新内网矿发运输记录节点状态 inNetTransport.StepName = eTruckInFactoryStep.入厂.ToString(); inNetTransport.Infactorytime = inFactoryTime; SelfDber.Update(inNetTransport); } // 插入未完成运输记录 return(SelfDber.Insert(new CmcsUnFinishTransport { TransportId = transport.Id, CarType = eCarType.入厂煤.ToString(), AutotruckId = autotruck.Id, PrevPlace = place, }) > 0); } } return(false); }