Example #1
0
            /// <summary>
            /// Execute operation.
            /// </summary>
            public override void Execute()
            {
                base.Execute();

                BOMBIZ biz = new BOMBIZ();
                //biz.UpdateWithPK(Data, OldUpperItemCode, OldLowerItemCode);
            }
Example #2
0
            /// <summary>
            /// Execute operation.
            /// </summary>
            public override void Execute()
            {
                base.Execute();

                BOMBIZ biz = new BOMBIZ();

                biz.Delete(Data);
            }
Example #3
0
        internal List <BOMSetupViewDTO> LoadIssueList(NZString ItemCD)
        {
            // get child part for add to transaction
            BOMBIZ bizBom = new BOMBIZ();
            List <BOMSetupViewDTO> dtoBomList = bizBom.LoadChildPartWithLevelFix(ItemCD, 1);

            return(dtoBomList);
        }
Example #4
0
 protected void chkMRPFlag_CheckedChanged(object sender, EventArgs e)
 {
     cboMRPFlag.Enabled = !chkMRPFlag.Checked;
     if (chkMRPFlag.Checked && txtItemCode.Text != string.Empty)
     {
         BOMBIZ             bizBOM = new BOMBIZ();
         DTO.ItemProcessDTO dto    = bizBOM.LoadLocationandMRPFLag((NZString)txtItemCode.Text);
         //cboMRPFlag.SelectedValue = dto.MRP_FLAG.ToString();
     }
 }
Example #5
0
 protected void chkChildOrderLoc_CheckedChanged(object sender, EventArgs e)
 {
     cboOrderLoc.Enabled = !chkChildOrderLoc.Checked;
     if (chkChildOrderLoc.Checked && txtItemCode.Text != string.Empty)
     {
         BOMBIZ             bizBOM = new BOMBIZ();
         DTO.ItemProcessDTO dto    = bizBOM.LoadLocationandMRPFLag((NZString)txtItemCode.Text);
         //cboOrderLoc.SelectedValue = dto.ORDER_LOC_CD.ToString();
     }
 }
Example #6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ParentItemCode">Parent of current item which need to check looping.</param>
        /// <param name="ItemCode">ItemCode which will checkinig.</param>
        /// <returns></returns>
        public ErrorItem LoopingUpCheck(NZString ParentItemCode, NZString ItemCode)
        {
            BOMBIZ             biz           = new BOMBIZ();
            List <BOMSetupDTO> implosionList = biz.LoadBOMImplosion(ItemCode);

            for (int i = 0; i < implosionList.Count; i++)
            {
                if (implosionList[i].UPPER_ITEM_CD.Value == ParentItemCode.Value)
                {
                    ErrorItem item = new ErrorItem(ItemCode.Owner, "MSG CUSTOM", "LoopingUpCheck fail.");
                    return(item);
                }
            }

            return(null);
        }
Example #7
0
        private void SetOrderLoactionandMRPFlag()
        {
            for (int iRow = 0; iRow < shtView.RowCount; iRow++)
            {
                if (Convert.ToString(shtView.Cells[iRow, (int)eColView.CHILD_ORDER_LOC].Value) == string.Empty)
                {
                    BOMBIZ         bizBOM = new BOMBIZ();
                    ItemProcessDTO dto    = bizBOM.LoadLocationandMRPFLag(Convert.ToString(shtView.Cells[iRow, (int)eColView.ITEM_CD].Value));
                    if (dto != null)
                    {
                        //shtView.Cells[iRow, (int)eColView.CHILD_ORDER_LOC].Value = dto.ORDER_LOC_CD;
                        shtView.Cells[iRow, (int)eColView.CHILD_ORDER_LOC].ForeColor = Color.Gray;
                        //shtView.Cells[iRow, (int)eColView.CHILD_ORDER_LOC].HorizontalAlignment = FarPoint.Win.Spread.she
                    }
                }
                else
                {
                    shtView.Cells[iRow, (int)eColView.CHILD_ORDER_LOC].ForeColor = Color.Black;
                }

                if (Convert.ToString(shtView.Cells[iRow, (int)eColView.MRP_FLAG].Value) == string.Empty)
                {
                    BOMBIZ         bizBOM = new BOMBIZ();
                    ItemProcessDTO dto    = bizBOM.LoadLocationandMRPFLag(Convert.ToString(shtView.Cells[iRow, (int)eColView.ITEM_CD].Value));
                    if (dto != null)
                    {
                        //shtView.Cells[iRow, (int)eColView.MRP_FLAG].Value = dto.MRP_FLAG.StrongValue == string.Empty ? "" : bizBOM.LoadMRPFLag(dto.MRP_FLAG);
                        shtView.Cells[iRow, (int)eColView.MRP_FLAG].ForeColor = Color.Gray;
                    }
                }
                else
                {
                    shtView.Cells[iRow, (int)eColView.MRP_FLAG].ForeColor = Color.Black;
                }
            }
        }
