📄 cw_fymgr.cs
字号:
{
LogService.Write ("Com.Ascs.Plp.CW.CW_FyMgr: GetYsdxmXH(SqlConnection cn,string ysdh)");
LogService.Write (e.Message);
return iXh;
}
}
//end
// begin
/// <summary>
/// 由出库单生成应收账款单
/// </summary>
/// <param name="theCW_FYCB">要添加的CW_FYCB对象</param>
public bool MakeYFD(SqlConnection cn,string sCrkdh,string jgdm,string userid)
{
try
{
Com.Ascs.Drp_KC.CRKD oCrkd = new Com.Ascs.Drp_KC.CRKD(); //出入库单表对象
Com.Ascs.Drp_KC.CRKDMgr oCrkdMgr = new Com.Ascs.Drp_KC.CRKDMgr(); //出入库单表对象 管理类
Com.Ascs.Drp_KC.CRKDXM oCrkdXm = new Com.Ascs.Drp_KC.CRKDXM(); //出入库单表细目对象
Com.Ascs.Drp_KC.CRKDXMMgr oCrkdXmMgr = new Com.Ascs.Drp_KC.CRKDXMMgr(); //出入库单表细目对象 管理类
oCrkd = (Com.Ascs.Drp_KC.CRKD)oCrkdMgr.GetCRKD(sCrkdh); //取出入库单
ArrayList oList = new ArrayList();
oList = (ArrayList)oCrkdXmMgr.FindCRKDXM(sCrkdh); //取出入库单细目
CW_YFD oYFd = new CW_YFD(); //应付单表对象
CW_YFDMgr oYFdMgr = new CW_YFDMgr(); //应付单表对象
CW_YFDXM oYFdXm = new CW_YFDXM(); //应付单表对象
CW_YFDXMMgr oYFdXmMgr = new CW_YFDXMMgr(); //应付单表对象
double fYsje = 0; //应付金额
double fTotalJE = 0; //应付金额总和
com.ascs.plp.common.DM_bj autonumber = new com.ascs.plp.common.DM_bj(); //编码方法
if(oCrkd.YSDJBH.IndexOf("DB")!=-1) //调拨单生成应付单
{
#region
Com.Ascs.Drp_KC.DBD oDBD = new Com.Ascs.Drp_KC.DBD(); //调拨单表对象
Com.Ascs.Drp_KC.DBDMgr oDBDMgr = new Com.Ascs.Drp_KC.DBDMgr(); //调拨单表对象的管理类
Com.Ascs.Drp_KC.DBDXM oDBDXm = new Com.Ascs.Drp_KC.DBDXM(); //调拨单细目表对象
Com.Ascs.Drp_KC.DBDXMMgr oDBDXmMgr = new Com.Ascs.Drp_KC.DBDXMMgr(); //调拨单表对象细目的管理类
oDBD = (DBD)oDBDMgr.GetDBD(oCrkd.YSDJBH); //调拨单
Com.Ascs.Drp_KC.CKB oCkb = new Com.Ascs.Drp_KC.CKB(); //仓库表对象
Com.Ascs.Drp_KC.CKBMgr oCKBMgr = new Com.Ascs.Drp_KC.CKBMgr(); //仓库表对象的管理类
oCkb = (Com.Ascs.Drp_KC.CKB)oCKBMgr.GetCKB(oDBD.DRK); //调入库
//11111生成应付单主表
oYFd.YFDH =autonumber.dmtwo("YF",jgdm); //1应付单号
oYFd.JGDM = jgdm; //2 机构代码
oYFd.WLHLX = "3"; //3 往来户类型 1:客户2:供应商3:机构4:人员
oYFd.WLHBH = oCkb.JGDM; //4 往来户编号 //凋入库的机构代码
oYFd.YSDJH = oCrkd.CRKDH; //5 原始单据号
oYFd.DJLX = 13; //6 单据类型 “13调拨应付”
oYFd.HBLX = "0901"; //7 货币类型
oYFd.YFJE = 0; //8 应付金额
oYFd.SJYF = 0; //9 实际应付金额
oYFd.YFYE = 0; //10 应付余额
oYFd.FZR = null; //11 负责人
oYFd.ZDR = userid; //12 制单人
oYFd.ZTBJ = "1"; //14 状态标记 1:待核销2:可核销3:已核销 //写完细目表后改为2。
oYFd.QCBJ = "0"; //15 期初标记 0:否1:是
oYFd.BZ = "由调拨单生成的应付单"; //16 备注
oYFd.CJR = userid; //17 创建人
oYFd.CJRQ = DateTime.Now; //18 创建日期
oYFd.XGR = userid; //19 修改人
oYFd.XGRQ = DateTime.Now; //20 修改日期
oYFd.GZBJ = "0"; //21 过账标记 0:未过账(否)1:已过账(是)
oYFdMgr.AddCW_YFD(cn,oYFd);
//2222生成应付单细目表
for (int i=0; i<oList.Count; i++)
{
oCrkdXm = (Com.Ascs.Drp_KC.CRKDXM)oList[i]; //取出入库单细目
if(oCrkdXm.SJSL>0) //处入库的实际数量大于0
{
oDBDXm = (DBDXM)oDBDXmMgr.GetDBDXM(oCrkd.YSDJBH,oCrkdXm.CPDM,oCrkdXm.ZLZK); //取调拨单细目
fYsje = oCrkdXm.SJSL * oDBDXm.CPJG; //应付金额 = 实际数量*产品价格
fTotalJE = fTotalJE + fYsje;
oYFdXm.YFDH = oYFd.YFDH; //1 应付单号
oYFdXm.XH = GetYfdxmXH(cn,oYFd.YFDH); //2 序号
oYFdXm.CPDM = oCrkdXm.CPDM; //3 产品代码
oYFdXm.ZLZK = oCrkdXm.ZLZK; //4 质量状况
oYFdXm.DJ = oDBDXm.CPJG; //5 单价
oYFdXm.SL = oCrkdXm.SJSL; //6 数量
oYFdXm.JE = fYsje; //7 应付金额
oYFdXm.YE = fYsje; //8 应付余额
oYFdXm.ZTBJ = "1"; //9 核销状态 1:可核销2:已核销
oYFdXmMgr.AddCW_YFDXM(cn,oYFdXm);
}
}
//3333修改主表的金额
oYFd.YFJE = fTotalJE; //8 应付金额
oYFd.SJYF = fTotalJE; //9 实际应付金额
oYFd.YFYE = fTotalJE; //10 应付余额
oYFd.ZTBJ = "2" ; //14 状态标记 ZTBJ nvarchar(1) N 1:待核销2:可核销3:已核销 //写完细目表后改为2。
oYFdMgr.UpdateCW_YFD(cn,oYFd);
#endregion
}
// else if(oCrkd.YSDJBH.IndexOf("SH")!=-1) //采购收货定单生成应付单
// {
// #region
//
// com.ascs.plp.xs.XSDD oXsdd = new com.ascs.plp.xs.XSDD(); //采购定单对象
// com.ascs.plp.xs.XSDDMgr oXsddMgr = new com.ascs.plp.xs.XSDDMgr(); //采购定单对象管理类
// com.ascs.plp.xs.XSDDXM oXsddXm = new com.ascs.plp.xs.XSDDXM(); //采购定单细目对象
// com.ascs.plp.xs.XSDDXMMgr oXsddXmMgr = new com.ascs.plp.xs.XSDDXMMgr(); //采购定单细目对象管理类
//
// oXsdd = (XSDD)oXsddMgr.GetXSDD(oCrkd.YSDJBH);
//
// //11111生成应付单主表
//
// oYFd.YFDH =autonumber.dmtwo("YF",jgdm); //1应付单号
// oYFd.JGDM = jgdm; //2 机构代码
// oYFd.WLHLX = "4"; //3 往来户类型 1:客户2:供应商3:机构4:人员
// oYFd.WLHBH = oXsdd.XSYDM; //4 往来户编号 采购员代码
// oYFd.YSDJH = oCrkd.CRKDH; //5 原始单据号
// oYFd.DJLX = 11; //6 单据类型 11 采购应付
// oYFd.HBLX = "0901"; //7 货币类型
// oYFd.YSJE = 0; //8 应付金额
// oYFd.SJYF = 0; //9 实际应付金额
// oYFd.YFYE = 0; //10 应付余额
// oYFd.FZR = null; //11 负责人
// oYFd.ZDR = userid; //12 制单人
//
// oYFd.ZTBJ = "1"; //14 状态标记 1:待核销2:可核销3:已核销 //写完细目表后改为2。
// oYFd.QCBJ = "0"; //15 期初标记 0:否1:是
// oYFd.BZ = ""; //16 备注
// oYFd.CJR = userid; //17 创建人
// oYFd.CJRQ = DateTime.Now; //18 创建日期
// oYFd.XGR = userid; //19 修改人
// oYFd.XGRQ = DateTime.Now; //20 修改日期
// oYFd.GZBJ = "0"; //21 过账标记 0:未过账(否)1:已过账(是)
//
// oYFdMgr.AddCW_YFD(cn,oYFd);
//
// //2222生成应付单细目表
//
// for (int i=0; i<oList.Count; i++)
// {
// oCrkdXm = (Com.Ascs.Drp_KC.CRKDXM)oList[i]; //取出入库单细目
//
// if(oCrkdXm.SJSL>0) //处入库的实际数量大于0
// {
// oXsddXm = (XSDDXM)oXsddXmMgr.GetXSDDXM(oCrkd.YSDJBH,oCrkdXm.CPDM,oCrkdXm.ZLZK); //取采购定单细目
//
// fYsje = oCrkdXm.SJSL * oXsddXm.XSDJ; //应付金额 = 实际数量*产品价格
// fTotalJE = fTotalJE + fYsje;
//
// oYFdXm.YFDH = oYFd.YFDH; //1 应付单号
// oYFdXm.XH = GetYfdxmXH(cn,oYFd.YFDH); //2 序号
// oYFdXm.CPDM = oCrkdXm.CPDM; //3 产品代码
// oYFdXm.ZLZK = oCrkdXm.ZLZK; //4 质量状况
// oYFdXm.DJ = oXsddXm.XSDJ; //5 单价
// oYFdXm.SL = oCrkdXm.SJSL; //6 数量
// oYFdXm.JE = fYsje; //7 应付金额
// oYFdXm.YE = fYsje; //8 应付余额
// oYFdXm.ZTBJ = "1"; //9 核销状态 1:可核销2:已核销
//
// oYFdXmMgr.AddCW_YFDXM(cn,oYFdXm);
// }
// }
//
// //3333修改主表的金额
//
// oYFd.YSJE = fTotalJE; //8 应付金额
// oYFd.SJYF = fTotalJE; //9 实际应付金额
// oYFd.YFYE = fTotalJE-oXsdd.YFJE; //10 应付余额
// oYFd.ZTBJ = "2" ; //14 状态标记 ZTBJ nvarchar(1) N 1:待核销2:可核销3:已核销 //写完细目表后改为2。
//
// oYFdMgr.UpdateCW_YFD(cn,oYFd);
// #endregion
// }
else if(oCrkd.YSDJBH.IndexOf("TH")!=-1) //销售退货单生成应付单
{
#region
com.ascs.plp.service.XSTHD oXsthd = new com.ascs.plp.service.XSTHD(); //销售退货单对象
com.ascs.plp.service.XSTHDXM oXsthdXm = new com.ascs.plp.service.XSTHDXM(); //销售退货单细目对象
com.ascs.plp.service.BackGoods oXsthdMgr = new com.ascs.plp.service.BackGoods(); //销售退货管理类
oXsthd = (XSTHD)oXsthdMgr.GetXSTHD(oCrkd.YSDJBH);
//11111生成应付单主表
oYFd.YFDH =autonumber.dmtwo("YF",jgdm); //1应付单号
oYFd.JGDM = jgdm; //2 机构代码
oYFd.WLHLX = "1"; //3 往来户类型 1:客户2:供应商3:机构4:人员
oYFd.WLHBH = oXsthd.KHMC; //4 往来户编号 销售员代码
oYFd.YSDJH = oCrkd.CRKDH; //5 原始单据号
oYFd.DJLX = 12; //6 单据类型 12 销售退货应付
oYFd.HBLX = "0901"; //7 货币类型
oYFd.YFJE = 0; //8 应付金额
oYFd.SJYF = 0; //9 实际应付金额
oYFd.YFYE = 0; //10 应付余额
oYFd.FZR = null; //11 负责人
oYFd.ZDR = userid; //12 制单人
oYFd.ZTBJ = "1"; //14 状态标记 1:待核销2:可核销3:已核销 //写完细目表后改为2。
oYFd.QCBJ = "0"; //15 期初标记 0:否1:是
oYFd.BZ = "销售退货单生成应付单"; //16 备注
oYFd.CJR = userid; //17 创建人
oYFd.CJRQ = DateTime.Now; //18 创建日期
oYFd.XGR = userid; //19 修改人
oYFd.XGRQ = DateTime.Now; //20 修改日期
oYFd.GZBJ = "0"; //21 过账标记 0:未过账(否)1:已过账(是)
oYFdMgr.AddCW_YFD(cn,oYFd);
//2222生成应付单细目表
for (int i=0; i<oList.Count; i++)
{
oCrkdXm = (Com.Ascs.Drp_KC.CRKDXM)oList[i]; //取出入库单细目
if(oCrkdXm.SJSL>0) //处入库的实际数量大于0
{
oXsthdXm = (XSTHDXM)oXsthdMgr.GetXSTHDXM(oCrkd.YSDJBH,oCrkdXm.CPDM,oCrkdXm.ZLZK); //取销售退货单细目
fYsje = oCrkdXm.SJSL * oXsthdXm.CPJG; //应付金额 = 实际数量*产品价格
fTotalJE = fTotalJE + fYsje;
oYFdXm.YFDH = oYFd.YFDH; //1 应付单号
oYFdXm.XH = GetYfdxmXH(cn,oYFd.YFDH); //2 序号
oYFdXm.CPDM = oCrkdXm.CPDM; //3 产品代码
oYFdXm.ZLZK = oCrkdXm.ZLZK; //4 质量状况
oYFdXm.DJ = oXsthdXm.CPJG; //5 单价
oYFdXm.SL = oCrkdXm.SJSL; //6 数量
oYFdXm.JE = fYsje; //7 应付金额
oYFdXm.YE = fYsje; //8 应付余额
oYFdXm.ZTBJ = "1"; //9 核销状态 1:可核销2:已核销
oYFdXmMgr.AddCW_YFDXM(cn,oYFdXm);
}
}
//3333修改主表的金额
oYFd.YFJE = fTotalJE; //8 应付金额
oYFd.SJYF = fTotalJE; //9 实际应付金额
oYFd.YFYE = fTotalJE; //10 应付余额
oYFd.ZTBJ = "2" ; //14 状态标记 ZTBJ nvarchar(1) N 1:待核销2:可核销3:已核销 //写完细目表后改为2。
oYFdMgr.UpdateCW_YFD(cn,oYFd);
#endregion
}
return true;
}
catch(Exception e)
{
LogService.Write ("Com.Ascs.Plp.CW.CW_FyMgr: MakeYFD(SqlConnection cn,string sCrkdh,string jgdm,string userid)");
LogService.Write (e.Message);
return false;
}
}
//end
//begin
/// <summary>
/// 根据应付单号,取最大序号+1
/// </summary>
///<param name="cn">cn</param>
///<param name="ysdh">应付单号</param>
///<returns>int XH</returns>
public int GetYfdxmXH(SqlConnection cn,string yfdh)
{
int iXh=1;
try
{
string sql;
sql = "select xh from cw_yfdxm where yfdh=@yfdh order by xh desc ";
SqlCommand cmd = new SqlCommand(sql,cn);
cmd.Parameters.Add ("@yfdh", yfdh);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
iXh = (int)dr[0];
iXh = iXh+1;
}
dr.Close();
return iXh;
}
catch(Exception e)
{
LogService.Write ("Com.Ascs.Plp.CW.CW_FyMgr: GetYfdxmXH(SqlConnection cn,string yfdh)");
LogService.Write (e.Message);
return iXh;
}
}
//end
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -