/// <summary> /// 提交添加 /// </summary> private bool SubmintAdd() { //生成调度单 LHDispatchCenter dispatch = new LHDispatchCenter(); //调度单号生成 string newKeyId = SequenceService.CreateSequence("PC", CurrentUser.AccountComId); dispatch.KeyId = newKeyId; lblKeyId.Text = newKeyId; dispatch.FCompanyId = CurrentUser.AccountComId; dispatch.FBeginDate = dptBeginDate.SelectedDate; dispatch.FBeginTime = dpBeginTime.Text.Trim(); dispatch.FEndDate = dptEnd.SelectedDate; dispatch.FEndTime = dpEndTime.Text.Trim(); dispatch.FDate = DateTime.Now; dispatch.FVehicleNum = ddlFVehicleNum.SelectedValue; dispatch.FDriver = GasHelper.GetDropDownListArrayString(ddlFDriver.SelectedItemArray); dispatch.FSupercargo = GasHelper.GetDropDownListArrayString(ddlFSupercargo.SelectedItemArray); dispatch.CreateBy = CurrentUser.AccountName; dispatch.FFlag = 1; dispatch.FLogistics = ddlLogistics.SelectedText; dispatch.FLogisticsCode = ddlLogistics.SelectedValue; dispatch.FActual = string.IsNullOrEmpty(txtFActual.Text.Trim()) ? 0M : Convert.ToDecimal(txtFActual.Text.Trim()); dispatch.FTrailerPlate = ddlFTrailerPlate.SelectedValue; dispatch.FFrom = ddlFrom.SelectedValue; dispatch.FTo = ddlTo.SelectedValue; dispatch.FDeliveryMethod = ddlDeliveryMethod.SelectedValue; dispatch.FAuditFlag = 0; DispatchCenterService.Add(dispatch); string[] keys = KeyId.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); string[] patch = patchid.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); foreach (string key in keys) { if (!string.IsNullOrEmpty(key)) { //状态 LHBillStatus flow = new LHBillStatus { KeyId = key, FCompanyId = CurrentUser.AccountComId, FDeptId = CurrentUser.AccountOrgId, FOperator = CurrentUser.AccountName, FDate = Convert.ToDateTime(dptBeginDate.SelectedDate), FActionName = "配车", FMemo = string.Format(@"单据号{0}被{1}作配车业务处理。", key, CurrentUser.AccountName) }; BillStatusService.Add(flow); LHStockOut info = new StockOutService().FirstOrDefault(p => p.KeyId == key && p.FCompanyId == CurrentUser.AccountComId); if (info != null) { Dictionary <string, object> infoParms = new Dictionary <string, object>(); infoParms.Clear(); infoParms.Add("@keyid", info.FLogisticsNumber); infoParms.Add("@companyId", CurrentUser.AccountComId); infoParms.Add("@FVehicleNum", ddlFVehicleNum.SelectedValue); infoParms.Add("@FDriver", GasHelper.GetDropDownListArrayString(ddlFDriver.SelectedItemArray)); infoParms.Add("@FSupercargo", GasHelper.GetDropDownListArrayString(ddlFSupercargo.SelectedItemArray)); infoParms.Add("@FDispatchNum", newKeyId); //调度单号 SqlService.ExecuteProcedureCommand("proc_DispatchCenter", infoParms); } //变更单据上的司机、押韵员、车牌号 Dictionary <string, object> parms = new Dictionary <string, object>(); parms.Clear(); parms.Add("@keyid", key); parms.Add("@companyId", CurrentUser.AccountComId); parms.Add("@FVehicleNum", ddlFVehicleNum.SelectedValue); parms.Add("@FDriver", GasHelper.GetDropDownListArrayString(ddlFDriver.SelectedItemArray)); parms.Add("@FSupercargo", GasHelper.GetDropDownListArrayString(ddlFSupercargo.SelectedItemArray)); parms.Add("@FDispatchNum", newKeyId); //调度单号 SqlService.ExecuteProcedureCommand("proc_DispatchCenter", parms); List <LHStockOut> outs = new List <LHStockOut>(); List <LHPassCard> cards = new List <LHPassCard>(); } } foreach (var item in patch) { LHStockOutDispatch dis = StockoutDispatchServices.Where(p => p.KeyId == item).FirstOrDefault(); if (dis != null) { dis.FState = 1; StockoutDispatchServices.SaveChanges(); } } return(true); }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string backouts = context.Request["params"]; TmsReturnModel returnModel = new TmsReturnModel(); StockOutDetailsService service = new StockOutDetailsService(); DispatchCenterService centerService = new DispatchCenterService(); StockInDetailsService stockInDetails = new StockInDetailsService(); try { using (TransactionScope trans = new TransactionScope()) { tmsModel outs = JsonConvert.DeserializeObject <tmsModel>(backouts); if (outs.stockOutDetailsList != null) { foreach (LHStockOutDetails items in outs.stockOutDetailsList) { LHStockOutDetails details = service.Where(p => p.KeyId == items.KeyId && p.FId == items.FId).FirstOrDefault(); if (details != null) { details.FRecycleQty = items.FRecycleQty; details.FReturnQty = items.FReturnQty; details.FDevice = items.FDevice; details.FDeviceValue = string.IsNullOrEmpty(items.FDeviceValue.ToString()) ? 0 : Convert.ToDecimal(items.FDeviceValue); details.FInTemperature = string.IsNullOrEmpty(items.FInTemperature.ToString()) // ? 0 : Convert.ToDecimal(items.FInTemperature.ToString()); details.FInPressure = string.IsNullOrEmpty(items.FInPressure.ToString()) // ? 0 : Convert.ToDecimal(items.FInPressure.ToString()); details.FOutTemperature = string.IsNullOrEmpty(items.FOutTemperature.ToString()) // ? 0 : Convert.ToDecimal(items.FOutTemperature.ToString()); details.FOutPressure = string.IsNullOrEmpty(items.FOutPressure.ToString()) // ? 0 : Convert.ToDecimal(items.FOutPressure.ToString()); details.FPayTemperature = string.IsNullOrEmpty(items.FPayTemperature.ToString()) // ? 0 : Convert.ToDecimal(items.FPayTemperature.ToString()); details.FPayPressure = string.IsNullOrEmpty(items.FPayPressure.ToString()) // ? 0 : Convert.ToDecimal(items.FPayPressure.ToString()); details.FReceiveTemperature = string.IsNullOrEmpty(items.FReceiveTemperature.ToString()) // ? 0 : Convert.ToDecimal(items.FReceiveTemperature.ToString()); details.FReceivePressure = string.IsNullOrEmpty(items.FReceivePressure.ToString()) // ? 0 : Convert.ToDecimal(items.FReceivePressure.ToString()); //数量计算 LHStockOut StockOut = new StockOutService().Where(p => p.KeyId == items.KeyId).FirstOrDefault(); string FCode = StockOut.FCode; //计算公式 LHTubePrice v1 = new TubePriceService().Where(p => p.FBill == "销售" &&// p.FCode == FCode &&// p.FItemCode == details.FItemCode).FirstOrDefault(); if (v1 != null) { //< font color = "red" >$W1:进厂温度、$W2:出厂温度、$W3: 交付温度、$W4: 接收温度、$V: 水容积 </ font >< br /> //< font color = "red" >$Y1:进厂压力、$Y2:出厂压力、$Y3: 交付压力、$Y4: 接收压力 </ font >< br /> string inW = Convert.ToDecimal(details.FInTemperature).ToString(CultureInfo.InvariantCulture); string inY = Convert.ToDecimal(details.FInPressure).ToString(CultureInfo.InvariantCulture); string outW = Convert.ToDecimal(details.FOutTemperature).ToString(CultureInfo.InvariantCulture); string outY = Convert.ToDecimal(details.FOutPressure).ToString(CultureInfo.InvariantCulture);; string payW = Convert.ToDecimal(details.FPayTemperature).ToString(CultureInfo.InvariantCulture); string payY = Convert.ToDecimal(details.FPayPressure).ToString(CultureInfo.InvariantCulture); string recW = Convert.ToDecimal(details.FReceiveTemperature).ToString(CultureInfo.InvariantCulture); string recY = Convert.ToDecimal(details.FReceivePressure).ToString(CultureInfo.InvariantCulture); //水溶积 string v = Convert.ToDecimal(details.FDeviceValue).ToString(CultureInfo.InvariantCulture); //数量 string s1 = v1.FFormula.Replace("$W1", inW) // .Replace("$W2", outW) .Replace("$W3", payW) // .Replace("$W4", recW) // .Replace("$Y1", inY) // .Replace("$Y2", outY) // .Replace("$Y3", payY) // .Replace("$Y4", recY) // .Replace("$V", v); //数量 details.FQty = Convert.ToDecimal(FormulaCalculator.Eval(s1)); //金额 details.FAmount = details.FQty * details.FPrice; } service.SaveChanges(); } } } if (outs.dispatchCenterList != null) { foreach (LHDispatchCenter item in outs.dispatchCenterList) { LHDispatchCenter lH = centerService.Where(p => p.KeyId == item.KeyId & p.FAuditFlag == 0).FirstOrDefault(); if (lH != null) { lH.FDriver = item.FDriver; lH.FSupercargo = item.FSupercargo; lH.FMileage = item.FMileage; } centerService.SaveChanges(); } } trans.Complete(); } returnModel.code = "200"; returnModel.msg = "成功"; } catch (Exception ex) { returnModel.code = "500"; returnModel.msg = "失败"; returnModel.msg = ex.Message; } context.Response.Write(JsonConvert.SerializeObject(returnModel)); }