⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cw_fymgr.cs

📁 ASP.NET的一些开发实例,有论坛管理系统等
💻 CS
📖 第 1 页 / 共 2 页
字号:
			{
				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 + -