예제 #1
0
        //public static bool SendOrder(string[] planCodes)
        //{
        //    Database db=DB.GetInstance();
        //    //db.BeginTransaction();
        //    try
        //    {
        //        db.BeginTransaction();
        //        string batch_temp = "'B'||TO_CHAR(SYSDATE,'yyyymmdd')||to_char(SEQ_BATCHID.NEXTVAL,'fm0000')";
        //        string sql = "select " + batch_temp + " from dual";

        //        string batch_id = db.ExecuteScalar<string>(sql);

        //        DateTime time = DateTime.Now;
        //        int num = 0;
        //        List<ItemLineSideEntity> lineSideItem = ItemLineSideFactory.GetAll();
        //        foreach (var p in planCodes)
        //        {

        //            List<PlanBomEntity> boms = PlanBOMFactory.GetByPlanCode(p);

        //            if (lineSideItem != null)
        //            {
        //                boms = (from b in boms where !(lineSideItem.Select(m => m.ITEM_CODE).Contains(b.ITEM_CODE)) select b).ToList<PlanBomEntity>();
        //            }
        //            foreach (var b in boms)
        //            {
        //                PlanEntity plan = PlanFactory.GetByKey(b.PLAN_CODE);
        //                if (b.VIRTUAL_ITEM_CODE == "X") continue;
        //                IMESStore2LineEntity storeEntity = new IMESStore2LineEntity
        //                {
        //                    AUFNR = plan.ORDER_CODE,
        //                    WERKS = b.FACTORY,
        //                    VORNR = b.PROCESS_CODE,
        //                    SUBMAT = b.ITEM_CODE,
        //                    MATKT = b.ITEM_NAME,
        //                    MENGE = b.ITEM_QTY.ToString(),
        //                    SLGORT = b.RESOURCE_STORE,
        //                    TLGORT = b.LINESIDE_STOCK_CODE,
        //                    PROJN=plan.PROJECT_CODE,
        //                    SERIAL = time.ToString("yyyyMMddhhmmss"),
        //                    WKDT = time,
        //                    BATCH=batch_id,
        //                    CHARG1=batch_id,
        //                    CHARG2=batch_id,
        //                    PRIND = "0"
        //                };
        //                db.Insert(storeEntity);
        //                num++;
        //            }
        //            string sql1="update IMES_DATA_STORE2LINE set KUNNR="+num+" where BATCH='"+batch_id+"'";
        //            db.Execute(sql1);
        //            List<PlanEntity> plans = PlanFactory.GetByPlanCodes(new string[]{p});
        //            foreach (var plan in plans)
        //            {
        //                plan.ITEM_FLAG = "B";
        //                db.Update(plan);
        //            }
        //        }
        //        SAPMessageTransEntity msgEntity = new SAPMessageTransEntity
        //        {
        //            MESSAGE_CODE = "0046",
        //            WORK_DATE = DateTime.Now,
        //            HANDLE_FLAG = "0",
        //        };
        //        db.Insert(msgEntity);
        //        db.CompleteTransaction();
        //        return true;
        //    }
        //    catch (Exception e)
        //    {
        //        db.AbortTransaction();
        //        return false;
        //    }
        //}

        public static bool SendOrder(List <PlanStandardBOMEntity> items, string userid)
        {
            Database db = DB.GetInstance();

            try
            {
                db.BeginTransaction();
                string batch_temp = "'B'||TO_CHAR(SYSDATE,'yyyymmdd')||to_char(SEQ_BATCHID.NEXTVAL,'fm0000')";
                string sql        = "select " + batch_temp + " from dual";

                string batch_id = db.ExecuteScalar <string>(sql);

                DateTime time = DateTime.Now;
                int      num  = 0;


                foreach (var i in items)
                {
                    if (i.VIRTUAL_ITEM_CODE == "X")
                    {
                        continue;
                    }
                    EmergencyStore2LineEntity eEntity = new EmergencyStore2LineEntity
                    {
                        AUFNR          = i.ORDER_CODE,
                        WERKS          = i.WORKSHOP_CODE,
                        VORNR          = i.PROCESS_CODE,
                        SUBMAT         = i.ITEM_CODE,
                        MENGE          = i.ITEM_QTY.ToString(),
                        SLGORT         = i.STORE_ID,
                        TLGORT         = i.LINESIDE_STOCK_CODE,
                        MATKT          = i.ITEM_NAME,
                        SERIAL         = DateTime.Now.ToString("yyyyMMddhhmmss"),
                        WKDT           = DateTime.Now,
                        PRIND          = "0",
                        BATCH          = batch_id,
                        CREATE_USER_ID = userid
                    };
                    db.Insert(eEntity);
                    IMESStore2LineEntity storeEntity = new IMESStore2LineEntity
                    {
                        AUFNR  = i.ORDER_CODE,
                        WERKS  = i.WORKSHOP_CODE,
                        VORNR  = i.PROCESS_CODE,
                        SUBMAT = i.ITEM_CODE,
                        MENGE  = i.ITEM_QTY.ToString(),
                        SLGORT = i.STORE_ID,
                        TLGORT = i.LINESIDE_STOCK_CODE,
                        MATKT  = i.ITEM_NAME,
                        SERIAL = DateTime.Now.ToString("yyyyMMddhhmmss"),
                        WKDT   = DateTime.Now,
                        BATCH  = batch_id,
                        CHARG1 = batch_id,
                        CHARG2 = batch_id,
                        PRIND  = "0"
                    };
                    db.Insert(storeEntity);
                    num++;
                }

                string sql1 = "update IMES_DATA_STORE2LINE set KUNNR=" + num + " where BATCH='" + batch_id + "'";
                db.Execute(sql1);

                SAPMessageTransEntity msgEntity = new SAPMessageTransEntity
                {
                    MESSAGE_CODE = "0046",
                    WORK_DATE    = DateTime.Now,
                    HANDLE_FLAG  = "0",
                };
                db.Insert(msgEntity);
                db.CompleteTransaction();
                return(true);
            }
            catch (Exception e)
            {
                db.AbortTransaction();
                return(false);
            }
        }
