public DataTable GetDetail(string billNo) { using (PersistentManager pm = new PersistentManager()) { ProductStateDao psDao = new ProductStateDao(); return psDao.FindDetail(billNo); } }
public void VerifyQuantity(DataTable detailTable, Dictionary<string, DataTable> productState) { using (PersistentManager pm = new PersistentManager()) { foreach (DataRow row in detailTable.Rows) { string billNo = row["BILLNO"].ToString(); string productCode = row["PRODUCTCODE"].ToString().Trim(); string productName = row["PRODUCTNAME"].ToString(); if (!productName.EndsWith("����")) { double tmpQuantity = Convert.ToDouble(row["QUANTITY"]); double packageCount = Convert.ToInt32(row["PACKAGECOUNT"]); DataTable table = null; if (productState != null && productState.ContainsKey(productCode)) { table = productState[productCode]; } else { ProductStateDao stateDao = new ProductStateDao(); table = stateDao.FindDetail(billNo, productCode); } double stateQuantity = 0, stateCount = 0; foreach (DataRow stateRow in table.Rows) { if (stateRow.RowState != DataRowState.Deleted) { stateQuantity += Convert.ToDouble(stateRow["QUANTITY"]); if (stateRow["ISMIX"].ToString() == "0") stateCount += 1; } } if (tmpQuantity != stateQuantity || packageCount != stateCount) throw new Exception(string.Format("��Ʒ����Ϊ'{0}'�����ݲ���ȷ������е�����\n������={1},ʵ������={2}\n�ܰ���={3},ʵ�ʰ���={4}", productName, tmpQuantity, stateQuantity, packageCount, stateCount)); } } } }
/// <summary> /// ���������ҵ /// </summary> /// <param name="billNo"></param> /// <param name="userID"></param> /// <param name="date"></param> public DataTable TaskUrgentBill(string billNo, string status, string userID, string date) { DataTable table = null; using (PersistentManager pm = new PersistentManager()) { BillDao billDao = new BillDao(); ProductStateDao stateDao = new ProductStateDao(); TaskDao taskDao = new TaskDao(); try { pm.BeginTransaction(); DataTable masterTable = billDao.FindMaster(billNo); if (masterTable.Rows.Count != 0) { string scheduleNo = masterTable.Rows[0]["SCHEDULENO"].ToString(); //PRODUCTSTATE��û������ //if (stateDao.FindDetail(billNo).Rows.Count == 0) //{ // DataTable detailTable = billDao.FindDetail(billNo); // int item = 1; // stateDao.Insert(scheduleNo, billNo, detailTable, ref item); //} string result = billDao.TaskUrgentOutBill(billNo); if (result != "0") throw new Exception("û��Ϊ��Ʒ�ҵ���λ���⡣"); ////����billmaster״̬ billDao.UpdateMasterState(billNo, "3", "TASKER", userID, "TASKDATE", date); //���ij����ܰ��� //int packageCount = taskDao.FindTaskCount(billNo); //ScheduleDao scheduleDao = new ScheduleDao(); //scheduleDao.UpdatePackageCount(scheduleNo, packageCount); } else throw new Exception(string.Format("δ�ҵ����ݺ�Ϊ'{0}'�ĵ��ݡ�", billNo)); table = stateDao.FindDetail(billNo); pm.Commit(); return table; } catch (Exception e) { pm.Rollback(); throw new Exception(e.Message); } } }