Code Monkey home page Code Monkey logo

job-management-tracking-system's People

Contributors

desbenn avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

job-management-tracking-system's Issues

System Core Updates

  • Increase the height of the header to avoid scrolling.
  • Implement SystemActionListener with doDefaultSearch() that can be implemented by JM and other managers. Transfer the index.xhtml in JobManager to SystemManager and use it instead.
  • Get rid of use of initManagers() and let each manager get what they need from JM or SM.
  • Remember to check that default search works when modules are added.
  • Move login, authentication, user management and preferences dialog to system manager. Use listeners pattern to link SM with other managers like what was done for login.
  • Move the dashboard and maintab view to SM and use listener pattern to link with other managers similar to what is done with login.
  • Merge WAR project with System Management project and get rid of WAR project.
  • The sample reference does not seem to change when the current sample quantity value is changed.
  • Fix issue where sample references get messed up when one is deleted. May have to implement sorting as is done with other classes such as Department.
  • Implement completeLogout() to do clean up of fields when an admin user logs out then a non-admin user logs in. This is to prevent the a non-admin user from gaining admin privileges.
  • Implement search on the BusinessOffice field in the Job class.
  • Create projects for each module and move the relevant code to these projects.
  • Investigate the cause of the following:
Costing and payment save error occurred!
An error occurred while saving the job costing and payment: javax.persistence.RollbackException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '1554139-1554160' for key 'PRIMARY'
Error Code: 1062
Call: INSERT INTO jobcostingandpayment_costcomponent (costComponents_ID, JobCostingAndPayment_ID) VALUES (?, ?)
        bind => [2 parameters bound]
Query: DataModifyQuery(name="costComponents" sql="INSERT INTO jobcostingandpayment_costcomponent (costComponents_ID, JobCostingAndPayment_ID) VALUES (?, ?)")
  • Add selectone to the organization dialog called "departmentLabel" that can be set to "Branch" or "Department" for example. Add departmentLabels option to test and production systems.
  • Add new client while editing an existing or new job try get the persistence error persons have been getting.
  • The delete payment dialog text does not show (well) in dark hive. Fix using p:panel to wrap the content.
  • Add list of countries in a multiple autocomplete for other markets. Add "otherMarkets" list of Country classes for this. Add dialog to add new country. NOT DONE
  • Set address type to billing for new addresses.
  • Send error email for only job save related exceptions. Not messages pertaining
    to privileges. NOT DONE
  • When a new job is created and the dialog box is closed, do a search with the sequence number and "this month" as search parameters. This would show the recently enter job. NOT DONE.

Accounts Receivables (A/R) Features Update

  • Implement command link for accounting codes column that brings up a dialog box for choosing service, tax and discount. Also check that discount code is in the accounting codes list if applicable. Changing an item should trigger the re calculation of the costing.
  • See where currencies can be rounded (to 2 decimal places) and stored to avoid the "0.01 remainder" issue.
  • Implement finding by both client name and id in the "Client Id" column of the Job Costings table. Done
  • Update and deploy the A/R feature to show the Accounting (Distribution/Income) codes in the Job Costings view. Implement getAccountingCodes(Job job) for this. Done
  • Remove header cost components from invoice items. Implement a method to do this in the JobFinanceManager class. Done
  • Implement findActiveAccountingCodes() in AccountingCode to find by other fields. Done
  • Implement forcing the selection of only one service at a time using a system option. Implement the enableAllServices method for this.
  • Document the JobContractManager class.
  • Complete documentation of the JobFinanceManager class.
  • "Det'n, Rehab. & Insp'n" requested service does not cause the selection of any service. "MISC" is selected instead. Check if this happens for other services. Done
  • Make the services autocomplete read only or disabled (for now) except for sysadmin.
  • Change "cement testing" check box to add "Compliance monitoring services" instead. Also change the name to "Compliance monitoring services". May have to wrap the code in try catch.
  • Put default tax in department class and use it to set tax wen the department is selected if applicable. Create "billing/costing" tab in department dialog to include the default tax and other relevant financial fields. An "activatable" autocomplete field can be put beside the "Apply taxes to job costing" privilege check box for this.
  • Allow access to classifications tab in Fin Admin.
  • Take HRM out of SysAdmin so it can be accessed by users such as Finance employees that are not system administrators.
  • "Job completed by" in status and tracking tab is a shorter than the others. Fix this here although it is Core System feature.
  • On job costing exported form only put the contact # and details for just the contact for the
    job and not all contacts.
  • Add job costing form to the Form templates tab in Business entities tab and stop using system options to get the template file.
  • Move "Services" tab from System Management to Financial Management project.
  • Implement prompt for the inclusion of the subcontracted job costing into the parent job costing.
  • Implement filtering the list of job costings in the job costings table by cost that fall within a range for example.

