private void UpdateMoney(int row) { //数量不为0 或者空 //成本单价>=<单价>+<运杂费>/<数量> //运杂费>= 所选库存流水记录里的运杂费/库存流水记录里的数量*本次出库数量; //<成本金额>=<成本单价>×<数量> DataGridViewRow r = this.dataGView1.Rows[row]; if (r.Cells["EqIdName_Column"].Value == null) { return; } double result; if (!WJs.IsNum(r.Cells["shuliang_Column"].Value.ToString()) || !WJs.IsD0Zs(r.Cells["shuliang_Column"].Value.ToString())) { WJs.alert("数量必须为正整数,已设置为默认值1 !"); r.Cells["shuliang_Column"].Value = 1; return; } DataTable YunZaShuLiang = LData.LoadDataTable("FindYunZaFeiInEQDiaoBO", null, new object[] { dataGView1.Rows[row].Cells["KuCunLiuShui_Column"].Value, His.his.Choscode }); if (YunZaShuLiang == null) { WJs.alert("该库存流水记录内不包含运杂费,设备数量等数据,无法继续操作!"); return; } DataRow drr = YunZaShuLiang.Rows[0]; double ChangeYunZaFei; //分别为对应的库存流水里面的数量和对应的运杂费 运杂费>= 所选库存流水记录里的运杂费/库存流水记录里的数量*本次出库数量; if (double.TryParse(drr["NUM"].ToString(), out result) && double.TryParse(drr["OTHERMONEY"].ToString(), out ChangeYunZaFei)) { if (r.Cells["shuliang_Column"].Value != null && WJs.IsZs(r.Cells["shuliang_Column"].Value.ToString().Trim()) && r.Cells["danjia_Column"].Value != null) { this.dataGView1.jsBds("金额=数量*单价"); r.Cells["yunzafei_Column"].Value = (ChangeYunZaFei * (Convert.ToDouble(r.Cells["shuliang_Column"].Value.ToString().Trim())) / result).ToString("f" + XiaoShuWei); this.dataGView1.jsBds("成本单价=单价+运杂费/数量"); this.dataGView1.jsBds("成本金额=成本单价*数量"); } else { r.Cells["jine_Column"].Value = 0.ToString("f" + XiaoShuWei); r.Cells["danjia_Column"].Value = 0.ToString("f" + XiaoShuWei); r.Cells["yunzafei_Column"].Value = 0.ToString("f" + XiaoShuWei); } } this.TotalMoney_textBox1.Text = this.dataGView1.Sum("金额").ToString(); }
void dataGView1_RowToXml(RowToXmlEvent e) //将所有数据生产xml类型数据 { if (e.Data["设备ID"].IsNull) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行必须输入【设备名称】!"); this.dataGView1.setFocus(e.Row.Index + 1, "设备名称"); return; } if (e.Data["国别"].IsNull) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行必须输入【国别】!"); this.dataGView1.setFocus(e.Row.Index, "国别"); return; } if (!WJs.IsZs(e.Data["采购数量"].ToString()) || e.Data["采购数量"].ToDouble() <= 0) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行【采购数量】只能输入整数,并且必须大于0!"); this.dataGView1.setFocus(e.Row.Index, "数量"); return; } if (!WJs.MaxNumOver(e.Data["采购数量"].ToString(), "第" + (e.Row.Index + 1) + "行【采购数量】设定值太大,请更改")) { e.IsValid = false; this.dataGView1.setFocus(e.Row.Index, "采购数量"); return; } if (!WJs.IsNum(e.Data["采购单价"].ToString()) || e.Data["采购单价"].ToFloat() <= 0) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行【采购单价】只能输入数字,并且必须大于0!"); this.dataGView1.setFocus(e.Row.Index, "采购单价"); return; } if (!e.Data["备注"].IsNull && e.Data["备注"].ToString().Length > 500) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行输入的【备注】最多只允许500个字符!"); this.dataGView1.setFocus(e.Row.Index, "备注"); return; } }
void dataGView1_RowToXml(RowToXmlEvent e) { if (e.Data["设备名称"].IsNull || e.Data["设备名称"].ToString().Trim().Equals("")) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行必须输入【设备名称】!"); this.dataGView1.setFocus(e.Row.Index, "设备名称"); return; } if (e.Data["单位编码"].IsNull || e.Data["单位编码"].ToString().Trim().Equals("")) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行必须输入【单位编码】!"); this.dataGView1.setFocus(e.Row.Index, "单位编码"); return; } if (!WJs.IsZs(e.Data["数量"].ToString()) || e.Data["数量"].ToDouble() <= 0) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行【数量】只能输入整数,并且必须大于0!"); this.dataGView1.setFocus(e.Row.Index, "数量"); return; } if (e.Data["库存流水号"].IsNull || e.Data["库存流水号"].ToString().Trim().Equals("")) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行必须输入【库存流水号】!"); this.dataGView1.setFocus(e.Row.Index, "库存流水号"); return; } // 每一种设备ID 对应的设备数目之和与总的 if (isCanFKC == "0")//不允许负库存出库 { if (e.Data["数量"].ToInt() > e.Data["库存余量"].ToInt()) { e.IsValid = false; WJs.alert("由系统参数设置,第" + (e.Row.Index + 1) + "行的数量不能大于库存余量"); this.dataGView1.setFocus(e.Row.Index, "数量"); } } }
void dataGView1_RowToXml(RowToXmlEvent e) { if (e.Data["设备ID"].IsNull) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行必须输入【设备】!"); this.dataGView1.setFocus(e.Row.Index, "设备"); return; } if (e.Data["库存流水号"].IsNull) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行必须输入【库存流水号】!"); this.dataGView1.setFocus(e.Row.Index, "库存流水号"); return; } if (!WJs.IsZs(e.Data["数量"].ToString()) || e.Data["数量"].ToDouble() <= 0) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行【数量】只能输入整数,并且必须大于0!"); this.dataGView1.setFocus(e.Row.Index, "数量"); return; } if (!WJs.MaxNumOver(e.Data["数量"].ToString(), "第" + (e.Row.Index + 1) + "行【数量】")) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行【数量】太大,请重新输入!"); this.dataGView1.setFocus(e.Row.Index, "数量"); return; } if (e.Data["现有库存量"].ToDouble() < e.Data["数量"].ToDouble()) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行【数量】不能大于其当前的库存量!"); this.dataGView1.setFocus(e.Row.Index, "数量"); return; } }
void dataGView1_RowToXml(RowToXmlEvent e) { if (e.Data["设备ID"].IsNull) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行必须输入【设备】!"); this.dataGView1.setFocus(e.Row.Index, "设备"); return; } if (!WJs.IsZs(e.Data["数量"].ToString()) || e.Data["数量"].ToDouble() <= 0) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行【数量】只能输入整数,并且必须大于0!"); this.dataGView1.setFocus(e.Row.Index, "数量"); return; } if (!WJs.MaxNumOver(e.Data["数量"].ToString(), "第" + (e.Row.Index + 1) + "行【数量】")) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行【数量】太大,请重新输入!"); this.dataGView1.setFocus(e.Row.Index, "数量"); return; } if (!WJs.IsNum(e.Data["发票单价"].ToString()) || e.Data["发票单价"].ToFloat() <= 0) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行【发票单价】只能输入数字,并且必须大于0!"); this.dataGView1.setFocus(e.Row.Index, "发票单价"); return; } if (!WJs.IsNum(e.Data["运杂费"].ToString()) || e.Data["运杂费"].ToFloat() <= 0) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行【运杂费】只能输入数字,并且必须大于0!"); this.dataGView1.setFocus(e.Row.Index, "运杂费"); return; } if (e.Data["生产日期"].ToDateTime() > DateTime.Now) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行【生产日期】不能大于当前日期!"); this.dataGView1.setFocus(e.Row.Index, "生产日期"); return; } if (e.Data["生产日期"].IsNull) { e.IsValid = false; WJs.alert("请设置第" + (e.Row.Index + 1) + "行【生产日期】,且不能大于当前日期!"); this.dataGView1.setFocus(e.Row.Index, "生产日期"); return; } if (e.Data["有效期"].ToDateTime() < DateTime.Now) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行【有效期】不能小于当前日期!"); this.dataGView1.setFocus(e.Row.Index, "有效期"); return; } if (!e.Data["备注"].IsNull && e.Data["备注"].ToString().Length > 500) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行输入的【备注】最多只允许500个字符!"); this.dataGView1.setFocus(e.Row.Index, "备注"); return; } if (!e.Data["条形码"].IsNull && e.Data["条形码"].ToString().Length > 100) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行输入的【条形码】最多只允许100个字符!"); this.dataGView1.setFocus(e.Row.Index, "条形码"); return; } if (!e.Data["生产厂家"].IsNull && e.Data["生产厂家"].ToString().Length > 100) { e.IsValid = false; WJs.alert("第" + (e.Row.Index + 1) + "行输入的【生产厂家】最多只允许100个字符!"); this.dataGView1.setFocus(e.Row.Index, "生产厂家"); return; } }