public void ClearBillNo(string scheduleNo, string billNo) { using (PersistentManager pm = new PersistentManager()) { ScheduleDao scheduleDao = new ScheduleDao(); BillDao billDao = new BillDao(); ProductStateDao stateDao = new ProductStateDao(); try { pm.BeginTransaction(); DataTable billTable = billDao.FindMaster(billNo); if (billTable.Rows.Count != 0) { if (billTable.Rows[0]["STATE"].ToString() == "1") { billDao.DeleteDetail(billNo); billDao.DeleteMaster(billNo); stateDao.Delete(billNo); scheduleDao.UpdateBillNo(scheduleNo, ""); } else throw new Exception("����״̬Ϊ'���'�����ܽ����������"); } else throw new Exception(string.Format("���ݱ��Ϊ'{0}'�ĵ��ݲ����ڡ�", billNo)); pm.Commit(); } catch (Exception e) { pm.Rollback(); throw new Exception(e.Message); } } }
public string GenBill(string formulaCode, string scheduleNo, double quantity, String userID, string sysDate, string sysDate8) { string billNo = null; using (PersistentManager pm = new PersistentManager()) { FormulaDao formulaDao = new FormulaDao(); DataTable formulaTable = formulaDao.FindDetail(formulaCode); BillDao billDao = new BillDao(); DataTable detailTable = billDao.FindDetailEmpty(); int itemNo = 1; foreach (DataRow formulaRow in formulaTable.Rows) { DataRow detailRow = detailTable.NewRow(); detailRow["ITEMNO"] = itemNo++; detailRow["PRODUCTCODE"] = formulaRow["PRODUCTCODE"]; detailRow["QUANTITY"] = quantity * (Convert.ToDouble(formulaRow["QUANTITY"]) / 100.0); detailRow["PACKAGECOUNT"] = 0; detailRow["NCCOUNT"] = 0; detailRow["OTHERCODE"] = formulaRow["OTHERCODE"]; detailTable.Rows.Add(detailRow); } try { pm.BeginTransaction(); //string warehousePrefix = "C"; //billNo = warehousePrefix + sysDate8 + billDao.FindBillNo(sysDate, warehousePrefix).ToString().PadLeft(5, '0'); billNo = billDao.FindNewBillNo("C", sysDate); billDao.InsertMaster(billNo, DateTime.Now.ToShortDateString(), "002", scheduleNo, scheduleNo, "", "", "1", "1", userID); billDao.InsertDetail(billNo, detailTable); ScheduleDao scheduleDao = new ScheduleDao(); scheduleDao.UpdateBillNo(scheduleNo, billNo); pm.Commit(); } catch (Exception e) { pm.Rollback(); throw new Exception(e.Message); } } return billNo; }
public void DeleteBill(string scheduleNo, string billNo) { using (PersistentManager pm = new PersistentManager()) { try { BillDao billDao = new BillDao(); ProductStateDao stateDao = new ProductStateDao(); ScheduleDao scheduleDao = new ScheduleDao(); pm.BeginTransaction(); billDao.DeleteMaster(billNo); billDao.DeleteDetail(billNo); if (scheduleNo != null) { stateDao.Delete(billNo); scheduleDao.UpdateBillNo(scheduleNo, ""); } pm.Commit(); } catch (Exception e) { pm.Rollback(); throw new Exception(e.Message); } } }