Ejemplo n.º 1
0
        public void AddStock(MachineTypeStock stock, PurchaseOrder purchaseOrder)
        {
            try
            {
                SQLiteConnection con = new SQLiteConnection("Data Source=SQL/Gree.db;");
                con.Open();
                string sql = "INSERT INTO main.MachineTypeStock " +
                             "(machineTypeName,machineTypeNumber," +
                             "machineTypeClass,machineTypeRemarks,quantity)" +
                             "VALUES(" +
                             "\'" + stock.MTNameVal + "\'" + "," +
                             "\'" + stock.MTNumberVal + "\'" + "," +
                             "\'" + stock.MTClassVal + "\'" + "," +
                             "\'" + stock.MTRemarksVal + "\'" + "," +
                             "\'" + purchaseOrder.QuantityReceivedVal + "\');";

                SQLiteCommand command = new SQLiteCommand(sql, con);
                command.ExecuteNonQuery();
                command.Dispose();
                con.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Ejemplo n.º 2
0
        //NEW 2019 10-03 ------------------------------------------------------------------
        //判断标志位
        public void CheckFlag(PurchaseOrder purchaseOrder, MachineTypeStock machineTypeStock, StockStorage stockStorage)
        {
            try
            {
                int    flag    = GetFlag(purchaseOrder);
                int    already = GetAlready(purchaseOrder);
                object check   = GetTypeNumber(purchaseOrder);

                if (check == null)//机型库不存在此机型
                {
                    if (flag == 0)
                    {
                        AddStock(machineTypeStock, purchaseOrder);
                        flag++;
                        UpdateFlag(flag, purchaseOrder);
                        UpdateAlready(purchaseOrder);

                        //订货数量和到货数量相等
                        if (purchaseOrder.QuantityReceivedVal == purchaseOrder.QuantityVal)
                        {
                            UpdateState(purchaseOrder);//更改状态为"已入库"
                        }

                        func.MessageBox_StockStorage(stockStorage, true);
                    }
                    else if (flag > 0)
                    {
                        //订货数量和到货数量不等
                        if (purchaseOrder.QuantityReceivedVal != purchaseOrder.QuantityVal)
                        {
                            int result = purchaseOrder.QuantityReceivedVal - already;//到货数量减去已入库数量
                            UpdateStock(result, purchaseOrder);
                            UpdateAlready(result, purchaseOrder);
                            func.MessageBox_StockStorage(stockStorage, true);
                        }
                        else if (purchaseOrder.QuantityReceivedVal == purchaseOrder.QuantityVal) //订货数量和到货数量相等
                        {
                            int result = purchaseOrder.QuantityReceivedVal - already;            //到货数量减去已入库数量
                            UpdateStock(result, purchaseOrder);
                            UpdateAlready(result, purchaseOrder);
                            UpdateState(purchaseOrder);//更改状态为"已入库"
                            func.MessageBox_StockStorage(stockStorage, true);
                        }
                        flag++;
                        UpdateFlag(flag, purchaseOrder);//更新flag
                    }
                }
                else
                {
                    if (flag == 0)
                    {
                        UpdateStock(purchaseOrder.QuantityReceivedVal, purchaseOrder);//更改数量
                        flag++;
                        UpdateFlag(flag, purchaseOrder);
                        UpdateAlready(purchaseOrder);

                        //订货数量和到货数量相等
                        if (purchaseOrder.QuantityReceivedVal == purchaseOrder.QuantityVal)
                        {
                            UpdateState(purchaseOrder);//更改状态为"已入库"
                        }
                        func.MessageBox_StockStorage(stockStorage, true);
                    }
                    else if (flag > 0)
                    {
                        //订货数量和到货数量不等
                        if (purchaseOrder.QuantityReceivedVal != purchaseOrder.QuantityVal)
                        {
                            int result = purchaseOrder.QuantityReceivedVal - already;//到货数量减去已入库数量
                            UpdateStock(result, purchaseOrder);
                            UpdateAlready(result, purchaseOrder);
                            func.MessageBox_StockStorage(stockStorage, true);
                        }
                        else if (purchaseOrder.QuantityReceivedVal == purchaseOrder.QuantityVal) //订货数量和到货数量相等
                        {
                            int result = purchaseOrder.QuantityReceivedVal - already;            //到货数量减去已入库数量
                            UpdateStock(result, purchaseOrder);
                            UpdateAlready(result, purchaseOrder);
                            UpdateState(purchaseOrder);//更改状态为"已入库"
                            func.MessageBox_StockStorage(stockStorage, true);
                        }
                        flag++;
                        UpdateFlag(flag, purchaseOrder);//更新flag
                    }
                }
            }
            catch (Exception)
            {
                MessageBox.Show("未知型号或未选择行,请您核对", "错误提示", MessageBoxButton.OK);
            }
        }
Ejemplo n.º 3
0
        //修改库存
        public void ChangeStock(MachineTypeStock stock)
        {
            string name     = stock.MTNameVal;
            string mtClass  = stock.MTClassVal;
            string remarks  = stock.MTRemarksVal;
            double quantity = stock.MTQuantityVal;

            string number = stock.MTNumberVal;

            try
            {
                SQLiteConnection con = new SQLiteConnection("Data Source=SQL/Gree.db;");

                con.Open();
                string sql = "UPDATE main.MachineTypeStock SET " +
                             "machineTypeName=" + name + ", " +
                             "machineTypeClass=" + mtClass + ", " +
                             "machineTypeRemarks=" + remarks + ", " +
                             "quantity=" + quantity + " " +
                             "WHERE machineTypeNumber=" + number + ";";

                SQLiteCommand command = new SQLiteCommand(sql, con);
                command.ExecuteNonQuery();
                command.Dispose();
                con.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            /* List<MachineTypeStock> query(int p)
             * {
             *   List<MachineTypeStock> stockList = new List<MachineTypeStock>();
             *   MachineTypeStock newStock = null;
             *   try
             *   {
             *       SQLiteConnection con = new SQLiteConnection("Data Source=SQL/Gree.db;");
             *       con.Open();
             *
             *       string sql = "SELECT * FROM main.MachineTypeStock " +
             *           "LIMIT " + p + ", 1000;";
             *
             *       SQLiteCommand command = new SQLiteCommand(sql, con);
             *       SQLiteDataReader sr = command.ExecuteReader();
             *       while (sr.Read())
             *       {
             *           newStock = new MachineTypeStock();
             *           newStock.MTNameVal = sr.GetString(0);
             *           newStock.MTNumberVal = sr.GetString(1);
             *           newStock.MTClassVal = sr.GetString(2);
             *           newStock.MTRemarksVal = sr.GetString(3);
             *           newStock.MTQuantityVal = sr.GetInt32(4);
             *
             *           stockList.Add(newStock);
             *       }
             *   }
             *   catch (Exception ex)
             *   {
             *       MessageBox.Show(ex.Message);
             *   }
             *   return stockList;
             * }*/
        }
Ejemplo n.º 4
0
        public void PutInStorage(PurchaseOrder order, int realQuantity)
        {
            long   SN               = order.SNVal;
            string MTNumber         = order.MTNumberVal;
            int    orderQuantity    = order.QuantityVal;
            int    quantityReceived = order.QuantityReceivedVal;
            int    state;

            if (realQuantity + quantityReceived == orderQuantity)
            {
                //判断该订单是否全部到货
                quantityReceived = orderQuantity;
                state            = 2;
            }
            else
            {
                quantityReceived = realQuantity + quantityReceived;
                state            = 1;
            }

            try
            {
                SQLiteConnection con = new SQLiteConnection(@"Data Source=SQL\GREE.db");

                con.Open();
                string sql = "UPDATE main.PurchaseOrder SET "
                             + "quantityReceived=" + "\'" + quantityReceived + "\'" + ", "
                             + "state=" + state + " "
                             + "WHERE SubunitNumber=" + SN + ";";

                SQLiteCommand command0 = new SQLiteCommand(sql, con);
                command0.ExecuteNonQuery();
                command0.Dispose();

                MachineTypeStock stock;
                sql = "SELECT quantity " +
                      "FROM main. MachineTypeStock " +
                      "WHERE machineTypeNumber="
                      + "\'" + MTNumber + "\'" + ";";
                SQLiteCommand    command1 = new SQLiteCommand(sql, con);
                SQLiteDataReader sr       = command1.ExecuteReader();
                if (sr.Read())
                {
                    stock = new MachineTypeStock
                    {
                        MTQuantityVal = sr.GetInt32(0) + realQuantity
                    };

                    sql = "UPDATE main.MachineTypeStock SET "
                          + "quantity=" + stock.MTQuantityVal + " "
                          + "WHERE machineTypeNumber=" + "\'" + MTNumber + "\'" + ";";
                    SQLiteCommand command2 = new SQLiteCommand(sql, con);
                    command2.ExecuteNonQuery();
                    command2.Dispose();
                }
                else
                {
                    sql = "INSERT INTO main.MachineTypeStock "
                          + "(machineTypeName,machineTypeNumber,"
                          + "machineTypeClass,machineTypeRemarks,quantity)"
                          + "VALUES("
                          + "\'" + "未命名的机型" + "\'" + ","
                          + "\'" + MTNumber + "\'" + ","
                          + "\'" + "未知机型分类" + "\'" + ","
                          + "\'" + "无机型备注信息" + "\'" + ","
                          + realQuantity
                          + ");";

                    SQLiteCommand command2 = new SQLiteCommand(sql, con);
                    command2.ExecuteNonQuery();
                    command2.Dispose();
                }
                command1.Dispose();
                con.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }