示例#1
0
文件: BillDal.cs 项目: SaintLoong/PFK
        public void AddBill3(DataRow masterRow, DataTable detailTable)
        {
            using (PersistentManager pm = new PersistentManager())
            {
                try
                {
                    BillDao billDao = new BillDao();
                    ProductStateDao stateDao = new ProductStateDao();

                    pm.BeginTransaction();

                    string billNo = billDao.FindNewBillNo("P", masterRow["BILLDATE"].ToString());

                    masterRow["BILLNO"] = billNo;
                    //���뵥������
                    billDao.InsertMaster(masterRow);

                    stateDao.Insert(billNo, detailTable);
                    pm.Commit();
                }
                catch (Exception e)
                {
                    pm.Rollback();
                    throw new Exception(e.Message);
                }
            }
        }
示例#2
0
        public int AddMix(string billNo, DataRow newRow)
        {
            int result = 1;
            using (PersistentManager pm = new PersistentManager())
            {
                ProductStateDao psDao = new ProductStateDao();
                try
                {
                    pm.BeginTransaction();
                    result = psDao.UpdateMix(billNo, newRow["MIXID"].ToString(), Convert.ToDouble(newRow["QUANTITY"]));
                    if (result != 1)
                        throw new Exception("����������Ϊ1");

                    result = psDao.UpdateMixID(billNo, newRow["PRODUCTCODE"].ToString(), newRow["ITEMNO"].ToString(), newRow["MIXID"].ToString());
                    if (result != 1)
                        throw new Exception("����������Ϊ1");

                    pm.Commit();
                }
                catch
                {
                    pm.Rollback();
                }
            }
            return result;
        }
示例#3
0
文件: TaskDal.cs 项目: SaintLoong/PFK
        public void CancelTaskIn(string billNo)
        {
            using (PersistentManager pm = new PersistentManager())
            {
                TaskDao taskDao = new TaskDao();
                BillDao billDao = new BillDao();
                CellDao cellDao = new CellDao();
                ScheduleDao scheduleDao = new ScheduleDao();
                ProductStateDao productStateDao = new ProductStateDao();

                try
                {
                    pm.BeginTransaction();

                    int count = taskDao.FindExecutingTask(billNo);
                    if (count != 0)
                        throw new Exception("����δִ�л�ִ���е���ҵ��");

                    taskDao.Backup(billNo);
                    taskDao.Delete(billNo);
                    billDao.UpdateMasterState(billNo, "6");//����Ϊȡ��
                    productStateDao.Delete(billNo);
                    //�������ⵥ���̰����������������ƻ�ISOUTΪ�����
                    scheduleDao.UpdateIsIn(billNo);

                    pm.Commit();
                }
                catch (Exception e)
                {
                    pm.Rollback();
                    throw new Exception(e.Message);
                }

            }
        }
示例#4
0
 public int AddProductState(string billNo, string scheduleNo, int itemNo, string productCode, string quantity, string userID, string mixID)
 {
     using (PersistentManager pm = new PersistentManager())
     {
         ProductStateDao psDao = new ProductStateDao();
         return psDao.Insert(billNo, scheduleNo, itemNo, productCode, quantity, userID, mixID);
     }
 }
示例#5
0
 public int DeleteMix(string billNo, string mixID)
 {
     using (PersistentManager pm = new PersistentManager())
     {
         ProductStateDao psDao = new ProductStateDao();
         return psDao.DeleteMix(billNo, mixID);
     }
 }
示例#6
0
 public DataTable GetDetail(string billNo)
 {
     using (PersistentManager pm = new PersistentManager())
     {
         ProductStateDao psDao = new ProductStateDao();
         return psDao.FindDetail(billNo);
     }
 }
示例#7
0
 public DataTable GetBarcodes(string billNo, string userID)
 {
     using (PersistentManager pm = new PersistentManager())
     {
         ProductStateDao psDao = new ProductStateDao();
         psDao.UpdateBarcode2(billNo, userID);
         return psDao.FindBarcode(billNo, userID);
     }
 }
示例#8
0
文件: BillDal.cs 项目: SaintLoong/PFK
        public void AddBill(DataRow masterRow, DataTable detailTable, Dictionary<string, DataTable> productState, string prefix, string billDate)
        {
            using (PersistentManager pm = new PersistentManager())
            {
                try
                {
                    BillDao billDao = new BillDao();
                    ProductStateDao stateDao = new ProductStateDao();
                    ScheduleDao scheduleDao = new ScheduleDao();

                    pm.BeginTransaction();
                    string billNo = billDao.FindNewBillNo(prefix, billDate);

                    masterRow["BILLNO"] = billNo;
                    //���뵥������
                    billDao.InsertMaster(masterRow);

                    //���뵥����ϸ��
                    billDao.InsertDetail(billNo, detailTable);

                    if (productState != null)
                    {
                        //����ProductState��
                        int itemNo = 1;
                        foreach (DataTable stateTable in productState.Values)
                        {
                            stateDao.Insert(masterRow["SCHEDULENO"].ToString(),
                                        billNo,
                                        stateTable,
                                        ref itemNo);
                        }
                    }
                    pm.Commit();
                }
                catch (Exception e)
                {
                    pm.Rollback();
                    throw new Exception(e.Message);
                }
            }
        }
