コード例 #1
0
        public DataTable ERPPQCtoSFTTRANSORDERLINE(DataTable ERPPQC, string TranSorder, string TB002, string Location)
        {
            DataTable dt = new DataTable();

            try
            {
                Database.SFT.SFT_TRANSORDER_LINE sFT_TRANSORDER_LINE = new Database.SFT.SFT_TRANSORDER_LINE();
                dt = sFT_TRANSORDER_LINE.GetTop1DataTable();
                if (ERPPQC.Rows.Count > 1)
                {
                    for (int i = 1; i < ERPPQC.Rows.Count; i++)
                    {
                        var newRow = dt.NewRow();
                        dt.Rows.Add(newRow);
                    }
                }
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    string    PO          = ERPPQC.Rows[i]["ProductOrder"].ToString();
                    DataTable dtLot       = Database.SFT.SFT_LOT.GetDataTableLot(PO);
                    DataTable dtMODETAIL  = Database.SFT.MODETAIL.GetDataTable(PO);
                    var       Sequence    = GgetSequenceCountupSFT_WS_RUN(PO);
                    var       ConvertToKg = (double.Parse((ERPPQC.Rows[i]["Quantity"]).ToString()) * double.Parse((dtLot.Rows[0]["PKQTYPER"]).ToString()));

                    dt.Rows[i]["CREATER"]         = Class.valiballecommon.GetStorage().UserName;
                    dt.Rows[i]["CREATE_DATE"]     = DateTime.Now;
                    dt.Rows[i]["MODI_DATE"]       = DBNull.Value;
                    dt.Rows[i]["FLAG"]            = "0";
                    dt.Rows[i]["TRANSORDERTYPE"]  = Class.valiballecommon.GetStorage().DocNo;
                    dt.Rows[i]["TRANSNO"]         = TranSorder;
                    dt.Rows[i]["SN"]              = (i + 1).ToString("0000");
                    dt.Rows[i]["MOTYPE"]          = ERPPQC.Rows[i]["ProductOrder"].ToString().Trim().Split('-')[0];
                    dt.Rows[i]["MONO"]            = ERPPQC.Rows[i]["ProductOrder"].ToString().Trim().Split('-')[1];
                    dt.Rows[i]["OUTOPSEQ"]        = "0020";
                    dt.Rows[i]["OUTOP"]           = "B02";
                    dt.Rows[i]["INOPSEQ"]         = "";
                    dt.Rows[i]["INOP"]            = "";
                    dt.Rows[i]["UNIT"]            = "PCS";
                    dt.Rows[i]["PATTERN"]         = "1";
                    dt.Rows[i]["SCRAPQTY"]        = "0";
                    dt.Rows[i]["LABORHOUR"]       = "0";
                    dt.Rows[i]["MACHINEHOUR"]     = "0";
                    dt.Rows[i]["OUTDEP"]          = "B01";
                    dt.Rows[i]["OUTORDERTYPE"]    = "";
                    dt.Rows[i]["OUTORDERNO"]      = "";
                    dt.Rows[i]["OUTORDERSEQ"]     = "";
                    dt.Rows[i]["LOTNO"]           = ERPPQC.Rows[i]["LotNo"];
                    dt.Rows[i]["EMERGENCY"]       = "N";
                    dt.Rows[i]["TRANSQTY"]        = ERPPQC.Rows[i]["Quantity"];
                    dt.Rows[i]["INDEP"]           = ERPPQC.Rows[i]["Warehouse"];
                    dt.Rows[i]["ITEMID"]          = ERPPQC.Rows[i]["Product"];
                    dt.Rows[i]["ITEMNAME"]        = dtMODETAIL.Rows[0]["MO021"].ToString();
                    dt.Rows[i]["ITEMDESCRIPTION"] = dtMODETAIL.Rows[0]["MO022"].ToString();
                    dt.Rows[i]["INSTORAGESPACE"]  = Location;
                    dt.Rows[i]["TC012"]           = "";
                    dt.Rows[i]["TC017"]           = "0";
                    dt.Rows[i]["TC018"]           = "0";
                    dt.Rows[i]["TC015"]           = "0";
                    dt.Rows[i]["TC019"]           = "0";
                    dt.Rows[i]["KEYID"]           = ERPPQC.Rows[i]["ProductOrder"];
                    dt.Rows[i]["PRODUCTIONSEQ"]   = "-1";
                    dt.Rows[i]["TL002"]           = ERPPQC.Rows[i]["Quantity"];
                    dt.Rows[i]["TL003"]           = 0;
                    dt.Rows[i]["TL004"]           = ConvertToKg;
                    dt.Rows[i]["TL005"]           = "0";
                    dt.Rows[i]["TL006"]           = "0";
                    dt.Rows[i]["SFTUPDATE"]       = "0";

                    dt.Rows[i]["TL007"]          = ConvertToKg;
                    dt.Rows[i]["TL008"]          = "0";
                    dt.Rows[i]["TL009"]          = dtLot.Rows[0]["PKUNIT"];
                    dt.Rows[i]["TL010"]          = DateTime.Now.Date.ToString("yyyyMMdd");
                    dt.Rows[i]["TL011"]          = Class.valiballecommon.GetStorage().DocNo;
                    dt.Rows[i]["TL012"]          = TB002;
                    dt.Rows[i]["TL013"]          = "N";
                    dt.Rows[i]["TL014"]          = "";
                    dt.Rows[i]["TL015"]          = Sequence.ToString();
                    dt.Rows[i]["TL016"]          = "0";
                    dt.Rows[i]["SPC"]            = "N";
                    dt.Rows[i]["TWINUNIT"]       = "Y";
                    dt.Rows[i]["KEY_TRANSORDER"] = "1";
                    dt.Rows[i]["FACTORYID"]      = dtMODETAIL.Rows[0]["FACTORYID"];
                    dt.Rows[i]["INWSTYPE"]       = "3";
                    dt.Rows[i]["OUTWSTYPE"]      = "1";
                    dt.Rows[i]["TL017"]          = "0";
                    dt.Rows[i]["TL018"]          = "1";
                    dt.Rows[i]["TL019"]          = DBNull.Value;
                    dt.Rows[i]["TL020"]          = DBNull.Value;
                    dt.Rows[i]["TL023"]          = "0";
                    dt.Rows[i]["TL024"]          = "0";
                    dt.Rows[i]["TL025"]          = "0";
                    dt.Rows[i]["TL027"]          = "0";
                }
            }
            catch (Exception ex)
            {
                SystemLog.Output(SystemLog.MSG_TYPE.Err, "ERPPQCtoSFTTRANSORDERLINE(DataTable ERPPQC, string TranSorder,string TB002, string Location)", ex.Message);
                dt = new DataTable();
            }
            return(dt);
        }
        public bool UpdateDataDBForFinishedGoodsNotConfirm(DataTable dtERPPQC, string Location, out string ERPDoc, out string SFTDoc)
        {
            try
            {
                ERPDoc = "";
                SFTDoc = "";

                ERPDataUpdate eRPDataUpdate = new ERPDataUpdate();
                string        TB002         = eRPDataUpdate.getTB002(Class.valiballecommon.GetStorage().DocNo);
                SFTDataUpdate sFTDataUpdate = new SFTDataUpdate();
                string        TransNo       = sFTDataUpdate.getTransnoOfSFT(Class.valiballecommon.GetStorage().DocNo);
                Database.SFT.SFT_TRANSORDER_LINE sFT_TRANSORDER_LINE = new Database.SFT.SFT_TRANSORDER_LINE();
                ConvertDataTable convertDataTable  = new ConvertDataTable();
                DataTable        dtTRANSORDER_LINE = convertDataTable.ERPPQCtoSFTTRANSORDERLINE(dtERPPQC, TransNo, TB002, Location);
                DataTable        dtTRANSORDER      = convertDataTable.GetDataSFTTRANSORDER(dtERPPQC, dtTRANSORDER_LINE);
                DataTable        dtWSRUN           = convertDataTable.GetDataTableSFT_WS_RUN(dtERPPQC, dtTRANSORDER_LINE);
                ConvertDataERP   convertDataERP    = new ConvertDataERP();
                DataTable        dtSFCTC           = convertDataERP.GetDataTableSFCTC(dtERPPQC, TB002, "N");            ////
                DataTable        dtSFCTB           = convertDataERP.GetDataTableSFCTB(dtSFCTC, dtERPPQC, TransNo, "N"); ///

                if (dtTRANSORDER_LINE.Rows.Count > 0 && dtTRANSORDER.Rows.Count > 0 && dtWSRUN.Rows.Count > 0 &&
                    dtSFCTC.Rows.Count > 0 && dtSFCTB.Rows.Count > 0)
                {
                    var Result = sFT_TRANSORDER_LINE.InsertData(dtTRANSORDER_LINE);
                    if (Result == false)
                    {
                        MessageBox.Show("Insert TransOrder_Line fail ", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return(false);
                    }

                    Database.SFT.SFT_TRANSORDER sFT_TRANSORDER = new Database.SFT.SFT_TRANSORDER();
                    var resultTransOrder = sFT_TRANSORDER.InsertData(dtTRANSORDER);
                    if (resultTransOrder == false)
                    {
                        MessageBox.Show("Insert TransOrder fail ", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return(false);
                    }

                    int[] sequence = new int[dtERPPQC.Rows.Count];
                    Database.SFT.SFT_WS_RUN sFT_WS_RUN = new Database.SFT.SFT_WS_RUN();
                    var resultWs_run = sFT_WS_RUN.InsertData(dtWSRUN, out sequence);
                    if (resultWs_run == false)
                    {
                        MessageBox.Show("Insert SFT_WS_RUN fail ", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return(false);
                    }
                    Database.SFT.MODETAIL mODETAIL = new Database.SFT.MODETAIL();
                    var resultUpdate = mODETAIL.UpdateMODETAIL(dtTRANSORDER_LINE);                    //MOC027 ko biet la gi ?
                    if (resultUpdate == false)
                    {
                        MessageBox.Show("update Modetail fail ", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return(false);
                    }
                    Database.SFT.SFT_LOT sFT_LOT = new Database.SFT.SFT_LOT();
                    var InsertOrUpdate           = sFT_LOT.InsertUpdateLot(dtTRANSORDER_LINE);
                    if (InsertOrUpdate == false)
                    {
                        MessageBox.Show("Insert Lot fail ", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return(false);
                    }

                    Database.SFC.SFCTC sFCTC = new Database.SFC.SFCTC();            ///

                    var InsertSFCTC = sFCTC.InsertData(dtSFCTC);                    /////
                    if (InsertSFCTC == false)
                    {
                        MessageBox.Show("Insert SFCTC fail ", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return(false);
                    }

                    Database.SFC.SFCTB sFCTB = new Database.SFC.SFCTB();                    /////
                    var InsertSFCTB          = sFCTB.InsertData(dtSFCTB);
                    if (InsertSFCTB == false)
                    {
                        MessageBox.Show("Insert SFCTB fail ", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return(false);
                    }
                    Database.SFC.SFCTA sFCTA = new Database.SFC.SFCTA();                    /////
                    var UpdateSFCTA          = sFCTA.UpdateSFCTAForFinishedGoodsNotConfirm(dtERPPQC);
                    if (UpdateSFCTA == false)
                    {
                        MessageBox.Show("Insert SFCTA fail ", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return(false);
                    }

                    Database.ERPSOFT.ERPOutPQCQR eRPOutPQCQR = new Database.ERPSOFT.ERPOutPQCQR();                    ////function kho
                    var updateOutPQC = eRPOutPQCQR.UpdateImportWarehouse(dtERPPQC, Class.valiballecommon.GetStorage().DocNo + "-" + TB002);
                    if (updateOutPQC == false)
                    {
                        MessageBox.Show("Insert import status fail ", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return(false);
                    }
                }
                ERPDoc = TB002;
                SFTDoc = TransNo;
            }
            catch (Exception ex)
            {
                SystemLog.Output(SystemLog.MSG_TYPE.Err, "UpdateData2DBForFinishedGoods(FinishedGoodsItems fgItems)", ex.Message);
                ERPDoc = "";
                SFTDoc = "";
                return(false);
            }
            return(true);
        }