DiagnosisVersionInfoServiceImpl.java 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. package com.om.service.impl;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import cn.hutool.core.util.PageUtil;
  4. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import com.om.entity.dto.DiagnosisInfoDTO;
  7. import com.om.entity.dto.UpStatusDto;
  8. import com.om.entity.po.*;
  9. import com.om.entity.vo.DiagnosisVersionVO;
  10. import com.om.entity.vo.DignosisPageVO;
  11. import com.om.mapper.DiagnosisVersionInfoMapper;
  12. import com.om.service.*;
  13. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  14. import com.om.utils.Result;
  15. import com.om.utils.UserContext;
  16. import io.swagger.v3.oas.annotations.parameters.RequestBody;
  17. import lombok.extern.slf4j.Slf4j;
  18. import org.apache.commons.lang.StringUtils;
  19. import org.springframework.stereotype.Service;
  20. import javax.annotation.Resource;
  21. import java.util.List;
  22. /**
  23. * <p>
  24. * 服务实现类
  25. * </p>
  26. *
  27. * @author bmmx
  28. * @since 2024-03-06
  29. */
  30. @Service
  31. @Slf4j
  32. public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersionInfoMapper, DiagnosisVersionInfo> implements IDiagnosisVersionInfoService {
  33. @Resource
  34. IDiagnosisVersionDescribeService describeService;
  35. @Resource
  36. IBrandService brandService;
  37. @Resource
  38. IClientService clientService;
  39. @Resource
  40. IUserService userService;
  41. @Override
  42. public Result add(DiagnosisVersionVO diagnosisVersionVO) {
  43. DiagnosisVersionInfo info = new DiagnosisVersionInfo();
  44. //copy了文件地址和名称,品牌名称,文件大小
  45. info.setBrandCode(diagnosisVersionVO.getBrandCode());
  46. //获取user用户。保存当前操作人
  47. // Integer userId = UserContext.getUserId();
  48. //用户信息
  49. // User user = userService.getById(userId);
  50. //
  51. // log.info("========当前用户名{}==={}======",user,userId);
  52. // info.setUsername(user.getUsername());
  53. // info.setAdminId(userId);
  54. //版本号
  55. info.setVersionNum("1.0");
  56. //状态码
  57. info.setStatus(0);
  58. //文件地址
  59. if (diagnosisVersionVO.getFileUrl() == null){
  60. diagnosisVersionVO.setFileUrl("null");
  61. }
  62. info.setFile(diagnosisVersionVO.getFileUrl());
  63. //文件大小
  64. info.setDiagnosisFileSize(diagnosisVersionVO.getDiagnosisFileSize());
  65. //品牌代码
  66. info.setBrandCode(diagnosisVersionVO.getBrandCode());
  67. //诊断程序名称
  68. info.setDiagnosisName(diagnosisVersionVO.getDiagnosisName());
  69. log.info("========{}========",diagnosisVersionVO);
  70. //客户端编号
  71. String s = "";
  72. for (int i = 0; i < diagnosisVersionVO.getClientNums().length; i++) {
  73. s = s +( i != diagnosisVersionVO.getClientNums().length-1?diagnosisVersionVO.getClientNums()[i]+",":diagnosisVersionVO.getClientNums()[i]);
  74. }
  75. info.setClientNumber(s);
  76. //保存
  77. this.save(info);
  78. LambdaQueryWrapper<DiagnosisVersionInfo> queryWrapper = new LambdaQueryWrapper<>();
  79. queryWrapper.eq(DiagnosisVersionInfo::getFile,diagnosisVersionVO.getFileUrl());
  80. queryWrapper.eq(DiagnosisVersionInfo::getDiagnosisName,diagnosisVersionVO.getDiagnosisName());
  81. queryWrapper.eq(DiagnosisVersionInfo::getBrandCode,diagnosisVersionVO.getBrandCode());
  82. //保存后获取
  83. DiagnosisVersionInfo versionInfo = getOne(queryWrapper);
  84. log.info("==========={}=========",versionInfo);
  85. for (int i = 0; i < diagnosisVersionVO.getDescriptionList().length; i++) {
  86. DiagnosisVersionDescribe describe = new DiagnosisVersionDescribe();
  87. describe.setDiagnosisId(versionInfo.getId());
  88. describe.setDescription(diagnosisVersionVO.getDescriptionList()[i]);
  89. describe.setLanguage(diagnosisVersionVO.getLanguage().toString());
  90. describeService.save(describe);
  91. }
  92. log.info("============================");
  93. return Result.ok();
  94. }
  95. @Override
  96. public Result downloadFile(Integer id) {
  97. return null;
  98. }
  99. @Override
  100. public Result edit(DiagnosisVersionVO diagnosisVersionVO) {
  101. Integer diaId = diagnosisVersionVO.getId();
  102. DiagnosisVersionInfo versionInfo = getById(diaId);
  103. versionInfo.setBrandCode(diagnosisVersionVO.getBrandCode());
  104. String s = "";
  105. for (int i = 0; i < diagnosisVersionVO.getClientNums().length; i++) {
  106. s = s +( i != diagnosisVersionVO.getClientNums().length-1?diagnosisVersionVO.getClientNums()[i]+",":diagnosisVersionVO.getClientNums()[i]);
  107. }
  108. versionInfo.setClientNumber(s);
  109. this.update(versionInfo,null);
  110. LambdaQueryWrapper<DiagnosisVersionDescribe> queryWrapper = new LambdaQueryWrapper<>();
  111. queryWrapper.eq(DiagnosisVersionDescribe::getDiagnosisId,diaId);
  112. queryWrapper.eq(DiagnosisVersionDescribe::getLanguage,diagnosisVersionVO.getLanguage());
  113. DiagnosisVersionDescribe one = describeService.getOne(queryWrapper);
  114. one.setDescription(diagnosisVersionVO.getDescriptionList()[0]);
  115. describeService.update(one,null);
  116. return Result.ok();
  117. }
  118. @Override
  119. public Result getByUserId(Integer id) {
  120. DiagnosisVersionInfo versionInfo = this.getById(id);
  121. if (versionInfo == null){
  122. return Result.ok();
  123. }
  124. DiagnosisInfoDTO diagnosisInfo = new DiagnosisInfoDTO();
  125. diagnosisInfo.setId(id);
  126. diagnosisInfo.setBrandName(versionInfo.getBrandCode());
  127. //根据客户端信息,获取客户端名称
  128. LambdaQueryWrapper<Client> queryWrapper = new LambdaQueryWrapper<>();
  129. queryWrapper.eq(Client::getName,diagnosisInfo.getClientName());
  130. Client client = clientService.getOne(queryWrapper);
  131. diagnosisInfo.setClientName(client.getName());
  132. diagnosisInfo.setCreateTime(versionInfo.getCreateTime());
  133. diagnosisInfo.setDiagnosisName(versionInfo.getDiagnosisName());
  134. diagnosisInfo.setFileSize(versionInfo.getDiagnosisFileSize());
  135. diagnosisInfo.setStatus(diagnosisInfo.getStatus());
  136. diagnosisInfo.setUsername(diagnosisInfo.getUsername());
  137. diagnosisInfo.setVersion(versionInfo.getVersionNum());
  138. return Result.ok(diagnosisInfo);
  139. }
  140. @Override
  141. public Result getPageList(Integer pageIndex,
  142. Integer pageSize) {
  143. log.info("---------{}",pageIndex);
  144. log.info("---------{}",pageSize);
  145. Page<DiagnosisVersionInfo> page = this.lambdaQuery()
  146. .page(new Page<>(pageIndex,pageSize));
  147. return Result.ok(page);
  148. }
  149. @Override
  150. public Result release(Integer id) {
  151. DiagnosisVersionInfo info = this.getById(id);
  152. info.setStatus(1);
  153. this.update(info,null);
  154. return Result.ok();
  155. }
  156. @Override
  157. public Result repeal(Integer id) {
  158. DiagnosisVersionInfo info = this.getById(id);
  159. info.setStatus(0);
  160. this.update(info,null);
  161. return Result.ok();
  162. }
  163. /*
  164. 目前用不上
  165. */
  166. @Override
  167. public Result upStatus(UpStatusDto upStatusDto) {
  168. return null;
  169. }
  170. @Override
  171. public Result getDesc(DiagnosisVersionVO diagnosisVersionVO) {
  172. return null;
  173. }
  174. }