Example #8
0
        public List <BOMSetupDTO> LoadChildItem(NZString parentItemCode)
        {
            List <BOMSetupDTO> listResult = new List <BOMSetupDTO>();

            //method นี้ไว้ใช้กับ Multi work result เท่านั้น เลยต้อง check ว่ามันมี level แรก ตัวเดียว
            //หลังจากได้ BOM ค่อยไปหา equivalent item มาให้

            //กรณาอย่าแก้ไขให้ดึงข้อมูลBOM ได้หลายตัว ไม่งั้น multi work result จะผิด
            BOMBIZ             biz           = new BOMBIZ();
            List <BOMSetupDTO> listExplosion = biz.LoadBOMExplosion(parentItemCode);

            int iCountLevel1 = 0;  //เก็บ count level =1
            int iIndexLevel1 = -1; //เก็บ index ของตัวที่ level =1

            for (int iLength = 0; iLength < listExplosion.Count; iLength++)
            {
                if (listExplosion[iLength].LEVEL == 1)
                {
                    iIndexLevel1 = iLength;
                    iCountLevel1++;

                    if (iCountLevel1 > 1)
                    {
                        break;
                    }
                }
            }

            if (iCountLevel1 > 1 || iIndexLevel1 == -1)
            {
                throw new BusinessException(new ErrorItem(null, TKPMessages.eValidate.VLM0094.ToString()));
            }

            //ต้องเป็น 1 / 1 ระหว่าง upper , lower เท่านั้น
            if (!(listExplosion[iIndexLevel1].UPPER_QTY == 1 && listExplosion[iIndexLevel1].LOWER_QTY == 1))
            {
                throw new BusinessException(new ErrorItem(null, TKPMessages.eValidate.VLM0098.ToString()));
            }


            //ItemBIZ bizItem = new ItemBIZ();
            //ItemDTO dtoItem = bizItem.LoadItem(list[iIndexLevel1].LOWER_ITEM_CD);

            BOMSetupDTO dtoBOM = listExplosion[iIndexLevel1];

            listResult.Add((BOMSetupDTO)dtoBOM.Clone());

            //Load Equivalent Item
            ItemDTO dtoItem = new ItemDTO();

            dtoItem.ITEM_CD = dtoBOM.LOWER_ITEM_CD;

            ItemBIZ bizItem = new ItemBIZ();
            List <ItemEquivalentDTO> listEquivalent = bizItem.LoadEquivalentItem(dtoItem);

            foreach (ItemEquivalentDTO objEquivalent in listEquivalent)
            {
                BOMSetupDTO dtoBOMEquivalent = new BOMSetupDTO();
                dtoBOMEquivalent.UPPER_ITEM_CD = parentItemCode;
                dtoBOMEquivalent.LOWER_ITEM_CD = objEquivalent.EQUIVALENT_ITEM_CD;
                dtoBOMEquivalent.UPPER_QTY     = dtoBOM.UPPER_QTY;
                dtoBOMEquivalent.LOWER_QTY     = dtoBOM.LOWER_QTY;
                //dtoBOMEquivalent.CHILD_ORDER_LOC_CD = objEquivalent.ORDER_LOC_CD;
                listResult.Add(dtoBOMEquivalent);
            }

            return(listResult);
        }
