Jump to content

mongoose00318

Members
  • Posts

    253
  • Joined

  • Last visited

Posts posted by mongoose00318

  1. My name is Jonathan and the company I work for is looking to outsource some development work to free up some of my time as well as expedite some of our development goals.

    I am a developer Myself and I am the developer who made the software. The software manages communication and production status in a large-scale (200k+ sqft) manufacturing environment. We are based in Texas. 

    Most of the beginning projects will be relatively simple to an experienced developer; that being said I do understand said developer will need to familiarize themselves with the code as this is not an out of the box framework, etc. The first project will consist of developing an inventory tracking system which won't be much more than a simple CRUD application as a good trial run before we step into other projects.

    This developer will need to be well versed in front-end languages/libraries like jQuery, etc. 

    Pay and more details about the project will be discussed further during our initial conversation. We are willing to pay fairly for the talent you have.

    Please contact me at mongoose00318@gmail.com with your resume and portfolio. We can then setup a Teams meeting to have our initial discussion to better familiarize you with the project.

    Please be aware, after our initial discussion, an NDA will be required.

    Thank you for your time and interest.

    • Like 1
  2. Okay I fixed it. Here I just changed that sub query to look at a different column.

    				SELECT
    					lr.*,
    					l.make,
    					l.part_number,
    					l.description,
    					pd.job_number,
    					pd.as400_ship_date,
    					pd.line_item,
    					pd.enterprise,
    					pd.description AS order_description,
    					pd.qty AS order_qty,
    					log.name AS user_full_name
    				FROM
    					leds_requests lr
    				LEFT JOIN
    					leds l
    				ON
    					l.id = lr.product_id
    				LEFT JOIN
    					production_data pd
    				ON
    					pd.id = lr.order_id
    				LEFT JOIN
    					login log
    				ON
    					log.user_id = lr.user_id
    				WHERE
    					lr.id IN(
    					SELECT
    						MAX(id)
    					FROM
    						leds_requests
    					WHERE
    						status_id = 1
    					GROUP BY
    						order_id,
    						product_id
    				) AND lr.order_id NOT IN(
    						SELECT
    					        order_id
    					    FROM
    					        leds_requests
    					    WHERE
    					        status_id IN(2,3,4)
    				)
    				GROUP BY
    					order_id,
    					product_id,
    					job_number

     

  3. Good Morning All!

    I have a query that has been running fine for years and last Friday it started acting up and returning 0 results for some reason when it shouldn't be. The query is below:

    $query = "
    				SELECT
    					lr.*,
    					l.make,
    					l.part_number,
    					l.description,
    					pd.job_number,
    					pd.as400_ship_date,
    					pd.line_item,
    					pd.enterprise,
    					pd.description AS order_description,
    					pd.qty AS order_qty,
    					log.name AS user_full_name
    				FROM
    					leds_requests lr
    				LEFT JOIN
    					leds l
    				ON
    					l.id = lr.product_id
    				LEFT JOIN
    					production_data pd
    				ON
    					pd.id = lr.order_id
    				LEFT JOIN
    					login log
    				ON
    					log.user_id = lr.user_id
    				WHERE
    					lr.id IN(
    					SELECT
    						MAX(id)
    					FROM
    						leds_requests
    					WHERE
    						status_id = 1
    					GROUP BY
    						order_id,
    						product_id
    				) AND lr.id NOT IN(
    						SELECT
    					        ref_request_id
    					    FROM
    					        leds_requests
    					    WHERE
    					        status_id IN(2,3,4)
    				)
    				GROUP BY
    					order_id,
    					product_id,
    					job_number
    	";

     

    I think the problem is right here:

    ) AND lr.id NOT IN(
    	SELECT
    		ref_request_id
    	FROM
    		leds_requests
    	WHERE
            status_id IN(2,3,4)
    )

     

    It's like it doesn't like how I am referencing lr.id in that line. Was there some update that could have caused this? I don't understand why it was working fine for so long and I haven't changed anything.

    All of your help is much appreciated! I can provide table structures, etc. if need be. 

  4. I've trying something like this so far: 

    $sql = '
    		SELECT a.id
    		     , a.order_id
    		     , a.job_number
    		     , a.line_item
    		     , a.insert_time
    		     , a.as400_ship_date
    		FROM production_data_archive a 
    		     LEFT JOIN
    		     production_data_archive b
    		         ON a.job_number = b.job_number
    		         AND a.line_item = b.line_item   
    		         AND a.insert_time < b.insert_time
    		WHERE b.job_number IS NULL AND a.as400_ship_date >= now()-interval 2 month AND a.as400_ship_date <= now()
    		ORDER BY a.job_number, a.line_item 
    	';
    	$stmt = $pdo->query($sql);
    	$data = $stmt->fetchAll();
    
    	$i = 0;
    	$j = '';
    	$l = [];
    	foreach ( $data as $k => $v ) {
    		if( $v['job_number'] == $j ) {
    			$l[] = $v['line_item'];
    			
    		} else {
    			
    			echo $j . ' : ' . count($l).'<br>';
    			$j = $v['job_number'];
    			$l = Array();
    		}
    
    	}

    Its not going great though.

  5. On 7/8/2021 at 3:32 PM, Barand said:

    Try

    TABLE: production_data_archive;
    +----+----------+------------+-----------+---------------------+
    | id | order_id | job_number | line_item | insert_time         |
    +----+----------+------------+-----------+---------------------+
    |  1 |    16824 |   22000412 | A         | 2021-03-26 00:00:00 |
    |  2 |    16824 |   22000412 | A         | 2021-03-30 00:00:00 |
    |  3 |    16824 |   22000412 | A         | 2021-04-09 00:00:00 |
    |  4 |    16825 |   22000412 | B         | 2021-03-26 00:00:00 |
    |  5 |    16825 |   22000412 | B         | 2021-03-29 00:00:00 |
    |  6 |    16825 |   22000412 | B         | 2021-04-06 00:00:00 |
    +----+----------+------------+-----------+---------------------+
    
    
    SELECT a.id
         , a.order_id
         , a.job_number
         , a.line_item
         , a.insert_time
    FROM production_data_archive a 
         LEFT JOIN
         production_data_archive b
             ON a.job_number = b.job_number
             AND a.line_item = b.line_item   
             AND a.insert_time < b.insert_time
    WHERE b.job_number IS NULL;
    
    +----+----------+------------+-----------+---------------------+
    | id | order_id | job_number | line_item | insert_time         |
    +----+----------+------------+-----------+---------------------+
    |  3 |    16824 |   22000412 | A         | 2021-04-09 00:00:00 |
    |  6 |    16825 |   22000412 | B         | 2021-04-06 00:00:00 |
    +----+----------+------------+-----------+---------------------+

     

    @BarandHey Barand, I was curious is there a way I can use this query but exclude any jobs that have more than one line item? For example, above you returned line_item A and B for job 22000412. So because that job has more than one line item I would not want it returned in the query. Hopefully I worded this well...

  6. I'm sure some of us here are aware of this current threat to Apache servers.

    I have a WAMP installation of Apache on a dedicated server with Windows 10. I've been trying to determine if my version of of WAMP has this logging module installed with no success so far; but still researching.

    Has anyone else started patching their servers or have any input/feedback to this vulnerability?

     

  7. Okay awesome man. I've been playing around with it and I am going to continue to. I love learning more about SQL.

    I have found there is so much I've done in PHP when it comes to data handling that could be handled all with a proper SQL statement. I just didn't have the knowledge I have now but I still have more to learn. 

    I have two books on SQL that are helpful that I reference on a regular basis but sometimes I do get confused with combining certain parts of a SQL statement. 

    I greatly appreciate all that you have taught me! Thank you!

  8. @BarandSorry for the late response man, I haven't had the time to get back to this project this week until now. Yea man, that works great! 

    Can you explain a little more how the "HAVING COUNT(*) > 1" works in the first statement?

    I've always had trouble understanding how to properly use the count function in a SQL statement other than simple statements where all I'm doing is something like "SELECT COUNT(*).." to count rows, etc.

    I do understand the difference between a UNION and a JOIN...which is interesting because I really thought you were going to use a JOIN on the same table to accomplish this. Shows how much I know!

  9. @gizmola

    First off, thanks for the validation that this is a genuine and NORMAL part of server administration. 

    Second, I totally agree AWStats is old and not to mention clunky. It really doesn't do what I want. I have looked into some alternatives before but none of the ones you mentioned ring a bell so I am definitely going to look into it.

    All around, hats off to you! Thanks for the detailed post and all of the information...I am going to do some digging into some of your suggestions! 

    • Like 1
  10. Here is my table structure:

    CREATE TABLE IF NOT EXISTS `production_data` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `job_number` int(8) NOT NULL,
      `enterprise` tinytext NOT NULL,
      `part_number` text NOT NULL,
      `description` text NOT NULL,
      `psm` tinytext NOT NULL,
      `qty` int(11) NOT NULL,
      `line_item` varchar(11) NOT NULL,
      `as400_ship_date` date DEFAULT NULL,
      `hold_reason` text NOT NULL DEFAULT '0',
      `hold_date` date DEFAULT NULL,
      `insert_time` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'time order was inserted',
      PRIMARY KEY (`id`),
      KEY `job_line` (`job_number`,`line_item`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    COMMIT;

    And here is some sample data that matches what I am looking for:

    INSERT INTO `production_data` (`id`, `job_number`, `enterprise`, `part_number`, `description`, `psm`, `qty`, `line_item`, `as400_ship_date`, `hold_reason`, `hold_date`, `insert_time`) VALUES
    (22277, 23669401, 'BURGER', 'BK9009FM.20CLDWG', 'BURGER KING 9\'OAH CLEARNCE BAR WOODGRAIN||20/20 DESIGN WOOD GRAIN VINYL BOTH SIDES||DWG||DOES NOT INCLUDE ANCHOR BOLTS||', 'S', 1, 'D', '2021-11-22', '', '0000-00-00', '2021-07-14 11:35:27'),
    (22276, 23669401, 'BURGER', 'BK7010BA.OCUWG', 'BURGER KING BOLTS FOR 9\'OAH OCU CANOPY||(4) 3/4\"DIAX48\" BOLTS||HIGH STRENGTH||W/HHN AND WASHERS AND TEMPLATE||', 'S', 1, 'E', '2021-11-22', '', '0000-00-00', '2021-07-14 11:35:27'),
    (22278, 23669401, 'BURGER', 'BK9010FM.OCUWG49LG', 'BURGER KING 9\'OAH OCU CANOPY 49\" LG||DISPLAY WOOD GRAIN VINYL BOTH SIDES||DWG BK7067CP_OCU_2019_3DR3  #195336||DWG BK7067CP_OCU_ADPTRKIT2019||', 'S', 1, 'C', '2021-11-22', '', '0000-00-00', '2021-07-14 11:35:27'),
    (22272, 23669401, 'BURGER', 'BK1072CS.20', 'BURGER KING 6\' DIA ID SF SGN||20/20 DESIGN||GE TETRA MAX LEDS WITH 3\" RETURN||', 'S', 1, 'A', '2021-11-22', '', '0000-00-00', '2021-07-14 11:35:27'),
    (38162, 23669401, 'BURGER', 'BK3023RF.0V', 'BURGER KING 1\'7x3 DIR FACE||(1) DRIVE THRU(ARROW RIGHT)/(ARROW LEFT)||DRIVE THRU||', 'M', 2, 'F', '2021-11-22', '', '0000-00-00', '2021-12-06 12:35:25'),
    (38163, 23669401, 'BURGER', 'BK7009BA.20CLWG', 'BURGER KING BOLTS FOR 9\'OAH CLEARANCE||(4) 1\"DIAX42\" BOLTS||HIGH STRENGTH||W/HHN AND WASHERS AND TEMPLATE||', 'S', 1, 'F', '2021-11-22', '', '0000-00-00', '2021-12-06 12:35:25');
    COMMIT;

    I'm trying to make a query that grabs items like 38162 and 38163 that have the same job_number but duplicate line_items as well as any job_numbers that have empty values for line_items.

  11. Yes I guess that sums it up..I was just tinkering with AWStats and I made a backup of the original access log and created a new one. It imported that information fine. The line it has a problem with in the original file looks like this:

    Quote

    This means each line in your web server log file need to have "common log format" like this:
    111.22.33.44 - - [10/Jan/2001:02:14:14 +0200] "GET / HTTP/1.1" 200 1234
    And this is an example of records AWStats found in your log file (the record number 50 in your log):
    ::1 - - [13/Jul/2020:06:47:04 -0500] "-" 408 -

    I would assume the ::1 was when I accessed the page internally from the server. I wonder if there is a way for it to ignore problem lines.

  12. Good morning everyone!

    I was just looking to pick everyone's mind on something I would like to do...

    So, Apache has it's access log already which essentially already does most of what I want but it stores it in a flat file that is always large and even if it isn't it still doesn't provide me with everything I want to be able to do.

    I would like to be able to store all of that type of information (url requests whether coming from front-end ajax or a backend script and any parameters within the URL) and the user_id that is stored within a $_SESSION.

    Does anyone have any thoughts on how this could be accomplished? I built this little function just for testing purposes:

    function log_uri ( $pdo ) {
    
    	//check that user is set
    	if ( isset ( $_SESSION['user_id'] ) ) {
    
    		$query = '
    			INSERT INTO log_uri (user_id, uri) VALUES (:user_id, :page) 
    		';
    		$statement = $pdo->prepare($query);
    		$statement->execute([
    			':user_id' => $_SESSION['user_id'],
    			':page' => $_SERVER['REQUEST_URI'],
    		]);
    
    	}
    
    }

    But, it does not do what I want. Mainly, because it is only catching backend requests and not any of multiple AJAX requests that are happening very often and are of more interest to me than the back end requests. Here is what it a sample of what it captures so far:

    image.png.37e0d026828ca1afe824d84bc55b9527.png

    Any thoughts? Maybe there is a way to detect any ajax response or something? Or maybe I can modify the Apache logging system to go into a database and hopefully pick up the user_id?

  13. Okay so I've modified the query to get the additional data I needed and it works fine until I add the 'AND a.job_number LIKE :search'

    It doesn't return any records no matter what value I put in for the :search. Am I doing something wrong here?

    SELECT
        lr.ref_request_id,
        a.job_number,
        a.enterprise,
        a.line_item,
        a.insert_time,
        a.description,
        l.make,
        l.description,
        lr.qty,
        log.name AS issued_to,
        lr.submit_time AS issue_date
    FROM
        production_data_archive a
    LEFT JOIN production_data_archive b ON
        a.job_number = b.job_number AND a.line_item = b.line_item AND a.insert_time < b.insert_time
    LEFT JOIN leds_requests lr ON
        lr.order_id = a.order_id AND lr.status_id = 2
    LEFT JOIN leds l ON
        l.id = lr.product_id
    LEFT JOIN login log ON
        lr.issued_to = LOG.user_id
    WHERE
        b.job_number IS NULL AND a.order_id IN(
        SELECT
            order_id
        FROM
            leds_requests
        WHERE
            status_id = 2
    ) AND a.job_number LIKE :search

     

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.