一个完整的企业网站怎么做wordpress 分类目录模板
2026/4/18 16:34:53 网站建设 项目流程
一个完整的企业网站怎么做,wordpress 分类目录模板,杰商网站建设,销售网站html源码外包项目信息系统 一、需求说明 外包比赛项目发布与任务管理系统#xff1a; 1、 系统账号分为三类#xff0c;均允许自行注册#xff1a;发包方#xff08;发布项目、查看当前账号的项目详情与开发任务进度、验收项目#xff09;、承包方管理员#xff08;承包项目、…外包项目信息系统一、需求说明外包比赛项目发布与任务管理系统1、 系统账号分为三类均允许自行注册发包方发布项目、查看当前账号的项目详情与开发任务进度、验收项目、承包方管理员承包项目、查看已经承包的项目详情与开发任务进度、设置项目开发任务、分配任务、承包方开发人员查看当前分配的开发任务、完成任务、注此类账号由承包方管理员创建2、 关于项目创建时至少包含名称、项目说明、期望完成时间、项目需求文档附件形式等内容此时状态为初始化发布后改变为已发布即允许承包方管理员在已发布项目列表中选择承包。一个项目只允许一个承包方承包。3、 承包后承包方管理员可创建开发人员账号在承包项目中根据项目需求文档分解并创建开发任务包含任务名称、开发内容、设计文档(附件形式)、预计人天、实际人天、开始时间、结束时间状态为初始化。分配给开发人员后任务状态为已分配并设置开始时间。4、 开发人员完成开发后即可完成任务需要设置任务状态为已完成并设置结束时间并计算实际人天按照每日 8 小时计算去掉周末。5、 当所有开发任务均已完成承包方管理员可发起验收项目状态改为待验收发包方验证通过后项目即可验收通过项目状态改为已验收6、 项目与开发任务查看功能可查看所有项目信息加入汇总字段开发人数、实际人天数、项目开发开始与结束时间等与其下的所有开发任务情况并展示每个任务预计人天与实际人天对比建议任务以卡片列表的形式展现。发包方创建并发布项目承包方承包项目后对开发人员进行任务分配开发人员上传任务结果并填写任务完成时间完成任务所有任务完成后承包方管理员对任务进行检查后上传项目工程发起验收最后发包方验收项目。二、系统功能说明用户管理管理员类用户注册找回密码开发人员用户注册承包方管理员进行开发人员的注册发包方管理员 sendadmin1.注册、找回、登录2.创建项目、发布项目3.未发布的项目可以删除、已发布但未被承包的项目可以撤回4.查看未发布、已发布未被承包、开发中、待验收、已验收项目列表5.以上各项目列表页均可根据项目名进行模糊查找6.开发中项目列表页可查看项目开发进度7.验收项目和已验收项目列表页可查看发人员名单、下载项目工程8.验收项目功能承包方管理员 readmin1.注册、找回、登录2.承包项目3.对承包的项目进行任务分配与开发人员的设置4.查看待开发、开发中、等待检查、待验收、已验收项目列表5.以上各项目列表页均可根据项目名进行模糊查找6.开发中项目列表页可通过查看开发人员任务信息查看项目开发进度7.待检查项目列表页可查看任务信息下载任务工程上传项目工程并发起验收8.待验收和已验收项目列表页可查看发人员名单、下载项目工程开发人员 reuser1.登录2.查看项目详情可下载项目需求文档3.查看任务详情并可下载任务需求文档3.完成任务后上传任务工程填写任务完成时间4.查看已完成的任务并可下载任务工程三.数据库设计用户表 user字段名称数据类型字段编号bigintid主键用户名varcharname密码 1varcharpassword密码 2varcharrepassword身份证号varcharcardid角色varcharrole管理员 idbigintleadid项目表 projects字段名称数据类型字段编号bigintPid主键名称varcharproname期望完成时间datetimeexpecttime项目需求文档varcharprodocument状态varcharstate项目说明varcharproexplain发包方 idbigintsendid承包方 idbigintreceiveid发包方varcharsendname承包方varcharrename项目开始时间datetimepstarttime项目完成时间datetimependtime预计人天bigintpexpectdays实际人天bigintpfactdays开发人数bigintdevnumbers已完成任务数bigintcomnumbers项目工程varcharfinalpro任务表 task字段名称数据类型字段编号biginttid任务名varchartaskname项目 idbigintpid开发人员 idbigintuid开发人员varcharusername开发人员密码varcharupassword项目名varcharproname承包方varcharrname承包方 idbigintreid任务状态varchartstate开发说明varchartaskexplain任务设计文档varchartaskdocument开始时间datetimestarttime完成时间datetimeendtime预计人天bigintexpectdays实际人天bigintfactdays任务工程varcharTaskupload期望完成时间varcharTexpecttime四、功能截图登录界面用户注册找回密码发包方管理端创建项目未发布列表页待承包列表页开发中项目列表待验收项目列表并验收项目已验收项目列表承包方管理端项目信息发布网承包项目待开发项目列表任务分配开发中查看项目进度检查项目上传工程并验收待验收项目列表已验收项目列表开发人员端查看项目信息查看任务信息完成任务查看已完成的任务E—R 图部分关键代码UserService 方法void create(User user); //创建用户 User getUser(long id); //用过id查找用户 User getUserCardid(String cardid); //用过cardid查找用户 User getUser(String name,String password); //通过用户名和密码查找用户 User getUser(String name); //通过用户名查找用户 ProjectsService部分方法 void create(Projects projects); //创建项目 ListProjects getStartoneProjectList(Long sendid, String pstate); //获取当前用户未发布的项目列表 ListProjects getStarttwoProjectList(Long receiveid, String pstate); //获取当前用户待承包的项目列表 Projects getProject(long pid); //根据项目pid查找项目 ListProjects getProjectList(Long pid); //根据项目pid查找项目列表 int deleteProject(Long pid); //根据pid删除项目 ListProjects getALLProjectList(String pstate); //获取所有已发布的项目列表 ListProjects getALLdevProjectList(String pstate1 ,String pstate2 ,String pstate3 ,String pstate4); //获取所有正在开发的项目列表 ListProjects getALLSenddevProjectList(Long sendid ,String pstate1 ,String pstate2); //获取所有已验收的项目列表 ListProjects getLikeSendidStateList(Long sendid ,String pstate ,String proname); //模糊查询项目列表 ListProjects getLikeSendtwoStateList(Long sendid ,String pstate1 ,String pstate2 ,String proname); //模糊查询项目列表 ListProjects getLikereidStateList(Long receiveid ,String pstate ,String proname); //模糊查询项目列表Task 部分方法:void create(Task task); //创建任务 ListTask getDeveloptaskList(Long id, String tstate); //获取当前用户未发布的项目列表 int CountTasknumbers(Long pid); //统计项目任务数量 Long CountTaskExpectdays(Long pid); //统计预计人天 Long CountTaskFactdays(Long pid); //统计实际人天 ListTask getDevuserList(Long pid); //获取任务列表 Task getUsertTask(Long uid); //获取当前用户任务 Long CountCompletetask(Long pid, String tstate); //统计已完成任务数量 Long Countdays(Long uid); //计算实际人天 Task getMaxEndtime(Long pid); //找出最大完成时间 /** * 管理员注册 */ // UserLoginToken RequestMapping(value /registeradmins,method RequestMethod.POST) public RString Registeradmin(RequestBody User user){ if (user.getName().equals()){ return R.fail(用户名不能为空); } User user1 service.getUser(user.getName()); User user2 service.getUserCardid(user.getCardid()); if(user1 ! null) { return R.fail(用户已存在); } else if(user.getPassword().equals()){ return R.fail(请设置密码); } else if(!user.getPassword().equals(user.getRepassword())){ return R.fail(两次密码不一致); } else if(user.getCardid().equals()){ return R.fail(请输入身份证号); } else if(user2 ! null){ return R.fail(身份证号已存在); } else if(user.getRole().equals()){ return R.fail(请选择用户类型); } else { user.setSalt(Hashkit.generateSalt(8)); user.setPassword(Hashkit.md5(user.getPassword()user.getSalt())); service.create(user); return R.success(创建成功); } } /** * 创建项目 */ UserLoginToken RequestMapping(value /createprojects,method RequestMethod.POST) public RString Createproject(RequestBody Projects projects, HttpServletRequest httpServletRequest){ //获取Token String token httpServletRequest.getHeader(token); //通过token获取当前用户的id JwsClaims jwt Jwts.parser().setSigningKey(R.KEY).parseClaimsJws(token); Long sendid jwt.getBody().get(id,Long.class); Date date new Date(); java.sql.Date nowtime new java.sql.Date(date.getTime()); if (projects.getProname().equals()){ return R.fail(请设置项目名称); } else if (projects.getExpecttime() null){ return R.fail(请设置期望完成时间); } else if ( nowtime.compareTo(projects.getExpecttime()) -1){ return R.fail(期望完成时间应大于当前时间); } else if (projects.getProdocument().equals()){ return R.fail(请上传项目需求文档); } else if (projects.getProexplain().equals()){ return R.fail(请填写项目说明); } else { User user userService.getUser(sendid); projects.setSendid(sendid); projects.setSendname(user.getName()); projects.setPstate(未发布); projectsService.create(projects); return R.success(项目创建成功); } } /** * 创建任务 */ UserLoginToken RequestMapping(value /createtasks,method RequestMethod.POST) public RString Createtask(RequestBody Task task, HttpServletRequest httpServletRequest){ //获取Token String token httpServletRequest.getHeader(token); //通过token获取当前用户的id JwsClaims jwt Jwts.parser().setSigningKey(R.KEY).parseClaimsJws(token); Long readminid jwt.getBody().get(id,Long.class); Projects projects projectsService.getProject(task.getPid()); if (task.getTaskname() null){ return R.fail(请填写任务名); } else if (task.getStarttime() null){ return R.fail(请设置任务开始时间); } else if ( projects.getPstarttime().compareTo(task.getStarttime()) -1){ return R.fail(任务开始时间应大于项目开始时间); } else if (task.getTexpecttime() null){ return R.fail(请填写任务期望完成时间); } else if ( task.getStarttime().compareTo(task.getTexpecttime()) -1){ return R.fail(任务期望完成时间应大于任务开始时间); } else if ( task.getTexpecttime().compareTo(projects.getExpecttime()) -1){ return R.fail(任务期望完成时间应小于项目期望完成时间); } else if (task.getTaskexplain() null){ return R.fail(请填写任务说明); } else if (task.getTaskdocument() null){ return R.fail(请上传任务需求文档); } else if (task.getUsername() null){ return R.fail(请设置开发人员用户名); } else if (task.getUpassword() null ){ return R.fail(请设置开发人员密码); } User user new User(); User user2 userService.getUser(readminid); User user1 userService.getUser(user2.getName()task.getUsername()); if (user1 ! null){ return R.fail(用户已存在); } user.setName(task.getUsername()); user.setName(user2.getName()user.getName()); user.setPassword(task.getUpassword()); user.setRepassword(task.getUpassword()); user.setLeadid(readminid); user.setRole(user); user.setSalt(Hashkit.generateSalt(8)); user.setPassword(Hashkit.md5(user.getPassword()user.getSalt())); task.setTstate(开发中); userService.create(user); User user3 userService.getUser(user.getName()); task.setUid(user3.getId()); task.setFactdays(0L); task.setExpectdays(task.getUid()); taskService.create(task); return R.success(任务创建成功); } /** * 文件上传 */ PostMapping(/uploadfile) ResponseBody public String uoload(RequestParam(file) MultipartFile file) throws IOException{ log.info([文件类型]-[{}],file.getContentType()); log.info([文件名称]-[{}],file.getOriginalFilename()); log.info([文件大小]-[{}],file.getSize()); //文件上传的目录 file.transferTo(new File(E:\\uploadproject\\file.getOriginalFilename())); return file.getOriginalFilename(); //JwsClaims jwt Jwts.parser().setSigningKey(R.KEY).parseClaimsJws(token); } /** * 文件下载 */ UserLoginToken ResponseBody RequestMapping(value /downloadfile/{prodocument},method RequestMethod.GET) public RString downloadfile(PathVariable String prodocument) throws IOException { String url1 E:\\uploadproject\\prodocument;// 源文件路径 String url2 E:\\downloadproject\\prodocument; // 复制到目标路 FileInputStream in new FileInputStream(new File(url1)); FileOutputStream out new FileOutputStream(new File(url2)); byte[] buff new byte[512]; int n 0; while ((n in.read(buff)) ! -1) { out.write(buff, 0, n); } out.flush(); in.close(); out.close(); return R.success(已成功下载prodocument); }♻️ 资源大小2.57MB➡️资源下载https://download.csdn.net/download/s1t16/87404253注更多内容可关注微信公众号【神仙别闹】如当前文章或代码侵犯了您的权益请私信作者删除

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询