private void btn保存_Click(object sender, EventArgs e) { if (cbo品牌.SelectedItem == null) { MsgHelper.ShowError("请选择品牌/厂家!"); return; } if (string.IsNullOrEmpty(sr厂家账户.Text)) { MsgHelper.ShowError("请选择厂家账户!"); return; } if (string.IsNullOrEmpty(sr二级销区.Text)) { MsgHelper.ShowError("请选择二级销区!"); return; } if (string.IsNullOrEmpty(txt车牌号.Text)) { MsgHelper.ShowError("请输入车牌号!"); return; } if (gridView发货计划明细.RowCount == 0) { MsgHelper.ShowError("没有发货明细,无法保存!"); return; } ICSEOUTBILLMODEL model = new ICSEOUTBILLMODEL(); if (IcseoutbillModel != null) { //model.FID = IcseoutbillModel.FID; model.FPREMISEID = IcseoutbillModel.FPREMISEID; model.FCLIENTID = IcseoutbillModel.FCLIENTID; model.FBRANDID = IcseoutbillModel.FBRANDID; //model.FBILLNO = IcseoutbillModel.FBILLNO; model.FCARNUMBER = IcseoutbillModel.FCARNUMBER; model.FLOADCAPACITY = IcseoutbillModel.FLOADCAPACITY; model.FDELIVERER = IcseoutbillModel.FDELIVERER; model.FDELIVERERTEL = IcseoutbillModel.FDELIVERERTEL; model.FDELIVERERIDNO = IcseoutbillModel.FDELIVERERIDNO; model.FDELIVERERADDR = IcseoutbillModel.FDELIVERERADDR; model.FRECEIVER = IcseoutbillModel.FRECEIVER; model.FRECEIVERTEL = IcseoutbillModel.FRECEIVERTEL; model.FRECEIVERADDR = IcseoutbillModel.FRECEIVERADDR; model.FALLWEIGHT = IcseoutbillModel.FALLWEIGHT; model.FALLVOLUME = IcseoutbillModel.FALLVOLUME; model.FBILLERID = IcseoutbillModel.FBILLERID; model.FBILLDATE = IcseoutbillModel.FBILLDATE; model.FSTATUS = IcseoutbillModel.FSTATUS; model.FCHECKERID = IcseoutbillModel.FCHECKERID; model.FCHECKDATE = IcseoutbillModel.FCHECKDATE; model.FREMARK = IcseoutbillModel.FREMARK; model.FTRANSTYPE = IcseoutbillModel.FTRANSTYPE; model.FTRANSID = IcseoutbillModel.FTRANSID; model.FDELIVERDATE = IcseoutbillModel.FDELIVERDATE; model.FFACTORYSTATUS = IcseoutbillModel.FFACTORYSTATUS; model.FSYNCSTATUS = IcseoutbillModel.FSYNCSTATUS; model.FCENTER_WAREHOUSE = IcseoutbillModel.FCENTER_WAREHOUSE; model.FIS_CONSIGN = IcseoutbillModel.FIS_CONSIGN; model.FDELIVERY_METHOD = IcseoutbillModel.FDELIVERY_METHOD; model.FEXPRESSCOMPANYID = IcseoutbillModel.FEXPRESSCOMPANYID; model.FPROJECTNAME = IcseoutbillModel.FPROJECTNAME; model.FPURCHASE_NO = IcseoutbillModel.FPURCHASE_NO; model.FPLANDESC = IcseoutbillModel.FPLANDESC; model.FSRCBILLNO = IcseoutbillModel.FSRCBILLNO; model.FBILLING_TYPE = IcseoutbillModel.FBILLING_TYPE; model.FGROUP_NO = IcseoutbillModel.FGROUP_NO; model.FBRAND_DEPART = IcseoutbillModel.FBRAND_DEPART; } model.FBILLNO = txt发货计划号.Text; if (string.IsNullOrEmpty(model.FGROUP_NO)) { model.FGROUP_NO = model.FBILLNO; } model.FBRANDID = ((TB_BrandModel)cbo品牌.SelectedItem).FID; model.FCLIENTID = sr厂家账户.Tag.ToStr(); model.FPREMISEID = sr二级销区.Tag.ToStr(); if (cbo运输方式.SelectedItem != null) { model.FTRANSID = ((SYS_SUBDICSMODEL)cbo运输方式.SelectedItem).FID; } model.FCARNUMBER = txt车牌号.Text; model.FLOADCAPACITY = txt车型载重.Text; model.FDELIVERDATE = txt发货日期.DateTime; model.FDELIVERER = txt提货人.Text; model.FDELIVERERTEL = txt提货人电话.Text; model.FRECEIVERADDR = txt收货方.Text; model.FALLWEIGHT = txt汇总重量.Text.ToDecimal(); model.FALLVOLUME = txt汇总体积.Text.ToDecimal(); model.FCENTER_WAREHOUSE = txt中心仓.Text; if (cbo发货方式.SelectedItem != null) { model.FDELIVERY_METHOD = ((SYS_SUBDICSMODEL)cbo发货方式.SelectedItem).FID; } model.FDELIVERERADDR = txt发货地点.Text; model.FPURCHASE_NO = txt采购订单.Text; //model.FEETOTAL = txt标准运费.Text; model.FPLANDESC = txt描述.Text; model.FEXPRESSCOMPANYID = sr承运公司.Tag.ToStr(); model.FPROJECTNAME = txt工程名称.Text; model.FREMARK = txt其他.Text; if (cbo开单类型.SelectedItem != null) { model.FBILLING_TYPE = ((CodeValueClass)cbo开单类型.SelectedItem).value.ToInt(); } model.FIS_CONSIGN = chk是否托管.Checked ? 1 : 0; model.FBILLERID = Global.LoginUser.FID; model.FBILLDATE = DateTime.Now; model.FDELIVERY_REQUIRE = txt销区发货要求.Text; model.FBRAND_DEPART = txt品牌部.Text; List <ICSEOUTBILLENTRYMODEL> entrys = new List <ICSEOUTBILLENTRYMODEL>(); var datasource = gridControl发货计划明细.DataSource as List <V_ICSEOUTBILLENTRYMODEL>; int index = 1; foreach (V_ICSEOUTBILLENTRYMODEL entry in datasource) { //if (model.FBILLING_TYPE == 1 && entry.FTRUSTEESHIP == "Y") //{ // MsgHelper.ShowError("普通开单,明细项目不允许有托管库开单的数据,请检查您的输入!"); // return; //} if (entry.FDISMANTLING.ToDecimal() > 0) { _service.UpdateGetDeliveryEntryData(entry.FID, entry.FCOMMITQTY - entry.FDISMANTLING); entrys.Add(new ICSEOUTBILLENTRYMODEL() { FID = entry.FID, FICSEOUTID = entry.FICSEOUTID, FSRCID = entry.FSRCID, FPRICEPOLICYENTRYID = entry.FPRICEPOLICYENTRYID, FICPRID = entry.FICPRID, FENTRYID = index, FCOMMITQTY = entry.FDISMANTLING, FHNAMOUNT = entry.FHNAMOUNT, FSTOCKNUMBER = entry.FSTOCKNUMBER, FSTOCK = entry.FSTOCK, FSTOCKPLACE = entry.FSTOCKPLACE, FWEIGHT = entry.FWEIGHT, FVOLUME = entry.FVOLUME, FREMARK = entry.FREMARK, FBATCHNO = entry.FBATCHNO, FCOLORNO = entry.FCOLORNO, FLEVEL = entry.FLEVEL, FWDR = entry.FWDR, FITEMID = entry.FITEMID, FPRICE = entry.FPRICE, FAMOUNT = entry.FAMOUNT, FERR_MESSAGE = entry.FERR_MESSAGE, FNEEDDATE = entry.FNEEDDATE, FORDERREMARK1 = entry.FORDERREMARK1, FORDERREMARK2 = entry.FORDERREMARK2, FDESCRIPTION = entry.FDESCRIPTION, FBRAND = entry.FBRAND, FLOCATION_NO = entry.FLOCATION_NO }); index++; } } _service.DeliveryBillSave(model, entrys.ToArray(), true); MsgHelper.ShowInformation("保存成功!"); if (SaveAfter != null) { SaveAfter(null, null); } this.Close(); }
public string Save(ICSEOUTBILLMODEL ICSEOUTBILL, IEnumerable <ICSEOUTBILLENTRYMODEL> ICSEOUTBILLENTRYList) { #region 检查 ICSEOUTBILLMODEL temp = ICSEOUTBILLDAL.Instance.GetWhere(new { FBILLNO = ICSEOUTBILL.FBILLNO }).FirstOrDefault(); if (temp != null && temp.FID != ICSEOUTBILL.FID) { return("单据单号重复!"); } //foreach (var item in ICSEOUTBILLENTRYList.GroupBy(i => i.FITEMID + i.FENTRYID)) //{ // if (item.Count() > 1) // { // return "商品资料重复!"; // } //} #endregion string FID = ICSEOUTBILL.FID; ICSEOUTBILL.FSTATUS = Constant.BILL_FSTATUS.草稿.ToInt(); if (FID.IsNullOrEmpty()) { if (ICSEOUTBILL.FBILLERID == null) { ICSEOUTBILL.FBILLERID = SysVisitor.Instance.UserId; } ICSEOUTBILL.FBILLDATE = DateTime.Now; ICSEOUTBILL.FCAR_STATUS = 1; // 1:待发布,2:已发布,3:发布失败,4:已确认,5:关闭,6:关闭(改) FID = ICSEOUTBILLDAL.Instance.Insert(ICSEOUTBILL); if (!FID.IsGuid()) { return("发货通知保存失败!"); } } else { int status = ICSEOUTBILLDAL.Instance.GetStatus(ICSEOUTBILL.FID); if (status == Constant.BILL_FSTATUS.审核通过.ToInt()) { return("该发货通知已经审核,不允许编辑!"); } if (status == Constant.BILL_FSTATUS.完成.ToInt()) { return("该发货通知已经完成,不允许编辑!"); } if (status == Constant.BILL_FSTATUS.关闭.ToInt()) { return("该发货通知已经关闭,不允许编辑!"); } //int result = ICSEOUTBILLDAL.Instance.Update(ICSEOUTBILL); int result = ICSEOUTBILLDAL.Instance.UpdateWhatWhere(new { FPREMISEID = ICSEOUTBILL.FPREMISEID, FBRANDID = ICSEOUTBILL.FBRANDID, FCLIENTID = ICSEOUTBILL.FCLIENTID, FBILLNO = ICSEOUTBILL.FBILLNO, FSTATUS = Constant.BILL_FSTATUS.草稿.ToInt(), FCARNUMBER = ICSEOUTBILL.FCARNUMBER, FLOADCAPACITY = ICSEOUTBILL.FLOADCAPACITY, FDELIVERER = ICSEOUTBILL.FDELIVERER, FDELIVERERTEL = ICSEOUTBILL.FDELIVERERTEL, FDELIVERERIDNO = ICSEOUTBILL.FDELIVERERIDNO, FDELIVERERADDR = ICSEOUTBILL.FDELIVERERADDR, FRECEIVER = ICSEOUTBILL.FRECEIVER, FRECEIVERTEL = ICSEOUTBILL.FRECEIVERTEL, FRECEIVERADDR = ICSEOUTBILL.FRECEIVERADDR, FALLWEIGHT = ICSEOUTBILL.FALLWEIGHT, FALLVOLUME = ICSEOUTBILL.FALLVOLUME, FREMARK = ICSEOUTBILL.FREMARK, FTRANSTYPE = ICSEOUTBILL.FTRANSTYPE, FTRANSID = ICSEOUTBILL.FTRANSID, FDELIVERDATE = ICSEOUTBILL.FDELIVERDATE, FEXPRESSCOMPANYID = ICSEOUTBILL.FEXPRESSCOMPANYID, FPROJECTNAME = ICSEOUTBILL.FPROJECTNAME, FCENTER_WAREHOUSE = ICSEOUTBILL.FCENTER_WAREHOUSE, FDELIVERY_METHOD = ICSEOUTBILL.FDELIVERY_METHOD, FPURCHASE_NO = ICSEOUTBILL.FPURCHASE_NO, FPLANDESC = ICSEOUTBILL.FPLANDESC, FIS_CONSIGN = ICSEOUTBILL.FIS_CONSIGN, FBILLING_TYPE = ICSEOUTBILL.FBILLING_TYPE, FSETTLE_ORG = ICSEOUTBILL.FSETTLE_ORG, FDELIVERY_REQUIRE = ICSEOUTBILL.FDELIVERY_REQUIRE, FBRAND_DEPART = ICSEOUTBILL.FBRAND_DEPART, }, new { FID = ICSEOUTBILL.FID }); if (result <= 0) { return("发货通知保存失败!"); } } var entrys = ICSEOUTBILLENTRYDAL.Instance.GetWhere(new { FICSEOUTID = FID }).ToList(); //删除明细 ICSEOUTBILLENTRYBLL.Instance.DeleteByICSEOUTBILLID(FID); foreach (var model in entrys) { var count = ICSEOUTBILLENTRYList.Where(m => m.FICPRID == model.FICPRID).Count(); if (count == 0) { string sql = string.Format("SELECT SUM(FCOMMITQTY*FRATE) FROM V_ICSEOUTBILLENTRY WHERE FICPRID='{0}' and (FGROUP_STATUS is null or FGROUP_STATUS = 0)", model.FICPRID); DataTable table = DbUtils.Query(sql); decimal total = PublicMethod.GetDecimal(table.Rows[0][0]); ICPRBILLENTRYMODEL icprModel = ICPRBILLENTRYDAL.Instance.Get(model.FICPRID); if (icprModel != null) { icprModel.FLEFTAMOUNT = icprModel.FASKQTY - total; if (icprModel.FLEFTAMOUNT <= 0) { icprModel.FSTATUS = 5; } else { icprModel.FSTATUS = 7; } ICPRBILLENTRYDAL.Instance.Update(icprModel); if (ICPRBILLENTRYDAL.Instance.GetCloseStatus(icprModel.FPLANID) == 0) { ICPRBILLDAL.Instance.UpdateWhatWhere(new { FSTATUS = (int)Constant.ICPRBILL_FSTATUS.关闭 }, new { FID = icprModel.FPLANID }); } else { ICPRBILLDAL.Instance.UpdateWhatWhere(new { FSTATUS = (int)Constant.ICPRBILL_FSTATUS.采购确认 }, new { FID = icprModel.FPLANID }); } } } } foreach (var item in ICSEOUTBILLENTRYList) { item.FICSEOUTID = FID; string id = ICSEOUTBILLENTRYDAL.Instance.Insert(item); LogHelper.WriteLog("herherehrer:" + item.thdbm); //var list = ICSEOUTBILLENTRYDAL.Instance.GetWhere(new { FICPRID = item.FICPRID }); string sql = string.Format("SELECT SUM(FCOMMITQTY*FRATE) FROM V_ICSEOUTBILLENTRY WHERE FICPRID='{0}' and (FGROUP_STATUS is null or FGROUP_STATUS = 0)", item.FICPRID); DataTable table = DbUtils.Query(sql); decimal total = PublicMethod.GetDecimal(table.Rows[0][0]); ICPRBILLENTRYMODEL icprModel = ICPRBILLENTRYDAL.Instance.Get(item.FICPRID); if (icprModel != null) { icprModel.FLEFTAMOUNT = icprModel.FASKQTY - total; if (icprModel.FLEFTAMOUNT <= 0) { icprModel.FSTATUS = 5; } else { icprModel.FSTATUS = 7; } ICPRBILLENTRYDAL.Instance.Update(icprModel); if (ICPRBILLENTRYDAL.Instance.GetCloseStatus(icprModel.FPLANID) == 0) { ICPRBILLDAL.Instance.UpdateWhatWhere(new { FSTATUS = (int)Constant.ICPRBILL_FSTATUS.关闭 }, new { FID = icprModel.FPLANID }); } else { ICPRBILLDAL.Instance.UpdateWhatWhere(new { FSTATUS = (int)Constant.ICPRBILL_FSTATUS.采购确认 }, new { FID = icprModel.FPLANID }); } } //ICPRBILLENTRYMODEL icprModel = ICPRBILLENTRYDAL.Instance.Get(item.FICPRID); //if (icprModel != null) //{ // if (icprModel.FORDERUNITQTY >= total) // { // icprModel.FLEFTAMOUNT = icprModel.FLEFTAMOUNT - total; // } // else // { // icprModel.FLEFTAMOUNT = 0; // } // ICPRBILLENTRYDAL.Instance.Update(icprModel); //} } return(null); }
/// <summary> /// 发货计划单据保存 /// </summary> /// <param name="model"></param> /// <param name="entrys"></param> /// <returns></returns> public bool DeliveryBillSave(ICSEOUTBILLMODEL model, List <ICSEOUTBILLENTRYMODEL> entrys, bool delivery = true) { try { if (!delivery) { if (entrys.Count > 0) { List <ICPRBILLENTRYMODEL> icprModels = ICPRBILLENTRYDAL.Instance.GetWhere(new { FID = entrys[0].FICPRID }).ToList(); if (icprModels.Count > 0) { ICPRBILLMODEL icprModel = ICPRBILLDAL.Instance.Get(icprModels[0].FPLANID); if (icprModel != null) { model.FPROJECTNAME = icprModel.FPROJECTNAME; model.FRECEIVERADDR = icprModel.FRECEIVINGADDR; model.FPLANDESC = icprModel.JDE; model.FPURCHASE_NO = icprModel.FPURCHASE_NO; model.FREMARK = icprModel.FREMARK; model.FSETTLE_ORG = icprModel.FSETTLE_ORG; } } } } var result = ICSEOUTBILLBLL.Instance.Save(model, entrys); if (result == null && !string.IsNullOrEmpty(model.FGROUP_NO)) { //插入装车发货明细 var details = TB_DELIVERY_DETAILDal.Instance.GetWhere(new { FGROUP_NO = model.FGROUP_NO }).ToList(); if (details.Count > 0) { TB_DELIVERY_DETAILModel m = details[0]; m.FGROUP_NO = model.FGROUP_NO; m.FDELIVERDATE = model.FDELIVERDATE; m.FBRANDID = model.FBRANDID; m.FPREMISEID = model.FPREMISEID; m.FPLAN_INFO = model.FPLAN_INFO; m.FTRANSID = model.FTRANSID; m.FDELIVERERADDR = model.FDELIVERERADDR; m.FRECEIVERADDR = model.FRECEIVERADDR; m.FALLWEIGHT = model.FALLWEIGHT; m.FCARNUMBER = model.FCARNUMBER; m.FEXPRESSCOMPANYID = model.FEXPRESSCOMPANYID; TB_DELIVERY_DETAILDal.Instance.Update(m); } else { TB_DELIVERY_DETAILModel m = new TB_DELIVERY_DETAILModel(); m.FGROUP_NO = model.FGROUP_NO; m.FDATE = DateTime.Now; m.FDELIVERDATE = model.FDELIVERDATE; m.FBRANDID = model.FBRANDID; m.FPREMISEID = model.FPREMISEID; m.FPLAN_INFO = model.FPLAN_INFO; m.FTRANSID = model.FTRANSID; m.FDELIVERERADDR = model.FDELIVERERADDR; m.FRECEIVERADDR = model.FRECEIVERADDR; m.FALLWEIGHT = model.FALLWEIGHT; m.FCARNUMBER = model.FCARNUMBER; m.FEXPRESSCOMPANYID = model.FEXPRESSCOMPANYID; m.FSTATUS = 0;//草稿状态 TB_DELIVERY_DETAILDal.Instance.Insert(m); } } return(true); } catch (Exception ex) { hn.Common.LogHelper.WriteLog(ex); throw ex; } }