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"); }
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); } }
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"); }