示例#9
0
        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);
                }
            }
        }
示例#10
0
文件: BillDal.cs 项目: SaintLoong/PFK
        public void BackBill(string billNo, string oriBillNo)
        {
            using (PersistentManager pm = new PersistentManager())
            {
                try
                {
                    BillDao billDao = new BillDao();
                    ProductStateDao stateDao = new ProductStateDao();

                    pm.BeginTransaction();

                    billDao.DeleteMaster(billNo);
                    billDao.DeleteDetail(billNo);

                    billDao.DeleteMaster("T" + billNo);
                    billDao.DeleteDetail("T" + billNo);
                    billDao.UpdateMasterState(oriBillNo, "2", "SENDER", "", "SENDDATE", "");

                    stateDao.Delete(billNo);
                    stateDao.Delete("T" + billNo);
                    pm.Commit();
                }
                catch (Exception e)
                {
                    pm.Rollback();
                    throw new Exception(e.Message);
                }
            }
        }
示例#11
0
文件: BillDal.cs 项目: SaintLoong/PFK
        public void DeleteBill3(string billNo)
        {
            using (PersistentManager pm = new PersistentManager())
            {
                try
                {
                    BillDao billDao = new BillDao();
                    ProductStateDao stateDao = new ProductStateDao();

                    pm.BeginTransaction();

                    billDao.DeleteMaster(billNo);
                    stateDao.Delete(billNo);

                    pm.Commit();
                }
                catch (Exception e)
                {
                    pm.Rollback();
                    throw new Exception(e.Message);
                }
            }
        }
示例#12
0
 public int GetMixCount(string billNo, string productCode)
 {
     using (PersistentManager pm = new PersistentManager())
     {
         ProductStateDao psDao = new ProductStateDao();
         return psDao.FindMixCount(billNo, productCode);
     }
 }
示例#13
0
文件: BillDal.cs 项目: SaintLoong/PFK
        public string RecoverBill(string outBillNo, string sysDate)
        {
            string billNo = "";
            using (PersistentManager pm = new PersistentManager())
            {
                try
                {
                    BillDao billDao = new BillDao();
                    ProductStateDao stateDao = new ProductStateDao();
                    ScheduleDao scheduleDao = new ScheduleDao();

                    pm.BeginTransaction();

                    billNo = billDao.FindNewBillNo("P", sysDate);

                    billDao.UpdateMasterBillNo(billNo, outBillNo, sysDate);
                    billDao.UpdateDetailBillNo(billNo, outBillNo);
                    stateDao.UpdateBillNo(billNo, outBillNo);
                    scheduleDao.UpdateIsOut(billNo);
                    pm.Commit();
                }
                catch (Exception e)
                {
                    pm.Rollback();
                    throw new Exception(e.Message);
                }
            }
            return billNo;
        }
示例#14
0
文件: BillDal.cs 项目: SaintLoong/PFK
        public string GenBillFromTask(string billNo, string billType, string userID, string sysDate)
        {
            string newNo = null;
            using (PersistentManager pm = new PersistentManager())
            {
                BillDao billDao = new BillDao();
                ProductStateDao stateDao = new ProductStateDao();

                try
                {
                    pm.BeginTransaction();
                    DataTable stateTable = stateDao.FindBillDetail(billNo);

                    DataTable masterTable = billDao.FindMaster(billNo);

                    if (masterTable.Rows.Count != 0)
                    {
                        DataRow masterRow = masterTable.Rows[0];

                        string target = "";
                        if (billType == "002")//���ɵĵ���Ϊ���ⵥ
                            target = "3";

                        newNo = billDao.FindNewBillNo("P", sysDate);
                        billDao.InsertMaster(newNo, sysDate, billType, masterRow["SCHEDULENO"].ToString(),
                                         masterRow["BILLNO"].ToString(), masterRow["WAREHOUSECODE"].ToString(),
                                         target, "0", "1", userID);
                        int itemNo = 1;
                        foreach (DataRow stateRow in stateTable.Rows)
                        {
                            if (stateRow["REALQUANTITY"].ToString().Trim().Length != 0)
                            {
                                stateRow["REALQUANTITY"] = 0;
                                stateDao.Insert(newNo, billType, itemNo++, stateRow);
                            }
                        }

                        if (itemNo == 1)
                            throw new Exception("û���̰��ѳ��⣬����Ҫ�����˿ⵥ");

                        DataTable detailTable = stateDao.Find(newNo);
                        billDao.InsertDetail(newNo, detailTable);
                    }

                    pm.Commit();
                }
                catch (Exception e)
                {
                    pm.Rollback();
                    throw new Exception(e.Message);
                }
            }
            return newNo;
        }
