|
@@ -20,6 +20,7 @@ import org.apache.commons.lang.StringUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
@@ -42,28 +43,14 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
|
|
|
IClientService clientService;
|
|
|
@Resource
|
|
|
IUserService userService;
|
|
|
+ @Resource
|
|
|
+ IDiagClientsService diagClientsService;
|
|
|
@Override
|
|
|
public Result add(DiagnosisVersionVO diagnosisVersionVO) {
|
|
|
DiagnosisVersionInfo info = new DiagnosisVersionInfo();
|
|
|
- //copy了文件地址和名称,品牌名称,文件大小
|
|
|
- info.setBrandCode(diagnosisVersionVO.getBrandCode());
|
|
|
+ //客户端编号,需要取id,后面在进行设置
|
|
|
|
|
|
- //获取user用户。保存当前操作人
|
|
|
-// Integer userId = UserContext.getUserId();
|
|
|
- //用户信息
|
|
|
-// User user = userService.getById(userId);
|
|
|
-//
|
|
|
-// log.info("========当前用户名{}==={}======",user,userId);
|
|
|
-// info.setUsername(user.getUsername());
|
|
|
-// info.setAdminId(userId);
|
|
|
- //版本号
|
|
|
- info.setVersionNum("1.0");
|
|
|
- //状态码
|
|
|
- info.setStatus(0);
|
|
|
//文件地址
|
|
|
- if (diagnosisVersionVO.getFileUrl() == null){
|
|
|
- diagnosisVersionVO.setFileUrl("null");
|
|
|
- }
|
|
|
info.setFile(diagnosisVersionVO.getFileUrl());
|
|
|
//文件大小
|
|
|
info.setDiagnosisFileSize(diagnosisVersionVO.getDiagnosisFileSize());
|
|
@@ -71,20 +58,22 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
|
|
|
info.setBrandCode(diagnosisVersionVO.getBrandCode());
|
|
|
//诊断程序名称
|
|
|
info.setDiagnosisName(diagnosisVersionVO.getDiagnosisName());
|
|
|
- log.info("========{}========",diagnosisVersionVO);
|
|
|
- //客户端编号
|
|
|
- String s = "";
|
|
|
- for (int i = 0; i < diagnosisVersionVO.getClientNums().length; i++) {
|
|
|
- s = s +( i != diagnosisVersionVO.getClientNums().length-1?diagnosisVersionVO.getClientNums()[i]+",":diagnosisVersionVO.getClientNums()[i]);
|
|
|
+ //程序状态
|
|
|
+ info.setStatus(diagnosisVersionVO.getStatus());
|
|
|
+ //设置用户名
|
|
|
+ info.setUsername(diagnosisVersionVO.getUsername());
|
|
|
+ //版本号
|
|
|
+ info.setVersionNum(diagnosisVersionVO.getVersion());
|
|
|
+ //保存地址
|
|
|
+ info.setSavePath(diagnosisVersionVO.getSavePath());
|
|
|
|
|
|
- }
|
|
|
- info.setClientNumber(s);
|
|
|
//保存
|
|
|
this.save(info);
|
|
|
+
|
|
|
LambdaQueryWrapper<DiagnosisVersionInfo> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(DiagnosisVersionInfo::getFile,diagnosisVersionVO.getFileUrl());
|
|
|
queryWrapper.eq(DiagnosisVersionInfo::getDiagnosisName,diagnosisVersionVO.getDiagnosisName());
|
|
|
queryWrapper.eq(DiagnosisVersionInfo::getBrandCode,diagnosisVersionVO.getBrandCode());
|
|
|
+ queryWrapper.eq(DiagnosisVersionInfo::getUsername,diagnosisVersionVO.getUsername());
|
|
|
//保存后获取
|
|
|
DiagnosisVersionInfo versionInfo = getOne(queryWrapper);
|
|
|
log.info("==========={}=========",versionInfo);
|
|
@@ -93,10 +82,16 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
|
|
|
DiagnosisVersionDescribe describe = new DiagnosisVersionDescribe();
|
|
|
describe.setDiagnosisId(versionInfo.getId());
|
|
|
describe.setDescription(diagnosisVersionVO.getDescriptionList()[i]);
|
|
|
- describe.setLanguage(diagnosisVersionVO.getLanguage().toString());
|
|
|
+ describe.setLanguage(diagnosisVersionVO.getLanguage()[i]);
|
|
|
describeService.save(describe);
|
|
|
}
|
|
|
- log.info("============================");
|
|
|
+ for (int i = 0; i < diagnosisVersionVO.getClientNums().length; i++) {
|
|
|
+ DiagClients diagClients = new DiagClients();
|
|
|
+ diagClients.setDiagId(versionInfo.getId());
|
|
|
+ diagClients.setClientNum(diagnosisVersionVO.getClientNums()[i]);
|
|
|
+ diagClientsService.save(diagClients);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
return Result.ok();
|
|
|
}
|
|
@@ -109,62 +104,131 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
|
|
|
@Override
|
|
|
public Result edit(DiagnosisVersionVO diagnosisVersionVO) {
|
|
|
Integer diaId = diagnosisVersionVO.getId();
|
|
|
- DiagnosisVersionInfo versionInfo = getById(diaId);
|
|
|
- versionInfo.setBrandCode(diagnosisVersionVO.getBrandCode());
|
|
|
- String s = "";
|
|
|
- for (int i = 0; i < diagnosisVersionVO.getClientNums().length; i++) {
|
|
|
- s = s +( i != diagnosisVersionVO.getClientNums().length-1?diagnosisVersionVO.getClientNums()[i]+",":diagnosisVersionVO.getClientNums()[i]);
|
|
|
+ DiagnosisVersionVO versionVO = getVO(diaId);
|
|
|
+ BeanUtil.copyProperties(diagnosisVersionVO,versionVO);
|
|
|
+
|
|
|
+ DiagnosisVersionInfo info = new DiagnosisVersionInfo();
|
|
|
+ DiagnosisVersionInfo info2 = this.getById(diaId);//查询到copy过去
|
|
|
+ BeanUtil.copyProperties(info2,info);
|
|
|
+ BeanUtil.copyProperties(diagnosisVersionVO,info);
|
|
|
+ this.update(info,null);
|
|
|
|
|
|
+ //客户端编号也要更改
|
|
|
+ String[] clientNums = diagnosisVersionVO.getClientNums();
|
|
|
+ LambdaQueryWrapper<DiagClients> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(DiagClients::getDiagId,diaId);
|
|
|
+ //先删除
|
|
|
+ diagClientsService.remove(queryWrapper);
|
|
|
+ //在增加
|
|
|
+ for (int i = 0; i < clientNums.length; i++) {
|
|
|
+ DiagClients diagClients = new DiagClients();
|
|
|
+ diagClients.setClientNum(clientNums[i]);
|
|
|
+ diagClients.setDiagId(diaId);
|
|
|
+ diagClientsService.save(diagClients);
|
|
|
}
|
|
|
- versionInfo.setClientNumber(s);
|
|
|
- this.update(versionInfo,null);
|
|
|
|
|
|
- LambdaQueryWrapper<DiagnosisVersionDescribe> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(DiagnosisVersionDescribe::getDiagnosisId,diaId);
|
|
|
- queryWrapper.eq(DiagnosisVersionDescribe::getLanguage,diagnosisVersionVO.getLanguage());
|
|
|
- DiagnosisVersionDescribe one = describeService.getOne(queryWrapper);
|
|
|
- one.setDescription(diagnosisVersionVO.getDescriptionList()[0]);
|
|
|
- describeService.update(one,null);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
return Result.ok();
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public Result getByUserId(Integer id) {
|
|
|
+ private DiagnosisVersionVO getVO(Integer id){
|
|
|
DiagnosisVersionInfo versionInfo = this.getById(id);
|
|
|
- if (versionInfo == null){
|
|
|
- return Result.ok();
|
|
|
+
|
|
|
+ DiagnosisVersionVO versionVO = new DiagnosisVersionVO();
|
|
|
+ BeanUtil.copyProperties(versionInfo,versionVO);
|
|
|
+ LambdaQueryWrapper<DiagClients> clientQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ clientQueryWrapper.eq(DiagClients::getDiagId,id);
|
|
|
+ List<DiagClients> diagClients = diagClientsService.list(clientQueryWrapper);
|
|
|
+ String [] s = new String[diagClients.size()];
|
|
|
+ for (int i = 0; i < diagClients.size(); i++) {
|
|
|
+ s[i] = diagClients.get(i).getClientNum();
|
|
|
+ }
|
|
|
+ versionVO.setClientNums(s);
|
|
|
+ //语言和描述
|
|
|
+ LambdaQueryWrapper<DiagnosisVersionDescribe> describeLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ describeLambdaQueryWrapper.eq(DiagnosisVersionDescribe::getDiagnosisId,id);
|
|
|
+ List<DiagnosisVersionDescribe> describes = describeService.list(describeLambdaQueryWrapper);
|
|
|
+ String [] l = new String[describes.size()];
|
|
|
+ String [] d = new String[describes.size()];
|
|
|
+ for (int i = 0; i < describes.size(); i++) {
|
|
|
+ l[i] = describes.get(i).getLanguage();
|
|
|
+ d[i] = describes.get(i).getDescription();
|
|
|
}
|
|
|
- DiagnosisInfoDTO diagnosisInfo = new DiagnosisInfoDTO();
|
|
|
- diagnosisInfo.setId(id);
|
|
|
- diagnosisInfo.setBrandName(versionInfo.getBrandCode());
|
|
|
- //根据客户端信息,获取客户端名称
|
|
|
- LambdaQueryWrapper<Client> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(Client::getName,diagnosisInfo.getClientName());
|
|
|
- Client client = clientService.getOne(queryWrapper);
|
|
|
-
|
|
|
- diagnosisInfo.setClientName(client.getName());
|
|
|
- diagnosisInfo.setCreateTime(versionInfo.getCreateTime());
|
|
|
- diagnosisInfo.setDiagnosisName(versionInfo.getDiagnosisName());
|
|
|
- diagnosisInfo.setFileSize(versionInfo.getDiagnosisFileSize());
|
|
|
- diagnosisInfo.setStatus(diagnosisInfo.getStatus());
|
|
|
- diagnosisInfo.setUsername(diagnosisInfo.getUsername());
|
|
|
- diagnosisInfo.setVersion(versionInfo.getVersionNum());
|
|
|
-
|
|
|
-
|
|
|
- return Result.ok(diagnosisInfo);
|
|
|
+ versionVO.setDescriptionList(d);
|
|
|
+ versionVO.setLanguage(l);
|
|
|
+ log.info("=====getByUserId={}======",versionVO);
|
|
|
+ return versionVO;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Result getByUserId(Integer id) {
|
|
|
+ DiagnosisVersionVO versionVO = this.getVO(id);
|
|
|
+
|
|
|
+
|
|
|
+ return Result.ok(versionVO);
|
|
|
}
|
|
|
|
|
|
|
|
|
@Override
|
|
|
public Result getPageList(Integer pageIndex,
|
|
|
Integer pageSize) {
|
|
|
- log.info("---------{}",pageIndex);
|
|
|
- log.info("---------{}",pageSize);
|
|
|
|
|
|
Page<DiagnosisVersionInfo> page = this.lambdaQuery()
|
|
|
.page(new Page<>(pageIndex,pageSize));
|
|
|
- return Result.ok(page);
|
|
|
+ //获取总的数据
|
|
|
+ List<DiagnosisVersionInfo> diagLists = page.getRecords();
|
|
|
+ List<DiagnosisVersionVO> diagVOLists = new ArrayList<>();
|
|
|
+ for (int i = 0; i < diagLists.size(); i++) {
|
|
|
+ //然后取得客户端编号
|
|
|
+ DiagnosisVersionInfo info = diagLists.get(i);
|
|
|
+ //创建前端传输数据
|
|
|
+ DiagnosisVersionVO versionVO = new DiagnosisVersionVO();
|
|
|
+ BeanUtil.copyProperties(info,versionVO);
|
|
|
+ Integer diagId = info.getId();
|
|
|
+ LambdaQueryWrapper<DiagClients> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(DiagClients::getDiagId,diagId);
|
|
|
+ List<DiagClients> diagClients = diagClientsService.list(queryWrapper);
|
|
|
+ log.info("====diagClients={}",diagClients);
|
|
|
+ String [] s = new String[diagClients.size()];
|
|
|
+
|
|
|
+ for (int j = 0; j < diagClients.size(); j++) {
|
|
|
+ s[j] = diagClients.get(j).getClientNum();
|
|
|
+ }
|
|
|
+ //传入客户端num
|
|
|
+ versionVO.setClientNums(s);
|
|
|
+
|
|
|
+ //传输描述和语言集合
|
|
|
+ LambdaQueryWrapper<DiagnosisVersionDescribe> describeQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ describeQueryWrapper.eq(DiagnosisVersionDescribe::getDiagnosisId,diagId);
|
|
|
+ List<DiagnosisVersionDescribe> describeList = describeService.list(describeQueryWrapper);
|
|
|
+ log.info("List<DiagnosisVersionDescribe> describeList ={}",describeList);
|
|
|
+ String [] language = new String[describeList.size()];
|
|
|
+ String [] description = new String[describeList.size()];
|
|
|
+ for (int i1 = 0; i1 < describeList.size(); i1++) {
|
|
|
+ DiagnosisVersionDescribe describe = describeList.get(i1);
|
|
|
+ language[i1] = describe.getLanguage();
|
|
|
+ description[i1] = describe.getDescription();
|
|
|
+ }
|
|
|
+ //传入客户端
|
|
|
+ versionVO.setLanguage(language);
|
|
|
+ versionVO.setDescriptionList(description);
|
|
|
+
|
|
|
+ diagVOLists.add(versionVO);
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ Page<DiagnosisVersionVO> pageVO = new Page<>();
|
|
|
+ BeanUtil.copyProperties(page,pageVO);
|
|
|
+ pageVO.setRecords(diagVOLists);
|
|
|
+
|
|
|
+ log.info("====={}=======",pageVO.getRecords());
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ return Result.ok(pageVO);
|
|
|
}
|
|
|
|
|
|
@Override
|