检定规则按时间倒序排序 + 质量文件版本管理新增版本时自增版本号逻辑 + 版本管理列表加分页且按文件主表id查版本 + 让文件版本id用生成的随机数 + 兰所多版和非兰所的返回到前端查看详情时返回阴阳性数量 + 保修单加损坏原因及技术情况

dev
swj 3 years ago
parent 31f3dd1eb0
commit ae4c508868
  1. 9
      lab-service-api/lab-file-api/src/main/java/org/springblade/file/entity/QualityFileAssistent.java
  2. 3
      lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/RepairApplication.java
  3. 1
      lab-service/lab-file/src/main/java/org/springblade/file/controller/EquipVerificationController.java
  4. 30
      lab-service/lab-file/src/main/java/org/springblade/file/controller/QualityFileAssistentController.java
  5. 10
      lab-service/lab-file/src/main/java/org/springblade/file/controller/QualityFileController.java
  6. 2
      lab-service/lab-file/src/main/java/org/springblade/file/service/IQualityFileAssistentService.java
  7. 30
      lab-service/lab-file/src/main/java/org/springblade/file/service/impl/QualityFileAssistentServiceImpl.java
  8. 8
      lab-service/lab-file/src/main/java/org/springblade/file/service/impl/StorageFileServiceImpl.java
  9. 30
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineResultController.java
  10. 1
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/RepairApplicationController.java
  11. 4
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java

@ -1,5 +1,6 @@
package org.springblade.file.entity; package org.springblade.file.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import lombok.Data; import lombok.Data;
@ -15,7 +16,6 @@ import java.io.Serializable;
* @Date 2022/9/22 0022 17:51 * @Date 2022/9/22 0022 17:51
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_quality_file_assistant") @TableName("t_quality_file_assistant")
@ApiModel(value = "QualityFile对象的子类", description = "质量文件子类") @ApiModel(value = "QualityFile对象的子类", description = "质量文件子类")
public class QualityFileAssistent extends BaseEntity implements Serializable { public class QualityFileAssistent extends BaseEntity implements Serializable {
@ -23,11 +23,12 @@ public class QualityFileAssistent extends BaseEntity implements Serializable {
private Long qualityFileId; private Long qualityFileId;
private String version; private String name;
private String versionContent; // 版本号
private Integer version;
private String name; private String versionContent;
private Integer status; private Integer status;
} }

@ -109,4 +109,7 @@ public class RepairApplication extends BaseEntity implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private Date endTime; private Date endTime;
// 报废原因及技术状况
private String reasonForScrapping;
} }