示例#15
0
        public int SaveItemNo(string billNo, DataTable table)
        {
            int result = 1;
            using (PersistentManager pm = new PersistentManager())
            {
                ProductStateDao psDao = new ProductStateDao();
                try
                {
                    pm.BeginTransaction();

                    int itemNo = 1;
                    foreach (DataRow row in table.Rows)
                    {
                        result = psDao.UpdateMix(billNo, row["MIXID"].ToString(), itemNo++);
                        if (result != 1)
                            throw new Exception("����������Ϊ1");
                    }

                    pm.Commit();
                }
                catch
                {
                    pm.Rollback();
                }
            }
            return result;
        }
示例#16
0
文件: BillDal.cs 项目: SaintLoong/PFK
        public void SaveAlcoholizeBill(DataRow masterRow, DataTable detailTable, Dictionary<string, DataTable> productState, string userID)
        {
            using (PersistentManager pm = new PersistentManager())
            {
                try
                {
                    BillDao billDao = new BillDao();
                    ProductStateDao stateDao = new ProductStateDao();
                    ScheduleDao scheduleDao = new ScheduleDao();
                    string billNo = masterRow["BILLNO"].ToString();

                    pm.BeginTransaction();

                    //���뵥������
                    billDao.UpdateMaster2(masterRow);

                    //���뵥����ϸ��
                    billDao.SaveAlcoholizeDetail(billNo, detailTable);

                    //����ProductState��
                    if (productState != null)
                    {

                        foreach (string productCode in productState.Keys)
                        {
                            DataTable stateTable = productState[productCode];

                            //stateDao.Delete(billNo, productCode);
                            stateDao.Insert(billNo,
                                        masterRow["SCHEDULENO"].ToString(),
                                        stateTable,
                                        userID);

                        }
                    }
                    pm.Commit();
                }
                catch (Exception e)
                {
                    pm.Rollback();
                    throw new Exception(e.Message);
                }
            }
        }
示例#17
0
 public int GetUnmixCount(string billNo)
 {
     using (PersistentManager pm = new PersistentManager())
     {
         ProductStateDao psDao = new ProductStateDao();
         return psDao.FindUnmixCount(billNo);
     }
 }
示例#18
0
文件: BillDal.cs 项目: SaintLoong/PFK
        public void SaveBill3(DataRow masterRow, DataTable stateTable)
        {
            using (PersistentManager pm = new PersistentManager())
            {
                try
                {
                    BillDao billDao = new BillDao();
                    ProductStateDao stateDao = new ProductStateDao();

                    string billNo = masterRow["BILLNO"].ToString();

                    pm.BeginTransaction();

                    //���뵥������
                    billDao.UpdateMaster(masterRow);

                    //���뵥����ϸ��
                    stateDao.Delete(billNo);
                    stateDao.Insert(billNo, stateTable);

                    pm.Commit();
                }
                catch (Exception e)
                {
                    pm.Rollback();
                    throw new Exception(e.Message);
                }
            }
        }
示例#19
0
文件: BillDal.cs 项目: SaintLoong/PFK
        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));
                    }

                }
            }
        }
示例#20
0
文件: BillDal.cs 项目: SaintLoong/PFK
        public void SendBill(string oriBillNo, string sysDate, string userID, string status)
        {
            using (PersistentManager pm = new PersistentManager())
            {
                try
                {
                    BillDao billDao = new BillDao();
                    ProductStateDao stateDao = new ProductStateDao();

                    pm.BeginTransaction();

                    string billNo = billDao.FindNewBillNo("P", sysDate);

                    billDao.UpdateMasterState(oriBillNo, "5", "SENDER", userID, "SENDDATE", sysDate);
                    billDao.SendMaster(billNo, sysDate, oriBillNo, userID, status);

                    DataTable detailTable = stateDao.Find(oriBillNo);
                    billDao.InsertDetail(billNo, detailTable);

                    if (status == "1")//���ⵥ
                    {
                        billDao.InsertDetail("T" + billNo, detailTable);
                        stateDao.Send("T" + billNo, oriBillNo);
                    }

                    //DataTable cigaretteTable = stateDao.FindCigarette(oriBillNo);
                    //stateDao.UpdateCigarette(oriBillNo, cigaretteTable);

                    stateDao.UpdateBarcode2(oriBillNo);
                    stateDao.Send(billNo, oriBillNo);

                    pm.Commit();
                }
                catch (Exception e)
                {
                    pm.Rollback();
                    throw new Exception(e.Message);
                }
            }
        }
