/// <summary> /// ���ϱ��������ҵ���������� /// </summary> /// <param name="tableBull"></param> public void InsertBull(DataTable tableAllotDetail, string masterTableName, string detailTableName, string outInfoTabel, string employeeCode) { DataTable table = null; using (PersistentManager persistentManager = new PersistentManager()) { UpdateUploadDao dao = new UpdateUploadDao(); dao.SetPersistentManager(persistentManager); table = dao.QueryBusiBill(outInfoTabel); int s = 0; decimal quantity = 0.00M; string product = "1";//�ж��Ƿ���ͬһ��Ʒ�� DataRow[] tableAllotDr = tableAllotDetail.Select("1=1", "PRODUCTCODE"); foreach (DataRow row in tableAllotDr) { s++; if (row["PRODUCTCODE"].ToString() != product) quantity = 0.00M;//�������Ʒ�Ʒ�������� DataTable detailTable = dao.GetByOutInfo(row["BILLNO"].ToString(), row["PRODUCTCODE"].ToString(), detailTableName); DataTable masterTable = dao.GetByOutInfo(row["BILLNO"].ToString(), masterTableName); DataTable productStandArdrate = dao.ProductRate(row["PRODUCTCODE"].ToString());//��ȡ��Ʒ�ı���STANDARDRATE string unitCode = dao.GetCellCodeCodeByName(row["CELLCODE"].ToString());///��ȡ��λ�ĵ�λ decimal pieceBarQuantity = dao.FindPieceQuantity(row["PRODUCTCODE"].ToString(), "0");//��ѯԭ���������� decimal barQuantity = dao.FindBarQuantity(row["PRODUCTCODE"].ToString(), "1");//��ѯԭ����������� decimal beginQuantity = pieceBarQuantity + barQuantity;//ԭ��� decimal endBarQuantity = 0.00M;//��ǰ��������� decimal endQuntity = 0.00M;//��ǰ���=ԭ���+��ǰ�������� if (unitCode == productStandArdrate.Rows[0]["JIANCODE"].ToString())//�ж��Ǽ�������������Ҫת����������Ҫ { decimal endPieceQuantity = Convert.ToDecimal(row["QUANTITY"]) * Convert.ToDecimal(productStandArdrate.Rows[0]["JIANRATE"].ToString());//�ѵ�ǰ���������ת��Ϊ֧ endBarQuantity = (Convert.ToDecimal(endPieceQuantity) / Convert.ToDecimal(productStandArdrate.Rows[0]["TIAORATE"].ToString()));//�ѵ�ǰ�����֧ת���� quantity = quantity + endBarQuantity; } else { endBarQuantity = Convert.ToDecimal(row["QUANTITY"]); quantity = quantity + endBarQuantity; } if (outInfoTabel == "DWV_IWMS_OUT_BUSI_BILL") endQuntity = beginQuantity - quantity;//�����ȥ else endQuntity = beginQuantity + quantity;//������ DataRow newRow = table.NewRow(); newRow["BUSI_ACT_ID"] = DateTime.Now.ToString("yyMMddssff") + s; newRow["BUSI_BILL_DETAIL_ID"] = detailTable.Rows[0]["STORE_BILL_DETAIL_ID"].ToString(); newRow["BUSI_BILL_ID"] = row["BILLNO"]; newRow["RELATE_BUSI_BILL_ID"] = row["BILLNO"]; newRow["STORE_BILL_ID"] = row["BILLNO"]; newRow["BRAND_CODE"] = row["PRODUCTCODE"]; newRow["BRAND_NAME"] = detailTable.Rows[0]["BRAND_NAME"].ToString(); newRow["QUANTITY"] = endBarQuantity; newRow["DIST_CTR_CODE"] = "0101"; newRow["ORG_CODE"] = this.QueryOrgCode().ToString(); newRow["STORE_ROOM_CODE"] = "001"; newRow["STORE_PLACE_CODE"] = "1002"; newRow["TARGET_NAME"] = Convert.ToString(dao.GetCellCodeByName(row["CELLCODE"].ToString())); newRow["IN_OUT_TYPE"] = masterTable.Rows[0]["IN_OUT_TYPE"].ToString(); newRow["BILL_TYPE"] = masterTable.Rows[0]["BILL_TYPE"].ToString(); newRow["BEGIN_STOCK_QUANTITY"] = Convert.ToInt32(beginQuantity); newRow["END_STOCK_QUANTITY"] = Convert.ToInt32(endQuntity); newRow["DISUSE_STATUS"] = "0"; newRow["RECKON_STATUS"] = ""; newRow["RECKON_DATE"] = ""; newRow["UPDATE_CODE"] = "050000"; newRow["UPDATE_DATE"] = DateTime.Now.ToString("yyyyMMddHHmmss"); newRow["IS_IMPORT"] = "0"; table.Rows.Add(newRow); product = row["PRODUCTCODE"].ToString(); } dao.InsertBull(table, outInfoTabel); } }