@ -89,6 +89,7 @@ public class EquipVerificationController extends BladeController {
@ApiOperationSupport(order = 3) @ApiOperationSupport(order = 3)
@ApiOperation(value = "分页", notes = "传入equipVerification") @ApiOperation(value = "分页", notes = "传入equipVerification")
public R<IPage<EquipVerificationVO>> page(EquipVerificationVO equipVerification, Query query) { public R<IPage<EquipVerificationVO>> page(EquipVerificationVO equipVerification, Query query) {
query.setDescs("update_time");
IPage<EquipVerificationVO> pages = equipVerificationService.selectEquipVerificationPage(Condition.getPage(query), equipVerification); IPage<EquipVerificationVO> pages = equipVerificationService.selectEquipVerificationPage(Condition.getPage(query), equipVerification);
//获取分页中的具体数据 //获取分页中的具体数据
List<EquipVerificationVO> records = pages.getRecords(); List<EquipVerificationVO> records = pages.getRecords();

@ -1,5 +1,6 @@
package org.springblade.file.controller; package org.springblade.file.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.boot.ctrl.BladeController;
@ -7,11 +8,12 @@ import org.springblade.core.tool.api.R;
import org.springblade.file.entity.QualityFileAssistent; import org.springblade.file.entity.QualityFileAssistent;
import org.springblade.file.mapper.QualityStorageFileRelMapper; import org.springblade.file.mapper.QualityStorageFileRelMapper;
import org.springblade.file.service.IQualityFileAssistentService; import org.springblade.file.service.IQualityFileAssistentService;
import org.springblade.file.service.IQualityFileService;
import org.springblade.file.service.impl.QualityFileAssistentServiceImpl; import org.springblade.file.service.impl.QualityFileAssistentServiceImpl;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping; import java.util.Comparator;
import org.springframework.web.bind.annotation.RestController; import java.util.List;
/** /**
* 质量文件版本管理 * 质量文件版本管理
@ -28,12 +30,24 @@ public class QualityFileAssistentController extends BladeController {
private final IQualityFileAssistentService qualityFileAssistentService; private final IQualityFileAssistentService qualityFileAssistentService;
@PutMapping("/update") @PutMapping("/update")
public R update(QualityFileAssistent file){ public R update(@RequestBody QualityFileAssistent file){
return R.data(qualityFileAssistentService.addOrUpdate(file)) ; boolean tmep = true;
if (file.getId() != null) {
tmep = qualityFileAssistentService.updateById(file);
} else {
// 查询库里版本最大值 +1 作为新版本号
QueryWrapper<QualityFileAssistent> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("quality_file_id", file.getQualityFileId());
List<QualityFileAssistent> list = qualityFileAssistentService.list(queryWrapper);
Integer version = list.stream().max(Comparator.comparing(QualityFileAssistent::getVersion)).get().getVersion();
file.setVersion(version + 1);
tmep = qualityFileAssistentService.save(file);
}
return R.data(tmep) ;
} }
@DeleteMapping("/delete") @DeleteMapping("/delete")
public R delete(QualityFileAssistent file){ public R delete(String id){
return R.data(qualityFileAssistentService.deleteById(file.getId())); return R.data(qualityFileAssistentService.removeById(id));
} }
} }

@ -142,11 +142,9 @@ public class QualityFileController extends BladeController {
@GetMapping("/assistentList") @GetMapping("/assistentList")
@ApiOperation(value = "根据主文件id查询版本信息") @ApiOperation(value = "根据主文件id查询版本信息")
public R<List<QualityFileAssistent>> assistentList(Long id){ public R<IPage<QualityFileAssistent>> assistentList(QualityFileAssistent qualityFileAssistent, Query query) {
LambdaQueryWrapper<QualityFileAssistent> wrapper = new LambdaQueryWrapper<>(); qualityFileAssistent.setQualityFileId(qualityFileAssistent.getId());
wrapper.eq(QualityFileAssistent::getQualityFileId, id).orderByAsc(QualityFileAssistent::getVersion); qualityFileAssistent.setId(null);
List<QualityFileAssistent> list = qualityFileAssistentService.list(wrapper); return R.data(qualityFileAssistentService.page(Condition.getPage(query), Condition.getQueryWrapper(qualityFileAssistent)));
return R.data(list);
} }
} }

@ -8,7 +8,5 @@ import org.springblade.core.mp.base.BaseService;
* @Date 2022/9/22 0022 18:14 * @Date 2022/9/22 0022 18:14
*/ */
public interface IQualityFileAssistentService extends BaseService<QualityFileAssistent> { public interface IQualityFileAssistentService extends BaseService<QualityFileAssistent> {
boolean addOrUpdate(QualityFileAssistent file);
boolean deleteById(Long id);
} }

@ -22,34 +22,4 @@ import org.springframework.transaction.annotation.Transactional;
@AllArgsConstructor @AllArgsConstructor
public class QualityFileAssistentServiceImpl extends BaseServiceImpl<QualityFileAssistentMapper, QualityFileAssistent> implements IQualityFileAssistentService { public class QualityFileAssistentServiceImpl extends BaseServiceImpl<QualityFileAssistentMapper, QualityFileAssistent> implements IQualityFileAssistentService {
private final IQualityStorageFileRelService qualityStorageFileRelService;
@Override
public boolean addOrUpdate(QualityFileAssistent file) {
if (file.getId() != null) {
this.updateById(file);
}else{
this.save(file);
}
return true;
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean deleteById(Long id) {
boolean b = this.removeById(id);
if(b){
LambdaQueryWrapper<QualityStorageFileRel> ass = new LambdaQueryWrapper<>();
ass.eq(QualityStorageFileRel::getQualityFileAssistantId , id);
boolean remove = qualityStorageFileRelService.remove(ass);
if(remove){
return true;
}else{
return false;
}
}
return b;
}
} }

@ -16,8 +16,10 @@
*/ */
package org.springblade.file.service.impl; package org.springblade.file.service.impl;
import com.alibaba.nacos.common.utils.UuidUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import org.apache.commons.lang.math.RandomUtils;
import org.springblade.core.log.exception.ServiceException; import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.utils.CollectionUtil; import org.springblade.core.tool.utils.CollectionUtil;
@ -98,15 +100,17 @@ public class StorageFileServiceImpl extends BaseServiceImpl<StorageFileMapper, S
IoUtil.closeQuietly(outputStream); IoUtil.closeQuietly(outputStream);
StorageFile storageFile = new StorageFile(); StorageFile storageFile = new StorageFile();
long id = RandomUtils.nextLong();
storageFile.setId(id);
storageFile.setFilename(originalFilename); storageFile.setFilename(originalFilename);
storageFile.setPath(path); storageFile.setPath(path);
this.save(storageFile); this.save(storageFile);
StorageFile file = this.getOne(Condition.getQueryWrapper(storageFile)); // StorageFile file = this.getOne(Condition.getQueryWrapper(storageFile));
// QualityStorageFileRel rel = new QualityStorageFileRel(); // QualityStorageFileRel rel = new QualityStorageFileRel();
// rel.setQualityFileId(assistentFileId); // rel.setQualityFileId(assistentFileId);
// rel.setStorageFileId(file.getId()); // rel.setStorageFileId(file.getId());
// qualityStorageFileRelMapper.insert(rel); // qualityStorageFileRelMapper.insert(rel);
return file; return storageFile;
} }
@Override @Override

@ -1102,27 +1102,30 @@ public class ExamineResultController extends BladeController {
throw new Exception("分配样品数量与检测样品数量不一致!"); throw new Exception("分配样品数量与检测样品数量不一致!");
} }
Map<String, Object> realResultMap = new HashMap<>();
realResultMap.put("data", resultMap);
realResultMap.put("yinCount", yinCount);
realResultMap.put("yangCount", yangCount);
// 新增或修改Result数据 // 新增或修改Result数据
LambdaQueryWrapper<ExamineResult> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ExamineResult> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ExamineResult::getExamineId, examine.getId()); wrapper.eq(ExamineResult::getExamineId, examine.getId());
ExamineResult result = service.getOne(wrapper); ExamineResult result = service.getOne(wrapper);
if (result != null) { if (result != null) {
result.setOriginRecordData(JSON.toJSONString(allData)); result.setOriginRecordData(JSON.toJSONString(allData));
result.setOriginRecordResult(JSON.toJSONString(resultMap)); // result.setOriginRecordResult(JSON.toJSONString(resultMap));
result.setOriginRecordResult(JSON.toJSONString(realResultMap));
result.setExamineDataArr(JSON.toJSONString(allDatas)); result.setExamineDataArr(JSON.toJSONString(allDatas));
service.updateById(result); service.updateById(result);
} else { } else {
ExamineResult examineResult = new ExamineResult(); ExamineResult examineResult = new ExamineResult();
examineResult.setExamineId(Long.valueOf(examine.getId())); examineResult.setExamineId(Long.valueOf(examine.getId()));
examineResult.setOriginRecordData(JSON.toJSONString(allData)); examineResult.setOriginRecordData(JSON.toJSONString(allData));
examineResult.setOriginRecordResult(JSON.toJSONString(resultMap)); // result.setOriginRecordResult(JSON.toJSONString(resultMap));
result.setOriginRecordResult(JSON.toJSONString(realResultMap));
examineResult.setExamineDataArr(JSON.toJSONString(allDatas)); examineResult.setExamineDataArr(JSON.toJSONString(allDatas));
service.save(examineResult); service.save(examineResult);
} }
Map<String, Object> realResultMap = new HashMap<>();
realResultMap.put("data", resultMap);
realResultMap.put("yinCount", yinCount);
realResultMap.put("yangCount", yangCount);
return R.data(realResultMap); return R.data(realResultMap);
} }
// 非兰所,11列也是样品 --------------------------------------------------------------------------------------- // 非兰所,11列也是样品 ---------------------------------------------------------------------------------------
@ -1228,6 +1231,11 @@ public class ExamineResultController extends BladeController {
} }
} }
Map<String, Object> realResultMap = new HashMap<>();
realResultMap.put("data", resultMap);
realResultMap.put("yinCount", yinCount);
realResultMap.put("yangCount", yangCount);
// 判断应实验样品数量和实际样品数量是否相等 // 判断应实验样品数量和实际样品数量是否相等
if (experieNum.length != allDatas.size()) { if (experieNum.length != allDatas.size()) {
throw new Exception("分配样品数量与检测样品数量不一致!"); throw new Exception("分配样品数量与检测样品数量不一致!");
@ -1238,21 +1246,19 @@ public class ExamineResultController extends BladeController {
ExamineResult result = service.getOne(wrapper); ExamineResult result = service.getOne(wrapper);
if (result != null) { if (result != null) {
result.setOriginRecordData(JSON.toJSONString(allData)); result.setOriginRecordData(JSON.toJSONString(allData));
result.setOriginRecordResult(JSON.toJSONString(resultMap)); // result.setOriginRecordResult(JSON.toJSONString(resultMap));
result.setOriginRecordResult(JSON.toJSONString(realResultMap));
result.setExamineDataArr(JSON.toJSONString(allDatas)); result.setExamineDataArr(JSON.toJSONString(allDatas));
service.updateById(result); service.updateById(result);
} else { } else {
ExamineResult examineResult = new ExamineResult(); ExamineResult examineResult = new ExamineResult();
examineResult.setExamineId(Long.valueOf(examine.getId())); examineResult.setExamineId(Long.valueOf(examine.getId()));
examineResult.setOriginRecordData(JSON.toJSONString(allData)); examineResult.setOriginRecordData(JSON.toJSONString(allData));
examineResult.setOriginRecordResult(JSON.toJSONString(resultMap)); // result.setOriginRecordResult(JSON.toJSONString(resultMap));
result.setOriginRecordResult(JSON.toJSONString(realResultMap));
examineResult.setExamineDataArr(JSON.toJSONString(allDatas)); examineResult.setExamineDataArr(JSON.toJSONString(allDatas));
service.save(examineResult); service.save(examineResult);
} }
Map<String, Object> realResultMap = new HashMap<>();
realResultMap.put("data", resultMap);
realResultMap.put("yinCount", yinCount);
realResultMap.put("yangCount", yangCount);
return R.data(realResultMap); return R.data(realResultMap);
} }
} }

@ -153,6 +153,7 @@ public class RepairApplicationController extends BladeController {
scrapApplication.setCreateTime(new Date()); scrapApplication.setCreateTime(new Date());
scrapApplication.setModel(application.getVersion()); scrapApplication.setModel(application.getVersion());
scrapApplication.setStatus(0); scrapApplication.setStatus(0);
scrapApplication.setReasonAndState(repairApplication.getReasonForScrapping());
scrapApplicationService.save(scrapApplication); scrapApplicationService.save(scrapApplication);
} }
} }

@ -167,8 +167,8 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
@Value("${repairPrint}") @Value("${repairPrint}")
private String repairPrint; private String repairPrint;
@Value("${imagePrint}") // @Value("${imagePrint}")
private String imagePrint; // private String imagePrint;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)

Loading…
Cancel
Save