示例#21
0
        public void TaskOutBill(DataRow masterRow, string tasker)
        {
            using (PersistentManager pm = new PersistentManager())
            {
                try
                {
                    pm.BeginTransaction();

                    string billNo = masterRow["BILLNO"].ToString();
                    DataTable detailTable = palletDao.FindDetail(billNo);

                    string billType = masterRow["BILLTYPE"].ToString();
                    string taskType = billType == "001" ? "1" : "2";
                    string target = billType == "001" ? "" : "3";

                    ProductStateDao stateDao = new ProductStateDao();

                    int itemNo = 1;
                    stateDao.Insert("", billNo, detailTable, ref itemNo);

                    BillDao billDao = new BillDao();
                    billDao.TaskOutBill(billNo);

                    palletDao.UpdateTasker(billNo, tasker);
                    pm.Commit();
                }
                catch (Exception e)
                {
                    pm.Rollback();
                    throw new Exception(e.Message);
                }
            }
        }
示例#22
0
文件: BillDal.cs 项目: SaintLoong/PFK
        //�ƿ���ҵ
        public void TaskBillMove(string billNo, string userID, string date)
        {
            using (PersistentManager pm = new PersistentManager())
            {
                BillDao billDao = new BillDao();
                ProductStateDao stateDao = new ProductStateDao();
                TaskDao taskDao = new TaskDao();
                CellDao cellDao = new CellDao();

                try
                {
                    pm.BeginTransaction();
                    DataTable masterTable = billDao.FindMaster(billNo);
                    if (masterTable.Rows.Count != 0)
                    {
                        string taskType = masterTable.Rows[0]["TTYPE"].ToString();
                        string taskLevel = masterTable.Rows[0]["TASKLEVEL"].ToString();
                        string target = masterTable.Rows[0]["TARGET"].ToString();

                        int taskCount = stateDao.FindCount(billNo);

                        //���Ļ�λ����״̬
                        int cellCount = cellDao.Update(billNo, taskType);
                        int newCellCount = cellDao.Update2(billNo, taskType);

                        if (taskCount != cellCount || taskCount != newCellCount)
                            throw new Exception("��ҵ������ɲ�����λ������һ��");

                        //����task��ҵ��
                        taskDao.Insert(billNo, taskType, taskLevel, target);

                        ////����billmaster״̬
                        billDao.UpdateMasterState(billNo, "3", "TASKER", userID, "TASKDATE", date);

                    }
                    else
                        throw new Exception(string.Format("δ�ҵ����ݺ�Ϊ'{0}'�ĵ��ݡ�", billNo));
                    pm.Commit();
                }
                catch (Exception e)
                {
                    pm.Rollback();
                    throw new Exception(e.Message);
                }
            }
        }
示例#23
0
文件: BillDal.cs 项目: SaintLoong/PFK
        /// <summary>
        /// �����ҵ
        /// </summary>
        /// <param name="billNo"></param>
        /// <param name="stateTable"></param>
        /// <param name="userID"></param>
        /// <param name="date"></param>
        public void TaskBill(string billNo, DataTable stateTable, string userID, string date)
        {
            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();
                        string taskType = masterTable.Rows[0]["TTYPE"].ToString();
                        string taskLevel = masterTable.Rows[0]["TASKLEVEL"].ToString();
                        string target = masterTable.Rows[0]["TARGET"].ToString();

                        //�жϵ�ǰ�����Ƿ���productstaet��������������Ǹ���billdetail����
                        if (stateTable.Rows.Count == 0)
                        {
                            DataTable detailTable = billDao.FindDetail(billNo);
                            int item = 1;
                            stateDao.Insert(scheduleNo, billNo, detailTable, ref item);
                        }

                        stateDao.UpdateBarcode(billNo);

                        //����task��ҵ��
                        taskDao.Insert(billNo, taskType, taskLevel, target);

                        ////����billmaster״̬
                        billDao.UpdateMasterState(billNo, "3", "TASKER", userID, "TASKDATE", date);

                    }
                    else
                        throw new Exception(string.Format("δ�ҵ����ݺ�Ϊ'{0}'�ĵ��ݡ�", billNo));
                    pm.Commit();
                }
                catch (Exception e)
                {
                    pm.Rollback();
                    throw new Exception(e.Message);
                }
            }
        }
示例#24
0
文件: BillDal.cs 项目: SaintLoong/PFK
        /// <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);
                }
            }
        }
示例#25
0
文件: BillDal.cs 项目: SaintLoong/PFK
        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);
                }
            }
        }