MouldMaintainServiceImpl.java 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. package com.hssx.cloudmodel.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.github.pagehelper.PageHelper;
  4. import com.github.pagehelper.PageInfo;
  5. import com.hssx.cloudmodel.constant.Constant;
  6. import com.hssx.cloudmodel.entity.*;
  7. import com.hssx.cloudmodel.entity.vo.MouldFileVO;
  8. import com.hssx.cloudmodel.entity.vo.MouldVO;
  9. import com.hssx.cloudmodel.entity.vo.UserVO;
  10. import com.hssx.cloudmodel.mapper.*;
  11. import com.hssx.cloudmodel.service.MouldMaintainService;
  12. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  13. import com.hssx.cloudmodel.util.FileUtil;
  14. import com.hssx.cloudmodel.util.HttpRespMsg;
  15. import com.hssx.cloudmodel.util.PageUtil;
  16. import org.springframework.stereotype.Service;
  17. import org.springframework.web.multipart.MultipartFile;
  18. import javax.annotation.Resource;
  19. import java.io.File;
  20. import java.io.IOException;
  21. import java.util.ArrayList;
  22. import java.util.List;
  23. import java.util.UUID;
  24. /**
  25. * @author 吴涛涛
  26. * @since 2019-08-13
  27. */
  28. @Service
  29. public class MouldMaintainServiceImpl extends ServiceImpl<MouldMaintainMapper, MouldMaintain> implements MouldMaintainService {
  30. @Resource
  31. UserMapper userMapper;
  32. @Resource
  33. MouldMaintainMapper mouldMaintainMapper;
  34. @Resource
  35. CompanyMapper companyMapper;
  36. @Resource
  37. CustomCompanyMapper customCompanyMapper;
  38. @Resource
  39. MouldMapper mouldMapper;
  40. @Resource
  41. ProjectApproveMapper projectApproveMapper;
  42. @Resource
  43. ProjectMapper projectMapper;
  44. @Resource
  45. ProjectUserMapper projectUserMapper;
  46. @Resource
  47. NewsNoticeMapper newsNoticeMapper;
  48. @Resource
  49. NewsNoticeUserMapper newsNoticeUserMapper;
  50. @Override
  51. public HttpRespMsg addMaintain(MultipartFile file, String path, MouldMaintain mouldMaintain, String token) {
  52. HttpRespMsg msg = new HttpRespMsg();
  53. Mould mould = mouldMapper.selectById(mouldMaintain.getMouldId());
  54. User user = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", token));
  55. //将之前的所有保养提醒消息更新成已读
  56. if (user != null) {
  57. if (!file.isEmpty()) {
  58. File dir = null;
  59. dir = new File(path);
  60. // D://cloud/upload 文件上传后所存储的位置,部署到服务器上时配置服务器地址即可
  61. if (!dir.exists()) {
  62. dir.mkdirs();
  63. }
  64. String fileName = "";
  65. if (file != null && !file.isEmpty()) {
  66. fileName = file.getOriginalFilename();
  67. mouldMaintain.setFileName(fileName);
  68. mouldMaintain.setFileSize(FileUtil.getReadableFileSize(file.getSize()));
  69. System.out.println("上传文件名称" + file.getName() + ", dir = " + dir.getAbsolutePath());
  70. int pos = fileName.lastIndexOf(".");
  71. String rand = UUID.randomUUID().toString().replaceAll("-", "");
  72. String sufix = fileName.substring(pos);
  73. fileName = rand + sufix;
  74. mouldMaintain.setMaintainUserId(user.getId());
  75. mouldMaintain.setMaintainUserName(user.getUsername());
  76. mouldMaintain.setFileUrl("/upload/" + fileName);
  77. if(mould.getProjectId() != null){
  78. mouldMaintain.setProjectId(mould.getProjectId());
  79. }
  80. File saveFile = new File(dir, fileName);
  81. mouldMaintainMapper.insert(mouldMaintain);
  82. //将模具修改为不需要保养状态
  83. Mould m = new Mould();
  84. m.setId(mouldMaintain.getMouldId());
  85. m.setIsMaintain(0);
  86. mouldMapper.updateById(m);
  87. try {
  88. saveFile.createNewFile();
  89. file.transferTo(saveFile);
  90. } catch (IOException e) {
  91. e.printStackTrace();
  92. mouldMaintain = null;
  93. } catch (Exception e) {
  94. e.printStackTrace();
  95. mouldMaintain = null;
  96. }
  97. }
  98. msg.data = mouldMaintain;
  99. }
  100. }
  101. return msg;
  102. }
  103. @Override
  104. public HttpRespMsg getList(UserVO userVO, PageUtil page) {
  105. HttpRespMsg msg = new HttpRespMsg();
  106. List<Integer> proIds = new ArrayList<>();
  107. User currentUser = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", userVO.getToken()));
  108. List<MouldMaintain> mouldMaintains = new ArrayList<>();
  109. if (currentUser != null) {
  110. PageHelper.startPage(page.getPageNum(), page.getPageSize());
  111. mouldMaintains = mouldMaintainMapper.selectList(new QueryWrapper<MouldMaintain>().eq("mould_id",userVO.getMouldId()));
  112. // //资产方管理员,获取他公司下的所有模具
  113. // PageHelper.startPage(page.getPageNum(), page.getPageSize());
  114. // if (Constant.SYS_ID == currentUser.getParentId()) {
  115. // QueryWrapper<Project> qw = new QueryWrapper<>();
  116. // List<Project> projects = projectMapper.selectList(qw.eq("creator_id", currentUser.getId()));
  117. // for (Project pro : projects) {
  118. // proIds.add(pro.getId());
  119. // }
  120. // mouldMaintains = mouldMaintainMapper.selectListByProject(proIds);
  121. // } else if (Constant.SYS_PARENT_ID == currentUser.getParentId()) {
  122. // //系统管理员
  123. // mouldMaintains = mouldMaintainMapper.selectList(new QueryWrapper<MouldMaintain>());
  124. // } else {
  125. // QueryWrapper<Project> qw = new QueryWrapper<>();
  126. // qw.eq("manager_id", currentUser.getId());
  127. // List<Project> projects = projectMapper.selectList(qw);
  128. // if (projects.size() > 0) {
  129. // for (Project project : projects) {
  130. // proIds.add(project.getId());
  131. // }
  132. // }
  133. //// //充当普通人员参与的项目
  134. // List<ProjectUser> projectUsers = projectUserMapper.selectList(new QueryWrapper<ProjectUser>().eq("user_id",currentUser.getId()));
  135. // if (projectUsers.size() > 0) {
  136. // for (ProjectUser projectUser : projectUsers) {
  137. // proIds.add(projectUser.getProjectId());
  138. // }
  139. // }
  140. // //充当审批人员参与的项目
  141. // List<ProjectApprove> projectss = projectApproveMapper.selectList(new QueryWrapper<ProjectApprove>().eq("approver_id", currentUser.getId()));
  142. // if (projectss.size() > 0) {
  143. // for (ProjectApprove projectUser : projectss) {
  144. // proIds.add(projectUser.getProjectId());
  145. // }
  146. // }
  147. // mouldMaintains = mouldMaintainMapper.selectListByProject(proIds);
  148. // }
  149. PageInfo<MouldMaintain> pageInfos = new PageInfo<>(mouldMaintains);
  150. msg.data = pageInfos;
  151. } else {
  152. msg.setError("用户不存在或者未登录");
  153. }
  154. return msg;
  155. }
  156. }