using System; using System.Collections.Generic; using System.Text; using System.Data; namespace DAL { public class ClsGy_CostCenterDeptRelation_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_CostCenterDeptRelation 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_CostCenterDeptRelation set HStopflag=0,HChecker='" + DBUtility.ClsPub.CurUserName + "',HCheckDate='" + DBUtility.ClsPub.GetServerDate(-1) + "' Where HItemID=" + lngBillKey.ToString()); //将其他 工价设置为 停用 oCn.RunProc(" exec h_p_Gy_CostCenterDeptRelationStopflag " + lngBillKey.ToString()); // sReturn = ""; return true; } catch (Exception e) { sReturn = e.Message; return false; } } //新增 public override bool AddNew() { try { oCn.BeginTran(); //插入子表 foreach (Model.ClsGy_CostCenterDeptRelation_Model oSub in DetailColl) { oCn.RunProc("Insert into Gy_CostCenterDeptRelation " + " (HCostCenterID,HCostCenterNumber,HDeptID,HDeptNumber)" + " values(" + oSub.HCostCenterID.ToString() + ",'" + oSub.HCostCenterNumber + "'," + oSub.HDeptID.ToString() + ",'" + oSub.HDeptNumber + "'" + ") "); } 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_CostCenterDeptRelation_Model oSub in DetailColl) { oCn.RunProc("Insert into Gy_CostCenterDeptRelation " + " (HCostCenterID,HCostCenterNumber,HDeptID,HDeptNumber)" + " values(" + oSub.HCostCenterID.ToString() + ",'" + oSub.HCostCenterNumber + "'," + oSub.HDeptID.ToString() + ",'" + oSub.HDeptNumber + "'" + ") "); } 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_CostCenterDeptRelation Where HitemID=" + lngBillKey.ToString(), "Gy_CostCenterDeptRelation"); DetailColl.Clear();//清空 for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++) { Model.ClsGy_CostCenterDeptRelation_Model oSub = new Model.ClsGy_CostCenterDeptRelation_Model(); oSub.HCostCenterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HCostCenterID"]); oSub.HDeptID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HDeptID"]); oSub.HCostCenterNumber = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCostCenterNumber"]); oSub.HDeptNumber = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HDeptNumber"]); 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_CostCenterDeptRelation 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_CostCenterDeptRelation Where HStopflag=0 and HEndDate>=convert(varchar(10),Getdate(),120) and HChecker<>'' and HMaterID=" + sMaterID.ToString() + " and HProcID=" + sProcID.ToString(), "Gy_CostCenterDeptRelation"); 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_CostCenterDeptRelation_Ctl() { MvarItemKey = "Gy_CostCenterDeptRelation"; MvarReportTitle = "成本中心对应部门"; } } }