示例#1
0
        public void startWO(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            OleExec            Sfcdb            = this.DBPools["SFCDB"].Borrow();
            string             WO               = Data["WO"].ToString();
            T_R_WO_HEADER_TJ   t_R_WO_HEADER_TJ = new T_R_WO_HEADER_TJ(Sfcdb, this.DBTYPE);
            Row_R_WO_HEADER_TJ row_R_WO_HEADER  = t_R_WO_HEADER_TJ.GetWo(WO, Sfcdb);
            float qty = float.Parse(row_R_WO_HEADER.GAMNG);

            qty = 5;
            for (int i = 0; i < qty; i++)
            {
                String nextSN = SNmaker.GetNextSN("TEST", Sfcdb, WO);
                Console.Out.WriteLine(nextSN);
                T_R_SN t_r_sn = new T_R_SN(Sfcdb, this.DBTYPE);
                t_r_sn.addStartSNRecords(WO, nextSN, Sfcdb);
            }


            StationReturn.Data    = qty;
            StationReturn.Status  = StationReturnStatusValue.Pass;
            StationReturn.Message = MESReturnMessage.GetMESReturnMessage("MSGCODE20180801141046");
        }
示例#2
0
        public void Download(string StrWo, string Plant)
        {
            OleExec   sfcdb;
            DataTable RFC_Table = new DataTable();

            T_R_WO_HEADER_TJ R_WO_HEADER;


            Dictionary <string, string> DicPara = new Dictionary <string, string>();

            sfcdb = this.DBPools["SFCDB"].Borrow();


            ZRFC_GET_PRO_HEADER8 zrfc_GET_PRO_HEADER8 = new ZRFC_GET_PRO_HEADER8();

            zrfc_GET_PRO_HEADER8.SetValues(StrWo, Plant);//NHGZ,WDN1//WDN1,WSL3
            zrfc_GET_PRO_HEADER8.CallRFC();

            DataTable woheader = zrfc_GET_PRO_HEADER8.GetTableValue("PO");

            R_WO_HEADER = new T_R_WO_HEADER_TJ(sfcdb, DB_TYPE_ENUM.Oracle);

            Row_R_WO_HEADER_TJ rowRWOHeader = (Row_R_WO_HEADER_TJ)R_WO_HEADER.NewRow();

            if (woheader.Rows.Count > 0)
            {
                rowRWOHeader.ID        = R_WO_HEADER.GetNewID(BU, sfcdb);
                rowRWOHeader.AUFNR     = woheader.Rows[0]["AUFNR"].ToString();
                rowRWOHeader.WERKS     = woheader.Rows[0]["WERKS"].ToString();
                rowRWOHeader.AUART     = woheader.Rows[0]["AUART"].ToString();
                rowRWOHeader.MATNR     = woheader.Rows[0]["MATNR"].ToString();
                rowRWOHeader.REVLV     = woheader.Rows[0]["REVLV"].ToString();
                rowRWOHeader.KDAUF     = woheader.Rows[0]["KDAUF"].ToString();
                rowRWOHeader.GSTRS     = woheader.Rows[0]["GSTRS"].ToString();
                rowRWOHeader.DISPO     = woheader.Rows[0]["DISPO"].ToString();
                rowRWOHeader.GAMNG     = woheader.Rows[0]["GAMNG"].ToString();
                rowRWOHeader.VERID     = woheader.Rows[0]["VERID"].ToString();
                rowRWOHeader.ARBPL     = woheader.Rows[0]["ARBPL"].ToString();
                rowRWOHeader.KUNNR     = woheader.Rows[0]["KUNNR"].ToString();
                rowRWOHeader.KDMAT     = woheader.Rows[0]["KDMAT"].ToString();
                rowRWOHeader.AEDAT     = woheader.Rows[0]["AEDAT"].ToString();
                rowRWOHeader.AENAM     = woheader.Rows[0]["AENAM"].ToString();
                rowRWOHeader.MATKL     = woheader.Rows[0]["MATKL"].ToString();
                rowRWOHeader.MAKTX     = woheader.Rows[0]["MAKTX"].ToString();
                rowRWOHeader.GMEIN     = woheader.Rows[0]["GMEIN"].ToString();
                rowRWOHeader.STATUS    = woheader.Rows[0]["STATUS"].ToString();
                rowRWOHeader.ERDAT     = woheader.Rows[0]["ERDAT"].ToString();
                rowRWOHeader.ERFZEIT   = woheader.Rows[0]["ERFZEIT"].ToString();
                rowRWOHeader.AEZEIT    = woheader.Rows[0]["AEZEIT"].ToString();
                rowRWOHeader.GSUZS     = woheader.Rows[0]["GSUZS"].ToString();
                rowRWOHeader.RSNUM     = woheader.Rows[0]["RSNUM"].ToString();
                rowRWOHeader.KBEASOLL  = woheader.Rows[0]["KBEASOLL"].ToString();
                rowRWOHeader.TASKGROUP = woheader.Rows[0]["TASKGROUP"].ToString();
                rowRWOHeader.CY_SEQNR  = woheader.Rows[0]["CY_SEQNR"].ToString();
                rowRWOHeader.ZAPLFL    = woheader.Rows[0]["ZAPLFL"].ToString();
                rowRWOHeader.ZVORNR    = woheader.Rows[0]["ZVORNR"].ToString();
                rowRWOHeader.ZTDLINE   = woheader.Rows[0]["ZTDLINE"].ToString();
                rowRWOHeader.KDPOS     = woheader.Rows[0]["KDPOS"].ToString();
                rowRWOHeader.BSTKD     = woheader.Rows[0]["BSTKD"].ToString();
                rowRWOHeader.POSEX_E   = woheader.Rows[0]["POSEX_E"].ToString();
                rowRWOHeader.TKNUM     = woheader.Rows[0]["TKNUM"].ToString();
                rowRWOHeader.APRIO     = woheader.Rows[0]["APRIO"].ToString();
                rowRWOHeader.MAUFNR    = woheader.Rows[0]["MAUFNR"].ToString();
                rowRWOHeader.OBJNR     = woheader.Rows[0]["OBJNR"].ToString();
                rowRWOHeader.FEVOR     = woheader.Rows[0]["FEVOR"].ToString();
                rowRWOHeader.WEMNG     = woheader.Rows[0]["WEMNG"].ToString();
                rowRWOHeader.ERNAM     = woheader.Rows[0]["ERNAM"].ToString();
                rowRWOHeader.IDAT2     = woheader.Rows[0]["IDAT2"].ToString();
                rowRWOHeader.PHAS2     = woheader.Rows[0]["PHAS2"].ToString();
                rowRWOHeader.STLAL     = woheader.Rows[0]["STLAL"].ToString();
                rowRWOHeader.STLAN     = woheader.Rows[0]["STLAN"].ToString();
                rowRWOHeader.VDATU     = woheader.Rows[0]["VDATU"].ToString();
                rowRWOHeader.VGW03     = woheader.Rows[0]["VGW03"].ToString();
                String WO  = rowRWOHeader.AUFNR;
                string sql = $@"DELETE FROM R_WO_HEADER_TJ WHERE AUFNR = '{WO}'";
                sfcdb.ExecSQL(sql);
                sql = rowRWOHeader.GetInsertString(DB_TYPE_ENUM.Oracle);
                sfcdb.ExecSQL(sql);
            }
        }
