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<Model.ClsGy_CostItemAccount_Model> DetailColl = new List<Model.ClsGy_CostItemAccount_Model>();
|
|
|
|
//反审核
|
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 = "成本项目对应科目";
|
}
|
}
|
}
|