Esempio n. 1
0
 public function getUoms($properties = null, $facility_id, $dcTable = null, $locked = false)
 {
     $uoms = [];
     $model = null;
     $withs = [];
     $i = 0;
     $selectData = false;
     $rs = [];
     foreach ($properties as $property) {
         $columnName = is_array($property) && array_key_exists('data', $property) ? $property['data'] : $property->data;
         switch ($columnName) {
             case 'PRESS_UOM':
                 $withs[] = 'CodePressUom';
                 $uoms[] = ['id' => 'CodePressUom', 'targets' => $i, 'COLUMN_NAME' => 'PRESS_UOM'];
                 break;
             case 'TEMP_UOM':
                 $withs[] = 'CodeTempUom';
                 $uoms[] = ['id' => 'CodeTempUom', 'targets' => $i, 'COLUMN_NAME' => 'TEMP_UOM'];
                 break;
             case 'FL_POWR_UOM':
             case 'EU_POWR_UOM':
                 $withs[] = 'CodePowerUom';
                 $uoms[] = ['id' => 'CodePowerUom', 'targets' => $i, 'COLUMN_NAME' => 'FL_POWR_UOM'];
                 break;
             case 'FL_ENGY_UOM':
             case 'EU_ENGY_UOM':
                 $withs[] = 'CodeEnergyUom';
                 $uoms[] = ['id' => 'CodeEnergyUom', 'targets' => $i, 'COLUMN_NAME' => 'FL_ENGY_UOM'];
                 break;
             case 'FL_MASS_UOM':
             case 'EU_MASS_UOM':
                 $withs[] = 'CodeMassUom';
                 $uoms[] = ['id' => 'CodeMassUom', 'targets' => $i, 'COLUMN_NAME' => 'FL_MASS_UOM'];
                 break;
             case 'VOL_UOM':
             case 'FL_VOL_UOM':
             case 'EU_VOL_UOM':
                 $withs[] = 'CodeVolUom';
                 $uoms[] = ['id' => 'CodeVolUom', 'targets' => $i, 'COLUMN_NAME' => 'FL_VOL_UOM'];
                 break;
             case 'EU_STATUS':
                 $selectData = ['id' => 'EuStatus', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = collect([(object) ['ID' => -1, 'NAME' => '(Auto)'], (object) ['ID' => 1, 'NAME' => 'Online'], (object) ['ID' => 0, 'NAME' => 'Offline']]);
                 $rs[] = $selectData;
                 break;
             case 'ALLOC_TYPE':
                 $selectData = ['id' => 'CodeAllocType', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodeAllocType::all();
                 $rs[] = $selectData;
                 break;
             case 'TEST_METHOD':
                 $selectData = ['id' => 'CodeTestingMethod', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodeTestingMethod::all();
                 $rs[] = $selectData;
                 break;
             case 'TEST_USAGE':
                 $selectData = ['id' => 'CodeTestingUsage', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodeTestingUsage::all();
                 $rs[] = $selectData;
                 break;
             case 'EVENT_TYPE':
                 $selectData = ['id' => 'CodeEventType', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodeEventType::all();
                 $rs[] = $selectData;
                 break;
             case 'SRC_TYPE':
                 $selectData = ['id' => 'CodeQltySrcType', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodeQltySrcType::all();
                 $rs[] = $selectData;
                 break;
             case 'PRODUCT_TYPE':
                 $selectData = ['id' => 'CodeProductType', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodeProductType::all();
                 $rs[] = $selectData;
                 break;
             case 'DEFER_REASON':
                 $selectData = ['id' => 'CodeDeferReason', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodeDeferReason::all();
                 $rs[] = $selectData;
                 break;
             case 'DEFER_STATUS':
                 $selectData = ['id' => 'CodeDeferStatus', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodeDeferStatus::all();
                 $rs[] = $selectData;
                 break;
             case 'CODE1':
                 $selectData = ['id' => 'CodeDeferCode1', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodeDeferCode1::all();
                 $rs[] = $selectData;
                 break;
             case 'DEFER_CATEGORY':
                 $selectData = ['id' => 'CodeDeferCategory', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodeDeferCategory::all();
                 $rs[] = $selectData;
                 break;
             case 'DEFER_GROUP_TYPE':
                 $selectData = ['id' => 'CodeDeferGroupType', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodeDeferGroupType::all();
                 $rs[] = $selectData;
                 break;
             case 'TICKET_TYPE':
                 $selectData = ['id' => 'CodeTicketType', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodeTicketType::all();
                 $rs[] = $selectData;
                 break;
             case 'TARGET_TANK':
                 $selectData = ['id' => 'Tank', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = Tank::where('FACILITY_ID', $facility_id)->get();
                 $rs[] = $selectData;
                 break;
             case 'CARRIER_ID':
             case 'PD_TRANSIT_CARRIER_ID':
             case 'CONNECTING_CARRIER':
                 if ($dcTable == \App\Models\PdCargoNomination::getTableName() && !$locked) {
                     break;
                 }
                 $selectData = ['id' => 'PdTransitCarrier', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 if ($dcTable == \App\Models\RunTicketFdcValue::getTableName() || $dcTable == \App\Models\RunTicketValue::getTableName()) {
                     $selectData['data'] = PdTransitCarrier::where('TRANSIT_TYPE', 1)->get();
                 } else {
                     $selectData['data'] = PdTransitCarrier::all();
                 }
                 $rs[] = $selectData;
                 break;
             case 'BA_ID':
                 if ($dcTable != Personnel::getTableName()) {
                     $selectData = ['id' => 'BaAddress', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                     $selectData['data'] = BaAddress::all();
                     $rs[] = $selectData;
                 }
                 break;
             case 'SEVERITY_ID':
                 $selectData = ['id' => 'CodeSafetySeverity', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodeSafetySeverity::where('ACTIVE', 1)->orderBy('ORDER')->orderBy('ID')->get();
                 $rs[] = $selectData;
                 break;
             case 'STATUS':
                 $selectData = ['id' => 'CodeCommentStatus', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodeCommentStatus::where('ACTIVE', 1)->orderBy('ORDER')->orderBy('ID')->get();
                 $rs[] = $selectData;
                 break;
             case 'OFFLINE_REASON_CODE':
                 $selectData = ['id' => 'CodeEqpOfflineReason', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodeEqpOfflineReason::where('ACTIVE', 1)->orderBy('ORDER')->orderBy('ID')->get();
                 $rs[] = $selectData;
                 break;
             case 'EQP_FUEL_CONS_TYPE':
                 $selectData = ['id' => 'CodeEqpFuelConsType', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodeEqpFuelConsType::where('ACTIVE', 1)->orderBy('ORDER')->orderBy('ID')->get();
                 $rs[] = $selectData;
                 break;
             case 'EQP_GHG_REL_TYPE':
                 $selectData = ['id' => 'CodeEqpGhgRelType', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodeEqpGhgRelType::where('ACTIVE', 1)->orderBy('ORDER')->orderBy('ID')->get();
                 $rs[] = $selectData;
                 break;
             case 'EQP_GHG_UOM':
             case 'EQP_CONS_UOM':
                 $selectData = ['id' => 'CodeVolUom', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodeVolUom::all();
                 $rs[] = $selectData;
                 break;
             case 'TYPE':
                 $selectData = ['id' => 'CodePersonnelType', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodePersonnelType::all();
                 $rs[] = $selectData;
                 break;
             case 'TITLE':
                 $selectData = ['id' => 'CodePersonnelTitle', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodePersonnelTitle::all();
                 $rs[] = $selectData;
                 break;
             case 'SYSTEM_ID':
                 $selectData = ['id' => 'IntSystem', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = IntSystem::all();
                 $rs[] = $selectData;
                 break;
             case 'FREQUENCY':
                 $selectData = ['id' => 'CodeReadingFrequency', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodeReadingFrequency::all();
                 $rs[] = $selectData;
                 break;
             case 'ALLOW_OVERRIDE':
                 $selectData = ['id' => 'CodeBoolean', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodeBoolean::all();
                 $rs[] = $selectData;
                 break;
             case 'FLOW_PHASE':
                 $selectData = ['id' => 'CodeFlowPhase', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = CodeFlowPhase::all();
                 $rs[] = $selectData;
                 break;
             case 'REQUEST_UOM':
             case 'NOMINATION_UOM':
             case 'REQUEST_QTY_UOM':
             case 'SCHEDULE_UOM':
             case 'ATTRIBUTE_UOM':
             case 'LOAD_UOM':
             case 'QTY_UOM':
             case 'ITEM_UOM':
                 $selectData = ['id' => 'PdCodeMeasUom', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdCodeMeasUom::all();
                 $rs[] = $selectData;
                 break;
             case 'PRIORITY':
                 $selectData = ['id' => 'PdCodeCargoPriority', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdCodeCargoPriority::all();
                 $rs[] = $selectData;
                 break;
             case 'QUANTITY_TYPE':
                 $selectData = ['id' => 'PdCodeCargoQtyType', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdCodeCargoQtyType::all();
                 $rs[] = $selectData;
                 break;
             case 'LIFTING_ACCT':
             case 'LIFTING_ACCOUNT':
                 $selectData = ['id' => 'PdLiftingAccount', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdLiftingAccount::all();
                 $rs[] = $selectData;
                 break;
             case 'CONTRACT_ID':
                 $selectData = ['id' => 'PdContract', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdContract::all();
                 $rs[] = $selectData;
                 break;
             case 'STORAGE_ID':
                 $selectData = ['id' => 'Storage', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\Storage::where('FACILITY_ID', $facility_id)->get();
                 $rs[] = $selectData;
                 break;
             case 'REQUEST_TOLERANCE':
                 $selectData = ['id' => 'PdCodeQtyAdj', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdCodeQtyAdj::all();
                 $rs[] = $selectData;
                 break;
             case 'ADJUSTABLE_TIME':
             case 'NOMINATION_ADJ_TIME':
                 $selectData = ['id' => 'PdCodeTimeAdj', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdCodeTimeAdj::all();
                 $rs[] = $selectData;
                 break;
             case 'INCOTERM':
                 $selectData = ['id' => 'PdCodeIncoterm', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdCodeIncoterm::all();
                 $rs[] = $selectData;
                 break;
             case 'TRANSIT_TYPE':
                 $selectData = ['id' => 'PdCodeTransitType', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdCodeTransitType::all();
                 $rs[] = $selectData;
                 break;
                 /* case 'ACTIVITY_NAME' :
                     				$selectData = ['id'=>'ID','targets'=>$i,'COLUMN_NAME'=>'NAME'];
                     				$sql = "";
                     				$sql .= " SELECT ID, NAME FROM pd_code_load_activity a where exists (select 1 from PD_CARGO_LOAD b join TERMINAL_TIMESHEET_DATA  c ON ( b.ID = c.PARENT_ID AND c.IS_LOAD = 1 ) where c.ACTIVITY_ID = a.ID)";
                 					$sql .= " union all";
                 					$sql .= " SELECT ID, NAME FROM pd_code_load_activity a where exists (select 1 from PD_CARGO_UNLOAD b join TERMINAL_TIMESHEET_DATA  c ON ( b.ID = c.PARENT_ID AND c.IS_LOAD = 1 ) where c.ACTIVITY_ID = a.ID)"; 
                 
                 					$tmp = \DB::select($sql);					
                     				$selectData['data'] = $tmp;
                     				$rs[] = $selectData;
                     				break; */
             /* case 'ACTIVITY_NAME' :
                 				$selectData = ['id'=>'ID','targets'=>$i,'COLUMN_NAME'=>'NAME'];
                 				$sql = "";
                 				$sql .= " SELECT ID, NAME FROM pd_code_load_activity a where exists (select 1 from PD_CARGO_LOAD b join TERMINAL_TIMESHEET_DATA  c ON ( b.ID = c.PARENT_ID AND c.IS_LOAD = 1 ) where c.ACTIVITY_ID = a.ID)";
             					$sql .= " union all";
             					$sql .= " SELECT ID, NAME FROM pd_code_load_activity a where exists (select 1 from PD_CARGO_UNLOAD b join TERMINAL_TIMESHEET_DATA  c ON ( b.ID = c.PARENT_ID AND c.IS_LOAD = 1 ) where c.ACTIVITY_ID = a.ID)"; 
             
             					$tmp = \DB::select($sql);					
                 				$selectData['data'] = $tmp;
                 				$rs[] = $selectData;
                 				break; */
             case 'CARGO_ID':
                 $selectData = ['id' => 'PdCargo', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdCargo::all();
                 $rs[] = $selectData;
                 break;
             case 'BERTH_ID':
                 $selectData = ['id' => 'PdBerth', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdBerth::all();
                 $rs[] = $selectData;
                 break;
             case 'CARGO_STATUS':
                 $selectData = ['id' => 'PdCodeCargoStatus', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdCodeCargoStatus::all();
                 $rs[] = $selectData;
                 break;
             case 'CONTRACT_TYPE':
             case 'CONTACT_TYPE':
                 $selectData = ['id' => 'PdCodeContractType', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdCodeContractType::all();
                 $rs[] = $selectData;
                 break;
             case 'CONTRACT_PERIOD':
                 $selectData = ['id' => 'PdCodeContractPeriod', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdCodeContractPeriod::all();
                 $rs[] = $selectData;
                 break;
             case 'CONTRACT_EXPENDITURE':
                 $selectData = ['id' => 'PdContractExpenditure', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdContractExpenditure::all();
                 $rs[] = $selectData;
                 break;
             case 'CONTRACT_TEMPLATE':
                 $selectData = ['id' => 'PdContractTemplate', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdContractTemplate::all();
                 $rs[] = $selectData;
                 break;
             case 'DEMURRAGE_EBO':
                 $selectData = ['id' => 'PdCodeDemurrageEbo', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdCodeDemurrageEbo::all();
                 $rs[] = $selectData;
                 break;
             case 'SURVEYOR_BA_ID':
                 $selectData = ['id' => 'BaAddress', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\BaAddress::where('SOURCE', 15)->get();
                 $rs[] = $selectData;
                 break;
             case 'WITNESS_BA_ID1':
             case 'WITNESS_BA_ID2':
                 $selectData = ['id' => 'BaAddress', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\BaAddress::where('SOURCE', 4)->get();
                 $rs[] = $selectData;
                 break;
             case 'ACTIVITY_ID':
             case 'ACTIVITY_NAME':
                 $selectData = ['id' => 'PdCodeLoadActivity', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdCodeLoadActivity::all();
                 $rs[] = $selectData;
                 break;
             case 'VOYAGE_ID':
                 $selectData = ['id' => 'PdVoyage', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdVoyage::all();
                 $rs[] = $selectData;
                 break;
             case 'DEPART_PORT':
             case 'NEXT_DESTINATION_PORT':
             case 'PORT_ID':
             case 'ULLAGE_PORT':
             case 'ORIGIN_PORT':
             case 'DESTINATION_PORT':
                 $selectData = ['id' => 'PdPort', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdPort::all();
                 $rs[] = $selectData;
                 break;
             case 'FLOW_ID':
                 $selectData = ['id' => 'Flow', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\Flow::where("FACILITY_ID", '=', $facility_id)->get();
                 $rs[] = $selectData;
                 break;
             case 'MEASURED_ITEM':
                 $selectData = ['id' => 'PdCodeMeasItem', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdCodeMeasItem::all();
                 $rs[] = $selectData;
                 break;
             case 'FORMULA_ID':
                 $selectData = ['id' => 'Formula', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\Formula::where("GROUP_ID", '=', 7)->get();
                 $rs[] = $selectData;
                 break;
             case 'PROGRAM_TYPE':
                 $selectData = ['id' => 'PdCodeProgramType', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdCodeProgramType::all();
                 $rs[] = $selectData;
                 break;
             case 'RUN_FREQUENCY':
                 $selectData = ['id' => 'PdCodeRunFrequency', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdCodeRunFrequency::all();
                 $rs[] = $selectData;
                 break;
             case 'ADJUST_CODE':
                 $selectData = ['id' => 'PdCodeLiftAcctAdj', 'targets' => $i, 'COLUMN_NAME' => $columnName];
                 $selectData['data'] = \App\Models\PdCodeLiftAcctAdj::all();
                 $rs[] = $selectData;
                 break;
         }
         $i++;
     }
     if (count($withs) > 0) {
         $model = StandardUom::with($withs)->where('ID', $facility_id)->first();
         if ($model == null) {
             $model = Facility::with($withs)->where('ID', $facility_id)->first();
         }
     }
     //     	\DB::enableQueryLog();
     if ($model != null) {
         foreach ($uoms as $key => $uom) {
             $uom['data'] = $model->{$uom}['id'];
             $uoms[$key] = $uom;
             $rs[] = $uom;
         }
     }
     return $rs;
     //     	\Log::info(\DB::getQueryLog());
 }
Esempio n. 2
0
 public static function getFormulatedFields($tableName, $object_id, $object_type, $occur_date, $flow_phase = false)
 {
     $where = ['OBJECT_TYPE' => $object_type, 'OBJECT_ID' => $object_id, 'TABLE_NAME' => $tableName];
     if ($flow_phase) {
         $where['FLOW_PHASE'] = $flow_phase;
     }
     //     	if ($occur_date) $where['FLOW_PHASE'] = $flow_phase;
     //     	"(('".toDateString($occur_date)."' between a.BEGIN_DATE and a.END_DATE) or ('".toDateString($occur_date)."'>=a.BEGIN_DATE and a.END_DATE is null) or (a.BEGIN_DATE is null and a.END_DATE is null))""
     //     	\DB::enableQueryLog();
     $fields = Formula::where($where)->where(function ($query) use($occur_date) {
         $query->where(['BEGIN_DATE' => null, 'END_DATE' => null])->orWhere(function ($query) use($occur_date) {
             $query->where('BEGIN_DATE', '<=', $occur_date)->where('END_DATE', null);
         })->orWhere(function ($query) use($occur_date) {
             $query->where('BEGIN_DATE', '<=', $occur_date)->where('END_DATE', '>=', $occur_date);
         });
     })->get();
     //     	\Log::info(\DB::getQueryLog());
     return $fields;
 }
Esempio n. 3
0
 public function getListCharts()
 {
     $formula = Formula::where(['GROUP_ID' => 8])->orderBy('ID')->get(['ID', 'NAME']);
     return response()->json(['adv_chart' => $this->getChart(), 'formula' => $formula]);
 }
Esempio n. 4
0
 public function saveformula(Request $request)
 {
     $data = $request->all();
     $objname = "";
     if (is_array($data['cboObjName']) && count($data['cboObjName']) > 0) {
         foreach ($data['cboObjName'] as $selectedOption) {
             $objname .= ($objname == "" ? "" : ",") . $selectedOption;
         }
     }
     if ($data['isvar'] == 0) {
         $formula_id = $data['formula_id'];
         $saveAsNew = $data['asnew'];
         if ($formula_id <= 0 || $saveAsNew == 1) {
             $param = [];
             $param['NAME'] = $data['txtFormulaName'];
             $param['COMMENT'] = $data['txtComment'];
             $param['GROUP_ID'] = $data['group_id'];
             $param['OBJECT_TYPE'] = $data['cboObjType'];
             $param['OBJECT_ID'] = $objname;
             $param['TABLE_NAME'] = $data['txtTableName'];
             $param['VALUE_COLUMN'] = $data['txtValueColumn'];
             $param['OBJ_ID_COLUMN'] = $data['txtIDColumn'];
             $param['DATE_COLUMN'] = $data['txtDateColumn'];
             $param['FLOW_PHASE'] = $data['cboFlowPhase'];
             $param['ALLOC_TYPE'] = $data['cboAllocType'];
             $param['FORMULA'] = $data['txtFormula'];
             $begin_date = $data['txtBeginDate'];
             if ($begin_date != "") {
                 $param['BEGIN_DATE'] = \Helper::parseDate($begin_date);
             }
             $end_date = $data['txtEndDate'];
             if ($end_date != "") {
                 $param['END_DATE'] = \Helper::parseDate($end_date);
             }
             $condition = array('ID' => -1);
             $ins = Formula::updateOrCreate($condition, $param);
             $new_formula_id = $ins->ID;
             if ($formula_id > 0 && $new_formula_id > 0) {
                 $tmp = [];
                 $tmp = FoVar::where(['FORMULA_ID' => $formula_id])->select('NAME', 'STATIC_VALUE', 'ORDER', 'FORMULA_ID', 'OBJECT_TYPE', 'OBJECT_ID', 'TABLE_NAME', 'VALUE_COLUMN', 'OBJ_ID_COLUMN', 'DATE_COLUMN', 'FLOW_PHASE', 'ALLOC_TYPE', 'COMMENT')->first();
                 $tmp['FORMULA_ID'] = $new_formula_id;
                 $tmp = json_decode(json_encode($tmp), true);
                 $condition = array('ID' => -1);
                 $tmp = FoVar::updateOrCreate($condition, $tmp);
             }
         } else {
             if ($objname) {
                 $str = $objname;
             } else {
                 $str = "";
             }
             $p = ['NAME' => $data['txtFormulaName'], 'COMMENT' => $data['txtComment'], 'GROUP_ID' => $data['group_id'], 'OBJECT_TYPE' => $data['cboObjType'], 'OBJECT_ID' => $str, 'TABLE_NAME' => $data['txtTableName'], 'VALUE_COLUMN' => $data['txtValueColumn'], 'OBJ_ID_COLUMN' => $data['txtIDColumn'], 'DATE_COLUMN' => $data['txtDateColumn'], 'FLOW_PHASE' => $data['cboFlowPhase'], 'ALLOC_TYPE' => $data['cboAllocType'], 'FORMULA' => $data['txtFormula']];
             $begin_date = $data['txtBeginDate'];
             if ($begin_date != "") {
                 $p['BEGIN_DATE'] = \Helper::parseDate($begin_date);
             }
             $end_date = $data['txtEndDate'];
             if ($end_date != "") {
                 $p['END_DATE'] = \Helper::parseDate($end_date);
             }
             Formula::where(['ID' => $formula_id])->update($p);
         }
     } else {
         if ($data['isvar'] == 1) {
             $var_id = $data['var_id'];
             $saveAsNew = $data['asnew'];
             if ($objname) {
                 $str = $objname;
             } else {
                 $str = "";
             }
             if ($var_id <= 0 || $saveAsNew == 1) {
                 $pra = ['NAME' => $data['txtFormulaName'], 'STATIC_VALUE' => $data['txtStaticValue'], 'ORDER' => $data['txtOrder'], 'FORMULA_ID' => $data['formula_id'], 'OBJECT_TYPE' => $data['cboObjType'], 'OBJECT_ID' => $str, 'TABLE_NAME' => $data['txtTableName'], 'VALUE_COLUMN' => $data['txtValueColumn'], 'OBJ_ID_COLUMN' => $data['txtIDColumn'], 'DATE_COLUMN' => $data['txtDateColumn'], 'FLOW_PHASE' => $data['cboFlowPhase'], 'ALLOC_TYPE' => $data['cboAllocType'], 'COMMENT' => $data['txtComment']];
                 FoVar::insert($pra);
             } else {
                 $pra1 = ['NAME' => $data['txtFormulaName'], 'STATIC_VALUE' => $data['txtStaticValue'], 'ORDER' => $data['txtOrder'], 'FORMULA_ID' => $data['formula_id'], 'OBJECT_TYPE' => $data['cboObjType'], 'OBJECT_ID' => $str, 'TABLE_NAME' => $data['txtTableName'], 'VALUE_COLUMN' => $data['txtValueColumn'], 'OBJ_ID_COLUMN' => $data['txtIDColumn'], 'DATE_COLUMN' => $data['txtDateColumn'], 'FLOW_PHASE' => $data['cboFlowPhase'], 'ALLOC_TYPE' => $data['cboAllocType'], 'COMMENT' => $data['txtComment']];
                 FoVar::where(['ID' => $var_id])->update($pra1);
             }
         }
     }
     return response()->json("ok");
 }