Exceptions

  • See what could have caused the following:
    An undefined error occurred while saving job 56/2019/5379/25:
    Costing and payment save error occurred!
    An error occurred while saving the job costing and payment: javax.persistence.RollbackException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
    Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '1580527-1582675' for key 'PRIMARY'
    Error Code: 1062
    Call: INSERT INTO jobcostingandpayment_costcomponent (costComponents_ID, JobCostingAndPayment_ID) VALUES (?, ?)
    bind => [2 parameters bound]
    Query: DataModifyQuery(name="costComponents" sql="INSERT INTO jobcostingandpayment_costcomponent (costComponents_ID, JobCostingAndPayment_ID) VALUES (?, ?)")

  • See what caused:
    Job number: 30/2019/7175
    JMTS User: RTingle
    Date/time: Tue Sep 17 15:51:22 GMT-05:00 2019
    Detail: Undefined Error!
    An undefined error occurred while saving job 30/2019/7175:
    Job save error occurred!
    An error occurred while saving job 30/2019/7175
    javax.persistence.RollbackException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
    Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '1602469-1549415' for key 'PRIMARY'
    Error Code: 1062
    Call: INSERT INTO job_service (services_ID, Job_ID) VALUES (?, ?)
    bind => [2 parameters bound]
    Query: DataModifyQuery(name="services" sql="INSERT INTO job_service (services_ID, Job_ID) VALUES (?, ?)")

Website

  • create the JMTS logo in InkScape using the same design as the DPB&A logo but with different colors. Not done.
  • Add heading to the intro page ie The Job Management & Tracking System (JMTS).
  • Put drop down at top and list of content topics at bottom and remove component hiding features.
  • Put User Guide as the title for all user guide posts. Put the topic as the page heading.
  • Use collections instead of posts for user guide content. Update search feature to search collections instead of posts.
  • Use Bootstrap list for table of contents.
  • Use user guide and news as menu items instead of jmts. Change blog file to news. Name, title or subject for each post are the same. Fix.
  • Implement navigation of user guide pages with previous and next buttons. Use default style for buttons and dropdowns?
  • Include github wiki then delete the github wiki.
  • Change the intro on the wiki.
  • Implement navigation of wiki pages with previous and next buttons. Fix up content as is done for user guide.
  • Create logo and use for favicon. Not done.
  • Implement search for blog post and wiki pages separate from user guide topics.
  • Consider using github pages with a layout/template similar to http://jekyll-windows.juthilo.com/. The left side of the page would be frozen while the right side is scrollable.

Database Design and General Enhancements

  • Set the title for the client dialog before a client is added or edited.
  • Implement the copying of jobs. Remove from the menu of the jobs table edit button and put it only in the "subcontract" menu in the job dialog instead. Change menu name from "Subcontract" to "Copy" or "Duplicate".
  • Look back at fields that are copied or created when a job is subcontracted.
  • Include Standards Compliance module.
  • Change the COMMENT field in the job database table from 255 to 1024 using ALTER TABLE job MODIFY COMMENT VARCHAR(1024) ;
  • Implement assigning employees to departments.
  • Implement getting the organization (business) to which a user is assigned.
  • Add Business to the Job class and initialize it when a job is created or subcontracted. NB: Update relevant tables in all databases.
  • Child should be non earning internal for clarification. Make the default classification a Financial system option. Not done.
  • The Receipt & Service Agreement form needs adjustment to appropriately tackle impartiality requirements (some additional issues may also lead to other adjustments). Not done.
  • The JMTS needs adjustments to facilitate the new structure effects (e.g. Branches instead of departments, new names for Branches responsible for new jobs without affecting old names for Branches that were responsible for old jobs) in a way that doesn't adjust past job-entries since that would be like adjusting the old contracts after the fact or after job completion. Not done.
  • We need to be able to give MORE than two or three users the simultaneous privilege to approve a job-entry's costing/valuation and to complete/close a job-entry.
  • A child job-entry needs to automatically reject all other classification if it does not contain internal client or is not equal to Non-Earning - Internal Client Request. It also needs to be able to automatically put Bureau of Standards Jamaica as the client and reject any other client selection since a child job-entry cannot be for any other client. Add system option to set the default classification and client for subcontracts. Not done.
  • Permission issues which need fixing to ensure that only members of the unit/branch that created a job-entry, are allowed to edit essential components of the job-entry (i.e. components that would be reflected on the signed Receipt & Service Agreement). Add system option to enable/disable this feature and add to all deployed JMTS. Update all production databases with Privilege class fields etc. Add the "disable job field privilege" to a department.
  • Tidy up findJobsByDateSearchField() and merge sampleSearchWhereClause into the main search clause. Discontinue the use of includeSampleSearch.
  • Implement "My Jobs" and "My Department's Jobs" by joining the query to the "business table" and searching the "staff". Test Monthly report before and after deploying update to the job search query. Test by adding name as a representative. Test changing the completion status of a job.
  • Test finding and editing jobs entered last year. The query currently not returning these jobs possible because of the new join statement that includes new entities.
  • The ability for a single user to be recognized as being assigned to 2 or more departments/branches/units so that this user is able to properly and efficiently review jobs related to his/her department. Currently, setting search type to "general" is not an efficient way of resolving this matter as it clutters the view with jobs from/for every other department/branch/unit.
  • Do not allow general staff to view parent job and univoiced jobs? Test with clewis then reactivate authentication.
  • Include current version of the jmts as system option. Call it JMTSVersion.
  • Implement job search with no date period called "Any" as the date period. Not done.
  • See if dashboard tab can be made closeable. Not done.

