ApplyFormServiceImpl.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. package com.bowintek.practice.services.impl;
  2. import com.bowintek.practice.mapper.CfApplyFormMapper;
  3. import com.bowintek.practice.mapper.CfApplyFormReviewerMapper;
  4. import com.bowintek.practice.mapper.CfApplyFormWellFileMapper;
  5. import com.bowintek.practice.mapper.cquery.ApplyFormCQuery;
  6. import com.bowintek.practice.model.CfApplyForm;
  7. import com.bowintek.practice.model.CfApplyFormReviewer;
  8. import com.bowintek.practice.model.CfApplyFormReviewerExample;
  9. import com.bowintek.practice.model.CfApplyFormWellFile;
  10. import com.bowintek.practice.services.service.ApplyFormService;
  11. import com.bowintek.practice.services.service.system.RoleService;
  12. import com.bowintek.practice.vo.system.AnnouncementModel;
  13. import com.bowintek.practice.vo.user.UserInfoModel;
  14. import com.github.pagehelper.PageHelper;
  15. import com.github.pagehelper.PageInfo;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Component;
  18. import org.springframework.transaction.annotation.Propagation;
  19. import org.springframework.transaction.annotation.Transactional;
  20. import java.util.Date;
  21. import java.util.HashMap;
  22. import java.util.List;
  23. import java.util.UUID;
  24. @Component
  25. public class ApplyFormServiceImpl implements ApplyFormService {
  26. @Autowired
  27. private ApplyFormCQuery applyFormCQuery;
  28. @Autowired
  29. private CfApplyFormMapper applyFormMapper;
  30. @Autowired
  31. private CfApplyFormReviewerMapper reviewerMapper;
  32. @Autowired
  33. private CfApplyFormWellFileMapper wellFileMapper;
  34. @Autowired
  35. private RoleService roleService;
  36. @Override
  37. public PageInfo<HashMap<String, Object>> selectApplyFormList(int page, int rows, String userID, String applyUserName, String reviewerUserId, String beginDate, String endDate) {
  38. PageHelper.startPage(page, rows);
  39. List<HashMap<String, Object>> dataList = applyFormCQuery.selectApplyFormList(userID, applyUserName, reviewerUserId, beginDate, endDate);
  40. PageInfo<HashMap<String, Object>> result = new PageInfo(dataList);
  41. return result;
  42. }
  43. @Override
  44. @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
  45. public int submit(String reason, List<CfApplyFormWellFile> docList, String userId, String userName) {
  46. CfApplyForm applyForm = new CfApplyForm();
  47. applyForm.setApplyId(UUID.randomUUID().toString());
  48. applyForm.setApplyDate(new Date());
  49. applyForm.setStatus(1);
  50. applyForm.setApplyUserId(userId);
  51. applyForm.setApplyUserName(userName);
  52. applyForm.setReason(reason);
  53. applyFormMapper.insert(applyForm);
  54. docList.forEach(file -> {
  55. file.setWellFileId(UUID.randomUUID().toString());
  56. file.setApplyId(applyForm.getApplyId());
  57. wellFileMapper.insert(file);
  58. });
  59. List<UserInfoModel> roleUserList = roleService.selectRoleUserByRolename(new String[]{"文件管理员"});
  60. roleUserList.forEach(user -> {
  61. CfApplyFormReviewer reviewer = new CfApplyFormReviewer();
  62. reviewer.setReviewerId(UUID.randomUUID().toString());
  63. reviewer.setApplyId(applyForm.getApplyId());
  64. reviewer.setReviewerUserId(user.userId);
  65. reviewer.setReviewerUserName(user.userName);
  66. reviewerMapper.insert(reviewer);
  67. });
  68. return 1;
  69. }
  70. @Override
  71. @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
  72. public int approve(CfApplyFormReviewer reviewer, String userId) {
  73. CfApplyFormReviewerExample example = new CfApplyFormReviewerExample();
  74. example.or().andApplyIdEqualTo(reviewer.getApplyId()).andReviewerUserIdEqualTo(userId);
  75. reviewerMapper.updateByExampleSelective(reviewer, example);
  76. CfApplyForm applyForm = new CfApplyForm();
  77. applyForm.setApplyId(reviewer.getApplyId());
  78. applyForm.setStatus(reviewer.getReviewerAction() == 1 ? 2 : 3);
  79. applyFormMapper.updateByPrimaryKeySelective(applyForm);
  80. return 1;
  81. }
  82. @Override
  83. public List<HashMap<String, Object>> selectApplyFormFileList( String applyId,Integer status,String applyUserId) {
  84. List<HashMap<String, Object>> dataList = applyFormCQuery.selectApplyFormFileList(applyId,status,applyUserId);
  85. return dataList;
  86. }
  87. }