In the past, we used a number of weekly newspaper tools to complete the project team or department of the weekly completion and assessment work, but somewhat unsatisfactory, or the function is too simple, or the function is particularly complex, not connected to the atmosphere, the use of inconvenience.
Later, we consider ourselves to develop a simple, practical, easy-to-use, grounding gas weekly reporting system.
Technology selection:
ASP. NET MVC + Razor view engine, jQuery, database SQL Server R2
Microsoft Enterprise Library
The data access layer uses its own ORM solution
This is a relatively simple and basic system, the use of the technology is very basic, the following I will be a simple review and summary of the development process.
About ASP. NET MVC
Development efficiency is very high, for enterprise-class applications, can easily build a robust, well-developed projects, and can make the code has very good readability. For the people who have the foundation of web Development Basic no difficulty, plus Microsoft's products have always been to normal human use , so it is very easy to master, of course, to make excellent web applications, in-depth learning and understanding is essential, Master led the door, practice in the individual.
About the Razor view engine
For enterprise-level development, the biggest advantage of Razor is its outstanding productivity and extremely high code readability and maintainability. If you have not contacted, you can simply understand Razor as a strong type of template engine (of course this is not accurate), the entire View, is an HTML template, in this template, you can use a strongly typed way to access the model associated with the View, whether in the HTML code , or JavaScript code, and the ability to dynamically output HTML or JavaScript code through a series of helper classes, Razor is highly interactive.
About JQuery
There's nothing special about that. Productivity + + +
About ORM
In this system, using the weak type of own ORM system, in the previous blog post I have done a detailed introduction.
Table structure Design
In addition to the basic organizational structure, roles, people, and permissions of these tables, the weekly Report table uses a one-to-many two-off correlation, a main table is used to store the weekly newspaper main information, the sub-table is used to store the weekly newspaper content entries, that is, a weekly newspaper, is a number of data organization together.
In order to facilitate the statistical analysis of data and query, weekly Report on the week, date, month and so on to do the redundancy.
In addition, a common underlying function of the weekly report system is the calculation of the weekly, directly affixed to the code
/// <summary> ///gets the specified date, in the first week of the year/// </summary> /// <param name= "DT" >Specified Time</param> /// <reutrn>return to the first week</reutrn> Public Static intgetweekofyear (DateTime DT) {GregorianCalendar GC=NewGregorianCalendar (); intWeekOfYear =GC. Getweekofyear (DT, Calendarweekrule.firstday, dayofweek.monday); returnWeekOfYear; } /// <summary> ///gets the week ordinal of the month that the specified date is/// </summary> /// <param name= "DT" ></param> /// <param name= "Weekstart" ></param> /// <returns></returns> Public Static intgetweekofmonth (DateTime dt) {intWeekstart =1; //Weekstart//1 means a week from Monday to Sunday//2 means a week from Sunday to SaturdayDateTime Firstofmonth; Firstofmonth= Convert.todatetime (dt. Date.year +"-"+ dt. Date.month +"-"+1); inti = (int) FirstofMonth.Date.DayOfWeek; if(i = =0) {i=7; } if(Weekstart = =1) { return(dt. Date.day + i-2) /7+1; } if(Weekstart = =2) { return(dt. Date.day + i-1) /7; } return 0; //Error return value 0 } /// <summary> ///calculate the starting date of the week (day of Monday)/// </summary> /// <param name= "Somedate" >any day of the week</param> /// <returns>returns the day of the week, followed by the exact time, minute, second, and incoming values equal</returns> Public Staticdatetime calculatefirstdateofweek (datetime somedate) {inti = Somedate.dayofweek-Dayofweek.monday; if(i = =-1) i =6;//The I value > = 0, because the enumeration reason, Sunday ranked in the front, at this time sunday-monday=-1, must +7=6. TimeSpan ts =NewTimeSpan (I,0,0,0); returnsomedate.subtract (TS); } /// <summary> ///Calculate the end date of the week (Day of the week)/// </summary> /// <param name= "Somedate" >any day of the week</param> /// <returns>returns the day of the week, followed by the exact time, minute, second, and incoming values equal</returns> Public Staticdatetime calculatelastdateofweek (datetime somedate) {inti = Somedate.dayofweek-DayOfWeek.Sunday; if(I! =0) i =7I//for enumeration reasons, the Sunday is ranked first, minus the interval of 7. TimeSpan ts =NewTimeSpan (I,0,0,0); returnsomedate.add (TS); }
Final completion of functions and effects:
One: The completion of the weekly report;
1) The "Work Type", "Work task" and "completion" in the weekly report are freely configured as the basic data;
2) "Work Type", "Work task" simply set the name can be, no complicated participants in charge of progress time and other data, the industry has specialized, this part of the work to project management software processing, in addition, weekly and performance evaluation of the use of the scene is not only the project development, the team or traditional enterprises do not need to have "project" Concept, only one job category is required.
3) The weekly report can be queried by the organization or by individual;
Second: Assessment function
1) can freely set up the assessment of the relationship between personnel, not with the organization, because most of the time the project leader or department leadership will not directly assess each individual, there are also temporary secondment of personnel, and the organization is not necessarily identical;
2) Assessment items can be freely configured, according to their own needs to add to the assessment of the items, such as the completion of work, the quality of work, whether overtime, etc., the results can be set scores, for performance statistics;
Three: Statistics
1) According to the specified time period, to the designated organizational structure of the staff through the review of the weekly summary, and the assessment score cumulative ranking, the work performance of the personnel at a glance.
Four: Other
Complete organization management, personnel management, role rights management functions, can continue to develop on this basis.
I have already completed the function to deploy on the public network, can visit the address: http://e.zkebao.com view
Can be used at this address free of charge, I will continue to update the maintenance of it, welcome criticism.
ASP (Razor) Development << Weekly and performance appraisal system >> summary and sharing