Example #9
0
        public DataTable LoadBOMList()
        {
            BOMBIZ biz = new BOMBIZ();

            return(biz.LoadBOMList());
        }
Example #10
0
        public List <BOMSetupViewDTO> LoadBOMSetup(NZString ITEM_CD)
        {
            BOMBIZ biz = new BOMBIZ();

            return(biz.LoadBOMSetupView(ITEM_CD));
        }
Example #11
0
        internal void SaveNewMovePart(MovePartUIDM model)
        {
            #region Validate
            ItemValidator itemValidator = new ItemValidator();

            BusinessException businessException = itemValidator.CheckItemNotExist(model.MASTER_NO);
            if (businessException != null)
            {
                ValidateException.ThrowErrorItem(businessException.Error);
            }
            #endregion

            InventoryBIZ         bizInv        = new InventoryBIZ();
            DealingConstraintBIZ bizConstraint = new DealingConstraintBIZ();

            InventoryTransactionDTO dtoInvTrnsFrom = new InventoryTransactionDTO();
            InventoryTransactionDTO dtoInvTrnsTo   = new InventoryTransactionDTO();

            #region From
            dtoInvTrnsFrom.CRT_BY      = CommonLib.Common.CurrentUserInfomation.UserCD;
            dtoInvTrnsFrom.CRT_MACHINE = CommonLib.Common.CurrentUserInfomation.Machine;
            dtoInvTrnsFrom.UPD_BY      = CommonLib.Common.CurrentUserInfomation.UserCD;
            dtoInvTrnsFrom.UPD_MACHINE = CommonLib.Common.CurrentUserInfomation.Machine;
            //dtoInvTrnsListFrom.TRANS_ID =
            dtoInvTrnsFrom.ITEM_CD = model.MASTER_NO;
            dtoInvTrnsFrom.LOC_CD  = model.FROM_PROCESS;
            //dtoInvTrnsFrom.LOT_NO = model.LOT_NO;
            //dtoInvTrnsListFrom.PACK_NO = string.Empty;
            dtoInvTrnsFrom.TRANS_DATE = model.MOVE_DATE;
            dtoInvTrnsFrom.TRANS_CLS  = DataDefine.Convert2ClassCode(DataDefine.eTRANS_TYPE.MovePart).ToNZString();
            dtoInvTrnsFrom.IN_OUT_CLS = DataDefine.Convert2ClassCode(DataDefine.eIN_OUT_CLASS.Out).ToNZString();
            dtoInvTrnsFrom.QTY        = model.MOVE_QTY;
            //dtoInvTrnsListFrom.OBJ_ITEM_CD =
            //dtoInvTrnsListFrom.OBJ_ORDER_QTY =
            //dtoInvTrnsListFrom.REF_NO =
            //dtoInvTrnsListFrom.REF_SLIP_NO =
            //dtoInvTrnsListFrom.REF_SLIP_CLS =
            //dtoInvTrnsListFrom.OTHER_DL_NO =
            //dtoInvTrnsListFrom.SLIP_NO =
            dtoInvTrnsFrom.REMARK = model.REMARK;
            //dtoInvTrnsListFrom.DEALING_NO =
            //dtoInvTrnsListFrom.EXTERNAL_LOT_NO =
            //dtoInvTrnsListFrom.PRICE =
            //dtoInvTrnsListFrom.FOR_CUSTOMER =
            //dtoInvTrnsListFrom.FOR_MACHINE =
            dtoInvTrnsFrom.SHIFT_CLS = model.SHIFT_CLS;
            //dtoInvTrnsListFrom.REF_SLIP_NO2 =
            //dtoInvTrnsListFrom.NG_QTY =
            dtoInvTrnsFrom.TRAN_SUB_CLS = model.REASON;
            dtoInvTrnsFrom.SCREEN_TYPE  = DataDefine.ScreenType.MovePartEntry.ToNZString();
            //dtoInvTrnsListFrom.GROUP_TRANS_ID =
            //dtoInvTrnsListFrom.RESERVE_QTY =
            //dtoInvTrnsListFrom.NG_REASON =
            dtoInvTrnsFrom.EFFECT_STOCK = new NZInt(null, (int)DataDefine.eEFFECT_STOCK.Out);
            dtoInvTrnsFrom.LOT_REMARK   = model.LOT_NO;
            dtoInvTrnsFrom.OLD_DATA     = new NZInt(null, 0);
            dtoInvTrnsFrom.WEIGHT       = model.WEIGHT;

            #endregion

            #region To

            dtoInvTrnsTo.CRT_BY      = CommonLib.Common.CurrentUserInfomation.UserCD;
            dtoInvTrnsTo.CRT_MACHINE = CommonLib.Common.CurrentUserInfomation.Machine;
            dtoInvTrnsTo.UPD_BY      = CommonLib.Common.CurrentUserInfomation.UserCD;
            dtoInvTrnsTo.UPD_MACHINE = CommonLib.Common.CurrentUserInfomation.Machine;
            //dtoInvTrnsListFrom.TRANS_ID =
            dtoInvTrnsTo.ITEM_CD = model.MASTER_NO;
            dtoInvTrnsTo.LOC_CD  = model.TO_PROCESS;
            //dtoInvTrnsTo.LOT_NO = model.LOT_NO;
            //dtoInvTrnsListFrom.PACK_NO = string.Empty;
            dtoInvTrnsTo.TRANS_DATE = model.MOVE_DATE;
            dtoInvTrnsTo.TRANS_CLS  = DataDefine.Convert2ClassCode(DataDefine.eTRANS_TYPE.MovePart).ToNZString();
            dtoInvTrnsTo.IN_OUT_CLS = DataDefine.Convert2ClassCode(DataDefine.eIN_OUT_CLASS.In).ToNZString();
            dtoInvTrnsTo.QTY        = model.MOVE_QTY;
            //dtoInvTrnsListFrom.OBJ_ITEM_CD =
            //dtoInvTrnsListFrom.OBJ_ORDER_QTY =
            //dtoInvTrnsListFrom.REF_NO =
            //dtoInvTrnsListFrom.REF_SLIP_NO =
            //dtoInvTrnsListFrom.REF_SLIP_CLS =
            //dtoInvTrnsListFrom.OTHER_DL_NO =
            //dtoInvTrnsListFrom.SLIP_NO =
            dtoInvTrnsTo.REMARK = model.REMARK;
            //dtoInvTrnsListFrom.DEALING_NO =
            //dtoInvTrnsListFrom.EXTERNAL_LOT_NO =
            //dtoInvTrnsListFrom.PRICE =
            //dtoInvTrnsListFrom.FOR_CUSTOMER =
            //dtoInvTrnsListFrom.FOR_MACHINE =
            dtoInvTrnsTo.SHIFT_CLS = model.SHIFT_CLS;
            //dtoInvTrnsListFrom.REF_SLIP_NO2 =
            //dtoInvTrnsListFrom.NG_QTY =
            dtoInvTrnsTo.TRAN_SUB_CLS = model.REASON;
            dtoInvTrnsTo.SCREEN_TYPE  = DataDefine.ScreenType.MovePartEntry.ToNZString();
            //dtoInvTrnsListFrom.GROUP_TRANS_ID =
            //dtoInvTrnsListFrom.RESERVE_QTY =
            //dtoInvTrnsListFrom.NG_REASON =
            dtoInvTrnsTo.EFFECT_STOCK = new NZInt(null, (int)DataDefine.eEFFECT_STOCK.In);
            dtoInvTrnsTo.LOT_REMARK   = model.LOT_NO;
            dtoInvTrnsTo.OLD_DATA     = new NZInt(null, 0);
            dtoInvTrnsTo.WEIGHT       = model.WEIGHT;

            #endregion

            #region Consumption

            List <InventoryTransactionDTO> listComponent = new List <InventoryTransactionDTO>();
            DealingConstraintDTO           dtoConstraint = bizConstraint.LoadDealingConstraint(model.FROM_PROCESS);
            if (dtoConstraint != null && dtoConstraint.COMPONENT_ITEM_USAGE.StrongValue == 1)
            {
                //get component usage
                BOMBIZ bizBOM = new BOMBIZ();
                List <ComponentUsageDTO> components = bizBOM.LoadComponentUsage(model.MASTER_NO, model.MOVE_QTY);
                if (components != null)
                {
                    foreach (ComponentUsageDTO component in components)
                    {
                        InventoryTransactionDTO dtoComponent = new InventoryTransactionDTO();
                        dtoComponent.CRT_BY      = CommonLib.Common.CurrentUserInfomation.UserCD;
                        dtoComponent.CRT_MACHINE = CommonLib.Common.CurrentUserInfomation.Machine;
                        dtoComponent.UPD_BY      = CommonLib.Common.CurrentUserInfomation.UserCD;
                        dtoComponent.UPD_MACHINE = CommonLib.Common.CurrentUserInfomation.Machine;
                        //dtoComponent.TRANS_ID =
                        dtoComponent.ITEM_CD = component.LOWER_ITEM_CD;
                        dtoComponent.LOC_CD  = model.FROM_PROCESS;
                        //dtoComponent.LOT_NO = model.LOT_NO;
                        //dtoComponent.PACK_NO = string.Empty;
                        dtoComponent.TRANS_DATE = model.MOVE_DATE;
                        dtoComponent.TRANS_CLS  = DataDefine.Convert2ClassCode(DataDefine.eTRANS_TYPE.MoveConsumption).ToNZString();
                        dtoComponent.IN_OUT_CLS = DataDefine.Convert2ClassCode(DataDefine.eIN_OUT_CLASS.Out).ToNZString();
                        dtoComponent.QTY        = component.USAGE_QTY;
                        //dtoComponent.OBJ_ITEM_CD =
                        //dtoComponent.OBJ_ORDER_QTY =
                        //dtoComponent.REF_NO =
                        //dtoComponent.REF_SLIP_NO =
                        //dtoComponent.REF_SLIP_CLS =
                        //dtoComponent.OTHER_DL_NO =
                        //dtoComponent.SLIP_NO =
                        dtoComponent.REMARK = model.REMARK;
                        //dtoComponent.DEALING_NO =
                        //dtoComponent.EXTERNAL_LOT_NO =
                        //dtoComponent.PRICE =
                        //dtoComponent.FOR_CUSTOMER =
                        //dtoComponent.FOR_MACHINE =
                        dtoComponent.SHIFT_CLS = model.SHIFT_CLS;
                        //dtoComponent.REF_SLIP_NO2 =
                        //dtoComponent.NG_QTY =
                        dtoComponent.TRAN_SUB_CLS = model.REASON;
                        dtoComponent.SCREEN_TYPE  = DataDefine.ScreenType.MovePartEntry.ToNZString();
                        //dtoComponent.GROUP_TRANS_ID =
                        //dtoComponent.RESERVE_QTY =
                        //dtoComponent.NG_REASON =
                        dtoComponent.EFFECT_STOCK = new NZInt(null, (int)DataDefine.eEFFECT_STOCK.Out);
                        dtoComponent.LOT_REMARK   = model.LOT_NO;
                        dtoComponent.OLD_DATA     = new NZInt(null, 0);
                        //dtoComponent.WEIGHT = model.WEIGHT;
                        listComponent.Add(dtoComponent);
                    }
                }

                #endregion
            }

            bizInv.AddMovePart(dtoInvTrnsFrom, dtoInvTrnsTo, listComponent);
        }