Reporting

  • The client report does not show the department. Fix.
  • End date for period such as 31/1/2020 12:00:00 AM shows Feb 1 2020 instead of Jan 1 2020. Could be due to the time 12:00 AM. Fix.
  • Deploy report module for development and testing. Modify code to prevent access to report templates.
  • The database field for report number seems to be too short and is causing an exception. Fix.
  • Create a report template that provides client details including client ID and contact information. Could update existing template for this.
  • Add TAT to "invoices reports". Not done.
  • Update financial reports to make use of discount and tax tables/objects. Not done.
  • See if two values can be combined into 1 column in SQL may be by using the SUM
    aggregate function. Use to sum deposit field value and the total cash payments
    if possible. Not done.
  • The uninvoiced jobs report is showing uninvoiced jobs as invoiced? Not checked out.
  • Modify uninvoiced and deposit reports to use "isearnining" field instead of
    classification name. Not done.
  • Edit and deploy all reports to production server and send email re formal requests for other reports as follows:
  • Note in JobStatusAndTracking class javadoc that costingDate and dateCostingCompleted
    are currently treated as the job costing preparation date. Not done.
  • Impl finance report showing jobs that are supposed to have deposits but don't
    "Jobs Requiring Deposits" as the report. Make use of client's credit limit. Not done.
  • Implement finding report by name and description. Not done.
  • Make sure the columns in Monthly Report (Mech) raw data sheet match the columns in MonthlyReport4. Add the "non-calculation" sheets in Monthly Report (Mech) to MonthlyReport4.
  • Export all the job record fields to MonthlyReport4 where possible.
  • Try to get the most recent jasper reports library ( >= 6.6.0) and use it with maven. This may lead to better exporting of reports to Excel as is done in JR Studio. Not done.
  • Close button on reports tab does not work. Fix.
  • Add amount paid to "Uninvoiced" and "Deposit" reports using an inner aggregate subquery. Not done.
  • Jobs without samples are not coming out in the engineering report raw data.
  • Add # of assessments etc . to eng report. Get clarification from GA.
  • Product common name and product not coming out in eng. report raw data. Fix.
  • Create a report template that shows the costings for parent jobs and their associated subcontract costings. Not done.

Installation

  • Put the following in the Wiki:
  • Application Server
    The following are to be addressed in the documentation pertaining to documentation:
  • Add instructions on how to setup custom error page as is done on APPSRV. Not done.
  • MySQL
    To remove ONLY_FULL_GROUP_BY issues configure MySQL in the my.cnf files as follows:
    [mysqld] sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Human Resource Management (HRM)

Tasks

  • Take HRM out of system admin.
  • Create HRM unit privilege flag. It it is null set its value to the sysadmin flag.
  • Create and add Contractor class based on the employee class to BEL/HRM.
  • To Organization/Business class add Divisions, Subgroups, Departments, Clients
  • Reload entities before opening dialogs. Start with employee.
    • Load from database using setSelected* in <f:setPropertyActionListener>
      and redo search in the "dialogReturn" method.
  • In departments tab in division dialog, list the departments that are in subgroups
    in addition to those that fall directly under the division.
  • Deploy and subgroup and division records.
  • Add code to generate "accounting codes" in Job Costing tab.
  • Deal with apparent creation of multiple
    "QEMS-OSH (Quality & Environmental Management Systems - Occupational Health & Safety)"
    department which seems to be due to the "&" character or "&". Try to delete the
    in active ones.
  • Impl searching for department on the code field.
  • Add head to division dialog.
  • Impl Labs and Department units.
  • Instead of Notes put head in Dept, Subgroup and Division tables.
  • In the relevant dialogs, layout fields as Code, Name, Head.
  • Add payCycle to EmployeePosition class. Should be in Payroll class too?
  • Fundamentals of Human Resource Management, pg 19
  • Look up Java API for PeopleSoft HRM app.
  • Trim names entered via any dialog.
  • Do not make the entry of the email address mandatory in the employee dialog. Make
    mandatory in the User dialog. This is so that the HR personnel is not forced
    know the email address of a new employee.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.