private void SubmitCheck_toolStrip_Click(object sender, EventArgs e) { //对状态为审核被拒(即“状态=2”)的出库数据进行提交审核操作,更改状态为1即可。 Dictionary <string, ObjItem> dr = this.dataGView1.getRowData(); if (dr != null) { if (dr["状态"].ToString() == "2") { if (WJs.confirm("您确定要将该条设备领用记录重新提交审核吗?")) { LData.Exe("UpdateLingYongStatus", null, new object[] { "1", DateTime.Now, His.his.Choscode.ToString(), dr["出库ID"].ToString() }); refresh_toolStrip_Click(null, null); } } else { WJs.alert("只能对处于审核被拒状态的设备领用记录进行提交审核操作"); } } else { WJs.alert("请选择要提交审核的设备领用记录!"); } }
private void del_toolStrip_Click(object sender, EventArgs e) { if (dataGView1.CurrentRow == null) { WJs.alert("请选择要删除的设备领用信息!"); } if (isFlag == 2) { dataGView1.Rows.Remove(dataGView1.CurrentRow); } if (isFlag == 1) { if (dataGView1.CurrentRow.Cells["Liushuihao_Column"].Value.ToString() != "" && dataGView1.CurrentRow.Cells["Liushuihao_Column"].Value != null) { if (WJs.confirm("您确定要删除选中的设备领用信息?针对原始数据的删除时不可恢复的!")) { if (LData.Exe("DeleteOutDetailInfoInEdit", null, new object[] { this.dataGView1.CurrentRow.Cells["Liushuihao_Column"].Value, His.his.Choscode }) == "") { WJs.alert("删除信息失败!"); return; } dataGView1.Rows.Remove(dataGView1.CurrentRow); } } else { dataGView1.Rows.Remove(dataGView1.CurrentRow); } } this.TotalMoney_textBox1.Text = this.dataGView1.Sum("金额").ToString(); }
private void toolStripButton_submit_Click(object sender, EventArgs e) //提交 { Dictionary <string, ObjItem> drX = dataGView2.getRowData(); if (drX == null) { WJs.alert("请在细表中选择要提交的设备下账信息!"); dataGView2.Focus(); return; } else { if (drX["状态"].ToString() != "2") { WJs.alert("只能对状态为审核被拒的下账信息进行提交!"); return; } else { LData.Exe("UpdateStatus1_EQKeepAccountsManag", null, new object[] { drX["下账ID"].ToString(), His.his.Choscode }); WJs.alert("提交成功!"); refresh_toolStrip_Click(null, null); } } }
private void Del_toolStrip_Click(object sender, EventArgs e)//删除 { Dictionary <string, ObjItem> drX = dataGView2.getRowData(); if (drX == null) { WJs.alert("请在细表中选择要删除的设备保养信息!"); dataGView2.Focus(); return; } else { if (drX["状态"].ToString() == "0") { WJs.alert("该设备保养信息已经为无效状态,无需删除!"); return; } else { LData.Exe("UpdateStatus_EQKeepFitManag", null, new object[] { drX["保养ID"].ToString(), His.his.Choscode }); WJs.alert("删除成功!"); refresh_toolStrip_Click(null, null); } } }
private void Del_toolStrip_Click(object sender, EventArgs e) { //只能删除状态为1或2的领用数据 更改状态为0 Dictionary <string, ObjItem> dr = this.dataGView1.getRowData(); if (dr != null) { if (dr["状态"].ToString() == "1" || dr["状态"].ToString() == "2") { if (WJs.confirm("你确定要将该条设备领用信息作废?")) { LData.Exe("UpdateLingYongStatus", null, new object[] { "0", DateTime.Now, His.his.Choscode.ToString(), dr["出库ID"].ToString() }); refresh_toolStrip_Click(null, null); } } else { WJs.alert("只能将状态为等待审核以及审核被拒的设备领用记录作废!"); return; } } else { WJs.alert("请选择要删除的设备领用记录!"); } }
private void Del_toolStrip_Click(object sender, EventArgs e) { Dictionary <string, ObjItem> dr = this.dataGView2.getRowData(); if (dr == null) { WJs.alert("请选择需要删除的设备使用信息!"); return; } if (dr != null) { if (dr["状态"].ToString() == "1") { if (WJs.confirm("您确认要删除该条设备使用信息吗?")) { LData.Exe("DeleteEQUseInfo_EQUseManag", null, new object[] { His.his.Choscode, dr["使用ID"].ToString() }); WJs.alert("删除成功!"); if (selTextInpt1.Text != "" && selTextInpt1.Value != "") { refresh_toolStrip_Click(null, null); } } } else { WJs.alert("无效的设备使用信息无需删除!"); } } }
private void toolStripButton1_Click(object sender, EventArgs e) { if (inware_id == null) { ActionLoad ld = ActionLoad.Conn(); DataTable tb = ld.Find("EQInMainDaYinQuery", new object[] { dr["入库ID"].ToString() }); if (tb != null && tb.Rows.Count > 0) { // setDefalutStock(tb.Rows[0], r); string KuFangName = LData.Exe("EQGetInWareName", "LKEQ", new object[] { His.his.Choscode, tb.Rows[0]["WARECODE"].ToString() }); string RuKuFangShi = LData.Exe("EQGetInWareWayName", "LKEQ", new object[] { His.his.Choscode, tb.Rows[0]["IOID"].ToString() }); Dictionary <string, object> pp = new Dictionary <string, object>(); pp.Add("BiaoTi", tb.Rows[0][0].ToString() + " 【" + KuFangName + "】 " + "入库单"); pp.Add("FangXiang", "入库到 【" + KuFangName + "】"); pp.Add("Time", "时间:" + tb.Rows[0]["RECDATE"].ToString()); pp.Add("LeiBie", "类别:" + RuKuFangShi); pp.Add("BianHao", "单据号:" + tb.Rows[0]["RECIPECODE"].ToString()); pp.Add("HeJi", "供应商:" + tb.Rows[0]["SUPPLYNAME"].ToString()); pp.Add("JinE1", tb.Rows[0]["TOTALMONEY"].ToString()); // pp.Add("JinE2", tb.Rows[0]["LSTOTALMONEY"].ToString()); pp.Add("Name1", "操作员:" + tb.Rows[0]["USERNAME"].ToString()); pp.Add("Name2", "审核员:" + tb.Rows[0]["SHUSERNAME"].ToString()); pp.Add("Name3", "备注:" + tb.Rows[0]["MEMO"].ToString()); // pp.Add("Name4", "入库科室:" + tb.Rows[0]["DEPTNAME"].ToString()); pp.Add("ID", dr["入库ID"].ToString()); app.LoadPlug("RepEdit.RepView", new object[] { "CLEQRKDYCS001", pp, false }, false); } } else { MessageBox.Show("请先保存数据!"); } }
//stockid, warecode, deptid, eqid, num, unitcode, memo, choscode //库存主表 针对每一条入库细表信息,分别做一次判断 EQID 8 这里的drZ仍是指出库主表 private void AddEQStockMainInfo(ActionLoad ac, Dictionary <string, ObjItem> drX, Dictionary <string, ObjItem> drZ) { //SELECT STOCKID,NUM FROM LKEQ.EQSTOCK WHERE EQID=? AND WARECODE=? AND CHOSCODE=? GetStockIdAndNum = LData.LoadDataTable("IfHaveExistInEQStock", null, new object[] { drX["设备ID"].ToString(), drZ["出库目的库房"].ToString(), His.his.Choscode }); if (GetStockIdAndNum == null || GetStockIdAndNum.Rows.Count <= 0) { //不存在 需插入 ifHaveExsit = false; ac.Add("STOCKID", ""); //服务端生成 ac.Add("WARECODE", drZ["出库目的库房"].ToString()); //入库主表的入库库房编码=出库主表的目的库房编码 ac.Add("EQID", drX["设备ID"].ToString()); ac.Add("DEPTID", TargetWareDeptid); ac.Add("CHOSCODE", His.his.Choscode); ac.Add("UNITCODE", drX["单位编码"].ToString()); ac.Add("MEMO", ""); ac.Add("NUM", drX["数量"].ToString()); BeforeNum = 0; } else { //存在 需更新库存数目 [] ifHaveExsit = true; BeforeNum = Convert.ToInt32(GetStockIdAndNum.Rows[0][1].ToString());//出库目的库房的库存总表更新 LData.Exe("UpdateEQStockNumForTarget", null, new object[] { Convert.ToInt32(drX["数量"].ToString()), drX["设备ID"].ToString(), drZ["出库目的库房"].ToString(), His.his.Choscode.ToString() }); } }
private void Submited_toolStrip_Click(object sender, EventArgs e) { Dictionary <string, ObjItem> drX = dataGView2.getRowData(); Dictionary <string, ObjItem> drZ = dataGView1.getRowData(); if (drX == null) { WJs.alert("请选择要审核的设备变动数据!"); dataGView2.Focus(); return; } if (drX["状态"].ToString() == "1") { DialogResult DialResult = MessageBox.Show("该条设备变动数据经过您的审核,是否通过?", "信息提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning); if (DialResult == DialogResult.Yes) { //等待审核 //UPDATE LKEQ.EQCARDREC SET DEPTID=? ,BGPEOPLE=? WHERE CHOSCODE=? AND CARDID=? //UPDATE LKEQ.EQCARDREC SET YPRICE=? WHERE CHOSCODE=? AND CARDID=? //UPDATE LKEQ.EQCARDREC SET STATUSCODE=? WHERE CHOSCODE=? AND CARDID=? if (drX["变动类型"].ToString() == "1") { LData.Exe("UpdateInfoForDPBG_EQChangeManag", null, new object[] { drX["现使用科室ID"].ToString(), drX["现保管员"].ToString(), His.his.Choscode, drX["卡片ID"].ToString() }); } if (drX["变动类型"].ToString() == "2") { LData.Exe("UpdateInfoForYPrice_EQChangeManag", null, new object[] { drX["调整后原值"].ToString(), His.his.Choscode, drX["卡片ID"].ToString() }); } if (drX["变动类型"].ToString() == "3") { LData.Exe("UpdateInfoForStatusCode_EQChangeManag", null, new object[] { drX["新使用状态编码"].ToString(), His.his.Choscode, drX["卡片ID"].ToString() }); } //UPDATE LKEQ.EQCARDCHANGEREC SET STATUS=6,SHUSERID=?,SHUSERNAME=?,SHDATE=? WHERE CHANGEID=? AND CHOSCODE=? LData.Exe("UpdateStatusForSH_EQChangeManag", null, new object[] { "6", His.his.UserId.ToString(), His.his.UserName, DateTime.Now, drX["变动ID"].ToString(), His.his.Choscode }); WJs.alert("审核成功!"); refresh_toolStrip_Click(null, null); } else if (DialResult == DialogResult.No) { LData.Exe("UpdateStatusForSH_EQChangeManag", null, new object[] { "2", "", "", "", drX["变动ID"].ToString(), His.his.Choscode }); WJs.alert("已设置为审核被拒!"); } else { return; } } else { WJs.alert("只能对等待审核的设备变动数据进行审核处理!"); return; } }
private void QiYong_toolStrip_Click(object sender, EventArgs e) { Dictionary <string, ObjItem> dr = this.dataGView1.getRowData(); if (dr == null || dr.Count == 0) { WJs.alert("请选择需要启用的设备卡片记录!"); return; } if (dr["状态"].ToString() == "1") { if (WJs.confirm("您确定要启用该条设备卡片记录么?")) { LData.Exe("UpdateCardInfoStatus", null, new object[] { "2", His.his.UserName, DateTime.Now, dr["卡片ID"].ToString(), His.his.Choscode.ToString() }); WJs.alert("执行成功!"); refresh_toolStrip_Click(null, null); } } else { WJs.alert("只能启用状态为未启用的设备卡片记录!"); } }
private void Del_toolStrip_Click(object sender, EventArgs e) { Dictionary <string, ObjItem> drX = dataGView2.getRowData(); if (drX == null) { WJs.alert("请选择要删除的设备变动数据!"); dataGView2.Focus(); return; } if (drX["状态"].ToString() == "1" || drX["状态"].ToString() == "2") { //UPDATE LKEQ.EQCARDCHANGEREC SET STATUS=1 WHERE CHANGEID=1 AND CHOSCODE=01050303 LData.Exe("UpdateStatusInfo_EQChangeManag", null, new object[] { "0", drX["变动ID"].ToString(), His.his.Choscode }); WJs.alert("删除成功!"); refresh_toolStrip_Click(null, null); } else { WJs.alert("只能删除状态为等待审核与审核被拒的设备变动数据!"); return; } }
private void del_toolStrip_Click(object sender, EventArgs e) { Dictionary <string, ObjItem> dr = this.dataGView1.getRowData(); if (dr != null) { if (isFlag == 1) { if (dr["流水号"].IsNull == false && dr["流水号"].ToString() != "") { if (WJs.confirm("你确定要删除选中的设备调拨信息,针对原始数据的删除时不可恢复的!")) { if (LData.Exe("DeleteOutDetailInfoInEdit", null, new object[] { dr["流水号"].ToString(), His.his.Choscode }) == "") { WJs.alert("删除信息失败!"); return; } this.dataGView1.Rows.Remove(this.dataGView1.CurrentRow); } } else { this.dataGView1.Rows.Remove(this.dataGView1.CurrentRow); } } else { this.dataGView1.Rows.Remove(this.dataGView1.CurrentRow); } this.TotalMoney_textBox1.Text = this.dataGView1.Sum("金额").ToString(); } else { WJs.alert("请选择要删除的设备调拨信息!"); } }
private void ShenHeGuoCheng(Dictionary <string, ObjItem> dr, List <Dictionary <string, ObjItem> > XiList) { //1.1 入库主表的操作 ActionLoad acZRK = ActionLoad.Conn(); acZRK.Action = "LKWZSVR.lkeq.WareManag.EQLingYongSvr"; acZRK.Sql = "InsertInMain"; AddRuKuZhuBiaoInfo(acZRK, dr); acZRK.Add("OUTID", dr["出库ID"].ToString());//专为更新对应的INID acZRK.ServiceLoad += new YtClient.data.events.LoadEventHandle(ac_ServiceLoad); acZRK.Post(); if (!isOk) { return; } //1.2 更新出库库房的相同设备各自数目 [库存主表] //select EQID, sum(Num) AS 数量 from lkeq.eqoutdetail where outid=? and CHOSCODE=? group by eqid UPDATE LKEQ.EQSTOCK SET (NUM=NUM- ?) WHERE CHOSCODE=? AND WARECODE=? AND EQID=? //ActionLoad acDTNumForEQStock = ActionLoad.Conn(); //DataTable DTNumForEQStock = acDTNumForEQStock.Find("GetStockNumInOutDetail", null, new object[] { dr["出库ID"].ToString(), His.his.Choscode }); DataTable DTNumForEQStock = LData.LoadDataTable("GetStockNumInOutDetail", null, new object[] { dr["出库ID"].ToString(), His.his.Choscode }); if (DTNumForEQStock != null) { foreach (DataRow itemRow in DTNumForEQStock.Rows) { LData.Exe("UpdateStockNumInLingYong", null, new object[] { Convert.ToInt32(itemRow["数量"].ToString()), His.his.Choscode, dr["出库库房"].ToString(), itemRow["EQID"].ToString() }); } } //就是主表某条信息 [出库数据] 对应细表的全部数据 foreach (Dictionary <string, ObjItem> drXi in XiList) { if (LData.LoadDataTable("StockDetailSearchByLiuShuiHao", new object[] { drXi["库存流水号"].ToString(), His.his.Choscode.ToString() }) == null) { continue; } //1更新出库库房数据[针对每条流水必须都更新] UPDATE LKEQ.EQSTOCKDETAIL SET OUTNUM=(OUTNUM+?) WHERE FLOWNO=? AND CHOSCODE=? LData.Exe("UpdateEQStockDetailNum", null, new object[] { Convert.ToInt32(drXi["数量"].ToString()), drXi["库存流水号"].ToString(), His.his.Choscode }); //2 先入库细表 1条[对应会生成一条库存流水] ActionLoad acXRK = ActionLoad.Conn(); acXRK.Action = "LKWZSVR.lkeq.WareManag.EQLingYongSvr"; acXRK.Sql = "InsertEQInDetail"; AddRuKuXiBiaoInfo(acXRK, drXi); acXRK.ServiceLoad += new YtClient.data.events.LoadEventHandle(ac_ServiceLoad); acXRK.Post(); if (!isOk) { return; } //3 库存主表 [更新出库目的库房] 由于不存在目的库房,所以无需更新目的库房 ActionLoad acKCZ = ActionLoad.Conn(); acKCZ.Action = "LKWZSVR.lkeq.WareManag.EQLingYongSvr"; acKCZ.Sql = "InsertStockMain"; AddEQStockMainInfo(acKCZ, drXi, dr); if (!ifHaveExsit) //不存在才需插入,存在则已经更新完毕 { acKCZ.ServiceLoad += new YtClient.data.events.LoadEventHandle(ac_ServiceLoad); acKCZ.Post(); } if (!isOk) { return; } //4 库存流水表 ActionLoad acKCX = ActionLoad.Conn(); acKCX.Action = "LKWZSVR.lkeq.WareManag.EQLingYongSvr"; acKCX.Sql = "InsertStockDetail"; AddEQStockDetailInfo(acKCX, drXi, dr); acKCX.ServiceLoad += new YtClient.data.events.LoadEventHandle(ac_ServiceLoad); acKCX.Post(); if (!isOk) { return; } } if (isOk) { WJs.alert("设备调拨信息审核成功!"); refresh_toolStrip_Click(null, null); } }
private void Del_toolStrip_Click(object sender, EventArgs e) { Dictionary <string, ObjItem> dr = dataGView1.getRowData(); if (dr != null) { if (dr["状态"].ToString() == "1") { //更新对应的卡片表内信息 //SELECT CARDID,TOTALZJ,MONTHZJ,TOTALEDWORK,MONTHWORK FROM LKEQ.EQCARDDEPREDETAILREC WHERE CHOSCODE=? AND DEPREID=? //UPDATE LKEQ.EQCARDREC SET TOTALZJ=TOTALZJ - ?,TOTALEDWORK=TOTALEDWORK - ? WHERE CARDID=? AND CHOSCODE=? DataTable DetailTable = LData.LoadDataTable("FindAllDetailInfoForUpdateData_EQDepreManag", null, new object[] { His.his.Choscode, dr["折旧ID"].ToString() }); if (DetailTable != null && DetailTable.Rows.Count > 0) { foreach (DataRow item in DetailTable.Rows) { //就每一条卡片数据进行判断更新 DataTable ZJWorkdt = GetZJWork_EQDepre(item["CARDID"].ToString()); if (ZJWorkdt != null) { DataRow ZJWorkdr = ZJWorkdt.Rows[0]; double Result; //如果原本为Null,转换失败,则设置为0,否则肯定直接转换成功 if (!double.TryParse(ZJWorkdr["TOTALZJ"].ToString(), out Result)) { ZJWorkdr["TOTALZJ"] = "0.00"; } if (!double.TryParse(ZJWorkdr["TOTALEDWORK"].ToString(), out Result)) { ZJWorkdr["TOTALEDWORK"] = "0.00"; } if (Convert.ToDouble(ZJWorkdr["TOTALZJ"]) < Convert.ToDouble(item["MONTHZJ"])) { WJs.alert("卡片" + ZJWorkdr["CARDID"].ToString() + ":累计折旧小于本月折旧,无法删除,否则出现折旧为负数!"); return; } if (Convert.ToDouble(ZJWorkdr["TOTALEDWORK"]) < Convert.ToDouble(item["MONTHWORK"])) { WJs.alert("卡片" + ZJWorkdr["CARDID"].ToString() + ":累计工作量小于本月工作量,无法删除,否则出现工作量为负数!"); return; } LData.Exe("UpdateNumForDeleNotNull_EQDepreManag", null, new object[] { Convert.ToDouble(item["MONTHZJ"]), Convert.ToDouble(item["MONTHWORK"]), item["CARDID"].ToString(), His.his.Choscode }); } } } else { WJs.alert("该条折旧信息无细表数据,无法删除!"); return; } //设为无效 LData.Exe("UpdateStatusInfo_EQDepreciationManag", null, new object[] { "0", dr["折旧ID"].ToString(), His.his.Choscode }); WJs.alert("删除成功!"); refresh_toolStrip_Click(null, null); } else { WJs.alert("已经无效的数据无需删除!"); } } else { WJs.alert("请选择需要删除的设备折旧信息!"); return; } }
private void HuiFu_toolStrip_Click(object sender, EventArgs e) { //主要是将数据返回回去即可 this.dataGView1.IsAutoAddRow = false; List <Dictionary <string, ObjItem> > drList = this.dataGView1.GetData(); if (drList == null || drList.Count <= 0) { WJs.alert("该月结单细表内无数据,无需恢复!"); return; } foreach (Dictionary <string, ObjItem> item in drList) { if (item["启用日期"].IsNull == true)//尚未启用 { continue; } else { //启用日期不为null 且为本月的 if (item["启用日期"].ToDateTime().CompareTo(drZ["开始日期"].ToDateTime()) > 0 && item["启用日期"].ToDateTime().CompareTo(drZ["结束日期"].ToDateTime()) < 0) { continue; } if (item["启用日期"].ToDateTime().CompareTo(drZ["结束日期"].ToDateTime()) > 0) { continue; } } if (item["报废日期"].IsNull == false)//报废日期不为空 { //报废日期不为空 当报废日期小于本月开始日期就无需恢复 [不为本月报废] if (item["报废日期"].ToDateTime().CompareTo(drZ["开始日期"].ToDateTime()) < 0) { continue; } } //获取卡片ID内实时的数据 DataTable dt = GetZJWork_EQDepre(item["卡片ID"].ToString()); if (dt != null) { DataRow drR = dt.Rows[0]; double Result; //如果原本为Null,转换失败,则设置为0,否则肯定直接转换成功 if (!double.TryParse(drR["TOTALZJ"].ToString(), out Result)) { drR["TOTALZJ"] = "0.00"; } if (!double.TryParse(drR["TOTALEDWORK"].ToString(), out Result)) { drR["TOTALEDWORK"] = "0.00"; } //这样就避免了,当为Null的时候,去更新出错,直接小于就return掉了 if (Convert.ToDouble(drR["TOTALZJ"].ToString()) < (item["本月折旧"].ToDouble())) { WJs.alert("无法进行月结:卡片" + item["卡片ID"].ToString() + "累计折旧小于本月折旧,无法删除,否则更新时出现折旧为负数!"); return; } if (Convert.ToDouble(drR["TOTALEDWORK"].ToString()) < (item["本月工作量"]).ToDouble()) { WJs.alert("无法进行月结:累计工作量小于本月工作量,无法删除,否则更新时出现工作量为负数!"); return; } LData.Exe("UpdateNumForDeleNotNull_EQDepreManag", null, new object[] { item["本月折旧"].ToDouble(), item["本月工作量"].ToDouble(), item["卡片ID"].ToString(), His.his.Choscode }); isOk2 = true; } else { //这里只要有一个为空,就会进行不下去,难道出现负数? WJs.alert("不存在卡片" + item["卡片ID"].ToString() + "的数据,请查看建卡界面!"); return; } } //设置为无效 LData.Exe("UpdateStatusInfo_EQDepreciationManag", null, new object[] { "0", drX["折旧ID"].ToString(), His.his.Choscode }); WJs.alert("恢复成功,即将关闭本窗口……"); this.Close(); }
private void EQIn_Add_Load(object sender, EventArgs e)//加载窗体 { this.WindowState = FormWindowState.Maximized; str2 = LData.Es("EQSystemValue_2204", null, new object[] { His.his.Choscode }); str1 = LData.Es("EQSystemValue_2203", null, new object[] { His.his.Choscode }); this.toolStripButton_Pass.Visible = false; this.toolStripButton_Down.Visible = false; if (isAdd == 1) { this.InWare_selTextInpt.Text = inware_name; this.InWare_selTextInpt.Value = inware_id; this.InWare_selTextInpt.Enabled = false; } this.InWay_selTextInpt.Sql = "EQGetOutWareWay"; this.InWay_selTextInpt.SelParam = His.his.Choscode + "|{key}|{key}|{key}|{key}"; this.dataGView1.Url = "EQOutDetailSearch"; this.dataGView1.addSql("GetOutEQ_StockFlow", "库存流水号", "", His.his.Choscode + "|" + "|{key}|{key}|{key}|{key}"); TvList.newBind().SetCacheKey("XmDw1").Load("EQIn_DanWeiBianMa", null).Bind(this.Column3); if (isAdd != 1) { this.InWay_selTextInpt.Text = LData.Exe("EQGetOutWareWayName", null, new object[] { His.his.Choscode, dr["出库方式ID"].ToString() }); this.InWare_selTextInpt.Text = LData.Exe("EQGetOutWareName", null, new object[] { His.his.Choscode, dr["出库库房编码"].ToString() }); this.InWay_selTextInpt.Value = dr["出库方式ID"].ToString(); this.InWare_selTextInpt.Value = dr["出库库房编码"].ToString(); inware_id = dr["出库库房编码"].ToString(); inware_name = dr["出库库房编码_Text"].ToString(); this.InWare_selTextInpt.Enabled = false; this.totalmoney_yTextBox.Text = dr["总金额"].ToString(); this.dateTimePicker2.Value = dr["制单日期"].ToDateTime(); this.dataGView1.reLoad(new object[] { dr["出库ID"].ToString(), His.his.Choscode }); if (isAdd == 2) { for (int i = 0; i < this.dataGView1.RowCount; i++) { dataGView1.addSql("GetOutEQ_StockFlow", "库存流水号", "", this.dataGView1.Rows[i].Cells[eqid.Index].Value.ToString() + "|" + this.inware_id + "|" + His.his.Choscode); if (this.dataGView1.Rows[i].Cells[yzf.Index].Value.ToString().Trim() != "" && this.dataGView1.Rows[i].Cells[num.Index].Value.ToString() != "0") { this.dataGView1.Rows[i].Cells[Column5.Index].Value = decimal.Parse(this.dataGView1.Rows[i].Cells[yzf.Index].Value.ToString()) / decimal.Parse(this.dataGView1.Rows[i].Cells[num.Index].Value.ToString()); } // this.dataGView1.Rows[i].Cells[Column9.Index].Value = LData.Es("GetOutEQ_StockNum", null, new object[] { this.dataGView1.Rows[i].Cells[eqid.Index].Value.ToString(), inware_id, His.his.Choscode }); } } for (int i = 0; i < this.dataGView1.RowCount; i++) { this.dataGView1.Rows[i].Cells[Column9.Index].Value = LData.Es("GetOutEQ_StockNum", null, new object[] { this.dataGView1.Rows[i].Cells[eqid.Index].Value.ToString(), inware_id, His.his.Choscode }); } this.memo_yTextBox.Text = dr["备注"].ToString(); this.dataGView1.Columns[eq.Index].ReadOnly = true; this.cancel_toolStripButton.Enabled = false; if (isAdd == 3) { this.toolStrip1.Enabled = true; this.add_toolStripButton.Visible = false; this.save_toolStripButton.Visible = false; this.DeleButton.Visible = false; this.cancel_toolStripButton.Visible = false; this.toolStripButton_Pass.Visible = false; this.toolStripButton_Down.Visible = false; this.dataGView1.ReadOnly = true; this.InWare_selTextInpt.Enabled = false; this.InWay_selTextInpt.Enabled = false; this.dateTimePicker2.Enabled = false; this.memo_yTextBox.ReadOnly = true; } if (isAdd == 4) { this.toolStrip1.Enabled = true; this.add_toolStripButton.Visible = false; this.save_toolStripButton.Visible = false; this.DeleButton.Visible = false; this.cancel_toolStripButton.Visible = false; this.toolStripButton_Pass.Visible = true; this.toolStripButton_Down.Visible = true; this.dataGView1.ReadOnly = true; this.InWare_selTextInpt.Enabled = false; this.InWay_selTextInpt.Enabled = false; this.dateTimePicker2.Enabled = false; this.memo_yTextBox.ReadOnly = true; } this.dataGView1.CellValueChanged += new DataGridViewCellEventHandler(dataGView1_CellValueChanged); //BindUnit(); } dataGView1.RowToXml += new RowToXmlHandle(dataGView1_RowToXml); }
private void ChongXiaoCaoZuo(Dictionary <string, ObjItem> drZ, List <Dictionary <string, ObjItem> > drXList) { //6个表的数据需要进行更新 //我的意思是: 主表首先直接冲销 然后循环细表进行冲销 //出库主表里面的INID 找到 入库主表信息 读取完了之后 修改重新插入冲销数据 //由对应的INID 找到 对应的入库细表数据 读取完了之后 修改重新插入冲销数据 //1.1,生成对应的出库主表 状态为7 ActionLoad acCXZCK = ActionLoad.Conn(); acCXZCK.Action = "LKWZSVR.lkeq.WareManag.EQLingYongSvr"; acCXZCK.Sql = "ChongXiaoZhuChuKu"; ChongXiaoCKZhuBiao(acCXZCK, drZ); acCXZCK.ServiceLoad += new YtClient.data.events.LoadEventHandle(acCX_ServiceLoad); acCXZCK.Post(); if (!isOK2) { return; } //1.2 //将库存主表内的数目还原更新 出库库房的数目加回来 //select EQID, sum(Num) AS 数量 from lkeq.eqoutdetail where outid=? and CHOSCODE=? group by eqid //UPDATE LKEQ.EQSTOCK SET NUM=NUM- ? WHERE CHOSCODE=? AND WARECODE=? AND EQID=? DataTable DTNumForEQStock = LData.LoadDataTable("GetStockNumInOutDetail", null, new object[] { drZ["出库ID"].ToString(), His.his.Choscode }); if (DTNumForEQStock != null && DTNumForEQStock.Rows.Count != 0) { foreach (DataRow itemRow in DTNumForEQStock.Rows) { LData.Exe("UpdateStockNumInLingYong", null, new object[] { Convert.ToInt32(itemRow["数量"].ToString()) * (-1), His.his.Choscode, drZ["出库库房"].ToString(), itemRow["EQID"].ToString() }); } } foreach (Dictionary <string, ObjItem> drXiBiao in drXList) { // 出库细表 ac冲销细出库 if (drXiBiao["出库ID"].IsNull == true || drXiBiao["出库ID"].ToString() == "") { continue; } if (LData.LoadDataTable("StockDetailSearchByLiuShuiHao", new object[] { drXiBiao["库存流水号"].ToString(), His.his.Choscode.ToString() }) == null) { continue; } //2.1更新出库库房数据[针对每条流水必须都更新] UPDATE LKEQ.EQSTOCKDETAIL SET OUTNUM=(OUTNUM+?) WHERE FLOWNO=? AND CHOSCODE=? 流水表内的出库数目减回来 LData.Exe("UpdateEQStockDetailNum", null, new object[] { Convert.ToInt32(drXiBiao["数量"].ToString()) * (-1), drXiBiao["库存流水号"].ToString(), His.his.Choscode }); //2.2 ActionLoad acCXXCK = ActionLoad.Conn(); acCXXCK.Action = "LKWZSVR.lkeq.WareManag.EQLingYongSvr"; acCXXCK.Sql = "ChongXiaoXiChuKu"; ChongXiaoCKXiBiao(acCXXCK, drXiBiao); acCXXCK.ServiceLoad += new YtClient.data.events.LoadEventHandle(acCX_ServiceLoad); acCXXCK.Post(); } if (!isOK2) { return; } //2.1 入库主表 状态为7 ActionLoad acCXZRK = ActionLoad.Conn(); acCXZRK.Action = "LKWZSVR.lkeq.WareManag.EQLingYongSvr"; acCXZRK.Sql = "ChongXiaoZhuRuKu"; //由原始INID 获取对应的 入库主表和细表的内容 根据这些内容生成冲销操作所需要的数据【前面已经验证了INID的存在】 DataTable dt = LData.LoadDataTable("FindINMainInfo", null, new object[] { His.his.Choscode.ToString(), drZ["对应入库ID"].ToString() }); if (dt != null && dt.Rows.Count > 0) { DataRow dr = dt.Rows[0];//要冲销的调拨数据对应的入库主表信息 ChongXiaoRKZhuBiao(acCXZRK, dr); acCXZRK.ServiceLoad += new YtClient.data.events.LoadEventHandle(acCX_ServiceLoad); acCXZRK.Post(); } else { WJs.alert("没有对应的入库主表信息出错,冲销操作被终止!"); isOK2 = false; return; } if (!isOK2) { return; } //2.2 //将库存主表内的数目还原更新 细表内 出库目的科室的数目减回来 //select EQID, sum(Num) AS 数量 from lkeq.eqindetail where inid=? and CHOSCODE=? group by eqid //UPDATE LKEQ.EQSTOCK SET NUM=(NUM+?) WHERE EQID=? AND WARECODE IS NULL AND DEPTID=? AND CHOSCODE=? DataTable DTNumForEQStockCX = LData.LoadDataTable("GetStockNumInInDetail", null, new object[] { drZ["对应入库ID"].ToString(), His.his.Choscode }); if (DTNumForEQStockCX != null) { foreach (DataRow itemRow in DTNumForEQStockCX.Rows) { LData.Exe("UpdateEQStockNumForTarget_LingYong", null, new object[] { Convert.ToInt32(itemRow["数量"].ToString()) * (-1), itemRow["EQID"].ToString(), drZ["出库目的科室ID"].ToString(), His.his.Choscode }); } } //2.3 入库细表 DataTable dtDetail = LData.LoadDataTable("FindInDetailInfo", null, new object[] { His.his.Choscode.ToString(), drZ["对应入库ID"].ToString() }); if (dtDetail != null && dtDetail.Rows.Count > 0) { foreach (DataRow dr in dtDetail.Rows) { ActionLoad acCXXRK = ActionLoad.Conn(); acCXXRK.Action = "LKWZSVR.lkeq.WareManag.EQLingYongSvr"; acCXXRK.Sql = "ChongXiaoXiRuKu"; ChongXiaoRKXiBiao(acCXXRK, dr); acCXXRK.ServiceLoad += new YtClient.data.events.LoadEventHandle(acCX_ServiceLoad); acCXXRK.Post(); //2.1 更新对应的目的库房[入库流水每条流水必须都更新] UPDATE LKEQ.EQSTOCKDETAIL SET NUM=(NUM+?) WHERE FLOWNO=? AND CHOSCODE=? 流水表内的入库数目没有那么多,减回来 LData.Exe("UpdateStockNumInLingYongForCX", null, new object[] { Convert.ToInt32(dr["NUM"]) * (-1), dr["STOCKFLOWNO"].ToString(), His.his.Choscode }); } } if (!isOK2) { return; } }
private void EQIn_Add_Load(object sender, EventArgs e)//加载窗体 { this.WindowState = FormWindowState.Maximized; str2 = LData.Es("EQSystemValue_2204", null, new object[] { His.his.Choscode }); str1 = LData.Es("EQSystemValue_2203", null, new object[] { His.his.Choscode }); this.toolStripButton_Pass.Visible = false; this.toolStripButton_Down.Visible = false; if (isAdd == 1) { this.InWare_selTextInpt.Text = inware_name; this.InWare_selTextInpt.Value = inware_id; this.InWare_selTextInpt.Enabled = false; } this.InWay_selTextInpt.Sql = "EQGetInWareWay"; this.InWay_selTextInpt.SelParam = His.his.Choscode + "|{key}|{key}|{key}|{key}"; this.gys_selTextInpt.Sql = "EQGetGYS"; this.gys_selTextInpt.SelParam = "{key}|{key}|{key}|{key}"; this.dataGView1.Url = "EQInDetailSearch"; //TvList.newBind().SetCacheKey("XmDw").Load("EQGetSupply", new object[] { His.his.Choscode }).Bind(this.supply); this.dataGView1.addSql("EQGetSupply", "生产厂家", "", His.his.Choscode + "|" + "|{key}|{key}|{key}|{key}"); TvList.newBind().SetCacheKey("XmDw1").Load("EQIn_DanWeiBianMa", null).Bind(this.Column3); //dwList = TvList.newBind().SetCacheKey("XmDw").Load("GetWZUnit2", new object[] { His.his.Choscode }); //dwList.Bind(this.unit); if (isAdd != 1) { this.InWay_selTextInpt.Text = LData.Exe("EQGetInWareWayName", null, new object[] { His.his.Choscode, dr["入库方式ID"].ToString() }); this.InWare_selTextInpt.Text = LData.Exe("EQGetInWareName", null, new object[] { His.his.Choscode, dr["入库库房编码"].ToString() }); this.InWay_selTextInpt.Value = dr["入库方式ID"].ToString(); this.InWare_selTextInpt.Value = dr["入库库房编码"].ToString(); this.InWare_selTextInpt.Enabled = false; this.SHDH_yTextBox.Text = dr["随货单号"].ToString(); this.fpcode_yTextBox.Text = dr["发票号码"].ToString(); this.totalmoney_yTextBox.Text = dr["总金额"].ToString(); this.lstotalmoney_yTextBox.Text = dr["发票金额"].ToString(); this.yTextBox_YzfMoney.Text = dr["运杂费金额"].ToString(); if (!dr["发票日期"].IsNull) { this.dateTimePicker1.Value = dr["发票日期"].ToDateTime(); } if (!dr["采购人"].IsNull) { this.yTextBox_CGpeople.Text = dr["采购人"].ToString(); } //dwList = TvList.newBind().SetCacheKey("XmDw").Load("GetWZUnit2", new object[] { His.his.Choscode }); //dwList.Bind(this.unit); this.gys_selTextInpt.Text = dr["供货商名称"].ToString(); this.gys_selTextInpt.Value = dr["供货商ID"].ToString(); this.memo_yTextBox.Text = dr["备注"].ToString(); this.dataGView1.Columns[eq.Index].ReadOnly = true; this.dataGView1.reLoad(new object[] { dr["入库ID"].ToString(), His.his.Choscode }); this.cancel_toolStripButton.Enabled = false; this.fromplan_toolStripButton.Enabled = false; if (isAdd == 3) { this.toolStrip1.Enabled = true; this.add_toolStripButton.Visible = false; this.fromplan_toolStripButton.Visible = false; this.save_toolStripButton.Visible = false; this.DeleButton.Visible = false; this.cancel_toolStripButton.Visible = false; this.toolStripButton_Pass.Visible = false; this.toolStripButton_Down.Visible = false; this.dataGView1.ReadOnly = true; this.InWare_selTextInpt.Enabled = false; this.InWay_selTextInpt.Enabled = false; this.gys_selTextInpt.Enabled = false; this.fpcode_yTextBox.ReadOnly = true; this.dateTimePicker1.Enabled = false; this.SHDH_yTextBox.ReadOnly = true; this.memo_yTextBox.ReadOnly = true; } if (isAdd == 4) { this.toolStrip1.Enabled = true; this.add_toolStripButton.Visible = false; this.fromplan_toolStripButton.Visible = false; this.save_toolStripButton.Visible = false; this.DeleButton.Visible = false; this.cancel_toolStripButton.Visible = false; this.toolStripButton_Pass.Visible = true; this.toolStripButton_Down.Visible = true; this.dataGView1.ReadOnly = true; this.InWare_selTextInpt.Enabled = false; this.InWay_selTextInpt.Enabled = false; this.gys_selTextInpt.Enabled = false; this.fpcode_yTextBox.ReadOnly = true; this.dateTimePicker1.Enabled = false; this.SHDH_yTextBox.ReadOnly = true; this.memo_yTextBox.ReadOnly = true; } this.dataGView1.CellValueChanged += new DataGridViewCellEventHandler(dataGView1_CellValueChanged); //BindUnit(); } dataGView1.RowToXml += new RowToXmlHandle(dataGView1_RowToXml); }
private void Chongxiao_toolStrip_Click(object sender, EventArgs e) { dataGView2.IsAutoAddRow = false; Dictionary <string, ObjItem> drZhu = this.dataGView1.getRowData(); if (drZhu != null) { if (drZhu["对应入库ID"].IsNull == true || drZhu["对应入库ID"].ToString() == "") { WJs.alert("没有包含该条设备领用信息的入库信息,无法进行冲销操作!"); return; } if (drZhu["状态"].ToString() == "6") { if (WJs.confirm("确认对已审核的数据进行冲销操作?")) { //更改状态 是不是可以同时适应出库和入库呢? ActionLoad acCX = ActionLoad.Conn(); acCX.Action = "LKWZSVR.lkeq.WareManag.EQLingYongSvr"; acCX.Sql = "ChongXiaoRuChu"; acCX.Add("STATUS", "0"); acCX.Add("CXUSERNAME", His.his.UserName); acCX.Add("CXUSERID", His.his.UserId.ToString()); acCX.Add("CXDATE", DateTime.Now); acCX.Add("INID", drZhu["对应入库ID"].ToString()); acCX.Add("OUTID", drZhu["出库ID"].ToString()); acCX.Add("CHOSCODE", drZhu["医疗机构编码"].ToString()); acCX.ServiceLoad += new YtClient.data.events.LoadEventHandle(acCX_ServiceLoad); acCX.Post(); //执行冲销操作 List <Dictionary <string, ObjItem> > XBList = this.dataGView2.GetData(); ChongXiaoCaoZuo(drZhu, XBList); if (!isOK2) { WJs.alert("冲销失败!"); return; } //判断是否建卡?【循环细表内容】 foreach (Dictionary <string, ObjItem> item in XBList) { CXJKNum++; // SELECT FLOWNO,DEPTID,STOCKID,EQID FROM LKEQ.EQSTOCKDETAIL WHERE CARDNUM >= ? AND CHOSCODE=? AND FLOWNO=? DataTable cxCard = LData.LoadDataTable("IfHaveBuildCardInLingYong", null, new object[] { item["数量"].ToInt(), His.his.Choscode, item["库存流水号"].ToString() }); if (cxCard == null || cxCard.Rows.Count <= 0) { continue; } else { DataRow dr = cxCard.Rows[0];//只包含一行 if (WJs.confirm("该领用单上的第" + CXJKNum + "条数据,建立了卡片,是否要将卡片进行冲销?")) { //冲销掉对应的卡片 第一,减少对应的库存流水内的卡片数量;第二,在卡片表格内更改状态为7 //UPDATE LKEQ.EQSTOCKDETAIL SET CARDNUM=CARDNUM-? WHERE FLOWNO=? AND CHOSCODE=? //UPDATE LKEQ.EQCARDREC SET STATUS=7 //WHERE CARDID IN ( SELECT CARDID FROM (SELECT * FROM LKEQ.EQCARDREC //WHERE STOCKID=? AND STOCKFLOWNO=? AND DEPTID=? ORDER BY CARDID DESC) WHERE ROWNUM<=?) isHaveCard = true; LData.Exe("ChongXiaoKaPianNumLingYong", null, new object[] { item["数量"].ToInt(), dr["FLOWNO"].ToString(), His.his.Choscode }); //LData.Exe("ChongXiaoKaPianInLingYong", null, new object[] { dr["STOCKID"].ToString(), dr["FLOWNO"].ToString(), dr["DEPTID"].ToString(), His.his.Choscode, dr["EQID"].ToString(), item["数量"].ToInt() }); LData.Exe("ChongXiaoKaPianInLingYong", null, new object[] { dr["STOCKID"].ToString(), dr["FLOWNO"].ToString(), drZhu["出库目的科室ID"].ToString(), His.his.Choscode, dr["EQID"].ToString(), item["数量"].ToInt() }); } } } if (isHaveCard) { WJs.alert("卡片冲销成功!"); } } if (isOK2) { WJs.alert("冲销该条调拨记录成功!"); refresh_toolStrip_Click(null, null); } } else { WJs.alert("只能对状态为已审核的数据进行冲销操作!"); } } else { WJs.alert("请选择需要进行冲销操作的调拨信息!"); } }
private void ChongXiaoCaoZuo(Dictionary <string, ObjItem> drZhu, List <Dictionary <string, ObjItem> > drXibiaoList) { //6个表的数据需要进行更新 //我的意思是: 主表首先直接冲销 然后循环细表进行冲销 //出库主表里面的INID 找到 入库主表信息 读取完了之后 修改重新插入冲销数据 //由对应的INID 找到 对应的入库细表数据 读取完了之后 修改重新插入冲销数据 //1,生成对应的出库主表 状态为7 ActionLoad acChongXiaoZhuChuKu = ActionLoad.Conn(); acChongXiaoZhuChuKu.Action = "LKWZSVR.lkeq.WareManag.EQDiaoBoSvr"; acChongXiaoZhuChuKu.Sql = "ChongXiaoZhuChuKu"; ChongXiaoCKZhuBiao(acChongXiaoZhuChuKu, drZhu); acChongXiaoZhuChuKu.ServiceLoad += new YtClient.data.events.LoadEventHandle(acChongXiao_ServiceLoad); acChongXiaoZhuChuKu.Post(); if (!isOK2) { return; } //这里是根据EQID 和WARECODE 来更新总表 比在内部循环的次数要少 //select EQID, sum(Num) AS 数量 from lkeq.eqoutdetail where outid=? and CHOSCODE=? group by eqid; DataTable XiGroupbyEQIdTB = LData.LoadDataTable("GetEQIdNumGroupBy_EQDiaoBoManag", null, new object[] { drZhu["出库ID"].ToString(), His.his.Choscode }); if (XiGroupbyEQIdTB != null && XiGroupbyEQIdTB.Rows.Count != 0) { foreach (DataRow item in XiGroupbyEQIdTB.Rows) { //UPDATE LKEQ.EQSTOCK SET NUM=(NUM-?) WHERE WARECODE=? AND EQID=? AND CHOSCODE=? LData.Exe("UpdataEQStockNumInfo_EQDiaoBoManag", null, new object[] { Convert.ToInt32(item["数量"]) * (-1), drZhu["出库库房"].ToString(), item["EQID"].ToString(), His.his.Choscode }); } } // 1.2 出库细表 foreach (Dictionary <string, ObjItem> drXiBiao in drXibiaoList) { if (drXiBiao["出库ID"] == null || drXiBiao["出库ID"].ToString() == "") { // WJs.alert("该条出库细表内无数据!"); 直接跳过,不要提示,体验性不好 continue; } ActionLoad acChongXiaoXiChuKu = ActionLoad.Conn(); acChongXiaoXiChuKu.Action = "LKWZSVR.lkeq.WareManag.EQDiaoBoSvr"; acChongXiaoXiChuKu.Sql = "ChongXiaoXiChuKu"; ChongXiaoCKXiBiao(acChongXiaoXiChuKu, drXiBiao); acChongXiaoXiChuKu.ServiceLoad += new YtClient.data.events.LoadEventHandle(acChongXiao_ServiceLoad); acChongXiaoXiChuKu.Post(); //对 出库库房 和对应的设备数量进行更新 [单条数据,细表对应的库存流水号, 对应一个STOCKID] UPDATE LKEQ.EQSTOCKDETAIL SET OUTNUM=(OUTNUM+?) WHERE FLOWNO=? AND CHOSCODE=? LData.Exe("UpdateEQStockDetailNum", null, new object[] { drXiBiao["数量"].ToInt() * (-1), drXiBiao["库存流水号"].ToString(), His.his.Choscode }); } if (!isOK2) { return; } //2,生成对应的入库主表 状态为7 ActionLoad acChongXiaoZhuRuKu = ActionLoad.Conn(); acChongXiaoZhuRuKu.Action = "LKWZSVR.lkeq.WareManag.EQDiaoBoSvr"; acChongXiaoZhuRuKu.Sql = "ChongXiaoZhuRuKu"; //由原始INID 获取对应的 入库主表和细表的内容 根据这些内容生成冲销操作所需要的数据 冲销的时候INID已经存在 DataTable dt = LData.LoadDataTable("FindINMainInfo", null, new object[] { His.his.Choscode, drZhu["对应入库ID"].ToString() }); if (dt != null && dt.Rows.Count > 0) { DataRow dr = dt.Rows[0];//要冲销的调拨数据对应的入库主表信息 ChongXiaoRKZhuBiao(acChongXiaoZhuRuKu, dr); acChongXiaoZhuRuKu.ServiceLoad += new YtClient.data.events.LoadEventHandle(acChongXiao_ServiceLoad); acChongXiaoZhuRuKu.Post(); } else { WJs.alert("入库主表信息出错,冲销操作被终止!"); isOK2 = false; return; } if (!isOK2) { return; } //select EQID, sum(Num) AS 数量 from lkeq.eqindetail where inid=? and CHOSCODE=? group by eqid DataTable DTNumForEQStockCX = LData.LoadDataTable("GetStockNumInInDetail", null, new object[] { drZhu["对应入库ID"].ToString(), His.his.Choscode }); if (DTNumForEQStockCX != null) { foreach (DataRow itemRow in DTNumForEQStockCX.Rows) { //UPDATE LKEQ.EQSTOCK SET NUM=(NUM+?) WHERE EQID=? AND WARECODE=? AND CHOSCODE=? LData.Exe("UpdateEQStockNumForTarget", null, new object[] { Convert.ToInt32(itemRow["数量"].ToString()) * (-1), itemRow["EQID"].ToString(), drZhu["出库目的库房"].ToString(), His.his.Choscode }); } } //2.2 入库细表 DataTable dtDetail = LData.LoadDataTable("FindInDetailInfo", null, new object[] { His.his.Choscode.ToString(), drZhu["对应入库ID"].ToString() }); if (dtDetail != null && dtDetail.Rows.Count > 0) { foreach (DataRow dr in dtDetail.Rows) { ActionLoad acChongXiaoXiRuKu = ActionLoad.Conn(); acChongXiaoXiRuKu.Action = "LKWZSVR.lkeq.WareManag.EQDiaoBoSvr"; acChongXiaoXiRuKu.Sql = "ChongXiaoXiRuKu"; ChongXiaoRKXiBiao(acChongXiaoXiRuKu, dr); acChongXiaoXiRuKu.ServiceLoad += new YtClient.data.events.LoadEventHandle(acChongXiao_ServiceLoad); acChongXiaoXiRuKu.Post(); LData.Exe("UpdateEQStockDetailNum_InBiao", null, new object[] { Convert.ToInt32(dr["NUM"]) * (-1), dr["STOCKFLOWNO"].ToString(), His.his.Choscode }); } } if (!isOK2) { return; } }
private void ShenHeCaoZuo(Dictionary <string, ObjItem> drZhuBiao, List <Dictionary <string, ObjItem> > drXiBiao) { //这里的出库数据 相对应与 入库数据 再修改库存总表和流水表的数据 //联系 : EQOUTMAIN :WARECODE ---- EQSTOCK:WARECODE EQOUTDETAIL:STOCKFLOWNO----EQSTOCKDETAIL:FLOWNO // EQOUTMAIN:INID OPFLAG IOID(IOFLAG=1) ---- EQINMAIN: INID OPFLAG if (drXiBiao != null && drXiBiao.Count > 0) { //1 入库主表的插入 ActionLoad ac1 = ActionLoad.Conn(); ac1.Action = "LKWZSVR.lkeq.WareManag.EQDiaoBoSvr"; ac1.Sql = "InsertInMain"; AddRuKuZhuBiaoInfo(ac1, drZhuBiao); ac1.ServiceLoad += new YtClient.data.events.LoadEventHandle(ac_ServiceLoad); ac1.Post(); if (!isOk) { return; } //这里是根据EQID 和WARECODE 来更新总表 比在内部循环的次数要少 //select EQID, sum(Num) AS 数量 from lkeq.eqoutdetail where outid=? and CHOSCODE=? group by eqid; DataTable XiGroupbyEQIdTB = LData.LoadDataTable("GetEQIdNumGroupBy_EQDiaoBoManag", null, new object[] { drZhuBiao["出库ID"].ToString(), His.his.Choscode }); if (XiGroupbyEQIdTB != null && XiGroupbyEQIdTB.Rows.Count != 0) { foreach (DataRow item in XiGroupbyEQIdTB.Rows) { //UPDATE LKEQ.EQSTOCK SET NUM=(NUM-?) WHERE WARECODE=? AND EQID=? AND CHOSCODE=? LData.Exe("UpdataEQStockNumInfo_EQDiaoBoManag", null, new object[] { Convert.ToInt32(item["数量"]), drZhuBiao["出库库房"].ToString(), item["EQID"].ToString(), His.his.Choscode }); } } //就是主表某条信息 对应细表的全部数据 foreach (Dictionary <string, ObjItem> drXi in drXiBiao) { //防止自动增加行 if (drXi["流水号"].IsNull == true || drXi["库存流水号"].IsNull == true || drXi["流水号"].ToString().Equals("") || drXi["库存流水号"].ToString().Equals("")) { continue; } //2 更新出库库房数据 UPDATE LKEQ.EQSTOCKDETAIL SET OUTNUM=(OUTNUM+?) WHERE FLOWNO=? AND CHOSCODE=? LData.Exe("UpdateEQStockDetailNum", null, new object[] { Convert.ToInt32(drXi["数量"].ToString()), drXi["库存流水号"].ToString(), His.his.Choscode }); //3 更新或插入信息至库存主表 [更新出库目的库房] ActionLoad acStockMain = ActionLoad.Conn(); acStockMain.Action = "LKWZSVR.lkeq.WareManag.EQDiaoBoSvr"; acStockMain.Sql = "InsertStockMain"; AddEQStockMainInfo(acStockMain, drXi, drZhuBiao); if (!ifHaveExsit) //不存在才需插入,存在则已经更新完毕 { acStockMain.ServiceLoad += new YtClient.data.events.LoadEventHandle(ac_ServiceLoad); acStockMain.Post(); } if (!isOk) { return; } //4 库存流水表 [直接新建的库存流水入库单,所以不存在更新数据] ActionLoad acStockDetail = ActionLoad.Conn(); acStockDetail.Action = "LKWZSVR.lkeq.WareManag.EQDiaoBoSvr"; acStockDetail.Sql = "InsertStockDetail"; AddEQStockDetailInfo(acStockDetail, drXi, drZhuBiao); acStockDetail.ServiceLoad += new YtClient.data.events.LoadEventHandle(ac_ServiceLoad); acStockDetail.Post(); if (!isOk) { return; } //5 入库细表 ActionLoad acInDetail = ActionLoad.Conn(); acInDetail.Action = "LKWZSVR.lkeq.WareManag.EQDiaoBoSvr"; acInDetail.Sql = "InsertEQInDetail"; AddRuKuXiBiaoInfo(acInDetail, drXi, drZhuBiao); acInDetail.ServiceLoad += new YtClient.data.events.LoadEventHandle(ac_ServiceLoad); acInDetail.Post(); if (!isOk) { return; } } if (isOk) { WJs.alert("设备调拨信息审核成功!"); refresh_toolStrip_Click(null, null); } } else { WJs.alert("出库细表无任何内容,不会生成任何库存记录!"); return; } }
private void del_toolStrip_Click(object sender, EventArgs e) { Dictionary <string, ObjItem> drNow = dataGView1.getRowData(); if (drNow != null) { if (drNow["折旧ID"].IsNull) { //新增过来的全部没有折旧ID,这里设置为修改时的新增信息依旧没有 dataGView1.Rows.Remove(dataGView1.CurrentRow); } else { if (WJs.confirmFb("针对原本的设备折旧数据的删除时不可恢复的,您确定要删除吗?")) { DataTable dt = GetZJWork_EQDepre(drNow["卡片ID"].ToString()); if (dt != null) { DataRow drR = dt.Rows[0]; double Result; //如果原本为Null,转换失败,则设置为0,否则肯定直接转换成功 if (!double.TryParse(drR["TOTALZJ"].ToString(), out Result)) { drR["TOTALZJ"] = "0.00"; } if (!double.TryParse(drR["TOTALEDWORK"].ToString(), out Result)) { drR["TOTALEDWORK"] = "0.00"; } //这样就避免了,当为Null的时候,去更新出错,直接小于就return掉了 if (Convert.ToDouble(drR["TOTALZJ"].ToString()) < (drNow["本月折旧"].ToDouble())) { WJs.alert("无法删除该行:卡片累计折旧小于本月折旧,无法删除,否则更新时出现折旧为负数!"); return; } if (Convert.ToDouble(drR["TOTALEDWORK"].ToString()) < (drNow["本月工作量"]).ToDouble()) { WJs.alert("无法删除该行:累计工作量小于本月工作量,无法删除,否则更新时出现工作量为负数!"); return; } LData.Exe("UpdateNumForDeleNotNull_EQDepreManag", null, new object[] { drNow["本月折旧"].ToDouble(), drNow["本月工作量"].ToDouble(), drNow["卡片ID"].ToString(), His.his.Choscode }); } else { //这里只要有一个为空,就会进行不下去,难道出现负数? WJs.alert("不存在卡片" + drNow["卡片ID"].ToString() + "的数据,请查看建卡界面!"); return; } LData.Exe("DeleteEQReciationInfo_EQDepreEdit", null, new object[] { dr["折旧ID"].ToString(), drNow["卡片ID"].ToString(), His.his.Choscode }); dataGView1.Rows.Remove(dataGView1.CurrentRow); WJs.alert("删除成功!"); } } } else { WJs.alert("请选择要删除的设备调拨信息!"); } if (isFlag == 2 && dataGView1.RowCount == 0) { SleDeptid_toolStrip.Enabled = true; Deptid_selTextInpt.Enabled = true; } }
private void WZDict_Add_Load(object sender, EventArgs e) { this.selTextInpt_EQID.TextChanged += new EventHandler(selTextInpt_EQID_TextChanged); this.yTextBox_QGNum.TextChanged += new EventHandler(EQYJMONEY); this.yTextBox_YJPRICE.TextChanged += new EventHandler(EQYJMONEY); this.selTextInpt_Country.Text = "中国"; TvList.newBind().add("已审核", "6").add("审核被拒", "2").add("待审核", "1").add("已删除", "0").Bind(this.ytComboBox_Status); TvList.newBind().Load("EQUnitCodeAskBuy_Add", null).Bind(this.ytComboBox_Unitcode); this.selTextInpt_EQID.SelParam = His.his.Choscode + "|{key}|{key}|{key}"; //为什么要这样写? selTextInpt_EQID.BxSr = false; //必须输入查询关键字 //this.selTextInpt1.textBox1.ReadOnly = true; this.selTextInpt_EQID.Sql = "EQIDAskBuy_Add"; //这里更改了单位编码 this.selTextInpt_QGKSID.SelParam = His.his.Choscode + "|{key}|{key}|{key}"; //为什么要这样写? selTextInpt_QGKSID.BxSr = false; //必须输入查询关键字 //this.selTextInpt1.textBox1.ReadOnly = true; this.selTextInpt_QGKSID.Sql = "AskBuy_FindKSID"; this.selTextInpt_Country.SelParam = "{key}|{key}|{key}|"; //为什么要这样写? selTextInpt_Country.BxSr = false; //必须输入查询关键字 //this.selTextInpt1.textBox1.ReadOnly = true; this.selTextInpt_Country.Sql = "CountryAskBuy_Add"; this.yTextBox_UserID.ReadOnly = true; this.yTextBox_User.ReadOnly = true; this.yTextBox_Choscode.ReadOnly = true; this.ytDateTime_RECDATE.Enabled = false; this.ytDateTime_SHTime.Enabled = false; this.yTextBox_SHUserID.ReadOnly = true; this.yTextBox_SHName.ReadOnly = true; this.button_CG.Visible = false; this.button_SB.Visible = false; this.yTextBox_QGID.ReadOnly = true; this.yTextBox_Name.ReadOnly = true; this.yTextBox_GuiG.ReadOnly = true; this.ytComboBox_Unitcode.Enabled = false; this.yTextBox_XH.ReadOnly = true; this.yTextBox_YJMONEY.ReadOnly = true; this.ytComboBox_Status.Enabled = false; this.yTextBox_SPNum.ReadOnly = true; this.ytDateTime_SHTime.Visible = false; this.yTextBox_SHName.Visible = false; this.yTextBox_SHUserID.Visible = false; this.label16.Visible = false; this.label21.Visible = false; this.label22.Visible = false; if (!this.isAdd)//编辑 { this.yTextBox_QGID.Text = r["APPLYID"].ToString(); this.selTextInpt_QGKSID.Text = LData.Exe("GetEQAskBuy_KSName", null, new object[] { His.his.Choscode, r["DEPTID"].ToString() }); this.selTextInpt_QGKSID.Value = r["DEPTID"].ToString(); //this.selTextInpt_EQID.Text = LData.Exe("GetEQAskBuy_EQName", null, new object[] { His.his.Choscode, r["EQID"].ToString() }); this.selTextInpt_EQID.Text = r["EQID"].ToString(); this.selTextInpt_EQID.Value = r["EQNAME"].ToString(); this.yTextBox_Name.Text = r["EQNAME"].ToString(); if (r["GG"] != null) { this.yTextBox_GuiG.Text = r["GG"].ToString(); } if (r["XH"] != null) { this.yTextBox_XH.Text = r["XH"].ToString(); } this.selTextInpt_Country.Text = r["COUNTRY"].ToString(); this.selTextInpt_Country.Value = LData.Exe("GetEQAskBuy_EQCountry", null, new object[] { His.his.Choscode, r["COUNTRY"].ToString() }); this.ytComboBox_Unitcode.Value = r["UNITCODE"].ToString(); this.yTextBox_QGNum.Text = r["APPLYNUM"].ToString(); if (r["YJPRICE"] != null) { this.yTextBox_YJPRICE.Text = r["YJPRICE"].ToString(); } this.yTextBox_YJMONEY.Text = r["YJMONEY"].ToString(); if (r["REASON"] != null) { this.yTextBox_REASON.Text = r["REASON"].ToString(); } if (r["XYFX"] != null) { this.yTextBox_XYFX.Text = r["XYFX"].ToString(); } if (r["PTTJ"] != null) { this.yTextBox_PTTJ.Text = r["PTTJ"].ToString(); } this.ytDateTime_MakeTime.Value = Convert.ToDateTime(r["PLANDATE"]); this.ytComboBox_Status.Value = r["STATUS"].ToString(); if (r["MEMO"] != null) { this.yTextBox_Rec.Text = r["MEMO"].ToString(); } this.yTextBox_UserID.Text = r["USERID"].ToString(); if (r["USERNAME"] != null) { this.yTextBox_User.Text = r["USERNAME"].ToString(); } this.ytDateTime_RECDATE.Value = Convert.ToDateTime(r["RECDATE"]); this.yTextBox_Choscode.Text = r["CHOSCODE"].ToString(); } else if (this.isAdd) //新增 { this.yTextBox_User.Text = His.his.UserName; this.yTextBox_UserID.Text = His.his.UserId.ToString(); this.yTextBox_Choscode.Text = His.his.Choscode; this.ytComboBox_Status.SelectedIndex = 2; } if (this.Status == "CK") { if (r["SHNUM"] != null) { this.yTextBox_SPNum.Text = r["SHNUM"].ToString(); } if (this.yTextBox_SPNum.Text.Trim().Length > 0) { this.ytDateTime_SHTime.Visible = true; this.yTextBox_SHName.Visible = true; this.yTextBox_SHUserID.Visible = true; this.label16.Visible = true; this.label21.Visible = true; this.label22.Visible = true; if (r["SHUSERID"] != null) { this.yTextBox_SHUserID.Text = r["SHUSERID"].ToString(); } if (r["SHDATE"] != null) { this.ytDateTime_SHTime.Value = Convert.ToDateTime(r["SHDATE"].ToString()); } if (r["SHUSERNAME"] != null) { this.yTextBox_SHName.Text = r["SHUSERNAME"].ToString(); } } this.btn_Save.Enabled = false; } if (this.Status == "SH") { this.ytDateTime_SHTime.Visible = true; this.yTextBox_SHName.Visible = true; this.yTextBox_SHUserID.Visible = true; this.label16.Visible = true; this.label21.Visible = true; this.label22.Visible = true; this.label18.ForeColor = System.Drawing.Color.Blue; this.btn_Save.Visible = false; this.button_CG.Visible = true; this.button_SB.Visible = true; this.yTextBox_SHName.Text = His.his.UserName; this.yTextBox_SPNum.ReadOnly = false; this.yTextBox_SHUserID.Text = His.his.UserId.ToString(); this.ytDateTime_SHTime.Value = DateTime.Now; } }
private void EQKind_Add_Load(object sender, EventArgs e) { this.yTextBox_Name.TextChanged += new EventHandler(yTextBox_Name_TextChanged); TvList.newBind().add("启用", "1").add("停用", "0").Bind(this.ytComboBox_ifUse); TvList.newBind().add("是", "1").add("否", "0").Bind(this.ytComboBox_IfEnd); this.yTextBox_User.Text = His.his.UserName.ToString(); //this.yTextBox_UserID.Text = His.his.UserId.ToString(); this.ytComboBox_IfEnd.Enabled = false; this.yTextBox_UpCode.ReadOnly = true; this.yTextBox_LeiCode.ReadOnly = true; this.yTextBox_User.ReadOnly = true; this.yTextBox_ChCode.ReadOnly = true; this.ytComboBox_ifUse.SelectedIndex = 0; if (!this.isAdd) { this.yTextBox_Name.Text = r["KINDNAME"].ToString(); this.yTextBox_PY.Text = r["PYCODE"].ToString(); this.yTextBox_WB.Text = r["WBCODE"].ToString(); this.yTextBox_User.Text = r["USERNAME"].ToString(); this.yTextBox_Rec.Text = r["MEMO"].ToString(); this.ytComboBox_ifUse.Value = r["IFUSE"].ToString(); this.yTextBox_ChCode.Text = r["CHOSCODE"].ToString(); this.ytComboBox_IfEnd.Value = r["IFEND"].ToString(); this.yTextBox_LeiCode.Text = r["KINDCODE"].ToString(); this.yTextBox_UpCode.Text = r["SUPERCODE"].ToString(); this.yTextBox_UserID.Text = r["PREFIX"].ToString(); //ID换成了设备卡号 } else { this.yTextBox_User.Text = His.his.UserName; //this.yTextBox_UserID.Text = His.his.UserId.ToString(); this.yTextBox_ChCode.Text = His.his.Choscode; this.ytComboBox_IfEnd.Value = "1"; //设置上级编码和类别编码 if (r == null) { this.yTextBox_UpCode.Text = "0"; string t = LData.Exe("FindEQKind_Code", null, new object[] { "0", His.his.Choscode }); if (Convert.ToInt32(t).ToString().Length <= 1 && (Convert.ToInt32(t) + 1).ToString().Length <= 1)//判断是否前面有个0(0801) { t = "0" + (Convert.ToInt32(t) + 1).ToString(); } else { t = (Convert.ToInt32(t) + 1).ToString(); } this.yTextBox_LeiCode.Text = t; } else { this.yTextBox_UpCode.Text = r["KINDCODE"].ToString(); string t = LData.Exe("FindEQKind_Code", null, new object[] { r["KINDCODE"].ToString(), His.his.Choscode }); if (t == null) { t = r["KINDCODE"].ToString() + "01"; } else if (t.Trim().Length > Convert.ToInt32(t).ToString().Length) { t = "0" + (Convert.ToInt32(t) + 1).ToString(); } else { t = (Convert.ToInt32(t) + 1).ToString(); } this.yTextBox_LeiCode.Text = t; } } }
private void Save_toolStrip_Click(object sender, EventArgs e) { dataGView1.IsAutoAddRow = false; if (Deptid_selTextInpt.Value == "" || Deptid_selTextInpt.Text == "") { WJs.alert("请选择科室!"); return; } if (DateId_selTextInp.Value == "" || DateId_selTextInp.Text == "") { WJs.alert("请选择期间划分信息!"); return; } if (dataGView1.RowCount == 0) { WJs.alert("请输入细表信息!"); return; } if (!YanzhengIfCF()) { return; } List <Dictionary <string, ObjItem> > NowData = dataGView1.GetData(); // 保存的这里,主要是针对编辑状态下原本数据的更新 if (isFlag == 1) { foreach (Dictionary <string, ObjItem> item in NowData) { if (item["折旧ID"].IsNull || item["折旧ID"].ToString().Equals("")) { continue; } //循环原始的数据,判断是否存在原始的数据与现在的数据是相同的。 foreach (Dictionary <string, ObjItem> itYSJ in XiList) { if (item["卡片ID"].ToString() == itYSJ["卡片ID"].ToString()) { //在保存的时候,原数据内的卡片id与现在的卡片id相同,更新数据 若数据无修改,无需更新 if (item["本月折旧"].ToDouble() == itYSJ["本月折旧"].ToDouble() && item["本月工作量"].ToDouble() == itYSJ["本月工作量"].ToDouble()) { continue; } else { //SELECT TOTALZJ,TOTALEDWORK FROM LKEQ.EQCARDREC WHERE CHOSCODE=? AND CARDID=? DataTable dt = GetZJWork_EQDepre(item["卡片ID"].ToString()); if (dt != null) { DataRow dr = dt.Rows[0]; double Result; //如果原本为Null,转换失败,则设置为0,否则肯定直接转换成功 if (!double.TryParse(dr["TOTALZJ"].ToString(), out Result)) { dr["TOTALZJ"] = "0.00"; } if (!double.TryParse(dr["TOTALEDWORK"].ToString(), out Result)) { dr["TOTALEDWORK"] = "0.00"; } if (Convert.ToDouble(dr["TOTALZJ"].ToString()) + item["本月折旧"].ToDouble() - itYSJ["本月折旧"].ToDouble() < 0) { WJs.alert("设备卡片" + item["卡片ID"].ToString() + ",在当前折旧的计算下,累计折旧将为负数,请修改后再保存!"); return; } if (Convert.ToDouble(dr["TOTALEDWORK"].ToString()) + item["本月工作量"].ToDouble() - itYSJ["本月工作量"].ToDouble() < 0) { WJs.alert("设备卡片" + item["卡片ID"].ToString() + ",在当前工作量的计算下,累计工作量为负数,请修改后再保存!"); return; } } LData.Exe("UpdateNumForNumEdit_EQDepreEidt", null, new object[] { item["本月折旧"].ToDouble(), itYSJ["本月折旧"].ToDouble(), item["本月工作量"].ToDouble(), itYSJ["本月工作量"].ToDouble(), item["卡片ID"].ToString(), His.his.Choscode }); break; } } } } } string str = this.dataGView1.GetDataToXml(); if (str != null) { ActionLoad ac = ActionLoad.Conn(); ac.Action = "LKWZSVR.lkeq.UseingEQ.EQDepreciationSvr"; ac.Sql = "ModifyOrAddInfo"; AddZhuBiaoInfo(ac); ac.Add("XiBiaoXML", str); ac.ServiceLoad += new YtClient.data.events.LoadEventHandle(ac_ServiceLoad); ac.Post(); } if (isOk) { WJs.alert("保存信息成功,即将关闭本窗口……"); this.Close(); } }