Commit 5cef27b8 by wangweidong

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustSampleServiceImpl.java
#	src/main/resources/mapper/hmhj/EntrustSampleItemMapper.xml
parents 7d251600 81165497
.gradle
.idea
build
gradle*
Dockerfile
Jenkinsfile-test
libs
\ No newline at end of file
......@@ -5,6 +5,7 @@ import com.patzn.cloud.service.hmhj.dto.EntrustDTO;
import com.patzn.cloud.service.hmhj.entity.Entrust;
import com.patzn.cloud.service.hmhj.enums.*;
import com.patzn.cloud.service.hmhj.vo.EntrustVO;
import com.patzn.cloud.service.lims.hmhj.service.impl.UserInfoServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......@@ -35,6 +36,9 @@ public class EntrustController extends ServiceController {
@Autowired
private IEntrustService entrustService;
@Autowired
private UserInfoServiceImpl userInfoService;
@ApiOperation("委托登记分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
......@@ -333,6 +337,8 @@ public class EntrustController extends ServiceController {
@PostMapping("/page_entrust_sample_receive")
public RestResult<Page<EntrustVO>> getPageEntrustSampleReceive(EntrustVO entrust) {
entrust.setPrepareStatus(EntrustSamplePrepareStatusEnum.RECEIVE);
// 设置用户编组
entrust.setGroupNameList(userInfoService.getCurGroupNameList());
return success(entrustService.pageEntrustSampleReceive(getPage(), entrust));
}
......@@ -348,6 +354,8 @@ public class EntrustController extends ServiceController {
@PostMapping("/page_entrust_sample_receive_his")
public RestResult<Page<EntrustVO>> getPageEntrustSampleReceiveHis(EntrustVO entrust) {
entrust.setPrepareNotStatus(EntrustSamplePrepareStatusEnum.RECEIVE);
// 设置用户编组
entrust.setGroupNameList(userInfoService.getCurGroupNameList());
return success(entrustService.pageEntrustSampleReceiveHis(getPage(), entrust));
}
......@@ -363,6 +371,8 @@ public class EntrustController extends ServiceController {
@PostMapping("/page_entrust_allot")
public RestResult<Page<EntrustVO>> getPageTaskAllot(EntrustVO entrust) {
entrust.setItemStatus(EntrustSampleItemStatusEnum.ALLOT);
// 获取当前用户分组
entrust.setGroupNameList(userInfoService.getCurGroupNameList());
return success(entrustService.pageEntrustByItem(getPage(), entrust));
}
......@@ -383,6 +393,8 @@ public class EntrustController extends ServiceController {
EntrustSampleItemStatusEnum.AUDIT,
EntrustSampleItemStatusEnum.END
));
// 获取当前用户分组
entrust.setGroupNameList(userInfoService.getCurGroupNameList());
return success(entrustService.pageEntrustByItemHis(getPage(), entrust));
}
......@@ -397,6 +409,8 @@ public class EntrustController extends ServiceController {
@PostMapping("/page_entrust_test")
public RestResult<Page<EntrustVO>> getPageTaskTest(EntrustVO entrust) {
entrust.setItemStatus(EntrustSampleItemStatusEnum.TEST);
// 获取当前用户分组
entrust.setGroupNameList(userInfoService.getCurGroupNameList());
return success(entrustService.pageEntrustByItem(getPage(), entrust));
}
......@@ -416,6 +430,8 @@ public class EntrustController extends ServiceController {
EntrustSampleItemStatusEnum.AUDIT,
EntrustSampleItemStatusEnum.END
));
// 获取当前用户分组
entrust.setGroupNameList(userInfoService.getCurGroupNameList());
return success(entrustService.pageEntrustByItemHis(getPage(), entrust));
}
......@@ -540,12 +556,79 @@ public class EntrustController extends ServiceController {
public RestResult<Page<EntrustVO>> getPageReportCheckHis(EntrustVO entrust) {
entrust.setReportStatusList(Lists.newArrayList(
EntrustReportStatusEnum.ISSUE,
EntrustReportStatusEnum.ALLOW,
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_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("报告签发委托分页列表")
......
......@@ -62,6 +62,8 @@ public class EntrustReportController extends ServiceController {
List<EntrustReportStatusEnum> reportStatusList = new ArrayList<>();
reportStatusList.add(EntrustReportStatusEnum.CHECK);
reportStatusList.add(EntrustReportStatusEnum.ISSUE);
reportStatusList.add(EntrustReportStatusEnum.ALLOW);
reportStatusList.add(EntrustReportStatusEnum.SEND);
reportStatusList.add(EntrustReportStatusEnum.REPORT_PRINT);
reportStatusList.add(EntrustReportStatusEnum.END);
return success(entrustReportService.pageStatus(getPage(),reportStatusList, entrustReport));
......@@ -89,6 +91,8 @@ public class EntrustReportController extends ServiceController {
public RestResult<Page<EntrustReport>> getPageCheckHis(EntrustReport entrustReport) {
List<EntrustReportStatusEnum> reportStatusList = new ArrayList<>();
reportStatusList.add(EntrustReportStatusEnum.ISSUE);
reportStatusList.add(EntrustReportStatusEnum.ALLOW);
reportStatusList.add(EntrustReportStatusEnum.SEND);
reportStatusList.add(EntrustReportStatusEnum.REPORT_PRINT);
reportStatusList.add(EntrustReportStatusEnum.END);
return success(entrustReportService.pageStatus(getPage(),reportStatusList, entrustReport));
......
......@@ -86,7 +86,7 @@ public class EntrustReportTemplateController extends ServiceController {
@ApiOperation(value = "附件上传", notes = "附件上传")
@PostMapping("/upload_template/")
public RestResult<Boolean> uploadTemplate(@RequestParam("name") String name,@RequestParam("remark") String remark, MultipartFile file) {
return success(entrustReportTemplateService.uploadTemplate(file,name,remark));
public RestResult<Boolean> uploadTemplate(@RequestParam("name") String name,@RequestParam("classType") String classType,@RequestParam("remark") String remark, MultipartFile file) {
return success(entrustReportTemplateService.uploadTemplate(file,name,classType,remark));
}
}
......@@ -50,6 +50,7 @@ public class EntrustSampleBackupController extends ServiceController {
@PostMapping("/page")
public RestResult<Page<EntrustSampleBackupVO>> getPage(EntrustSampleBackupVO entrustSampleBackup) {
entrustSampleBackup.setStatus(EntrustSampleBackupStatusEnum.BACKUP_ING);
entrustSampleBackup.setType("BY");
return success(entrustSampleBackupService.pageVO(getPage(), entrustSampleBackup));
}
......@@ -64,9 +65,40 @@ public class EntrustSampleBackupController extends ServiceController {
@PostMapping("/page_back_up_his")
public RestResult<Page<EntrustSampleBackupVO>> getPageBackupHis(EntrustSampleBackupVO entrustSampleBackup) {
entrustSampleBackup.setNotStatus(EntrustSampleBackupStatusEnum.BACKUP_ING);
entrustSampleBackup.setType("BY");
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("样品处理分页列表")
......
package com.patzn.cloud.service.lims.hmhj.controller;
import com.patzn.cloud.service.hmhj.entity.OriginalRecord;
import com.patzn.cloud.service.hmhj.vo.OriginalRecordVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -48,6 +49,16 @@ public class OriginalRecordController extends ServiceController {
return success(originalRecordService.page(getPage(), originalRecord));
}
@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),
})
@PostMapping("/pageVO")
public RestResult<Page<OriginalRecordVO>> getPageVO(OriginalRecordVO originalRecordVO) {
return success(originalRecordService.pageVO(getPage(), originalRecordVO));
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
......
......@@ -80,9 +80,6 @@ public class OriginalTemplateController extends ServiceController implements Ori
return success(originalTemplateService.removeByIds(ids));
}
@ApiOperation(value = "附件上传", notes = "附件上传")
@PostMapping("/upload_template/")
public RestResult<Boolean> uploadTemplate(@RequestParam("classType") String classType,@RequestParam("name") String name,@RequestParam("remark") String remark, MultipartFile file) {
......@@ -112,4 +109,11 @@ public class OriginalTemplateController extends ServiceController implements Ori
public RestResult<String> getKeyByBusinessId(String s) {
return null;
}
@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));
}
}
......@@ -34,4 +34,6 @@ public interface EntrustSampleItemMapper extends BatchMapper<EntrustSampleItem>
List<EntrustSampleItemVO> selectByItemDeviate(RowBounds rowBounds, @Param("vo")EntrustSampleItemVO entrustSampleItem);
List<EntrustSampleItemVO> selectListVOByIds(@Param("ids")List<Long> expIdsList);
List<EntrustSampleItemVO> selectByOriginalRecordId(@Param("originalRecordId") Long originalRecordId);
}
package com.patzn.cloud.service.lims.hmhj.mapper;
import com.patzn.cloud.service.hmhj.entity.OriginalRecord;
import com.patzn.cloud.commons.mapper.BatchMapper;
import com.patzn.cloud.service.hmhj.entity.OriginalRecord;
import com.patzn.cloud.service.hmhj.vo.OriginalRecordVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;
import java.util.List;
/**
* <p>
......@@ -13,4 +18,5 @@ import com.patzn.cloud.commons.mapper.BatchMapper;
*/
public interface OriginalRecordMapper extends BatchMapper<OriginalRecord> {
List<OriginalRecordVO> selectPageVO(RowBounds rowBounds, @Param("vo") OriginalRecordVO vo);
}
......@@ -19,5 +19,5 @@ public interface IEntrustReportTemplateService extends IBaseService<EntrustRepor
boolean removeByIds(List<Long> ids);
boolean uploadTemplate(MultipartFile file, String name, String remark);
boolean uploadTemplate(MultipartFile file, String name,String classType, String remark);
}
......@@ -58,5 +58,7 @@ public interface IEntrustSampleItemService extends IBaseService<EntrustSampleIte
Page<EntrustSampleItemVO> pageItemDeviateCheckHis(Page<EntrustSampleItemVO> page, EntrustSampleItemVO entrustSampleItem);
List<EntrustSampleItemVO> getItemByOriginalRecordId(Long originalRecordId);
List<EntrustSampleItemVO> listVOByIds(List<Long> expIdsList);
}
......@@ -6,6 +6,7 @@ import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.hmhj.entity.Entrust;
import com.patzn.cloud.service.hmhj.entity.OriginalRecord;
import com.patzn.cloud.service.hmhj.entity.OriginalTemplate;
import com.patzn.cloud.service.hmhj.vo.OriginalRecordVO;
import java.io.File;
import java.util.List;
......@@ -23,4 +24,6 @@ public interface IOriginalRecordService extends IBaseService<OriginalRecord> {
boolean removeByIds(List<Long> ids);
OriginalRecord uploadExpGenerate(Long[] ids, OriginalTemplate template, Entrust entrust, Account account, String remark, File file);
Page<OriginalRecordVO> pageVO(Page<OriginalRecordVO> page, OriginalRecordVO originalRecord);
}
......@@ -22,5 +22,7 @@ public interface IOriginalTemplateService extends IBaseService<OriginalTemplate>
boolean uploadTemplate(MultipartFile file, String classType, String name, String remark, int i);
boolean editOriginalRecord(String someParam, OssFileResult obsFileResult);
boolean editOriginal(String someParam, OssFileResult obsFileResult);
}
......@@ -60,7 +60,7 @@ public class ContractSampleServiceImpl extends BaseServiceImpl<ContractSampleMap
@Override
public Page<ContractSample> page(Page<ContractSample> page, ContractSample contractSample) {
Wrapper wrapper = new EntityWrapper<>(contractSample);
wrapper.orderBy("ctime",false);
return this.page(page, wrapper);
}
......
......@@ -66,6 +66,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
@Override
public boolean removeByIds(List<Long> ids) {
entrustReportRelSampleService.remove(Condition.create().in("report_id",ids));
return baseMapper.deleteBatchIds(ids) > 0;
}
......
......@@ -42,8 +42,9 @@ public class EntrustReportTemplateServiceImpl extends BaseServiceImpl<EntrustRep
}
@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(classType),"模板类别不能为空");
RestAssert.fail(StringUtils.isBlank(remark),"模板名称说明不能为空");
String fileName = file.getOriginalFilename();
RestAssert.fail(StringUtils.isBlank(fileName), "请上传文件");
......@@ -53,6 +54,7 @@ public class EntrustReportTemplateServiceImpl extends BaseServiceImpl<EntrustRep
return false;
}
attachment.setName(name);
attachment.setClassType(classType);
attachment.setRemark(remark);
attachment.setBucketName(result.getBucketName());
attachment.setName(result.getName());
......
......@@ -174,9 +174,10 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的检测项目");
List<EntrustSampleItem> list = super.list(Condition.create().in("id",ids).eq("status",EntrustSampleItemStatusEnum.TEST));
RestAssert.fail(list.size()!=ids.length,"请选择待检测的检测项目");
for (EntrustSampleItem sampleItem:list) {
RestAssert.fail(StringUtils.isBlank(sampleItem.getTestValue()),"检测项目名称:"+sampleItem.getName()+"未填写检测值,请确认!");
}
// 不再对检测值进行判断
// for (EntrustSampleItem sampleItem:list) {
// RestAssert.fail(StringUtils.isBlank(sampleItem.getTestValue()),"检测项目名称:"+sampleItem.getName()+"未填写检测值,请确认!");
// }
EntrustSampleItem item = new EntrustSampleItem();
......@@ -494,6 +495,14 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
}
@Override
public List<EntrustSampleItemVO> getItemByOriginalRecordId(Long originalRecordId) {
if(null == originalRecordId){
return null;
}
return baseMapper.selectByOriginalRecordId(originalRecordId);
}
@Override
public List<EntrustSampleItemVO> listVOByIds(List<Long> expIdsList) {
return baseMapper.selectListVOByIds(expIdsList);
}
......
......@@ -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.entity.*;
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.lims.hmhj.mapper.EntrustSamplePrepareMapper;
import com.patzn.cloud.service.lims.hmhj.service.*;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
......@@ -104,7 +106,18 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
backup.setStatus(EntrustSampleBackupStatusEnum.BACKUP_ING);
backup.setProgress(EntrustSampleBackupStatusEnum.BACKUP_ING);
backup.setReceiveTime(new Date());
// 添加类型,区分样品管理
// 类型:备样
backup.setType("BY");
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)){
entrustSampleBackupService.saveBatch(saveBackupList);
......@@ -114,10 +127,8 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
sample.setProgress(EntrustSampleStatusEnum.RECEIVE);
entrustSampleService.update(sample,Condition.create().in("id",sampleIdsList));
saveBatch(savePrepare);
List<EntrustSample> checkMakeList = entrustSampleService.list(Condition.create().eq("entrust_id",entrust.getId()).eq("status",EntrustSampleStatusEnum.DRAFT));
if (CollectionUtils.isEmpty(checkMakeList)){
Entrust updateEntrust = new Entrust();
......
......@@ -59,6 +59,8 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
@Autowired
private IEntrustReportTemplateService entrustReportTemplateService;
@Autowired
private IEntrustReportTemplateConfigService entrustReportTemplateConfigService;
@Autowired
private OssClient ossClient;
......@@ -75,8 +77,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
private IEntrustReportService entrustReportService;
@Autowired
private IOriginalTemplateConfigService originalTemplateConfigService;
@Autowired
private IEntrustReportTemplateConfigService entrustReportTemplateConfigService;
@Autowired
private IEntrustService entrustService;
......@@ -103,27 +104,27 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
@Override
public Page<EntrustSampleVO> pageVO(Page<EntrustSampleVO> page, EntrustSampleVO entrustSample) {
return page.setRecords(baseMapper.selectVOList(page,entrustSample));
return page.setRecords(baseMapper.selectVOList(page, entrustSample));
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean submitToAcceptanceResultInput(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交到验收结果录入的数据");
if (submitJudgeCheck(ids,account)){
List<EntrustSample> sampleList = list(Condition.create().in("id",ids));
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交到验收结果录入的数据");
if (submitJudgeCheck(ids, account)) {
List<EntrustSample> sampleList = list(Condition.create().in("id", ids));
List<Long> contractSampleIdList = new ArrayList<>();
for (EntrustSample sample : sampleList) {
if (null!=sample.getContractSampleId()){
if (null != sample.getContractSampleId()) {
contractSampleIdList.add(sample.getContractSampleId());
}
}
if (CollectionUtils.isNotEmpty(contractSampleIdList)){
if (CollectionUtils.isNotEmpty(contractSampleIdList)) {
ContractSample sample = new ContractSample();
sample.setStatus(ContractSampleStatusEnum.CHECK_RESULT_INPUT);
sample.setProgress(ContractSampleStatusEnum.QUALITY_AUDIT);
contractSampleService.update(sample,Condition.create().in("id",contractSampleIdList));
contractSampleRecordService.record(contractSampleIdList,ContractSampleStatusEnum.QUALITY_AUDIT,ContractSampleStatusEnum.CHECK_RESULT_INPUT,0,"质量审核提交至验收结果录入",account);
contractSampleService.update(sample, Condition.create().in("id", contractSampleIdList));
contractSampleRecordService.record(contractSampleIdList, ContractSampleStatusEnum.QUALITY_AUDIT, ContractSampleStatusEnum.CHECK_RESULT_INPUT, 0, "质量审核提交至验收结果录入", account);
}
}
return true;
......@@ -136,58 +137,58 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
@Override
public List<EntrustSampleVO> obtainMakeInfo(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要制备的样品");
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要制备的样品");
List<EntrustSample> entrustSamples = super.list(Condition.create().in("id",ids));
List<EntrustSample> entrustSamples = super.list(Condition.create().in("id", ids));
RestAssert.fail(CollectionUtils.isEmpty(entrustSamples),"请选择要制备的样品");
RestAssert.fail(CollectionUtils.isEmpty(entrustSamples), "请选择要制备的样品");
List<Long> sampleIds = entrustSamples.stream().map(s->{
List<Long> sampleIds = entrustSamples.stream().map(s -> {
return s.getId();
}).collect(Collectors.toList());
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().in("entrust_sample_id",ids));
RestAssert.fail(CollectionUtils.isEmpty(itemList),"所选择的样品不含检测项目,无法制备");
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().in("entrust_sample_id", ids));
RestAssert.fail(CollectionUtils.isEmpty(itemList), "所选择的样品不含检测项目,无法制备");
Set<Long> setSampleIds = itemList.stream().map(i->{
Set<Long> setSampleIds = itemList.stream().map(i -> {
return i.getEntrustSampleId();
}).collect(Collectors.toSet());
if (setSampleIds.size()!=ids.length){
RestAssert.fail(CollectionUtils.isEmpty(itemList),"所选择的样品有不含检测项目的,请确认");
if (setSampleIds.size() != ids.length) {
RestAssert.fail(CollectionUtils.isEmpty(itemList), "所选择的样品有不含检测项目的,请确认");
}
Map<Long,Map<Long,String>> sampleGroupMap = new HashMap<>();
for (EntrustSampleItem item:itemList) {
if (sampleGroupMap.containsKey(item.getEntrustSampleId())){
Map<Long,String> groupMap = sampleGroupMap.get(item.getEntrustSampleId());
groupMap.put(item.getGroupId(),item.getGroupName());
Map<Long, Map<Long, String>> sampleGroupMap = new HashMap<>();
for (EntrustSampleItem item : itemList) {
if (sampleGroupMap.containsKey(item.getEntrustSampleId())) {
Map<Long, String> groupMap = sampleGroupMap.get(item.getEntrustSampleId());
groupMap.put(item.getGroupId(), item.getGroupName());
sampleGroupMap.put(item.getEntrustSampleId(),groupMap);
}else{
Map<Long,String> groupMap =new HashMap<>();
groupMap.put(item.getGroupId(),item.getGroupName());
sampleGroupMap.put(item.getEntrustSampleId(), groupMap);
} else {
Map<Long, String> groupMap = new HashMap<>();
groupMap.put(item.getGroupId(), item.getGroupName());
sampleGroupMap.put(item.getEntrustSampleId(),groupMap);
sampleGroupMap.put(item.getEntrustSampleId(), groupMap);
}
}
List<EntrustSampleVO> list=new ArrayList<>();
List<EntrustSampleVO> list = new ArrayList<>();
for (EntrustSample sample:entrustSamples) {
Map<Long,String> groupMap = sampleGroupMap.get(sample.getId());
if (null == groupMap){
for (EntrustSample sample : entrustSamples) {
Map<Long, String> groupMap = sampleGroupMap.get(sample.getId());
if (null == groupMap) {
continue;
}
for (Map.Entry<Long,String> g: groupMap.entrySet()) {
for (Map.Entry<Long, String> g : groupMap.entrySet()) {
EntrustSampleVO sampleVO = sample.convert(EntrustSampleVO.class);
sampleVO.setId(null);
sampleVO.setGroupId(g.getKey());
sampleVO.setGroupName(g.getValue());
Set<String> itemNameSet = new HashSet<>();
for (EntrustSampleItem item:itemList) {
if (item.getEntrustSampleId().equals(sample.getId())&&item.getGroupId().equals(g.getKey())){
for (EntrustSampleItem item : itemList) {
if (item.getEntrustSampleId().equals(sample.getId()) && item.getGroupId().equals(g.getKey())) {
itemNameSet.add(item.getName());
}
}
......@@ -201,75 +202,74 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
@Override
public Page<EntrustSampleVO> pageSampleReceive(Page<EntrustSampleVO> page, EntrustSampleVO entrustSample) {
return page.setRecords(baseMapper.selectSampleReceiveList(page,entrustSample));
return page.setRecords(baseMapper.selectSampleReceiveList(page, entrustSample));
}
@Override
public Page<EntrustSampleVO> pageSampleByItem(Page<EntrustSampleVO> page, EntrustSampleVO entrustSample) {
if (null == entrustSample.getEntrustId()){
if (null == entrustSample.getEntrustId()) {
return page;
}
if (null == entrustSample.getItemStatus()){
if (null == entrustSample.getItemStatus()) {
return page;
}
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().eq("status",entrustSample.getItemStatus()));
if (CollectionUtils.isEmpty(itemList)){
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().eq("status", entrustSample.getItemStatus()));
if (CollectionUtils.isEmpty(itemList)) {
return page;
}
List<Long> sampleIdsList = itemList.stream().map(i->{
List<Long> sampleIdsList = itemList.stream().map(i -> {
return i.getEntrustSampleId();
}).collect(Collectors.toList());
entrustSample.setIds(sampleIdsList);
return page.setRecords(baseMapper.selectVOList(page,entrustSample));
return page.setRecords(baseMapper.selectVOList(page, entrustSample));
}
@Override
public Page<EntrustSampleVO> pageSampleByItemHis(Page<EntrustSampleVO> page, EntrustSampleVO entrustSample) {
if (null == entrustSample.getEntrustId()){
if (null == entrustSample.getEntrustId()) {
return page;
}
if (CollectionUtils.isEmpty(entrustSample.getItemStatusList()) ){
if (CollectionUtils.isEmpty(entrustSample.getItemStatusList())) {
return page;
}
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().in("status",entrustSample.getItemStatusList()));
if (CollectionUtils.isEmpty(itemList)){
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().in("status", entrustSample.getItemStatusList()));
if (CollectionUtils.isEmpty(itemList)) {
return page;
}
List<Long> sampleIdsList = itemList.stream().map(i->{
List<Long> sampleIdsList = itemList.stream().map(i -> {
return i.getEntrustSampleId();
}).collect(Collectors.toList());
entrustSample.setIds(sampleIdsList);
return page.setRecords(baseMapper.selectVOList(page,entrustSample));
return page.setRecords(baseMapper.selectVOList(page, entrustSample));
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean makeReport(ReportDTO dto, Account account) {
Long [] ids = dto.getSampleIds();
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要生成报告的样品");
Long[] ids = dto.getSampleIds();
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要生成报告的样品");
Long templateId = dto.getTemplateId();
RestAssert.fail(null ==templateId,"请选择报告模板!");
RestAssert.fail(null == templateId, "请选择报告模板!");
List<EntrustReportRelSample> relSamples =entrustReportRelSampleService.list(Condition.create().in("sample_id",ids));
if (CollectionUtils.isNotEmpty(relSamples)){
List<EntrustReportRelSample> relSamples = entrustReportRelSampleService.list(Condition.create().in("sample_id", ids));
if (CollectionUtils.isNotEmpty(relSamples)) {
RestAssert.fail("您选择的样品含有已经生成过报告的,请确认");
}
List<EntrustSample> sampleList = super.list(Condition.create().in("id",ids));
RestAssert.fail(CollectionUtils.isEmpty(sampleList),"样品不存在请确认!");
List<EntrustSample> sampleList = super.list(Condition.create().in("id", ids));
RestAssert.fail(CollectionUtils.isEmpty(sampleList), "样品不存在请确认!");
Long entrustId = sampleList.get(0).getEntrustId();
......@@ -279,18 +279,18 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
Set<String> sampleNameSet = new HashSet<>();
for (EntrustSample sample:sampleList) {
for (EntrustSample sample : sampleList) {
sampleNameSet.add(sample.getName());
}
String sampleName = StringHandleUtils.join(sampleNameSet);
if (sysFileTemplate.getName().contains(".docx")){
if (sysFileTemplate.getObjectKey().contains(".docx")) {
RestAssert.fail(null == sysFileTemplate, "选择的报告模板不存在");
String sampleShape = sampleList.get(0).getSampleShape();
Map<String, Object> contractMap = new HashMap<>();
contractMap.put("s", entrust);
contractMap.put("sampleName",sampleName);
contractMap.put("sampleShape",sampleShape);
contractMap.put("sampleName", sampleName);
contractMap.put("sampleShape", sampleShape);
InputStream io = ossClient.download(sysFileTemplate.getObjectKey());
XWPFTemplate xwpfTemplate = null;
......@@ -323,7 +323,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
os = new FileOutputStream(file);
baseDoc.write(os);
os.flush();
entrustReportService.uploadReportGenerateDocx(entrust,ids, account, StringHandleUtils.join(sampleNameSet),"报告生成", file);
entrustReportService.uploadReportGenerateDocx(entrust, ids, account, StringHandleUtils.join(sampleNameSet), "报告生成", file);
} catch (Exception e) {
e.printStackTrace();
} finally {
......@@ -337,7 +337,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
}
}
}else if (sysFileTemplate.getName().contains(".xlsx")){
} else if (sysFileTemplate.getObjectKey().contains(".xlsx")) {
List<EntrustSampleItemVO> sampleItemVOList = entrustSampleItemService.listBySampleIds(ids);
......@@ -347,7 +347,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
List<EntrustSampleItemVO> sampleItemList = new ArrayList<>();
for (EntrustSampleItemVO itemVO : sampleItemVOList) {
if (sample.getId().equals(itemVO.getEntrustSampleId())){
if (sample.getId().equals(itemVO.getEntrustSampleId())) {
sampleItemList.add(itemVO);
}
}
......@@ -355,15 +355,15 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
sampleVOList.add(vo);
}
InputStream io = ossClient.download(sysFileTemplate.getObjectKey());
XSSFWorkbook xssfWorkbook= null;
XSSFWorkbook xssfWorkbook = null;
try {
xssfWorkbook= new XSSFWorkbook(io);
xssfWorkbook = new XSSFWorkbook(io);
} catch (IOException e) {
e.printStackTrace();
}
List<EntrustReportTemplateConfig> configList = entrustReportTemplateConfigService.list(Condition.create().eq("template_id",templateId));
OriginalUtil.doReplace(xssfWorkbook,entrust);
List<EntrustReportTemplateConfig> configList = entrustReportTemplateConfigService.list(Condition.create().eq("template_id", templateId));
OriginalUtil.doReplace(xssfWorkbook, entrust);
XSSFSheet sheetOne = xssfWorkbook.getSheetAt(0);
String sheetName = sheetOne.getSheetName();
System.out.println(sheetName);
......@@ -371,23 +371,23 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
Integer beginRow = sysFileTemplate.getSampleBeginRow();
int sampleMergerNum = sysFileTemplate.getSampleMergerNum();
int templateSampleNum = sysFileTemplate.getTemplateSampleNum();
if (templateSampleNum>=sampleVOList.size()){
for (EntrustSampleVO vo:sampleVOList) {
if (templateSampleNum >= sampleVOList.size()) {
for (EntrustSampleVO vo : sampleVOList) {
List<EntrustSampleItemIndex> indexList = entrustSampleItemIndexService.listBySampleId(vo.getId());
vo.setIndexList(indexList);
XSSFRow xssfRow = sheetOne.getRow(beginRow);
for (EntrustReportTemplateConfig config:configList) {
for (EntrustReportTemplateConfig config : configList) {
XSSFCell cell = xssfRow.getCell(config.getColumnPlace());
if ("sn".equals(config.getDataAttribute())){
if ("sn".equals(config.getDataAttribute())) {
continue;
}
if (StringUtils.isBlank(config.getDataAttribute())){
if (StringUtils.isBlank(config.getDataAttribute())) {
continue;
}
String value= StringHandleUtils.getFieldValue(config.getDataAttribute(),vo);
String value = StringHandleUtils.getFieldValue(config.getDataAttribute(), vo);
cell.setCellValue(value);
}
beginRow+=sampleMergerNum;
beginRow += sampleMergerNum;
}
String generated = entrust.getCode();
FileOutputStream os = null;
......@@ -397,7 +397,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
os = new FileOutputStream(file);
xssfWorkbook.write(os);
os.flush();
entrustReportService.uploadReportGenerateDocx(entrust,ids, account, StringHandleUtils.join(sampleNameSet),"报告生成", file);
entrustReportService.uploadReportGenerateDocx(entrust, ids, account, StringHandleUtils.join(sampleNameSet), "报告生成", file);
} catch (Exception e) {
e.printStackTrace();
} finally {
......@@ -419,15 +419,15 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
FileUtils.deleteFiles(file);
}
}else{
int insertRow = beginRow+sampleMergerNum*templateSampleNum;
} else {
int insertRow = beginRow + sampleMergerNum * templateSampleNum;
XSSFRow zeroRow = sheetOne.getRow(beginRow);
XSSFCellStyle cellStyle = zeroRow.getCell(0).getCellStyle();
int lastCellNum = zeroRow.getLastCellNum();
int insertCount = sampleVOList.size()-templateSampleNum;
for (int m = 0 ; m<insertCount ;m++) {
int insertCount = sampleVOList.size() - templateSampleNum;
for (int m = 0; m < insertCount; m++) {
for (int i = 0; i < sampleMergerNum; i++) {
sheetOne.shiftRows(insertRow, sheetOne.getLastRowNum(), 1,true,false);
sheetOne.shiftRows(insertRow, sheetOne.getLastRowNum(), 1, true, false);
XSSFRow row = sheetOne.createRow(insertRow);
row.setHeight(zeroRow.getHeight());
for (int j = 0; j < lastCellNum; j++) {
......@@ -441,45 +441,44 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
int sn = 1;
for (EntrustSampleVO vo:sampleVOList) {
for (EntrustSampleVO vo : sampleVOList) {
XSSFRow xssfRow = sheetOne.getRow(beginRow);
List<EntrustSampleItemIndex> indexList = entrustSampleItemIndexService.listBySampleId(vo.getId());
vo.setIndexList(indexList);
for (EntrustReportTemplateConfig config:configList) {
if (null == config.getColumnPlace()){
for (EntrustReportTemplateConfig config : configList) {
if (null == config.getColumnPlace()) {
continue;
}
XSSFCell cell = xssfRow.getCell(config.getColumnPlace());
if ("sn".equals(config.getDataAttribute())){
if ("sn".equals(config.getDataAttribute())) {
cell.setCellValue(sn);
}else{
cell.setCellValue(StringHandleUtils.getFieldValue(config.getDataAttribute(),vo));
} else {
cell.setCellValue(StringHandleUtils.getFieldValue(config.getDataAttribute(), vo));
}
}
beginRow+=sampleMergerNum;
beginRow += sampleMergerNum;
sn++;
}
for (EntrustReportTemplateConfig config:configList) {
if (null==config.getMergeRowNum()){
for (EntrustReportTemplateConfig config : configList) {
if (null == config.getMergeRowNum()) {
config.setMergeRowNum(1);
}
if (null == config.getMergeBegin()){
if (null == config.getMergeBegin()) {
continue;
}
if (null == config.getMergeEnd()){
if (null == config.getMergeEnd()) {
continue;
}
int step= config.getMergeRowNum();
if (step==1 && config.getMergeEnd() == config.getMergeBegin()){
int step = config.getMergeRowNum();
if (step == 1 && config.getMergeEnd() == config.getMergeBegin()) {
continue;
}
if (null != config.getColumnPlace() && null != config.getMergeRowNum()){
Integer sampleBgMum = sysFileTemplate.getSampleBeginRow()+templateSampleNum*sampleMergerNum;
Integer sampleEnMum = sysFileTemplate.getSampleBeginRow()+sampleVOList.size()*sampleMergerNum-1;
while (sampleBgMum<=sampleEnMum) {
sheetOne.addMergedRegion(new CellRangeAddress(sampleBgMum,sampleBgMum+step-1,config.getMergeBegin(),config.getMergeEnd()));
sampleBgMum=sampleBgMum+step;
if (null != config.getColumnPlace() && null != config.getMergeRowNum()) {
Integer sampleBgMum = sysFileTemplate.getSampleBeginRow() + templateSampleNum * sampleMergerNum;
Integer sampleEnMum = sysFileTemplate.getSampleBeginRow() + sampleVOList.size() * sampleMergerNum - 1;
while (sampleBgMum <= sampleEnMum) {
sheetOne.addMergedRegion(new CellRangeAddress(sampleBgMum, sampleBgMum + step - 1, config.getMergeBegin(), config.getMergeEnd()));
sampleBgMum = sampleBgMum + step;
}
}
}
......@@ -488,11 +487,11 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
FileOutputStream os = null;
File file = null;
try {
file = File.createTempFile(generated, ".docx");
file = File.createTempFile(generated, ".xlsx");
os = new FileOutputStream(file);
xssfWorkbook.write(os);
os.flush();
entrustReportService.uploadReportGenerateDocx(entrust,ids, account, StringHandleUtils.join(sampleNameSet),"报告生成", file);
entrustReportService.uploadReportGenerateDocx(entrust, ids, account, StringHandleUtils.join(sampleNameSet), "报告生成", file);
} catch (Exception e) {
e.printStackTrace();
} finally {
......@@ -513,59 +512,53 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
}
FileUtils.deleteFiles(file);
}
}
return true;
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean submitJudgeRegister(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的质量登记数据");
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的质量登记数据");
EntrustSample sample = new EntrustSample();
sample.setJudgeStatus(1);
sample.setJudgeProgress(1);
return super.update(sample,Condition.create().in("id",ids));
return super.update(sample, Condition.create().in("id", ids));
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean submitJudgeCheck(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的质量登记数据");
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的质量登记数据");
EntrustSample sample = new EntrustSample();
sample.setJudgeStatus(2);
sample.setJudgeProgress(2);
sample.setJudgeChecker(account.getUserName());
sample.setJudgeCheckerId(account.getUserId());
sample.setJudgeCheckTime(new Date());
return super.update(sample,Condition.create().in("id",ids));
return super.update(sample, Condition.create().in("id", ids));
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean backJudgeCheck(Long[] ids, String remark, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的质量登记数据");
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的质量登记数据");
EntrustSample sample = new EntrustSample();
sample.setJudgeStatus(0);
sample.setJudgeProgress(-1);
sample.setJudgeChecker(account.getUserName());
sample.setJudgeCheckerId(account.getUserId());
sample.setJudgeCheckTime(new Date());
return super.update(sample,Condition.create().in("id",ids));
return super.update(sample, Condition.create().in("id", ids));
}
@Override
public Page<EntrustSampleVO> pageBySampleLeft(Page<EntrustSampleVO> page, EntrustSampleVO sampleVO) {
if (null == sampleVO.getEntrustId()){
if (null == sampleVO.getEntrustId()) {
return page;
}
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().eq("status",sampleVO.getItemStatus()));
if (CollectionUtils.isEmpty(itemList)){
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().eq("status", sampleVO.getItemStatus()));
if (CollectionUtils.isEmpty(itemList)) {
return page;
}
List<Long> sampleIds = new ArrayList<>();
......@@ -575,18 +568,17 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
sampleVO.setIds(sampleIds);
return page.setRecords(baseMapper.selectVOList(page,sampleVO));
return page.setRecords(baseMapper.selectVOList(page, sampleVO));
}
@Override
public Page<EntrustSampleVO> pageBySampleLeftHis(Page<EntrustSampleVO> page, EntrustSampleVO sampleVO) {
if (null == sampleVO.getEntrustId()){
if (null == sampleVO.getEntrustId()) {
return page;
}
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().in("status",sampleVO.getItemStatusList()));
if (CollectionUtils.isEmpty(itemList)){
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().in("status", sampleVO.getItemStatusList()));
if (CollectionUtils.isEmpty(itemList)) {
return page;
}
List<Long> sampleIds = new ArrayList<>();
......@@ -596,7 +588,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
sampleVO.setIds(sampleIds);
return page.setRecords(baseMapper.selectVOList(page,sampleVO));
return page.setRecords(baseMapper.selectVOList(page, sampleVO));
}
......@@ -614,61 +606,62 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
}
int mergeIndex = 1;
int mergeNum= 1;
Map<Integer , Integer> mergeMap = new HashMap<>();
int mergeNum = 1;
Map<Integer, Integer> mergeMap = new HashMap<>();
int mergeIndexBath = 1;
int mergeNumBath= 1;
int mergeCodeIndex= index;
int mergeCode= index;
Map<Integer , Integer> mergeMapBath = new HashMap<>();
int mergeNumBath = 1;
int mergeCodeIndex = index;
int mergeCode = index;
Map<Integer, Integer> mergeMapBath = new HashMap<>();
Map<Integer , Integer> mergeCodeMap = new HashMap<>();
Map<Integer, Integer> mergeCodeMap = new HashMap<>();
for (int i = 0; i < rowLength; i++) {
fillTableData(xwpfTable, itemCellMap, index + i, objects.get(i));
if (i>0){
Object pre= objects.get(i-1);
Object now= objects.get(i);
String value= StringHandleUtils.getFieldValueByFieldName("sampleCode", pre);
String preValue= StringHandleUtils.getFieldValueByFieldName("sampleCode", now);
if (value.equals(preValue)){
if (i > 0) {
Object pre = objects.get(i - 1);
Object now = objects.get(i);
String value = StringHandleUtils.getFieldValueByFieldName("sampleCode", pre);
String preValue = StringHandleUtils.getFieldValueByFieldName("sampleCode", now);
if (value.equals(preValue)) {
mergeNum++;
}else{
mergeMap.put(mergeIndex,mergeNum);
mergeIndex=mergeNum+1;
} else {
mergeMap.put(mergeIndex, mergeNum);
mergeIndex = mergeNum + 1;
mergeNum++;
}
}
}
mergeMap.put(mergeIndex,mergeNum);
mergeMapBath.put(mergeIndexBath,mergeNumBath);
mergeCodeMap.put(mergeCodeIndex,mergeCode);
for (Map.Entry<Integer,Integer> e:mergeMap.entrySet()) {
mergeCellsVertically(xwpfTable,getKey(itemCellMap,"{sampleCode}"),e.getKey(),e.getValue());
mergeMap.put(mergeIndex, mergeNum);
mergeMapBath.put(mergeIndexBath, mergeNumBath);
mergeCodeMap.put(mergeCodeIndex, mergeCode);
for (Map.Entry<Integer, Integer> e : mergeMap.entrySet()) {
mergeCellsVertically(xwpfTable, getKey(itemCellMap, "{sampleCode}"), e.getKey(), e.getValue());
}
}
public static Integer getKey(Map<Integer, String> map, String v) {
Integer key ;
for (Map.Entry<Integer,String> e:map.entrySet()) {
if (v.equals(e.getValue())){
Integer key;
for (Map.Entry<Integer, String> e : map.entrySet()) {
if (v.equals(e.getValue())) {
return e.getKey();
}
}
return null;
}
// word跨行并单元格
public void mergeCellsVertically(XWPFTable table, Integer c, int fromRow, int toRow) {
if (null == c){
if (null == c) {
return;
}
int col = c;
for (int rowIndex = fromRow; rowIndex <= toRow; rowIndex++) {
XWPFTableCell cell = table.getRow(rowIndex).getCell(col);
if ( rowIndex == fromRow ) {
if (rowIndex == fromRow) {
// The first merged cell is set with RESTART merge value
cell.getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.RESTART);
} else {
......@@ -682,7 +675,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
public void mergeCellsHorizontal(XWPFTable table, int row, int fromCell, int toCell) {
for (int cellIndex = fromCell; cellIndex <= toCell; cellIndex++) {
XWPFTableCell cell = table.getRow(row).getCell(cellIndex);
if ( cellIndex == fromCell ) {
if (cellIndex == fromCell) {
// The first merged cell is set with RESTART merge value
cell.getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART);
} else {
......
......@@ -65,7 +65,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
@Override
public Page<Entrust> page(Page<Entrust> page, Entrust entrust) {
Wrapper wrapper = new EntityWrapper<>(entrust);
wrapper.orderBy("entrust_time",false);
return this.page(page, wrapper);
}
......
......@@ -7,6 +7,7 @@ import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.oss.starter.OssClient;
import com.patzn.cloud.oss.starter.OssFileResult;
import com.patzn.cloud.service.hmhj.entity.*;
import com.patzn.cloud.service.hmhj.vo.OriginalRecordVO;
import com.patzn.cloud.service.lims.hmhj.mapper.OriginalRecordMapper;
import com.patzn.cloud.service.lims.hmhj.service.IEntrustSampleItemService;
import com.patzn.cloud.service.lims.hmhj.service.IItemRelOriginalRecordService;
......@@ -48,6 +49,11 @@ public class OriginalRecordServiceImpl extends BaseServiceImpl<OriginalRecordMap
}
@Override
public Page<OriginalRecordVO> pageVO(Page<OriginalRecordVO> page, OriginalRecordVO vo){
return page.setRecords(baseMapper.selectPageVO(page,vo));
}
@Override
public boolean removeByIds(List<Long> ids) {
itemRelOriginalRecordService.remove(Condition.create().in("record_id",ids));
return baseMapper.deleteBatchIds(ids) > 0;
......
package com.patzn.cloud.service.lims.hmhj.service.impl;
import com.baomidou.mybatisplus.mapper.Condition;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.oss.starter.OssClient;
import com.patzn.cloud.oss.starter.OssFileResult;
import com.patzn.cloud.service.hmhj.entity.*;
......@@ -12,10 +16,6 @@ import com.patzn.cloud.service.lims.hmhj.handler.ItemCollectEntity;
import com.patzn.cloud.service.lims.hmhj.handler.SoilItemCollectData;
import com.patzn.cloud.service.lims.hmhj.mapper.OriginalTemplateMapper;
import com.patzn.cloud.service.lims.hmhj.service.*;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.entity.*;
import com.patzn.cloud.service.soil.vo.SoilExperimentVO;
import com.patzn.cloud.service.soil.vo.SoilItemVO;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.format.CellFormat;
......@@ -25,9 +25,6 @@ import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import org.springframework.web.multipart.MultipartFile;
import java.io.InputStream;
......@@ -47,7 +44,6 @@ import java.util.stream.Collectors;
@Service
public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplateMapper, OriginalTemplate> implements IOriginalTemplateService {
@Autowired
private OssClient ossClient;
......@@ -55,26 +51,30 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
private IOriginalRecordService originalRecordService;
@Autowired
private IOriginalTemplateService originalTemplateService;
private IEntrustSampleService entrustSampleService;
@Autowired
private IEntrustSampleItemService entrustSampleItemService;
@Autowired
private IOriginalTemplateConfigService originalTemplateConfigService;
@Autowired
private IItemRelOriginalRecordService itemRelOriginalRecordService;
private IOriginalTemplateService originalTemplateService;
@Autowired
private IEntrustSampleItemService entrustSampleItemService;
private IItemRelOriginalRecordService itemRelOriginalRecordService;
@Autowired
private IEntrustSampleItemIndexService entrustSampleItemIndexService;
@Override
public Page<OriginalTemplate> page(Page<OriginalTemplate> page, OriginalTemplate originalTemplate) {
String alias = originalTemplate.getAlias();
// 支持模糊搜索
originalTemplate.setAlias(null);
Wrapper wrapper = new EntityWrapper<>(originalTemplate);
wrapper.like("alias", alias);
return this.page(page, wrapper);
}
......@@ -85,8 +85,8 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
@Override
public boolean uploadTemplate(MultipartFile file, String classType, String name, String remark, int templateType) {
RestAssert.fail(StringUtils.isBlank(classType),"模板类别不能为空");
RestAssert.fail(StringUtils.isBlank(name),"请填写原始记录名称");
RestAssert.fail(StringUtils.isBlank(classType), "模板类别不能为空");
RestAssert.fail(StringUtils.isBlank(name), "请填写原始记录名称");
String fileName = file.getOriginalFilename();
RestAssert.fail(StringUtils.isBlank(fileName), "请上传文件");
OriginalTemplate attachment = new OriginalTemplate();
......@@ -107,12 +107,125 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
}
@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;
}
@Override
public boolean editOriginal(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), "业务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]);
......@@ -125,7 +238,7 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
Long userId = Long.parseLong(arr[1]);
Long companyId = Long.parseLong(arr[3]);
OriginalRecord report = originalRecordService.getById(businessId);
if (null == report){
if (null == report) {
RestAssert.fail("数据有误");
}
OriginalRecord originalRecord = new OriginalRecord();
......@@ -134,7 +247,7 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
originalRecordService.updateById(originalRecord);
InputStream io = ossClient.download(obsFileResult.getObjectKey());
//结果回调
XSSFWorkbook xssfWorkbook=null;
XSSFWorkbook xssfWorkbook = null;
try {
xssfWorkbook = new XSSFWorkbook(io);
} catch (Exception e1) {
......@@ -144,84 +257,78 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
}
XSSFSheet sheet = xssfWorkbook.getSheetAt(0);
if (null == report.getTemplateId()){
if (null == report.getTemplateId()) {
return true;
}
OriginalTemplate template = originalTemplateService.getById(report.getTemplateId());
if (null == template){
if (null == template) {
return true;
}
Integer moreSheet = template.getMoreSheet();
List<OriginalTemplateConfig> configList = originalTemplateConfigService.list(Condition.create().eq("template_id",template.getId()));
List<OriginalTemplateConfig> configList = originalTemplateConfigService.list(Condition.create().eq("template_id", template.getId()));
List<ItemRelOriginalRecord> relOriginalRecordList = itemRelOriginalRecordService.list(Condition.create().eq("record_id",report.getId()));
if (CollectionUtils.isEmpty(relOriginalRecordList)){
List<ItemRelOriginalRecord> relOriginalRecordList = itemRelOriginalRecordService.list(Condition.create().eq("record_id", report.getId()));
if (CollectionUtils.isEmpty(relOriginalRecordList)) {
return true;
}
List<Long> expIdsList = relOriginalRecordList.stream().map(r->{
List<Long> expIdsList = relOriginalRecordList.stream().map(r -> {
return r.getItemId();
}).collect(Collectors.toList());
List<EntrustSampleItemVO> experimentVOList =entrustSampleItemService .listVOByIds(expIdsList);
List<EntrustSampleItemVO> experimentVOList = entrustSampleItemService.listVOByIds(expIdsList);
Map<String,List<EntrustSampleItem>> esiMap = new HashMap<>();
for (EntrustSampleItemVO entrustSampleItemVO:experimentVOList) {
if (esiMap.containsKey(entrustSampleItemVO.getSampleCode())){
Map<String, List<EntrustSampleItem>> esiMap = new HashMap<>();
for (EntrustSampleItemVO entrustSampleItemVO : experimentVOList) {
if (esiMap.containsKey(entrustSampleItemVO.getSampleCode())) {
List<EntrustSampleItem> listExp = esiMap.get(entrustSampleItemVO.getSampleCode());
listExp.add(entrustSampleItemVO);
esiMap.put(entrustSampleItemVO.getSampleCode(),listExp);
}else{
esiMap.put(entrustSampleItemVO.getSampleCode(), listExp);
} else {
List<EntrustSampleItem> listExp = new ArrayList<>();
listExp.add(entrustSampleItemVO);
esiMap.put(entrustSampleItemVO.getSampleCode(),listExp);
esiMap.put(entrustSampleItemVO.getSampleCode(), listExp);
}
}
List<EntrustSampleItemIndexVO> indexList = entrustSampleItemIndexService.listVOByExpIds(expIdsList);
Map<String,Long> stringMap = new HashMap<>();
for (EntrustSampleItemIndexVO soilItemVO:indexList) {
stringMap.put(soilItemVO.getSampleCode()+soilItemVO.getEntrustSampleItemId()+soilItemVO.getName(),soilItemVO.getId());
Map<String, Long> stringMap = new HashMap<>();
for (EntrustSampleItemIndexVO soilItemVO : indexList) {
stringMap.put(soilItemVO.getSampleCode() + soilItemVO.getEntrustSampleItemId() + soilItemVO.getName(), soilItemVO.getId());
}
if (null ==moreSheet || 0 == moreSheet){
if (null == moreSheet || 0 == moreSheet) {
int sampleBeginRow = template.getSampleBeginRow();
int sampleMergerNum = template.getSampleMergerNum();
int lastRowNum = sheet.getLastRowNum();
Integer sampleCol = null;
Integer sampleCol = null ;
for (OriginalTemplateConfig config:configList) {
if ("sampleCode".equals(config.getDataAttribute())){
for (OriginalTemplateConfig config : configList) {
if ("sampleCode".equals(config.getDataAttribute())) {
sampleCol = config.getColumnPlace();
break;
}
}
Integer sampleStatus = null ;
Integer sampleStatus = null;
for (OriginalTemplateConfig config:configList) {
if ("morphology".equals(config.getDataAttribute())){
for (OriginalTemplateConfig config : configList) {
if ("morphology".equals(config.getDataAttribute())) {
sampleStatus = config.getColumnPlace();
break;
}
}
Integer shortName = null ;
for (OriginalTemplateConfig config:configList) {
if ("shortName".equals(config.getDataAttribute())){
Integer shortName = null;
for (OriginalTemplateConfig config : configList) {
if ("shortName".equals(config.getDataAttribute())) {
shortName = config.getColumnPlace();
break;
}
......@@ -232,12 +339,12 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
List<ItemCollectEntity> collectEntitiesList = new ArrayList<>();
for (OriginalTemplateConfig config:configList) {
if (StringUtils.isBlank(config.getAttributeName())){
for (OriginalTemplateConfig config : configList) {
if (StringUtils.isBlank(config.getAttributeName())) {
continue;
}
if (null ==config.getColumnPlace()){
if (null != config.getItemed() && config.getItemed() ==1 && null !=config.getMergeBegin() && null !=config.getMergeRowNum()){
if (null == config.getColumnPlace()) {
if (null != config.getItemed() && config.getItemed() == 1 && null != config.getMergeBegin() && null != config.getMergeRowNum()) {
ItemCollectEntity collectEntity = new ItemCollectEntity();
collectEntity.setItemName(config.getAttributeName());
collectEntity.setColumnPlace(config.getMergeBegin());
......@@ -250,7 +357,7 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
}
continue;
}
if (null != config.getItemed() && config.getItemed() ==1){
if (null != config.getItemed() && config.getItemed() == 1) {
ItemCollectEntity collectEntity = new ItemCollectEntity();
collectEntity.setItemName(config.getAttributeName());
collectEntity.setColumnPlace(config.getColumnPlace());
......@@ -261,51 +368,47 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
}
}
if (CollectionUtils.isEmpty(collectEntitiesList)){
if (CollectionUtils.isEmpty(collectEntitiesList)) {
return true;
}
List<SoilItemCollectData> soilItemList = new ArrayList<>();
for (int i = sampleBeginRow;i<=lastRowNum;i+=sampleMergerNum) {
for (int i = sampleBeginRow; i <= lastRowNum; i += sampleMergerNum) {
XSSFRow xssfRow = sheet.getRow(i);
if (null == xssfRow){
if (null == xssfRow) {
continue;
}
XSSFCell sampleCodeCell = xssfRow.getCell(sampleCol);
String sampleCode = HSSFWorkbookUtil.getJavaValue(sampleCodeCell).toString();
String sampleOfStatus ="";
if (null != sampleStatus){
String sampleOfStatus = "";
if (null != sampleStatus) {
XSSFCell sampleStatusCell = xssfRow.getCell(sampleStatus);
sampleOfStatus = HSSFWorkbookUtil.getJavaValue(sampleStatusCell).toString();
}
XSSFCell shortNameCell = null;
String shortNames = null;
if (null != shortName){
if (null != shortName) {
shortNameCell = xssfRow.getCell(shortName);
shortNames = HSSFWorkbookUtil.getJavaValue(shortNameCell).toString();
}
for (ItemCollectEntity collectEntity:collectEntitiesList) {
if (null!=collectEntity.getSingleElse()){
for (ItemCollectEntity collectEntity : collectEntitiesList) {
if (null != collectEntity.getSingleElse()) {
XSSFRow row = sheet.getRow(collectEntity.getItemMegerRow());
if (null == row){
if (null == row) {
continue;
}
XSSFCell cell = row.getCell(collectEntity.getColumnPlace());
if (null == cell){
if (null == cell) {
continue;
}
String valueElse = CellFormat.getInstance(cell.getCellStyle().getDataFormatString()).apply(cell).text;
if (StringUtils.isNotBlank(valueElse)){
if (StringUtils.isNotBlank(valueElse)) {
SoilItemCollectData soilItemCollectData = new SoilItemCollectData();
soilItemCollectData.setTestValue(valueElse);
soilItemCollectData.setSampleCode(sampleCode);
......@@ -322,13 +425,13 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
String value = "";
try {
value = CellFormat.getInstance(itemCell.getCellStyle().getDataFormatString()).apply(itemCell).text;
}catch (Exception e){
} catch (Exception e) {
value = HSSFWorkbookUtil.getJavaValue(itemCell).toString();
}
String itemName = collectEntity.getItemName();
if (StringUtils.isBlank(value)){
if (StringUtils.isBlank(value)) {
continue;
}
SoilItemCollectData soilItemCollectData = new SoilItemCollectData();
......@@ -341,97 +444,89 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
soilItemCollectData.setItemName(itemName);
soilItemList.add(soilItemCollectData);
}
}
if (CollectionUtils.isEmpty(soilItemList)){
if (CollectionUtils.isEmpty(soilItemList)) {
return true;
}
List<EntrustSampleItemIndex> saveList = new ArrayList<>();
List<EntrustSampleItemIndex> updateList = new ArrayList<>();
for (SoilItemCollectData soilItemCollectData:soilItemList) {
if (StringUtils.isBlank(soilItemCollectData.getTestValue())){
for (SoilItemCollectData soilItemCollectData : soilItemList) {
if (StringUtils.isBlank(soilItemCollectData.getTestValue())) {
continue;
}
if (StringUtils.isBlank(soilItemCollectData.getSampleCode())){
if (StringUtils.isBlank(soilItemCollectData.getSampleCode())) {
continue;
}
if ("#VALUE!".equals(soilItemCollectData.getTestValue())){
if ("#VALUE!".equals(soilItemCollectData.getTestValue())) {
continue;
}
List<EntrustSampleItem> expList = esiMap.get(soilItemCollectData.getSampleCode());
EntrustSampleItem exp = null ;
EntrustSampleItem exp = null;
if (expList.size()==1){
if (expList.size() == 1) {
exp = expList.get(0);
}else if (expList.size()>1){
} else if (expList.size() > 1) {
String shortNameTest = soilItemCollectData.getShortName();
String status = soilItemCollectData.getStatus();
for (EntrustSampleItem experiment:expList) {
if (shortNameTest!=null&&experiment.getName().contains(shortNameTest)){
for (EntrustSampleItem experiment : expList) {
if (shortNameTest != null && experiment.getName().contains(shortNameTest)) {
exp = experiment;
}else if (null!=status&&experiment.getName().contains(status)){
} else if (null != status && experiment.getName().contains(status)) {
exp = experiment;
}
}
if (exp==null&&CollectionUtils.isNotEmpty(expList)){
if (exp == null && CollectionUtils.isNotEmpty(expList)) {
if (expList.size()>0){
for (EntrustSampleItem experiment:expList) {
if (StringUtils.isBlank(status)){
if (expList.size() > 0) {
for (EntrustSampleItem experiment : expList) {
if (StringUtils.isBlank(status)) {
exp = experiment;
break;
}else{
} else {
exp = experiment;
}
}
}
}
}
if (null==exp){
if (null == exp) {
continue;
}
if (null!=exp){
if (null != exp) {
soilItemCollectData.setExpId(exp.getId());
}
if (StringUtils.isBlank(soilItemCollectData.getItemName())){
if (StringUtils.isBlank(soilItemCollectData.getItemName())) {
continue;
}
if (StringUtils.isBlank(soilItemCollectData.getTestValue())){
if (StringUtils.isBlank(soilItemCollectData.getTestValue())) {
continue;
}
if ("#VALUE!".equals(soilItemCollectData.getTestValue())){
if ("#VALUE!".equals(soilItemCollectData.getTestValue())) {
continue;
}
if ("#NAME?".equals(soilItemCollectData.getTestValue())){
if ("#NAME?".equals(soilItemCollectData.getTestValue())) {
continue;
}
if (StringUtils.isBlank(soilItemCollectData.getSampleCode())){
if (StringUtils.isBlank(soilItemCollectData.getSampleCode())) {
continue;
}
String key= soilItemCollectData.getSampleCode()+soilItemCollectData.getExpId()+soilItemCollectData.getItemName();
if (!stringMap.containsKey(key)){
String key = soilItemCollectData.getSampleCode() + soilItemCollectData.getExpId() + soilItemCollectData.getItemName();
if (!stringMap.containsKey(key)) {
EntrustSampleItemIndex soilItem = new EntrustSampleItemIndex();
soilItem.setEntrustSampleItemId(soilItemCollectData.getExpId());
soilItem.setName(soilItemCollectData.getItemName());
......@@ -443,22 +538,20 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
soilItem.setUid(userId);
entrustSampleItemIndexService.save(soilItem);
// saveList.add(soilItem);
stringMap.put(soilItemCollectData.getSampleCode()+soilItemCollectData.getExpId()+soilItemCollectData.getItemName(),soilItem.getId());
stringMap.put(soilItemCollectData.getSampleCode() + soilItemCollectData.getExpId() + soilItemCollectData.getItemName(), soilItem.getId());
}else{
} else {
EntrustSampleItemIndex soilItem = new EntrustSampleItemIndex();
soilItem.setTestValue(soilItemCollectData.getTestValue());
soilItem.setUnit(soilItemCollectData.getUnit());
soilItem.setId(stringMap.get(soilItemCollectData.getSampleCode()+soilItemCollectData.getExpId()+soilItemCollectData.getItemName()));
soilItem.setId(stringMap.get(soilItemCollectData.getSampleCode() + soilItemCollectData.getExpId() + soilItemCollectData.getItemName()));
updateList.add(soilItem);
}
}
if (CollectionUtils.isNotEmpty(saveList)){
if (CollectionUtils.isNotEmpty(saveList)) {
entrustSampleItemIndexService.saveBatch(saveList);
}
if (CollectionUtils.isNotEmpty(updateList)){
if (CollectionUtils.isNotEmpty(updateList)) {
entrustSampleItemIndexService.updateBatchById(updateList);
}
......@@ -467,5 +560,15 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
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;
}
}
}
}
......@@ -5,6 +5,7 @@ import com.patzn.cloud.service.hmhj.entity.Qualification;
import com.patzn.cloud.service.lims.hmhj.mapper.QualificationMapper;
import com.patzn.cloud.service.lims.hmhj.service.IQualificationService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
......@@ -23,8 +24,22 @@ public class QualificationServiceImpl extends BaseServiceImpl<QualificationMappe
@Override
public Page<Qualification> page(Page<Qualification> page, Qualification qualification) {
String name = qualification.getName();
String accordName = qualification.getAccordName();
String groupName = qualification.getGroupName();
qualification.setName(null);
qualification.setAccordName(null);
qualification.setGroupName(null);
Wrapper wrapper = new EntityWrapper<>(qualification);
if (StringUtils.isNotBlank(name)) {
wrapper.like("name", name);
}
if (StringUtils.isNotBlank(groupName)) {
wrapper.like("group_name", groupName);
}
if (StringUtils.isNotBlank(accordName)) {
wrapper.like("accord_name", accordName);
}
return this.page(page, wrapper);
}
......
package com.patzn.cloud.service.lims.hmhj.service.impl;
import com.baomidou.mybatisplus.toolkit.CollectionUtils;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.controller.LoginHelper;
import com.patzn.cloud.feign.base.client.SysUserClient;
import com.patzn.cloud.feign.lims.base.client.LmsUserGroupClient;
import com.patzn.cloud.service.base.entity.SysUser;
import com.patzn.cloud.service.lims.base.entity.LmsUserGroup;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class UserInfoServiceImpl {
private static final List<LmsUserGroup> OTHER_GROUP_LIST = new ArrayList<>();
private static final List<String> OTHER_GROUP_NAME_LIST = new ArrayList<>();
static {
OTHER_GROUP_LIST.add(new LmsUserGroup().setName("OTHERS"));
OTHER_GROUP_NAME_LIST.add(OTHER_GROUP_LIST.get(0).getName());
}
@Autowired
private LmsUserGroupClient lmsUserGroupClient;
public List<LmsUserGroup> getGroupList(Long userId) {
if (null == userId) {
return OTHER_GROUP_LIST;
}
// 获取用户组
return lmsUserGroupClient.getByUserId(userId).getData();
}
public List<String> getGroupNameList(Long userId) {
List<LmsUserGroup> userGroups = getGroupList(userId);
if (CollectionUtils.isEmpty(userGroups)) {
return OTHER_GROUP_NAME_LIST;
}
return getGroupList(userId).stream().map(t -> t.getName()).filter(t -> StringUtils.isNotBlank(t)).collect(Collectors.toList());
}
public List<String> getCurGroupNameList() {
return getGroupNameList(LoginHelper.getAccount().getUserId());
}
public String getCurGroupNames() {
List<String> curGroupNameList = getCurGroupNameList();
if (CollectionUtils.isEmpty(curGroupNameList)) {
return OTHER_GROUP_NAME_LIST.get(0);
}
return StringUtils.join(curGroupNameList, "-");
}
}
# 霍煤鸿骏生产环境
server:
exception:
to: 1327531085@qq.com;18463106881@163.com
form: ptlims_test@163.com
subject: 霍煤鸿骏 hmhj服务异常
swagger:
enable: true
service:
api-url: http://api.dev.patzn.com:7000
url: http://api.dev.patzn.com:7000
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
url: jdbc:postgresql://localhost:5432/dev_lims_hmhj
username: postgres
password: post123
dynamic:
enabled: false
# 注册中心配置
cloud:
consul:
host: 127.0.0.1
mail:
host: smtp.163.com
username: ptlims_test@163.com
password: QTXWOTEUSHARYDWT
port: 25
protocol: smtp
default-encoding: UTF-8
rabbitmq:
host: localhost
port: 5672
username: mqbase
password: mqb123#@$5
virtual-host: /
topic:
push-msg: pro.topic.push.msg
sys-log: pro.topic.sys.log
chemical-classify-warning: pro.topic.chemical.classify.warning
equip-check-msg: pro.topic.equip.check.msg
report-make-msg: pro.topic.report.make.msg
soil-work-msg: pro.topic.soil.work.msg
hmhj-work-msg: pro.topic.hmhj.work.msg
servlet:
multipart:
#设置 http 上传的临时目录
location: C:\patzn\upload_tmp
# Mongodb GridFS
data:
mongodb:
uri: mongodb://hmuser:hj564Aq@127.0.0.1:27017/lims
grid-fs-database: lims
# Mongodb GridFS 存储
oss:
grid-fs: true
bucket-name: base
#libreOffice 安装信息
libreOffice:
url: C:/Program Files/LibreOffice
### jobs
jobs:
admin-address: http://api.dev.patzn.com:7000/print
\ No newline at end of file
......@@ -10,7 +10,7 @@ server:
spring:
# 环境 dev|test|pro
profiles:
active: dev312
active: local
application:
name: hmhj
# 模板引擎配置
......
......@@ -38,6 +38,7 @@
<select id="selectVOList" resultType="com.patzn.cloud.service.hmhj.vo.ContractSampleVO">
SELECT s.* FROM contract_sample s WHERE s.deleted = 0
<include refid="sqlWhere"/>
order by s.ctime desc
</select>
<select id="selectVOPublishList" resultType="com.patzn.cloud.service.hmhj.vo.ContractSampleVO">
SELECT s.*,
......@@ -54,6 +55,7 @@
WHERE s.deleted = 0 AND t.judge_status NOT IN (0,1)
<include refid="sqlWhere"/>
order by s.ctime desc
</select>
......
......@@ -14,6 +14,13 @@
#{id}
</foreach>
</if>
<if test="null!=vo.groupNameList">
AND test_side IN
<foreach collection="vo.groupNameList" index="index" item="groupName" open="(" separator="," close=")">
#{groupName}
</foreach>
</if>
order by entrust_time desc
</select>
......@@ -41,7 +48,14 @@
#{status}
</foreach>
</if>
</select>
<if test="null!=vo.groupNameList">
AND test_side IN
<foreach collection="vo.groupNameList" index="index" item="groupName" open="(" separator="," close=")">
#{groupName}
</foreach>
</if>
order by entrust_time desc
</select>
</mapper>
......@@ -3,8 +3,6 @@
<mapper namespace="com.patzn.cloud.service.lims.hmhj.mapper.EntrustSampleBackupMapper">
<select id="selectVOList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleBackupVO">
SELECT
b.ID,
b.receive_time,
......@@ -14,16 +12,14 @@
b.sample_id,
b.handler,
b.handle_time,
s.NAME AS "sampleName",
s.code AS "sampleCode" ,
e.client ,
e.code AS "entrustCode"
FROM
FROM
entrust_sample_backup b
JOIN entrust_sample s ON b.sample_id = s.
ID JOIN entrust e ON s.entrust_id = e.ID
<where>
AND b.deleted = 0 AND s.deleted = 0 AND e.deleted = 0
<if test="null!=vo.sampleCode">
......@@ -34,7 +30,6 @@ FROM
AND b.status =#{vo.status}
</if>
<if test="null!=vo.notStatus">
AND b.status !=#{vo.notStatus}
</if>
......@@ -49,8 +44,7 @@ FROM
<if test="null!=vo.entrustCode">
AND e.code LIKE CONCAT('%',#{vo.entrustCode},'%')
</if>
</where>
order by b.ctime desc
</select>
</mapper>
......@@ -4,12 +4,16 @@
<select id="selectByItemLeftList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO">
SELECT name FROM entrust_sample_item WHERE deleted = 0
<if test="null!=vo.status">
AND status = #{vo.status}
</if>
<if test="null != vo.name">
AND name like CONCAT('%',#{vo.name},'%')
</if>
<if test="null != vo.sampleCode">
AND sample_code like CONCAT('%',#{vo.sampleCode},'%')
</if>
<if test="null!=vo.statusList">
AND status IN
......@@ -18,14 +22,12 @@
</foreach>
</if>
<if test="null!=vo.sampleIds">
AND entrust_sample_id IN
<foreach collection="vo.sampleIds" index="index" item="sampleId" open="(" separator="," close=")">
#{sampleId}
</foreach>
</if>
GROUP BY name
</select>
......@@ -78,9 +80,11 @@
)
SELECT i.*,s.name AS "sampleName",s.code AS "sampleCode",l.record_id,r.object_key AS "recordObjectKey" FROM i JOIN entrust_sample s ON i.entrust_sample_id = s.id
SELECT i.*,s.name AS "sampleName",e.test_side "testSide",s.code AS "sampleCode",l.record_id,r.object_key AS "recordObjectKey" FROM i
JOIN entrust_sample s ON i.entrust_sample_id = s.id
LEFT JOIN ( SELECT id,item_id,record_id FROM item_rel_original_record WHERE deleted = 0 ) l ON i.id = l.item_id
LEFT JOIN ( SELECT id,object_key FROM original_record WHERE deleted = 0 ) r ON l.record_id = r.id
LEFT JOIN ( SELECT id,test_side FROM entrust e where e.deleted = 0 ) e on e.id = s.entrust_id
<where>
<if test="null!=vo.sampleCode">
AND s.code LIKE CONCAT('%',#{vo.sampleCode},'%')
......@@ -105,19 +109,21 @@
WHERE
deleted = 0
<if test="null!=vo.status">
<if test="null != vo.name">
AND name LIKE CONCAT('%',#{vo.name},'%')
</if>
<if test="null != vo.status">
AND status = #{vo.status}
</if>
<if test="null!=vo.statusList">
<if test="null != vo.statusList">
AND status IN
<foreach collection="vo.statusList" index="index" item="status" open="(" separator="," close=")">
#{status}
</foreach>
</if>
<if test="null!=vo.sampleIds">
AND entrust_sample_id IN
<foreach collection="vo.sampleIds" index="index" item="sampleId" open="(" separator="," close=")">
......@@ -131,12 +137,14 @@
#{sampleId}
</foreach>
</if>
)
SELECT i.*,s.name AS "sampleName",s.code AS "sampleCode" FROM i JOIN entrust_sample s ON i.entrust_sample_id = s.id
SELECT i.*,s.name AS "sampleName",s.code AS "sampleCode",e.test_side "testSide"
FROM i
JOIN entrust_sample s ON i.entrust_sample_id = s.id
JOIN (select t.id,t.code,t.test_side from entrust t where t.deleted = 0 ) e on s.entrust_id = e.id
<where>
<if test="null!=vo.sampleCode">
<if test="null != vo.sampleCode">
AND s.code LIKE CONCAT('%',#{vo.sampleCode},'%')
</if>
</where>
......@@ -144,7 +152,7 @@
<select id="selectVOListBySampleIds" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO">
SELECT i.id,i.name,i.agreed_value,i.test_value,i.entrust_sample_id,i.standard,s.code AS "sampleCode"
SELECT i.id,i.name,i.agreed_value,i.test_value,i.standard,s.code AS "sampleCode"
FROM
entrust_sample_item i
JOIN entrust_sample s ON i.entrust_sample_id = s.ID
......@@ -165,7 +173,8 @@
i.group_name,i.standard,s.name AS "sampleName",e.client,e.code AS "entrustCode",
d.method_code,d.reason,d.method_desc,d.applyer,d.apply_time , d.checker ,d.check_time,d.back_reason,r.object_key AS "recordObjectKey"
d.method_code,d.reason,d.method_desc,d.applyer,d.apply_time , d.checker ,d.check_time,d.back_reason,r.object_key
AS "recordObjectKey"
FROM
entrust_sample_item i
......@@ -188,15 +197,13 @@
#{id}
</foreach>
</if>
ORDER BY s.code , i.name
</select>
<select id="selectVOListByIds" 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",
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
......@@ -212,6 +219,17 @@
ORDER BY s.code , i.name
</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>
<select id="selectListVOByIds" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO">
......
......@@ -44,6 +44,10 @@
AND status = #{vo.status}
</if>
<if test="null!=vo.code">
AND code LIKE CONCAT('%',#{vo.code},'%')
</if>
<if test="null!=vo.notStatus">
AND status != #{vo.notStatus}
</if>
......
......@@ -2,4 +2,21 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.patzn.cloud.service.lims.hmhj.mapper.OriginalRecordMapper">
<select id="selectPageVO" resultType="com.patzn.cloud.service.hmhj.vo.OriginalRecordVO">
select r.*,e.code "entrustCode"
from original_record r
join entrust e on e.id = r.entrust_id
where r.deleted = 0 and e.deleted = 0
<if test="null != vo.title">
AND r.title LIKE CONCAT('%',#{vo.title},'%')
</if>
<if test="null != vo.entrustId">
AND r.entrust_id = #{vo.entrustId}
</if>
<if test="null != vo.entrustCode">
AND e.code LIKE CONCAT('%',#{vo.entrustCode},'%')
</if>
order by r.id desc
</select>
</mapper>
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