示例#3
0
        public void startWO(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            OleExec Sfcdb  = this.DBPools["SFCDB"].Borrow();
            string  WO     = Data["WO"].ToString();
            T_R_SN  t_r_sn = new T_R_SN(Sfcdb, this.DBTYPE);
            string  id     = t_r_sn.findOneSNByWO(WO, Sfcdb);

            if (!string.IsNullOrEmpty(id))
            {
                StationReturn.Status  = StationReturnStatusValue.Fail;
                StationReturn.Message = "工单已展开,不能重复展开";
                return;
            }
            T_R_WO_HEADER_TJ   t_R_WO_HEADER_TJ = new T_R_WO_HEADER_TJ(Sfcdb, this.DBTYPE);
            Row_R_WO_HEADER_TJ row_R_WO_HEADER  = t_R_WO_HEADER_TJ.GetWo(WO, Sfcdb);
            T_C_SKU            table_sku        = new T_C_SKU(Sfcdb, this.DBTYPE);
            string             user             = this.LoginUser.EMP_NO;

            MESDataObject.Module.SkuObject SkuObject = table_sku.GetSkuBySkuno(row_R_WO_HEADER.MATNR, Sfcdb);
            float qty = float.Parse(row_R_WO_HEADER.GAMNG);

            qty = 5;
            //获取路由id
            T_R_SKU_ROUTE t_R_SKU_ROUTE = new T_R_SKU_ROUTE(Sfcdb, this.DBTYPE);
            string        routeid       = t_R_SKU_ROUTE.getRouteIdBySkuName(row_R_WO_HEADER.MATNR, Sfcdb);
            //获取keypartlistid
            T_C_KP_LIST   t_C_KP_LIST    = new T_C_KP_LIST(Sfcdb, this.DBTYPE);
            List <string> keypartlistids = t_C_KP_LIST.GetListIDBySkuno(row_R_WO_HEADER.MATNR, Sfcdb);

            if (keypartlistids.Count == 0)
            {
                StationReturn.Status  = StationReturnStatusValue.Fail;
                StationReturn.Message = "未配置keypartlistid";
                return;
            }
            //生成工单基础表
            T_R_WO_BASE t_R_WO_BASE = new T_R_WO_BASE(Sfcdb, this.DBTYPE);

            t_R_WO_BASE.deleteWOByWo(WO, Sfcdb);
            t_R_WO_BASE.addWOByWOHeader(BU, user, routeid, row_R_WO_HEADER, Sfcdb);

            WorkOrder objWorkorder = new WorkOrder();

            objWorkorder.Init(WO, Sfcdb);
            objWorkorder.WorkorderNo = WO;
            objWorkorder.KP_LIST_ID  = keypartlistids[0].ToString();
            objWorkorder.SkuNO       = row_R_WO_HEADER.MATNR;

            //生成SN
            for (int i = 0; i < qty; i++)
            {
                String nextSN = SNmaker.GetNextSN(SkuObject.SnRule, Sfcdb, WO);
                Console.Out.WriteLine(nextSN);
                t_r_sn.addStartSNRecords(BU, user, WO, routeid, row_R_WO_HEADER, nextSN, Sfcdb);
            }
            //生成keypartlistid

            List <R_SN> r_sns = t_r_sn.GETSN(WO, Sfcdb);

            for (int i = 0; i < r_sns.Count; i++)
            {
                T_C_KP_LIST c_kp_list = new T_C_KP_LIST(Sfcdb, this.DBTYPE);
                if (objWorkorder.KP_LIST_ID != "" && c_kp_list.KpIDIsExist(objWorkorder.KP_LIST_ID, Sfcdb))
                {
                    SN             snObject = new SN();
                    MESStationBase Station  = new MESStationBase();
                    Station.BU        = this.LoginUser.BU;
                    Station.LoginUser = this.LoginUser;
                    Station.SFCDB     = Sfcdb;
                    snObject.InsertR_SN_KP(objWorkorder, r_sns[i], Sfcdb, Station, this.DBTYPE);
                }
            }


            StationReturn.Data    = qty;
            StationReturn.Status  = StationReturnStatusValue.Pass;
            StationReturn.Message = MESReturnMessage.GetMESReturnMessage("MSGCODE20180801141046");
        }