Commit 3c908735 by lijingjing

添加样品管理接口;

添加样品备样字段:区分是备样还是样品;
添加报告批准和发放接口;
parent 52031b3f
...@@ -556,12 +556,79 @@ public class EntrustController extends ServiceController { ...@@ -556,12 +556,79 @@ public class EntrustController extends ServiceController {
public RestResult<Page<EntrustVO>> getPageReportCheckHis(EntrustVO entrust) { public RestResult<Page<EntrustVO>> getPageReportCheckHis(EntrustVO entrust) {
entrust.setReportStatusList(Lists.newArrayList( entrust.setReportStatusList(Lists.newArrayList(
EntrustReportStatusEnum.ISSUE, EntrustReportStatusEnum.ISSUE,
EntrustReportStatusEnum.ALLOW,
EntrustReportStatusEnum.SEND,
EntrustReportStatusEnum.REPORT_PRINT, EntrustReportStatusEnum.REPORT_PRINT,
EntrustReportStatusEnum.END EntrustReportStatusEnum.END
)); ));
return success(entrustService.pageEntrustByReportHis(getPage(), entrust)); return success(entrustService.pageEntrustByReportHis(getPage(), entrust));
} }
/***********************************************************************************/
@ApiOperation(value = "报告批准委托分页列表",notes = "报告批准委托分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page_entrust_report_approve")
public RestResult<Page<EntrustVO>> getPageReportApprove(EntrustVO entrust) {
entrust.setReportStatus(EntrustReportStatusEnum.ALLOW);
return success(entrustService.pageEntrustByReport(getPage(), entrust));
}
@ApiOperation(value = "报告批准历史委托分页列表",notes = "报告批准历史委托分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page_entrust_report_approve_his")
public RestResult<Page<EntrustVO>> getPageReportApproveHis(EntrustVO entrust) {
entrust.setReportStatusList(Lists.newArrayList(
EntrustReportStatusEnum.ISSUE,
EntrustReportStatusEnum.SEND,
EntrustReportStatusEnum.REPORT_PRINT,
EntrustReportStatusEnum.END
));
return success(entrustService.pageEntrustByReportHis(getPage(), entrust));
}
@ApiOperation(value = "报告发放委托分页列表",notes = "报告发放委托分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page_entrust_report_grant")
public RestResult<Page<EntrustVO>> getPageReportGrant(EntrustVO entrust) {
entrust.setReportStatus(EntrustReportStatusEnum.SEND);
return success(entrustService.pageEntrustByReport(getPage(), entrust));
}
@ApiOperation(value = "报告发放历史分页列表",notes = "报告发放历史分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page_entrust_report_grant_his")
public RestResult<Page<EntrustVO>> getPageReportGrantHis(EntrustVO entrust) {
entrust.setReportStatusList(Lists.newArrayList(
EntrustReportStatusEnum.REPORT_PRINT,
EntrustReportStatusEnum.END
));
return success(entrustService.pageEntrustByReportHis(getPage(), entrust));
}
/******************************************************************/
@ApiOperation("报告签发委托分页列表") @ApiOperation("报告签发委托分页列表")
......
...@@ -62,6 +62,8 @@ public class EntrustReportController extends ServiceController { ...@@ -62,6 +62,8 @@ public class EntrustReportController extends ServiceController {
List<EntrustReportStatusEnum> reportStatusList = new ArrayList<>(); List<EntrustReportStatusEnum> reportStatusList = new ArrayList<>();
reportStatusList.add(EntrustReportStatusEnum.CHECK); reportStatusList.add(EntrustReportStatusEnum.CHECK);
reportStatusList.add(EntrustReportStatusEnum.ISSUE); reportStatusList.add(EntrustReportStatusEnum.ISSUE);
reportStatusList.add(EntrustReportStatusEnum.ALLOW);
reportStatusList.add(EntrustReportStatusEnum.SEND);
reportStatusList.add(EntrustReportStatusEnum.REPORT_PRINT); reportStatusList.add(EntrustReportStatusEnum.REPORT_PRINT);
reportStatusList.add(EntrustReportStatusEnum.END); reportStatusList.add(EntrustReportStatusEnum.END);
return success(entrustReportService.pageStatus(getPage(),reportStatusList, entrustReport)); return success(entrustReportService.pageStatus(getPage(),reportStatusList, entrustReport));
...@@ -89,6 +91,8 @@ public class EntrustReportController extends ServiceController { ...@@ -89,6 +91,8 @@ public class EntrustReportController extends ServiceController {
public RestResult<Page<EntrustReport>> getPageCheckHis(EntrustReport entrustReport) { public RestResult<Page<EntrustReport>> getPageCheckHis(EntrustReport entrustReport) {
List<EntrustReportStatusEnum> reportStatusList = new ArrayList<>(); List<EntrustReportStatusEnum> reportStatusList = new ArrayList<>();
reportStatusList.add(EntrustReportStatusEnum.ISSUE); reportStatusList.add(EntrustReportStatusEnum.ISSUE);
reportStatusList.add(EntrustReportStatusEnum.ALLOW);
reportStatusList.add(EntrustReportStatusEnum.SEND);
reportStatusList.add(EntrustReportStatusEnum.REPORT_PRINT); reportStatusList.add(EntrustReportStatusEnum.REPORT_PRINT);
reportStatusList.add(EntrustReportStatusEnum.END); reportStatusList.add(EntrustReportStatusEnum.END);
return success(entrustReportService.pageStatus(getPage(),reportStatusList, entrustReport)); return success(entrustReportService.pageStatus(getPage(),reportStatusList, entrustReport));
......
...@@ -86,7 +86,7 @@ public class EntrustReportTemplateController extends ServiceController { ...@@ -86,7 +86,7 @@ public class EntrustReportTemplateController extends ServiceController {
@ApiOperation(value = "附件上传", notes = "附件上传") @ApiOperation(value = "附件上传", notes = "附件上传")
@PostMapping("/upload_template/") @PostMapping("/upload_template/")
public RestResult<Boolean> uploadTemplate(@RequestParam("name") String name,@RequestParam("remark") String remark, MultipartFile file) { public RestResult<Boolean> uploadTemplate(@RequestParam("name") String name,@RequestParam("classType") String classType,@RequestParam("remark") String remark, MultipartFile file) {
return success(entrustReportTemplateService.uploadTemplate(file,name,remark)); return success(entrustReportTemplateService.uploadTemplate(file,name,classType,remark));
} }
} }
...@@ -50,6 +50,7 @@ public class EntrustSampleBackupController extends ServiceController { ...@@ -50,6 +50,7 @@ public class EntrustSampleBackupController extends ServiceController {
@PostMapping("/page") @PostMapping("/page")
public RestResult<Page<EntrustSampleBackupVO>> getPage(EntrustSampleBackupVO entrustSampleBackup) { public RestResult<Page<EntrustSampleBackupVO>> getPage(EntrustSampleBackupVO entrustSampleBackup) {
entrustSampleBackup.setStatus(EntrustSampleBackupStatusEnum.BACKUP_ING); entrustSampleBackup.setStatus(EntrustSampleBackupStatusEnum.BACKUP_ING);
entrustSampleBackup.setType("BY");
return success(entrustSampleBackupService.pageVO(getPage(), entrustSampleBackup)); return success(entrustSampleBackupService.pageVO(getPage(), entrustSampleBackup));
} }
...@@ -64,9 +65,40 @@ public class EntrustSampleBackupController extends ServiceController { ...@@ -64,9 +65,40 @@ public class EntrustSampleBackupController extends ServiceController {
@PostMapping("/page_back_up_his") @PostMapping("/page_back_up_his")
public RestResult<Page<EntrustSampleBackupVO>> getPageBackupHis(EntrustSampleBackupVO entrustSampleBackup) { public RestResult<Page<EntrustSampleBackupVO>> getPageBackupHis(EntrustSampleBackupVO entrustSampleBackup) {
entrustSampleBackup.setNotStatus(EntrustSampleBackupStatusEnum.BACKUP_ING); entrustSampleBackup.setNotStatus(EntrustSampleBackupStatusEnum.BACKUP_ING);
entrustSampleBackup.setType("BY");
return success(entrustSampleBackupService.pageVO(getPage(), entrustSampleBackup)); return success(entrustSampleBackupService.pageVO(getPage(), entrustSampleBackup));
} }
// ===========================样品管理============================== //
@ApiOperation("样品管理分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page_manage")
public RestResult<Page<EntrustSampleBackupVO>> getPageManage(EntrustSampleBackupVO entrustSampleBackup) {
entrustSampleBackup.setStatus(EntrustSampleBackupStatusEnum.MANAGE_ING);
entrustSampleBackup.setType("YP");
return success(entrustSampleBackupService.pageVO(getPage(), entrustSampleBackup));
}
@ApiOperation("样品管理历史分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page_manage_his")
public RestResult<Page<EntrustSampleBackupVO>> getPageManageHis(EntrustSampleBackupVO entrustSampleBackup) {
entrustSampleBackup.setNotStatus(EntrustSampleBackupStatusEnum.MANAGE_ING);
entrustSampleBackup.setType("YP");
return success(entrustSampleBackupService.pageVO(getPage(), entrustSampleBackup));
}
// =========================================
@ApiOperation("样品处理分页列表") @ApiOperation("样品处理分页列表")
......
package com.patzn.cloud.service.lims.hmhj.controller; package com.patzn.cloud.service.lims.hmhj.controller;
import com.baomidou.kisso.annotation.Action;
import com.baomidou.kisso.annotation.Login;
import com.patzn.cloud.oss.starter.OssFileResult;
import com.patzn.cloud.service.hmhj.entity.OriginalTemplate; import com.patzn.cloud.service.hmhj.entity.OriginalTemplate;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.api.RestConstants; import com.patzn.cloud.commons.api.RestConstants;
...@@ -83,12 +79,16 @@ public class OriginalTemplateController extends ServiceController { ...@@ -83,12 +79,16 @@ public class OriginalTemplateController extends ServiceController {
return success(originalTemplateService.removeByIds(ids)); return success(originalTemplateService.removeByIds(ids));
} }
@ApiOperation(value = "附件上传", notes = "附件上传") @ApiOperation(value = "附件上传", notes = "附件上传")
@PostMapping("/upload_template/") @PostMapping("/upload_template/")
public RestResult<Boolean> uploadTemplate(@RequestParam("classType") String classType,@RequestParam("name") String name,@RequestParam("remark") String remark, MultipartFile file) { public RestResult<Boolean> uploadTemplate(@RequestParam("classType") String classType,@RequestParam("name") String name,@RequestParam("remark") String remark, MultipartFile file) {
return success(originalTemplateService.uploadTemplate(file, classType,name,remark,0)); return success(originalTemplateService.uploadTemplate(file, classType,name,remark,0));
} }
@Login(action = Action.Skip)
@ApiOperation(value = "编辑原始记录", notes = "编辑原始记录")
@PostMapping("/edit_original_record_{someParam}")
public RestResult<Boolean> editOriginalRecord(@PathVariable("someParam") String someParam, @RequestBody OssFileResult obsFileResult) {
return success(originalTemplateService.editOriginalRecord(someParam, obsFileResult));
}
} }
...@@ -32,4 +32,6 @@ public interface EntrustSampleItemMapper extends BatchMapper<EntrustSampleItem> ...@@ -32,4 +32,6 @@ public interface EntrustSampleItemMapper extends BatchMapper<EntrustSampleItem>
List<EntrustSampleItemVO> selectVOListByIds(@Param("ids")Long[] ids); List<EntrustSampleItemVO> selectVOListByIds(@Param("ids")Long[] ids);
List<EntrustSampleItemVO> selectByItemDeviate(RowBounds rowBounds, @Param("vo")EntrustSampleItemVO entrustSampleItem); List<EntrustSampleItemVO> selectByItemDeviate(RowBounds rowBounds, @Param("vo")EntrustSampleItemVO entrustSampleItem);
List<EntrustSampleItemVO> selectByOriginalRecordId(@Param("originalRecordId") Long originalRecordId);
} }
...@@ -19,5 +19,5 @@ public interface IEntrustReportTemplateService extends IBaseService<EntrustRepor ...@@ -19,5 +19,5 @@ public interface IEntrustReportTemplateService extends IBaseService<EntrustRepor
boolean removeByIds(List<Long> ids); boolean removeByIds(List<Long> ids);
boolean uploadTemplate(MultipartFile file, String name, String remark); boolean uploadTemplate(MultipartFile file, String name,String classType, String remark);
} }
...@@ -57,4 +57,6 @@ public interface IEntrustSampleItemService extends IBaseService<EntrustSampleIte ...@@ -57,4 +57,6 @@ public interface IEntrustSampleItemService extends IBaseService<EntrustSampleIte
boolean deviateBack(Long[] ids, String reason, Account account); boolean deviateBack(Long[] ids, String reason, Account account);
Page<EntrustSampleItemVO> pageItemDeviateCheckHis(Page<EntrustSampleItemVO> page, EntrustSampleItemVO entrustSampleItem); Page<EntrustSampleItemVO> pageItemDeviateCheckHis(Page<EntrustSampleItemVO> page, EntrustSampleItemVO entrustSampleItem);
List<EntrustSampleItemVO> getItemByOriginalRecordId(Long originalRecordId);
} }
...@@ -2,6 +2,7 @@ package com.patzn.cloud.service.lims.hmhj.service; ...@@ -2,6 +2,7 @@ package com.patzn.cloud.service.lims.hmhj.service;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.service.IBaseService; import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.oss.starter.OssFileResult;
import com.patzn.cloud.service.hmhj.entity.OriginalTemplate; import com.patzn.cloud.service.hmhj.entity.OriginalTemplate;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
...@@ -20,4 +21,6 @@ public interface IOriginalTemplateService extends IBaseService<OriginalTemplate> ...@@ -20,4 +21,6 @@ public interface IOriginalTemplateService extends IBaseService<OriginalTemplate>
boolean removeByIds(List<Long> ids); boolean removeByIds(List<Long> ids);
boolean uploadTemplate(MultipartFile file, String classType, String name, String remark, int i); boolean uploadTemplate(MultipartFile file, String classType, String name, String remark, int i);
boolean editOriginalRecord(String someParam, OssFileResult obsFileResult);
} }
...@@ -66,6 +66,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -66,6 +66,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
@Override @Override
public boolean removeByIds(List<Long> ids) { public boolean removeByIds(List<Long> ids) {
entrustReportRelSampleService.remove(Condition.create().in("report_id",ids));
return baseMapper.deleteBatchIds(ids) > 0; return baseMapper.deleteBatchIds(ids) > 0;
} }
......
...@@ -42,8 +42,9 @@ public class EntrustReportTemplateServiceImpl extends BaseServiceImpl<EntrustRep ...@@ -42,8 +42,9 @@ public class EntrustReportTemplateServiceImpl extends BaseServiceImpl<EntrustRep
} }
@Override @Override
public boolean uploadTemplate(MultipartFile file, String name, String remark) { public boolean uploadTemplate(MultipartFile file, String name,String classType, String remark) {
RestAssert.fail(StringUtils.isBlank(name),"模板名称不能为空"); RestAssert.fail(StringUtils.isBlank(name),"模板名称不能为空");
RestAssert.fail(StringUtils.isBlank(classType),"模板类别不能为空");
RestAssert.fail(StringUtils.isBlank(remark),"模板名称说明不能为空"); RestAssert.fail(StringUtils.isBlank(remark),"模板名称说明不能为空");
String fileName = file.getOriginalFilename(); String fileName = file.getOriginalFilename();
RestAssert.fail(StringUtils.isBlank(fileName), "请上传文件"); RestAssert.fail(StringUtils.isBlank(fileName), "请上传文件");
...@@ -53,6 +54,7 @@ public class EntrustReportTemplateServiceImpl extends BaseServiceImpl<EntrustRep ...@@ -53,6 +54,7 @@ public class EntrustReportTemplateServiceImpl extends BaseServiceImpl<EntrustRep
return false; return false;
} }
attachment.setName(name); attachment.setName(name);
attachment.setClassType(classType);
attachment.setRemark(remark); attachment.setRemark(remark);
attachment.setBucketName(result.getBucketName()); attachment.setBucketName(result.getBucketName());
attachment.setName(result.getName()); attachment.setName(result.getName());
......
...@@ -493,6 +493,14 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -493,6 +493,14 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
return page.setRecords(baseMapper.selectByItemDeviate(page,entrustSampleItem)); return page.setRecords(baseMapper.selectByItemDeviate(page,entrustSampleItem));
} }
@Override
public List<EntrustSampleItemVO> getItemByOriginalRecordId(Long originalRecordId) {
if(null == originalRecordId){
return null;
}
return baseMapper.selectByOriginalRecordId(originalRecordId);
}
private List<EntrustSampleItemVO> listVOByIds(Long[] ids) { private List<EntrustSampleItemVO> listVOByIds(Long[] ids) {
return baseMapper.selectVOListByIds(ids); return baseMapper.selectVOListByIds(ids);
} }
......
...@@ -7,10 +7,12 @@ import com.patzn.cloud.commons.controller.Account; ...@@ -7,10 +7,12 @@ import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.service.hmhj.dto.SamplePrepareDTO; import com.patzn.cloud.service.hmhj.dto.SamplePrepareDTO;
import com.patzn.cloud.service.hmhj.entity.*; import com.patzn.cloud.service.hmhj.entity.*;
import com.patzn.cloud.service.hmhj.enums.*; import com.patzn.cloud.service.hmhj.enums.*;
import com.patzn.cloud.service.hmhj.vo.EntrustSampleBackupVO;
import com.patzn.cloud.service.hmhj.vo.EntrustSampleVO; import com.patzn.cloud.service.hmhj.vo.EntrustSampleVO;
import com.patzn.cloud.service.lims.hmhj.mapper.EntrustSamplePrepareMapper; import com.patzn.cloud.service.lims.hmhj.mapper.EntrustSamplePrepareMapper;
import com.patzn.cloud.service.lims.hmhj.service.*; import com.patzn.cloud.service.lims.hmhj.service.*;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl; import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
...@@ -104,7 +106,18 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp ...@@ -104,7 +106,18 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
backup.setStatus(EntrustSampleBackupStatusEnum.BACKUP_ING); backup.setStatus(EntrustSampleBackupStatusEnum.BACKUP_ING);
backup.setProgress(EntrustSampleBackupStatusEnum.BACKUP_ING); backup.setProgress(EntrustSampleBackupStatusEnum.BACKUP_ING);
backup.setReceiveTime(new Date()); backup.setReceiveTime(new Date());
// 添加类型,区分样品管理
// 类型:备样
backup.setType("BY");
saveBackupList.add(backup); saveBackupList.add(backup);
// 添加样品管理数据
EntrustSampleBackup manage = new EntrustSampleBackup();
BeanUtils.copyProperties(backup,manage);
// 类型:样品
manage.setType("YP");
manage.setStatus(EntrustSampleBackupStatusEnum.MANAGE_ING);
manage.setProgress(EntrustSampleBackupStatusEnum.MANAGE_ING);
saveBackupList.add(manage);
} }
if (CollectionUtils.isNotEmpty(saveBackupList)){ if (CollectionUtils.isNotEmpty(saveBackupList)){
entrustSampleBackupService.saveBatch(saveBackupList); entrustSampleBackupService.saveBatch(saveBackupList);
...@@ -114,10 +127,8 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp ...@@ -114,10 +127,8 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
sample.setProgress(EntrustSampleStatusEnum.RECEIVE); sample.setProgress(EntrustSampleStatusEnum.RECEIVE);
entrustSampleService.update(sample,Condition.create().in("id",sampleIdsList)); entrustSampleService.update(sample,Condition.create().in("id",sampleIdsList));
saveBatch(savePrepare); saveBatch(savePrepare);
List<EntrustSample> checkMakeList = entrustSampleService.list(Condition.create().eq("entrust_id",entrust.getId()).eq("status",EntrustSampleStatusEnum.DRAFT)); List<EntrustSample> checkMakeList = entrustSampleService.list(Condition.create().eq("entrust_id",entrust.getId()).eq("status",EntrustSampleStatusEnum.DRAFT));
if (CollectionUtils.isEmpty(checkMakeList)){ if (CollectionUtils.isEmpty(checkMakeList)){
Entrust updateEntrust = new Entrust(); Entrust updateEntrust = new Entrust();
......
package com.patzn.cloud.service.lims.hmhj.service.impl; package com.patzn.cloud.service.lims.hmhj.service.impl;
import com.baomidou.mybatisplus.mapper.Condition;
import com.baomidou.mybatisplus.toolkit.CollectionUtils;
import com.patzn.cloud.commons.api.RestAssert; import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.oss.starter.OssClient; import com.patzn.cloud.oss.starter.OssClient;
import com.patzn.cloud.oss.starter.OssFileResult; import com.patzn.cloud.oss.starter.OssFileResult;
import com.patzn.cloud.service.hmhj.entity.OriginalTemplate; import com.patzn.cloud.service.hmhj.entity.*;
import com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO;
import com.patzn.cloud.service.lims.hmhj.common.HSSFWorkbookUtil;
import com.patzn.cloud.service.lims.hmhj.mapper.OriginalTemplateMapper; import com.patzn.cloud.service.lims.hmhj.mapper.OriginalTemplateMapper;
import com.patzn.cloud.service.lims.hmhj.service.IOriginalTemplateService; import com.patzn.cloud.service.lims.hmhj.service.*;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl; import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.entity.SoilOriginalTemplate; import com.patzn.cloud.service.soil.entity.SoilOriginalTemplate;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
...@@ -16,7 +24,13 @@ import com.baomidou.mybatisplus.mapper.Wrapper; ...@@ -16,7 +24,13 @@ import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/** /**
* 模板文件表 服务实现类 * 模板文件表 服务实现类
...@@ -27,10 +41,21 @@ import java.util.List; ...@@ -27,10 +41,21 @@ import java.util.List;
@Service @Service
public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplateMapper, OriginalTemplate> implements IOriginalTemplateService { public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplateMapper, OriginalTemplate> implements IOriginalTemplateService {
@Autowired @Autowired
private OssClient ossClient; private OssClient ossClient;
@Autowired
private IOriginalRecordService originalRecordService;
@Autowired
private IEntrustSampleService entrustSampleService;
@Autowired
private IEntrustSampleItemService entrustSampleItemService;
@Autowired
private IOriginalTemplateConfigService originalTemplateConfigService;
@Override @Override
public Page<OriginalTemplate> page(Page<OriginalTemplate> page, OriginalTemplate originalTemplate) { public Page<OriginalTemplate> page(Page<OriginalTemplate> page, OriginalTemplate originalTemplate) {
String alias = originalTemplate.getAlias(); String alias = originalTemplate.getAlias();
...@@ -69,5 +94,128 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat ...@@ -69,5 +94,128 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
return save(attachment); return save(attachment);
} }
@Override
public boolean editOriginalRecord(String someParam, OssFileResult obsFileResult) {
RestAssert.fail(StringUtils.isBlank(someParam), "业务ID不能为空");
RestAssert.fail(null == obsFileResult, "OssFileResult不能为空");
RestAssert.fail(StringUtils.isBlank(obsFileResult.getObjectKey()), "ObjectKey不能为空");
RestAssert.fail(StringUtils.isBlank(obsFileResult.getVersionId()), "VersionId不能为空");
RestAssert.fail(StringUtils.isBlank(obsFileResult.getType()), "Type不能为空");
RestAssert.fail(StringUtils.isBlank(someParam) || 4 != someParam.split("&").length, "参数传递有误");
String[] arr = someParam.split("&");
Long businessId = Long.parseLong(arr[0]);
String userName = null;
try {
userName = java.net.URLDecoder.decode(arr[2], "utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Long userId = Long.parseLong(arr[1]);
Long companyId = Long.parseLong(arr[3]);
OriginalRecord report = originalRecordService.getById(businessId);
if (null == report) {
RestAssert.fail("数据有误");
}
OriginalRecord originalRecord = new OriginalRecord();
originalRecord.setId(businessId);
originalRecord.setObjectKey(obsFileResult.getObjectKey());
originalRecordService.updateById(originalRecord);
InputStream io = ossClient.download(obsFileResult.getObjectKey());
//结果回调
XSSFWorkbook xssfWorkbook = null;
try {
xssfWorkbook = new XSSFWorkbook(io);
} catch (Exception e1) {
e1.printStackTrace();
return false;
}
XSSFSheet sheet = xssfWorkbook.getSheetAt(0);
if (null == report.getTemplateId()) {
return true;
}
OriginalTemplate template = getById(report.getTemplateId());
if (null == template) {
return true;
}
Integer moreSheet = template.getMoreSheet();
List<OriginalTemplateConfig> configList = originalTemplateConfigService.list(Condition.create()
.eq("template_id", template.getId()));
if (CollectionUtils.isEmpty(configList)) {
return true;
}
// 原始记录所对应的检测项目信息
List<EntrustSampleItemVO> sampleItemVOList = entrustSampleItemService.getItemByOriginalRecordId(businessId);
if (CollectionUtils.isEmpty(sampleItemVOList)) {
return true;
}
if (null == moreSheet || 0 == moreSheet) {
int sampleBeginRow = template.getSampleBeginRow();
int sampleMergerNum = template.getSampleMergerNum();
int lastRowNum = sheet.getLastRowNum();
Integer samplePos = null;
for (OriginalTemplateConfig config : configList) {
if ("sampleCode".equals(config.getDataAttribute())) {
samplePos = config.getColumnPlace();
break;
}
}
// 获取一个指标位置(可能是平均值和分析结果,若两者都存在,取平均值)
Integer indicatorPos = null;
for (OriginalTemplateConfig config : configList) {
if (null != config.getItemed() && 1 == config.getItemed().intValue()) {
indicatorPos = config.getColumnPlace();
if (config.getAttributeName().contains("平均值")) {
break;
}
}
}
if (samplePos == null || indicatorPos == null) {
return true;
}
for (int i = sampleBeginRow; i <= lastRowNum; i += sampleMergerNum) {
XSSFRow xssfRow = sheet.getRow(i);
if (null == xssfRow) {
continue;
}
XSSFCell sampleCodeCell = xssfRow.getCell(samplePos);
XSSFCell indicatorCell = xssfRow.getCell(indicatorPos);
String sampleCode = HSSFWorkbookUtil.getJavaValue(sampleCodeCell).toString();
String indicatorVal = HSSFWorkbookUtil.getJavaValue(indicatorCell).toString();
if (StringUtils.isNotBlank(sampleCode) && StringUtils.isNotBlank(indicatorVal) && !"#VALUE!".equals(indicatorVal)) {
fillTestValue(sampleCode, indicatorVal, userId, userName, sampleItemVOList);
}
}
// 批量更新检测值
List<EntrustSampleItem> entrustSampleItemList = sampleItemVOList.stream().map(t -> t.convert(EntrustSampleItem.class)).collect(Collectors.toList());
entrustSampleItemService.updateBatchById(entrustSampleItemList);
} else {
// 多 tab 页情况
// do nothings
}
return true;
}
private void fillTestValue(String sampleCode, String testValue, Long userId, String userName, List<EntrustSampleItemVO> sampleItemVOList) {
for (EntrustSampleItemVO vo : sampleItemVOList) {
// 是否需要判断如果有值的话,不去覆盖值
if (vo.getSampleCode().equals(sampleCode)) {
vo.setTestValue(testValue);
vo.setTester(userName);
vo.setTesterId(userId);
break;
}
}
}
} }
...@@ -219,5 +219,16 @@ ...@@ -219,5 +219,16 @@
ORDER BY s.code , i.name ORDER BY s.code , i.name
</select> </select>
<select id="selectByOriginalRecordId" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO">
SELECT
i.id,i.name,i.entrust_sample_id,s.entrust_id,i.agreed_value,i.test_value,i.standard,s.code AS
"sampleCode",s.name AS "sampleName", s.sample_shape ,s.sample_quantity, s.standard, s.sample_from,
s.product_code,s.name_code
FROM
entrust_sample_item i
JOIN entrust_sample s ON i.entrust_sample_id = s.ID
JOIN item_rel_original_record rr on i.id = rr.item_id
WHERE i.deleted = 0 AND s.deleted = 0 and rr.deleted = 0 and rr.record_id = #{originalRecordId} limit 1
</select>
</mapper> </mapper>
...@@ -10,6 +10,9 @@ ...@@ -10,6 +10,9 @@
<if test="null != vo.title"> <if test="null != vo.title">
AND r.title LIKE CONCAT('%',#{vo.title},'%') AND r.title LIKE CONCAT('%',#{vo.title},'%')
</if> </if>
<if test="null != vo.entrustId">
AND r.entrust_id = #{vo.entrustId}
</if>
<if test="null != vo.entrustCode"> <if test="null != vo.entrustCode">
AND e.code LIKE CONCAT('%',#{vo.entrustCode},'%') AND e.code LIKE CONCAT('%',#{vo.entrustCode},'%')
</if> </if>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment