Esempio n. 1
0
        private void tbutSimulate_Click(object sender, EventArgs e)
        {
            int transactionLineID = Convert.ToInt32(dgvMaterial.Rows[dgvMaterial.CurrentRow.Index].Cells["transactionlineid"].Value.ToString());
            var mat = HeadModel.Materials.Where(i => i.TransactionLineID == transactionLineID).First();
            ReshearHead.SetMaterialRemain(mat);

            int cutLineID = Convert.ToInt32(dgvFinishGood.Rows[dgvFinishGood.CurrentRow.Index].Cells["lineid"].Value.ToString());
            var cut = HeadModel.CuttingDesign.Where(i => i.LineID == cutLineID).First();

            SimulateReshearModel sim = new SimulateReshearModel();
            sim.WorkOrderID = HeadModel.WorkOrderID;
            sim.MaterialTransLineID = transactionLineID;
            sim.CuttingLineID = cutLineID;
            sim.OptionNum = 1;
            sim.WidthSuggsQty = mat.Width / cut.Width;
            sim.WidthActualQty = sim.WidthSuggsQty;
            sim.WidthSuggsRemain = ReshearHead.RemainWidthOpt1 - (sim.WidthSuggsQty * cut.Width);
            sim.WidthActualRemain = ReshearHead.RemainWidthOpt1 - (sim.WidthActualQty * cut.Width);
            sim.LengthSuggsQty = mat.Length / cut.Length;
            sim.LengthActualQty = sim.LengthSuggsQty;
            sim.LengthSuggsRemain = ReshearHead.RemainLengthOpt1 - (sim.LengthSuggsQty * cut.Length);
            sim.LengthActualRemain = ReshearHead.RemainLengthOpt1 - (sim.LengthActualQty * cut.Length);

            var result = _repo.SaveReshearSimulation(epiSession, sim).Where(i => i.OptionNum == 1);

            ListOption1Grid(result);
            ListOption1QtyGrid(result);

            ReshearHead.SetMaterialRemain(mat);
            SimulateReshearModel simll = new SimulateReshearModel();
            simll.WorkOrderID = HeadModel.WorkOrderID;
            simll.MaterialTransLineID = transactionLineID;
            simll.CuttingLineID = cutLineID;
            simll.OptionNum = 2;
            simll.WidthSuggsQty = mat.Width / cut.Length;
            simll.WidthActualQty = mat.Width / cut.Length;
            simll.WidthSuggsRemain = ReshearHead.RemainWidthOpt1 - (simll.WidthSuggsQty * cut.Length);
            simll.WidthActualRemain = ReshearHead.RemainWidthOpt1 - (simll.WidthActualQty * cut.Length);
            simll.LengthSuggsQty = mat.Length / cut.Width;
            simll.LengthActualQty = mat.Length / cut.Width;
            simll.LengthSuggsRemain = ReshearHead.RemainLengthOpt1 - (simll.LengthSuggsQty * cut.Width);
            simll.LengthActualRemain = ReshearHead.RemainLengthOpt1 - (simll.LengthActualQty * cut.Width);

            var resultLen = _repo.SaveReshearSimulation(epiSession, simll).Where(i => i.OptionNum == 2);

            ListOption2rid(resultLen);
            ListOption2QtyGrid(resultLen);
        }
Esempio n. 2
0
        public IEnumerable<SimulateReshearModel> SaveReshearSimulation(SessionInfo _session, SimulateReshearModel model)
        {
            string sql = string.Format(@"IF NOT EXISTS
									    (
										    SELECT * FROM ucc_pln_ReShearSimulation (NOLOCK)
										    WHERE WorkOrderID = {0} AND MaterialTransLineID = {1} AND CuttingLineID = {2} AND OptionNum = {3}
									    )
                                        BEGIN
                                            INSERT INTO ucc_pln_ReShearSimulation
                                                       (WorkOrderID
                                                       ,MaterialTransLineID
                                                       ,CuttingLineID
                                                       ,OptionNum
                                                       ,WidthSuggsQty
                                                       ,WidthActualQty
                                                       ,WidthSuggsRemain
                                                       ,WidthActualRemain
                                                       ,LengthSuggsQty
                                                       ,LengthActualQty
                                                       ,LengthSuggsRemain
                                                       ,LengthActualRemain
                                                       ,SelectedFlag
                                                       ,CreationDate
                                                       ,LastUpdateDate
                                                       ,CreatedBy
                                                       ,UpdatedBy
                                                       ,Quantity)
                                                 VALUES
                                                       ({0} --<WorkOrderID, bigint,>
                                                       ,{1} --<MaterialTransLineID, bigint,>
                                                       ,{2} --<CuttingLineID, bigint,>
                                                       ,{3} --<OptionNum, int,>
                                                       ,{4} --<WidthSuggsQty, decimal(20,9),>
                                                       ,{5} --<WidthActualQty, decimal(20,9),>
                                                       ,{6} --<WidthSuggsRemain, decimal(20,9),>
                                                       ,{7} --<WidthActualRemain, decimal(20,9),>
                                                       ,{8} --<LengthSuggsQty, decimal(20,9),>
                                                       ,{9} --<LengthActualQty, decimal(20,9),>
                                                       ,{10} --<LengthSuggsRemain, decimal(20,9),>
                                                       ,{11} --<LengthActualRemain, decimal(20,9),>
                                                       ,{12} --<SelectedFlag, int,>
                                                       ,GETDATE() --<CreationDate, datetime,>
                                                       ,GETDATE() --<LastUpdateDate, datetime,>
                                                       ,N'{13}' --<CreatedBy, nvarchar(45),>
                                                       ,N'{13}' --<UpdatedBy, nvarchar(45),>
                                                       ,N'{14}' --<Quantity, decimal(20,9),>
		                                    )
                                        END
                                    ELSE
                                        BEGIN
                                            UPDATE ucc_pln_ReShearSimulation
                                               SET WorkOrderID = {0} --<WorkOrderID, bigint,>
                                                  ,MaterialTransLineID = {1} --<MaterialTransLineID, bigint,>
                                                  ,CuttingLineID = {2} --<CuttingLineID, bigint,>
                                                  ,OptionNum = {3} --<OptionNum, int,>
                                                  ,WidthSuggsQty = {4} --<WidthSuggsQty, decimal(20,9),>
                                                  ,WidthActualQty = {5} --<WidthActualQty, decimal(20,9),>
                                                  ,WidthSuggsRemain = {6} --<WidthSuggsRemain, decimal(20,9),>
                                                  ,WidthActualRemain = {7} --<WidthActualRemain, decimal(20,9),>
                                                  ,LengthSuggsQty = {8} --<LengthSuggsQty, decimal(20,9),>
                                                  ,LengthActualQty = {9} --<LengthActualQty, decimal(20,9),>
                                                  ,LengthSuggsRemain = {10} --<LengthSuggsRemain, decimal(20,9),>
                                                  ,LengthActualRemain = {11} --<LengthActualRemain, decimal(20,9),>
                                                  ,SelectedFlag = {12} --<SelectedFlag, int,>
                                                  ,LastUpdateDate = GETDATE() --<LastUpdateDate, datetime,>
                                                  ,UpdatedBy = N'{13}' --<UpdatedBy, nvarchar(45),>
                                                  ,Quantity = {14} --<Quantity, decimal(20,9),>
                                             WHERE WorkOrderID = {0} AND MaterialTransLineID = {1} AND CuttingLineID = {2} AND OptionNum = {3}
                                        END" + Environment.NewLine
                                              , model.WorkOrderID
                                              , model.MaterialTransLineID
                                              , model.CuttingLineID
                                              , model.OptionNum
                                              , model.WidthSuggsQty
                                              , model.WidthActualQty
                                              , model.WidthSuggsRemain
                                              , model.WidthActualRemain
                                              , model.LengthSuggsQty
                                              , model.LengthActualQty
                                              , model.LengthSuggsRemain
                                              , model.LengthActualRemain
                                              , model.SelectedFlag
                                              , _session.UserID
                                              , model.Quantity
                                              );

            //Update PartLot.CheckBox01 = 1 to change status has already used.
            /*
            sql += string.Format(@"UPDATE PartLot SET CheckBox01 = 1, ShortChar05 = N'{2}', Date03 = CONVERT(DATETIME, '{3}',103), Number08 = 2
                                   WHERE PartNum = N'{0}' AND LotNum = N'{1}'"
                                   , model.MCSSNo, model.SerialNo, model.WorkOrderNum, model.WorkDate.ToString("dd/MM/yyyy hh:mm:ss"));
             */

            Repository.Instance.ExecuteWithTransaction(sql, "Add Sim RS");
            return GetReshearSimulation(model.WorkOrderID);
        }