예제 #2
0
        public void ASPxGridView1_CustomDataCallback(object sender, ASPxGridViewCustomDataCallbackEventArgs e)
        {
            userManager theUserManager = (userManager)Session["theUserManager"];
            string      _ids           = e.Parameters;

            string[] ids = _ids.Split(',');
            //int index = Convert.ToInt32(e.Parameters);
            //string rmesID = ASPxGridView1.GetRowValues(index, "RMES_ID").ToString();


            DB.GetInstance().BeginTransaction();
            try
            {
                string batch_temp = "'B'||TO_CHAR(SYSDATE,'yyyymmdd')||to_char(SEQ_BATCHID.NEXTVAL,'fm0000')";
                string sql        = "select " + batch_temp + " from dual";

                string batch_id = DB.GetInstance().ExecuteScalar <string>(sql);

                DateTime time = DateTime.Now;
                int      num  = 0;


                foreach (var id in ids)
                {
                    ItemLineSideEntity           entity          = ItemLineSideFactory.GetByID(id);
                    ItemLineSideStore2LineEntity tempStoreEntity = new ItemLineSideStore2LineEntity
                    {
                        COMPANY_CODE    = "01",
                        WORKSHOP        = "8101",
                        ITEM_CODE       = entity.ITEM_CODE,
                        ITEM_NAME       = entity.ITEM_NAME,
                        ITEM_QTY        = entity.STAND_QTY,
                        CREATE_TIME     = DateTime.Now,
                        CREATE_USER_ID  = theUserManager.getUserId(),
                        T_LINESIDESTORE = entity.LINESIDE_STORE_CODE,
                        S_LINESIDESTORE = entity.RESOURCE_STORE,
                    };
                    DB.GetInstance().Insert(tempStoreEntity);

                    IMESStore2LineEntity storeEntity = new IMESStore2LineEntity
                    {
                        WERKS  = "8101",
                        AUFNR  = DateTime.Now.ToString("yyyyMMdd").Insert(0, "A000"),
                        SUBMAT = entity.ITEM_CODE,
                        MATKT  = entity.ITEM_NAME,
                        MENGE  = entity.STAND_QTY.ToString(),
                        SLGORT = entity.RESOURCE_STORE,
                        TLGORT = entity.LINESIDE_STORE_CODE,
                        SERIAL = DateTime.Now.ToString("yyyyMMddhhmmss"),
                        WKDT   = time,
                        BATCH  = batch_id,
                        CHARG1 = batch_id,
                        CHARG2 = batch_id,
                        PRIND  = "0"
                    };
                    DB.GetInstance().Insert(storeEntity);
                    num++;
                    SAPMessageTransEntity msgEntity = new SAPMessageTransEntity
                    {
                        MESSAGE_CODE = "0046",
                        WORK_DATE    = DateTime.Now,
                        HANDLE_FLAG  = "0",
                    };
                    DB.GetInstance().Insert(msgEntity);
                }
                string sql1 = "update IMES_DATA_STORE2LINE set KUNNR=" + num + " where BATCH='" + batch_id + "'";
                DB.GetInstance().Execute(sql1);
                DB.GetInstance().CompleteTransaction();
                e.Result = "success";
            }
            catch (Exception ex)
            {
                DB.GetInstance().AbortTransaction();
                e.Result = "false";
            }
        }