using System; using System.Collections.Generic; using System.Text; using System.Data; namespace DAL { public class ClsGy_CostItemAccount_Ctl : DBUtility.ClsGy_Base_Ctl { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //原代码 用于 替换子项目 public string HOldNumber; public List DetailColl = new List(); //反审核 public bool AbandonCheck(Int64 lngBillKey, ref string sReturn) { try { oCn.RunProc(" Update Gy_CostItemAccount set HChecker='',HCheckDate=null Where HItemID=" + lngBillKey.ToString()); sReturn = ""; return true; } catch (Exception e) { sReturn = e.Message; return false; } } //审核 public bool CheckBill(Int64 lngBillKey, ref string sReturn) { try { oCn.RunProc(" Update Gy_CostItemAccount set HStopflag=0,HChecker='" + DBUtility.ClsPub.CurUserName + "',HCheckDate='" + DBUtility.ClsPub.GetServerDate(-1) + "' Where HItemID=" + lngBillKey.ToString()); //将其他 工价设置为 停用 oCn.RunProc(" exec h_p_Gy_CostItemAccountStopflag " + lngBillKey.ToString()); // sReturn = ""; return true; } catch (Exception e) { sReturn = e.Message; return false; } } //新增 public override bool AddNew() { try { oCn.BeginTran(); //插入子表 foreach (Model.ClsGy_CostItemAccount_Model oSub in DetailColl) { oCn.RunProc("Insert into Gy_CostItemAccount " + " (HInterID,HEntryID,HUsed,HRemark,HCostItemID,HAccountID,HDebitOrCredit)" + " values(0,0,0,''," + oSub.HCostItemID.ToString() + "," + oSub.HAccountID.ToString() + ",'" + oSub.HDebitOrCredit + "'" + ") "); } oCn.Commit(); return true; } catch (Exception e) { oCn.RollBack(); throw (e); } } //修改 public override bool ModifyByID(Int64 sItemID) { try { if (DetailColl.Count == 0) return false; oCn.BeginTran(); DeleteByID(sItemID); //删除记录 //插入表 foreach (Model.ClsGy_CostItemAccount_Model oSub in DetailColl) { oCn.RunProc("Insert into Gy_CostItemAccount " + " (HCostItemID,HAccountID,HDebitOrCredit)" + " values(" + oSub.HCostItemID.ToString() + "," + oSub.HAccountID.ToString() + ",'" + oSub.HDebitOrCredit + "'" + ") "); } oCn.Commit(); return true; } catch (Exception e) { oCn.RollBack(); throw (e); } } //显示单据 public bool ShowBill(Int64 lngBillKey, ref string sReturn) { try { //查询主表 DataSet DsSub = new DataSet(); DsSub = oCn.RunProcReturn("Select * from Gy_CostItemAccount Where HitemID=" + lngBillKey.ToString(), "Gy_CostItemAccount"); DetailColl.Clear();//清空 for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++) { Model.ClsGy_CostItemAccount_Model oSub = new Model.ClsGy_CostItemAccount_Model(); oSub.HCostItemID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HCostItemID"]); oSub.HAccountID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HAccountID"]); oSub.HDebitOrCredit = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HDebitOrCredit"]); DetailColl.Add(oSub); } sReturn = "显示单据成功!"; return true; } catch (Exception e) { sReturn = e.Message; return false; } } //批改单据 public bool BatchModifyBill(Int64 lngBillKey, double sPrice, ref string sReturn) { try { oCn.BeginTran(); oCn.RunProc(" Update Gy_CostItemAccount set HPrice=" + sPrice.ToString() + " Where HItemID=" + lngBillKey.ToString()); sReturn = "修改单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sReturn = e.Message; oCn.RollBack(); return false; } } //根据物料和工序返回工价 public double LoadProcPrice(Int64 sMaterID, Int64 sProcID) { double sPrice = 0; try { //查询主表 DataSet DsSub = new DataSet(); DsSub = oCn.RunProcReturn("Select * from Gy_CostItemAccount Where HStopflag=0 and HEndDate>=convert(varchar(10),Getdate(),120) and HChecker<>'' and HMaterID=" + sMaterID.ToString() + " and HProcID=" + sProcID.ToString(), "Gy_CostItemAccount"); if (DsSub == null) { return 0; } for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++) { sPrice = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HPrice"]); } return sPrice; } catch (Exception e) { return 0; } } //构造函数 public ClsGy_CostItemAccount_Ctl() { MvarItemKey = "Gy_CostItemAccount"; MvarReportTitle = "成本项目对应科目"; } } }