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; ...@@ -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.entity.Entrust;
import com.patzn.cloud.service.hmhj.enums.*; import com.patzn.cloud.service.hmhj.enums.*;
import com.patzn.cloud.service.hmhj.vo.EntrustVO; 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.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -35,6 +36,9 @@ public class EntrustController extends ServiceController { ...@@ -35,6 +36,9 @@ public class EntrustController extends ServiceController {
@Autowired @Autowired
private IEntrustService entrustService; private IEntrustService entrustService;
@Autowired
private UserInfoServiceImpl userInfoService;
@ApiOperation("委托登记分页列表") @ApiOperation("委托登记分页列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
...@@ -333,6 +337,8 @@ public class EntrustController extends ServiceController { ...@@ -333,6 +337,8 @@ public class EntrustController extends ServiceController {
@PostMapping("/page_entrust_sample_receive") @PostMapping("/page_entrust_sample_receive")
public RestResult<Page<EntrustVO>> getPageEntrustSampleReceive(EntrustVO entrust) { public RestResult<Page<EntrustVO>> getPageEntrustSampleReceive(EntrustVO entrust) {
entrust.setPrepareStatus(EntrustSamplePrepareStatusEnum.RECEIVE); entrust.setPrepareStatus(EntrustSamplePrepareStatusEnum.RECEIVE);
// 设置用户编组
entrust.setGroupNameList(userInfoService.getCurGroupNameList());
return success(entrustService.pageEntrustSampleReceive(getPage(), entrust)); return success(entrustService.pageEntrustSampleReceive(getPage(), entrust));
} }
...@@ -348,6 +354,8 @@ public class EntrustController extends ServiceController { ...@@ -348,6 +354,8 @@ public class EntrustController extends ServiceController {
@PostMapping("/page_entrust_sample_receive_his") @PostMapping("/page_entrust_sample_receive_his")
public RestResult<Page<EntrustVO>> getPageEntrustSampleReceiveHis(EntrustVO entrust) { public RestResult<Page<EntrustVO>> getPageEntrustSampleReceiveHis(EntrustVO entrust) {
entrust.setPrepareNotStatus(EntrustSamplePrepareStatusEnum.RECEIVE); entrust.setPrepareNotStatus(EntrustSamplePrepareStatusEnum.RECEIVE);
// 设置用户编组
entrust.setGroupNameList(userInfoService.getCurGroupNameList());
return success(entrustService.pageEntrustSampleReceiveHis(getPage(), entrust)); return success(entrustService.pageEntrustSampleReceiveHis(getPage(), entrust));
} }
...@@ -363,6 +371,8 @@ public class EntrustController extends ServiceController { ...@@ -363,6 +371,8 @@ public class EntrustController extends ServiceController {
@PostMapping("/page_entrust_allot") @PostMapping("/page_entrust_allot")
public RestResult<Page<EntrustVO>> getPageTaskAllot(EntrustVO entrust) { public RestResult<Page<EntrustVO>> getPageTaskAllot(EntrustVO entrust) {
entrust.setItemStatus(EntrustSampleItemStatusEnum.ALLOT); entrust.setItemStatus(EntrustSampleItemStatusEnum.ALLOT);
// 获取当前用户分组
entrust.setGroupNameList(userInfoService.getCurGroupNameList());
return success(entrustService.pageEntrustByItem(getPage(), entrust)); return success(entrustService.pageEntrustByItem(getPage(), entrust));
} }
...@@ -383,6 +393,8 @@ public class EntrustController extends ServiceController { ...@@ -383,6 +393,8 @@ public class EntrustController extends ServiceController {
EntrustSampleItemStatusEnum.AUDIT, EntrustSampleItemStatusEnum.AUDIT,
EntrustSampleItemStatusEnum.END EntrustSampleItemStatusEnum.END
)); ));
// 获取当前用户分组
entrust.setGroupNameList(userInfoService.getCurGroupNameList());
return success(entrustService.pageEntrustByItemHis(getPage(), entrust)); return success(entrustService.pageEntrustByItemHis(getPage(), entrust));
} }
...@@ -397,6 +409,8 @@ public class EntrustController extends ServiceController { ...@@ -397,6 +409,8 @@ public class EntrustController extends ServiceController {
@PostMapping("/page_entrust_test") @PostMapping("/page_entrust_test")
public RestResult<Page<EntrustVO>> getPageTaskTest(EntrustVO entrust) { public RestResult<Page<EntrustVO>> getPageTaskTest(EntrustVO entrust) {
entrust.setItemStatus(EntrustSampleItemStatusEnum.TEST); entrust.setItemStatus(EntrustSampleItemStatusEnum.TEST);
// 获取当前用户分组
entrust.setGroupNameList(userInfoService.getCurGroupNameList());
return success(entrustService.pageEntrustByItem(getPage(), entrust)); return success(entrustService.pageEntrustByItem(getPage(), entrust));
} }
...@@ -416,6 +430,8 @@ public class EntrustController extends ServiceController { ...@@ -416,6 +430,8 @@ public class EntrustController extends ServiceController {
EntrustSampleItemStatusEnum.AUDIT, EntrustSampleItemStatusEnum.AUDIT,
EntrustSampleItemStatusEnum.END EntrustSampleItemStatusEnum.END
)); ));
// 获取当前用户分组
entrust.setGroupNameList(userInfoService.getCurGroupNameList());
return success(entrustService.pageEntrustByItemHis(getPage(), entrust)); return success(entrustService.pageEntrustByItemHis(getPage(), entrust));
} }
...@@ -540,12 +556,79 @@ public class EntrustController extends ServiceController { ...@@ -540,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.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.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_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.patzn.cloud.service.hmhj.entity.OriginalRecord; 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.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
...@@ -44,9 +45,19 @@ public class OriginalRecordController extends ServiceController { ...@@ -44,9 +45,19 @@ public class OriginalRecordController extends ServiceController {
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
}) })
@PostMapping("/page") @PostMapping("/page")
public RestResult<Page<OriginalRecord>> getPage(OriginalRecord originalRecord) { public RestResult<Page<OriginalRecord>> getPage(OriginalRecord originalRecord) {
return success(originalRecordService.page(getPage(), originalRecord)); 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 信息") @ApiOperation("查询 id 信息")
@ApiImplicitParams({ @ApiImplicitParams({
...@@ -62,23 +73,23 @@ public class OriginalRecordController extends ServiceController { ...@@ -62,23 +73,23 @@ public class OriginalRecordController extends ServiceController {
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class), @ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
}) })
@PutMapping("/{id}") @PutMapping("/{id}")
public RestResult<Boolean> edit(@PathVariable("id") Long id, OriginalRecord originalRecord) { public RestResult<Boolean> edit(@PathVariable("id") Long id, OriginalRecord originalRecord) {
originalRecord.setId(id); originalRecord.setId(id);
return success(originalRecordService.updateById(originalRecord)); return success(originalRecordService.updateById(originalRecord));
} }
@ApiOperation("添加") @ApiOperation("添加")
@PostMapping("/") @PostMapping("/")
public RestResult<Boolean> add(OriginalRecord originalRecord) { public RestResult<Boolean> add(OriginalRecord originalRecord) {
return success(originalRecordService.save(originalRecord)); return success(originalRecordService.save(originalRecord));
} }
@ApiOperation("根据 ids 删除") @ApiOperation("根据 ids 删除")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class), @ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
}) })
@DeleteMapping("/") @DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) { public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(originalRecordService.removeByIds(ids)); return success(originalRecordService.removeByIds(ids));
} }
} }
...@@ -80,9 +80,6 @@ public class OriginalTemplateController extends ServiceController implements Ori ...@@ -80,9 +80,6 @@ public class OriginalTemplateController extends ServiceController implements Ori
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) {
...@@ -112,4 +109,11 @@ public class OriginalTemplateController extends ServiceController implements Ori ...@@ -112,4 +109,11 @@ public class OriginalTemplateController extends ServiceController implements Ori
public RestResult<String> getKeyByBusinessId(String s) { public RestResult<String> getKeyByBusinessId(String s) {
return null; 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> ...@@ -34,4 +34,6 @@ public interface EntrustSampleItemMapper extends BatchMapper<EntrustSampleItem>
List<EntrustSampleItemVO> selectByItemDeviate(RowBounds rowBounds, @Param("vo")EntrustSampleItemVO entrustSampleItem); List<EntrustSampleItemVO> selectByItemDeviate(RowBounds rowBounds, @Param("vo")EntrustSampleItemVO entrustSampleItem);
List<EntrustSampleItemVO> selectListVOByIds(@Param("ids")List<Long> expIdsList); List<EntrustSampleItemVO> selectListVOByIds(@Param("ids")List<Long> expIdsList);
List<EntrustSampleItemVO> selectByOriginalRecordId(@Param("originalRecordId") Long originalRecordId);
} }
package com.patzn.cloud.service.lims.hmhj.mapper; 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.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> * <p>
...@@ -13,4 +18,5 @@ import com.patzn.cloud.commons.mapper.BatchMapper; ...@@ -13,4 +18,5 @@ import com.patzn.cloud.commons.mapper.BatchMapper;
*/ */
public interface OriginalRecordMapper extends BatchMapper<OriginalRecord> { 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 ...@@ -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);
} }
...@@ -58,5 +58,7 @@ public interface IEntrustSampleItemService extends IBaseService<EntrustSampleIte ...@@ -58,5 +58,7 @@ public interface IEntrustSampleItemService extends IBaseService<EntrustSampleIte
Page<EntrustSampleItemVO> pageItemDeviateCheckHis(Page<EntrustSampleItemVO> page, EntrustSampleItemVO entrustSampleItem); Page<EntrustSampleItemVO> pageItemDeviateCheckHis(Page<EntrustSampleItemVO> page, EntrustSampleItemVO entrustSampleItem);
List<EntrustSampleItemVO> getItemByOriginalRecordId(Long originalRecordId);
List<EntrustSampleItemVO> listVOByIds(List<Long> expIdsList); List<EntrustSampleItemVO> listVOByIds(List<Long> expIdsList);
} }
...@@ -6,6 +6,7 @@ import com.patzn.cloud.commons.service.IBaseService; ...@@ -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.Entrust;
import com.patzn.cloud.service.hmhj.entity.OriginalRecord; import com.patzn.cloud.service.hmhj.entity.OriginalRecord;
import com.patzn.cloud.service.hmhj.entity.OriginalTemplate; import com.patzn.cloud.service.hmhj.entity.OriginalTemplate;
import com.patzn.cloud.service.hmhj.vo.OriginalRecordVO;
import java.io.File; import java.io.File;
import java.util.List; import java.util.List;
...@@ -23,4 +24,6 @@ public interface IOriginalRecordService extends IBaseService<OriginalRecord> { ...@@ -23,4 +24,6 @@ public interface IOriginalRecordService extends IBaseService<OriginalRecord> {
boolean removeByIds(List<Long> ids); boolean removeByIds(List<Long> ids);
OriginalRecord uploadExpGenerate(Long[] ids, OriginalTemplate template, Entrust entrust, Account account, String remark, File file); 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> ...@@ -22,5 +22,7 @@ public interface IOriginalTemplateService extends IBaseService<OriginalTemplate>
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);
boolean editOriginal(String someParam, OssFileResult obsFileResult); boolean editOriginal(String someParam, OssFileResult obsFileResult);
} }
...@@ -60,7 +60,7 @@ public class ContractSampleServiceImpl extends BaseServiceImpl<ContractSampleMap ...@@ -60,7 +60,7 @@ public class ContractSampleServiceImpl extends BaseServiceImpl<ContractSampleMap
@Override @Override
public Page<ContractSample> page(Page<ContractSample> page, ContractSample contractSample) { public Page<ContractSample> page(Page<ContractSample> page, ContractSample contractSample) {
Wrapper wrapper = new EntityWrapper<>(contractSample); Wrapper wrapper = new EntityWrapper<>(contractSample);
wrapper.orderBy("ctime",false);
return this.page(page, wrapper); return this.page(page, wrapper);
} }
......
...@@ -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());
......
...@@ -174,9 +174,10 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -174,9 +174,10 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的检测项目"); RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的检测项目");
List<EntrustSampleItem> list = super.list(Condition.create().in("id",ids).eq("status",EntrustSampleItemStatusEnum.TEST)); List<EntrustSampleItem> list = super.list(Condition.create().in("id",ids).eq("status",EntrustSampleItemStatusEnum.TEST));
RestAssert.fail(list.size()!=ids.length,"请选择待检测的检测项目"); 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(); EntrustSampleItem item = new EntrustSampleItem();
...@@ -494,6 +495,14 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -494,6 +495,14 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
} }
@Override @Override
public List<EntrustSampleItemVO> getItemByOriginalRecordId(Long originalRecordId) {
if(null == originalRecordId){
return null;
}
return baseMapper.selectByOriginalRecordId(originalRecordId);
}
@Override
public List<EntrustSampleItemVO> listVOByIds(List<Long> expIdsList) { public List<EntrustSampleItemVO> listVOByIds(List<Long> expIdsList) {
return baseMapper.selectListVOByIds(expIdsList); return baseMapper.selectListVOByIds(expIdsList);
} }
......
...@@ -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();
......
...@@ -44,7 +44,7 @@ import java.util.*; ...@@ -44,7 +44,7 @@ import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
* 服务实现类 * 服务实现类
* *
* @author wwd * @author wwd
* @since 2021-02-01 * @since 2021-02-01
...@@ -59,6 +59,8 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe ...@@ -59,6 +59,8 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
@Autowired @Autowired
private IEntrustReportTemplateService entrustReportTemplateService; private IEntrustReportTemplateService entrustReportTemplateService;
@Autowired
private IEntrustReportTemplateConfigService entrustReportTemplateConfigService;
@Autowired @Autowired
private OssClient ossClient; private OssClient ossClient;
...@@ -75,8 +77,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe ...@@ -75,8 +77,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
private IEntrustReportService entrustReportService; private IEntrustReportService entrustReportService;
@Autowired @Autowired
private IOriginalTemplateConfigService originalTemplateConfigService; private IOriginalTemplateConfigService originalTemplateConfigService;
@Autowired
private IEntrustReportTemplateConfigService entrustReportTemplateConfigService;
@Autowired @Autowired
private IEntrustService entrustService; private IEntrustService entrustService;
...@@ -95,7 +96,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe ...@@ -95,7 +96,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
} }
@Override @Override
public Page<EntrustSample> pageByWrapper(Page<EntrustSample> page, Wrapper wrapper) { public Page<EntrustSample> pageByWrapper(Page<EntrustSample> page, Wrapper wrapper) {
return this.page(page, wrapper); return this.page(page, wrapper);
} }
...@@ -103,29 +104,29 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe ...@@ -103,29 +104,29 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
@Override @Override
public Page<EntrustSampleVO> pageVO(Page<EntrustSampleVO> page, EntrustSampleVO entrustSample) { 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) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean submitToAcceptanceResultInput(Long[] ids, Account account) { public boolean submitToAcceptanceResultInput(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交到验收结果录入的数据"); RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交到验收结果录入的数据");
if (submitJudgeCheck(ids,account)){ if (submitJudgeCheck(ids, account)) {
List<EntrustSample> sampleList = list(Condition.create().in("id",ids)); List<EntrustSample> sampleList = list(Condition.create().in("id", ids));
List<Long> contractSampleIdList = new ArrayList<>(); List<Long> contractSampleIdList = new ArrayList<>();
for (EntrustSample sample : sampleList) { for (EntrustSample sample : sampleList) {
if (null!=sample.getContractSampleId()){ if (null != sample.getContractSampleId()) {
contractSampleIdList.add(sample.getContractSampleId()); contractSampleIdList.add(sample.getContractSampleId());
} }
} }
if (CollectionUtils.isNotEmpty(contractSampleIdList)){ if (CollectionUtils.isNotEmpty(contractSampleIdList)) {
ContractSample sample = new ContractSample(); ContractSample sample = new ContractSample();
sample.setStatus(ContractSampleStatusEnum.CHECK_RESULT_INPUT); sample.setStatus(ContractSampleStatusEnum.CHECK_RESULT_INPUT);
sample.setProgress(ContractSampleStatusEnum.QUALITY_AUDIT); sample.setProgress(ContractSampleStatusEnum.QUALITY_AUDIT);
contractSampleService.update(sample,Condition.create().in("id",contractSampleIdList)); contractSampleService.update(sample, Condition.create().in("id", contractSampleIdList));
contractSampleRecordService.record(contractSampleIdList,ContractSampleStatusEnum.QUALITY_AUDIT,ContractSampleStatusEnum.CHECK_RESULT_INPUT,0,"质量审核提交至验收结果录入",account); contractSampleRecordService.record(contractSampleIdList, ContractSampleStatusEnum.QUALITY_AUDIT, ContractSampleStatusEnum.CHECK_RESULT_INPUT, 0, "质量审核提交至验收结果录入", account);
} }
} }
return true; return true;
} }
...@@ -136,60 +137,60 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe ...@@ -136,60 +137,60 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
@Override @Override
public List<EntrustSampleVO> obtainMakeInfo(Long[] ids, Account account) { 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(); return s.getId();
}).collect(Collectors.toList()); }).collect(Collectors.toList());
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().in("entrust_sample_id",ids)); List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().in("entrust_sample_id", ids));
RestAssert.fail(CollectionUtils.isEmpty(itemList),"所选择的样品不含检测项目,无法制备"); RestAssert.fail(CollectionUtils.isEmpty(itemList), "所选择的样品不含检测项目,无法制备");
Set<Long> setSampleIds = itemList.stream().map(i->{ Set<Long> setSampleIds = itemList.stream().map(i -> {
return i.getEntrustSampleId(); return i.getEntrustSampleId();
}).collect(Collectors.toSet()); }).collect(Collectors.toSet());
if (setSampleIds.size()!=ids.length){ if (setSampleIds.size() != ids.length) {
RestAssert.fail(CollectionUtils.isEmpty(itemList),"所选择的样品有不含检测项目的,请确认"); RestAssert.fail(CollectionUtils.isEmpty(itemList), "所选择的样品有不含检测项目的,请确认");
} }
Map<Long,Map<Long,String>> sampleGroupMap = new HashMap<>(); Map<Long, Map<Long, String>> sampleGroupMap = new HashMap<>();
for (EntrustSampleItem item:itemList) { for (EntrustSampleItem item : itemList) {
if (sampleGroupMap.containsKey(item.getEntrustSampleId())){ if (sampleGroupMap.containsKey(item.getEntrustSampleId())) {
Map<Long,String> groupMap = sampleGroupMap.get(item.getEntrustSampleId()); Map<Long, String> groupMap = sampleGroupMap.get(item.getEntrustSampleId());
groupMap.put(item.getGroupId(),item.getGroupName()); groupMap.put(item.getGroupId(), item.getGroupName());
sampleGroupMap.put(item.getEntrustSampleId(),groupMap); sampleGroupMap.put(item.getEntrustSampleId(), groupMap);
}else{ } else {
Map<Long,String> groupMap =new HashMap<>(); Map<Long, String> groupMap = new HashMap<>();
groupMap.put(item.getGroupId(),item.getGroupName()); 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) { for (EntrustSample sample : entrustSamples) {
Map<Long,String> groupMap = sampleGroupMap.get(sample.getId()); Map<Long, String> groupMap = sampleGroupMap.get(sample.getId());
if (null == groupMap){ if (null == groupMap) {
continue; continue;
} }
for (Map.Entry<Long,String> g: groupMap.entrySet()) { for (Map.Entry<Long, String> g : groupMap.entrySet()) {
EntrustSampleVO sampleVO = sample.convert(EntrustSampleVO.class); EntrustSampleVO sampleVO = sample.convert(EntrustSampleVO.class);
sampleVO.setId(null); sampleVO.setId(null);
sampleVO.setGroupId(g.getKey()); sampleVO.setGroupId(g.getKey());
sampleVO.setGroupName(g.getValue()); sampleVO.setGroupName(g.getValue());
Set<String> itemNameSet = new HashSet<>(); Set<String> itemNameSet = new HashSet<>();
for (EntrustSampleItem item:itemList) { for (EntrustSampleItem item : itemList) {
if (item.getEntrustSampleId().equals(sample.getId())&&item.getGroupId().equals(g.getKey())){ if (item.getEntrustSampleId().equals(sample.getId()) && item.getGroupId().equals(g.getKey())) {
itemNameSet.add(item.getName()); itemNameSet.add(item.getName());
} }
} }
sampleVO.setItemNames(StringHandleUtils.join(itemNameSet)); sampleVO.setItemNames(StringHandleUtils.join(itemNameSet));
sampleVO.setEntrustSampleId(sample.getId()); sampleVO.setEntrustSampleId(sample.getId());
...@@ -201,402 +202,393 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe ...@@ -201,402 +202,393 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
@Override @Override
public Page<EntrustSampleVO> pageSampleReceive(Page<EntrustSampleVO> page, EntrustSampleVO entrustSample) { public Page<EntrustSampleVO> pageSampleReceive(Page<EntrustSampleVO> page, EntrustSampleVO entrustSample) {
return page.setRecords(baseMapper.selectSampleReceiveList(page,entrustSample)); return page.setRecords(baseMapper.selectSampleReceiveList(page, entrustSample));
} }
@Override @Override
public Page<EntrustSampleVO> pageSampleByItem(Page<EntrustSampleVO> page, EntrustSampleVO entrustSample) { public Page<EntrustSampleVO> pageSampleByItem(Page<EntrustSampleVO> page, EntrustSampleVO entrustSample) {
if (null == entrustSample.getEntrustId()){ if (null == entrustSample.getEntrustId()) {
return page; return page;
} }
if (null == entrustSample.getItemStatus()){ if (null == entrustSample.getItemStatus()) {
return page; return page;
} }
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().eq("status",entrustSample.getItemStatus())); List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().eq("status", entrustSample.getItemStatus()));
if (CollectionUtils.isEmpty(itemList)){ if (CollectionUtils.isEmpty(itemList)) {
return page; return page;
} }
List<Long> sampleIdsList = itemList.stream().map(i->{ List<Long> sampleIdsList = itemList.stream().map(i -> {
return i.getEntrustSampleId(); return i.getEntrustSampleId();
}).collect(Collectors.toList()); }).collect(Collectors.toList());
entrustSample.setIds(sampleIdsList); entrustSample.setIds(sampleIdsList);
return page.setRecords(baseMapper.selectVOList(page,entrustSample)); return page.setRecords(baseMapper.selectVOList(page, entrustSample));
} }
@Override @Override
public Page<EntrustSampleVO> pageSampleByItemHis(Page<EntrustSampleVO> page, EntrustSampleVO entrustSample) { public Page<EntrustSampleVO> pageSampleByItemHis(Page<EntrustSampleVO> page, EntrustSampleVO entrustSample) {
if (null == entrustSample.getEntrustId()){ if (null == entrustSample.getEntrustId()) {
return page; return page;
} }
if (CollectionUtils.isEmpty(entrustSample.getItemStatusList()) ){ if (CollectionUtils.isEmpty(entrustSample.getItemStatusList())) {
return page; return page;
} }
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().in("status",entrustSample.getItemStatusList())); List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().in("status", entrustSample.getItemStatusList()));
if (CollectionUtils.isEmpty(itemList)){ if (CollectionUtils.isEmpty(itemList)) {
return page; return page;
} }
List<Long> sampleIdsList = itemList.stream().map(i->{ List<Long> sampleIdsList = itemList.stream().map(i -> {
return i.getEntrustSampleId(); return i.getEntrustSampleId();
}).collect(Collectors.toList()); }).collect(Collectors.toList());
entrustSample.setIds(sampleIdsList); entrustSample.setIds(sampleIdsList);
return page.setRecords(baseMapper.selectVOList(page,entrustSample)); return page.setRecords(baseMapper.selectVOList(page, entrustSample));
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean makeReport(ReportDTO dto, Account account) { public boolean makeReport(ReportDTO dto, Account account) {
Long [] ids = dto.getSampleIds(); Long[] ids = dto.getSampleIds();
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要生成报告的样品"); RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要生成报告的样品");
Long templateId = dto.getTemplateId(); Long templateId = dto.getTemplateId();
RestAssert.fail(null ==templateId,"请选择报告模板!"); RestAssert.fail(null == templateId, "请选择报告模板!");
List<EntrustReportRelSample> relSamples =entrustReportRelSampleService.list(Condition.create().in("sample_id",ids)); List<EntrustReportRelSample> relSamples = entrustReportRelSampleService.list(Condition.create().in("sample_id", ids));
if (CollectionUtils.isNotEmpty(relSamples)){ if (CollectionUtils.isNotEmpty(relSamples)) {
RestAssert.fail("您选择的样品含有已经生成过报告的,请确认"); RestAssert.fail("您选择的样品含有已经生成过报告的,请确认");
} }
List<EntrustSample> sampleList = super.list(Condition.create().in("id",ids)); List<EntrustSample> sampleList = super.list(Condition.create().in("id", ids));
RestAssert.fail(CollectionUtils.isEmpty(sampleList),"样品不存在请确认!"); RestAssert.fail(CollectionUtils.isEmpty(sampleList), "样品不存在请确认!");
Long entrustId = sampleList.get(0).getEntrustId(); Long entrustId = sampleList.get(0).getEntrustId();
Entrust entrust = entrustService.getById(entrustId); Entrust entrust = entrustService.getById(entrustId);
EntrustReportTemplate sysFileTemplate = entrustReportTemplateService.getById(templateId); EntrustReportTemplate sysFileTemplate = entrustReportTemplateService.getById(templateId);
Set<String> sampleNameSet = new HashSet<>(); Set<String> sampleNameSet = new HashSet<>();
for (EntrustSample sample:sampleList) { for (EntrustSample sample : sampleList) {
sampleNameSet.add(sample.getName()); sampleNameSet.add(sample.getName());
} }
String sampleName = StringHandleUtils.join(sampleNameSet); String sampleName = StringHandleUtils.join(sampleNameSet);
if (sysFileTemplate.getName().contains(".docx")){ if (sysFileTemplate.getObjectKey().contains(".docx")) {
RestAssert.fail(null == sysFileTemplate, "选择的报告模板不存在"); RestAssert.fail(null == sysFileTemplate, "选择的报告模板不存在");
String sampleShape = sampleList.get(0).getSampleShape(); String sampleShape = sampleList.get(0).getSampleShape();
Map<String, Object> contractMap = new HashMap<>(); Map<String, Object> contractMap = new HashMap<>();
contractMap.put("s", entrust); contractMap.put("s", entrust);
contractMap.put("sampleName",sampleName); contractMap.put("sampleName", sampleName);
contractMap.put("sampleShape",sampleShape); contractMap.put("sampleShape", sampleShape);
InputStream io = ossClient.download(sysFileTemplate.getObjectKey()); InputStream io = ossClient.download(sysFileTemplate.getObjectKey());
XWPFTemplate xwpfTemplate = null; XWPFTemplate xwpfTemplate = null;
try { try {
xwpfTemplate = XWPFTemplate.compile(io).setDefaultValue("/").render(contractMap); xwpfTemplate = XWPFTemplate.compile(io).setDefaultValue("/").render(contractMap);
} catch (Exception e) { } catch (Exception e) {
logger.error("生成报告失败", e); logger.error("生成报告失败", e);
RestAssert.fail("报告生成失败:" + e.getMessage()); RestAssert.fail("报告生成失败:" + e.getMessage());
} }
XWPFDocument baseDoc = xwpfTemplate.getXWPFDocument(); XWPFDocument baseDoc = xwpfTemplate.getXWPFDocument();
List<EntrustSampleItemVO> sampleItemVOList = entrustSampleItemService.listBySampleIds(ids);
List<XWPFTable> tableList = baseDoc.getTables();
for (XWPFTable xwpfTable : tableList) {
String text = xwpfTable.getText();
if (com.patzn.cloud.commons.toolkit.StringHandleUtils.containsString(text, "{name}", "{sampleCode}", "{agreedValue}", "{testValue}")) {
//检测内容
reportMakeTestContent(xwpfTable, sampleItemVOList.size(), 1, sampleItemVOList);
}
}
String generated = entrust.getCode();
FileOutputStream os = null;
File file = null;
try {
file = File.createTempFile(generated, ".docx");
os = new FileOutputStream(file);
baseDoc.write(os);
os.flush();
entrustReportService.uploadReportGenerateDocx(entrust,ids, account, StringHandleUtils.join(sampleNameSet),"报告生成", file);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
os.close();
baseDoc.close();
io.close();
FileUtils.deleteFiles(file);
} catch (Exception e) {
e.printStackTrace();
}
}
}else if (sysFileTemplate.getName().contains(".xlsx")){
List<EntrustSampleItemVO> sampleItemVOList = entrustSampleItemService.listBySampleIds(ids);
List<EntrustSampleVO> sampleVOList = new ArrayList<>();
for (EntrustSample sample : sampleList) {
EntrustSampleVO vo = sample.convert(EntrustSampleVO.class);
List<EntrustSampleItemVO> sampleItemList = new ArrayList<>();
for (EntrustSampleItemVO itemVO : sampleItemVOList) {
if (sample.getId().equals(itemVO.getEntrustSampleId())){
sampleItemList.add(itemVO);
}
}
vo.setItemVOList(sampleItemList);
sampleVOList.add(vo);
}
InputStream io = ossClient.download(sysFileTemplate.getObjectKey());
XSSFWorkbook xssfWorkbook= null;
try {
xssfWorkbook= new XSSFWorkbook(io);
} catch (IOException e) {
e.printStackTrace();
}
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);
sheetOne.setForceFormulaRecalculation(true);
Integer beginRow = sysFileTemplate.getSampleBeginRow();
int sampleMergerNum = sysFileTemplate.getSampleMergerNum();
int templateSampleNum = sysFileTemplate.getTemplateSampleNum();
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) {
XSSFCell cell = xssfRow.getCell(config.getColumnPlace());
if ("sn".equals(config.getDataAttribute())){
continue;
}
if (StringUtils.isBlank(config.getDataAttribute())){
continue;
}
String value= StringHandleUtils.getFieldValue(config.getDataAttribute(),vo);
cell.setCellValue(value);
}
beginRow+=sampleMergerNum;
}
String generated = entrust.getCode();
FileOutputStream os = null;
File file = null;
try {
file = File.createTempFile(generated, ".xlsx");
os = new FileOutputStream(file);
xssfWorkbook.write(os);
os.flush();
entrustReportService.uploadReportGenerateDocx(entrust,ids, account, StringHandleUtils.join(sampleNameSet),"报告生成", file);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
xssfWorkbook.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
io.close();
} catch (IOException e) {
e.printStackTrace();
}
FileUtils.deleteFiles(file);
}
}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++) {
for (int i = 0; i < sampleMergerNum; i++) {
sheetOne.shiftRows(insertRow, sheetOne.getLastRowNum(), 1,true,false);
XSSFRow row = sheetOne.createRow(insertRow);
row.setHeight(zeroRow.getHeight());
for (int j = 0; j < lastCellNum; j++) {
XSSFCell xssfCell = row.createCell(j);
xssfCell.setCellStyle(cellStyle);
}
insertRow++;
}
}
int sn = 1;
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()){
continue;
}
XSSFCell cell = xssfRow.getCell(config.getColumnPlace());
if ("sn".equals(config.getDataAttribute())){
cell.setCellValue(sn);
}else{
cell.setCellValue(StringHandleUtils.getFieldValue(config.getDataAttribute(),vo));
}
}
beginRow+=sampleMergerNum;
sn++;
}
for (EntrustReportTemplateConfig config:configList) {
if (null==config.getMergeRowNum()){
config.setMergeRowNum(1);
}
if (null == config.getMergeBegin()){
continue;
}
if (null == config.getMergeEnd()){
continue;
}
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;
}
}
}
}
String generated = entrust.getCode();
FileOutputStream os = null;
File file = null;
try {
file = File.createTempFile(generated, ".docx");
os = new FileOutputStream(file);
xssfWorkbook.write(os);
os.flush();
entrustReportService.uploadReportGenerateDocx(entrust,ids, account, StringHandleUtils.join(sampleNameSet),"报告生成", file);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
xssfWorkbook.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
io.close();
} catch (IOException e) {
e.printStackTrace();
}
FileUtils.deleteFiles(file);
}
}
List<EntrustSampleItemVO> sampleItemVOList = entrustSampleItemService.listBySampleIds(ids);
List<XWPFTable> tableList = baseDoc.getTables();
for (XWPFTable xwpfTable : tableList) {
String text = xwpfTable.getText();
if (com.patzn.cloud.commons.toolkit.StringHandleUtils.containsString(text, "{name}", "{sampleCode}", "{agreedValue}", "{testValue}")) {
//检测内容
reportMakeTestContent(xwpfTable, sampleItemVOList.size(), 1, sampleItemVOList);
}
}
String generated = entrust.getCode();
FileOutputStream os = null;
File file = null;
try {
file = File.createTempFile(generated, ".docx");
os = new FileOutputStream(file);
baseDoc.write(os);
os.flush();
entrustReportService.uploadReportGenerateDocx(entrust, ids, account, StringHandleUtils.join(sampleNameSet), "报告生成", file);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
os.close();
baseDoc.close();
io.close();
FileUtils.deleteFiles(file);
} catch (Exception e) {
e.printStackTrace();
}
}
} else if (sysFileTemplate.getObjectKey().contains(".xlsx")) {
List<EntrustSampleItemVO> sampleItemVOList = entrustSampleItemService.listBySampleIds(ids);
List<EntrustSampleVO> sampleVOList = new ArrayList<>();
for (EntrustSample sample : sampleList) {
EntrustSampleVO vo = sample.convert(EntrustSampleVO.class);
List<EntrustSampleItemVO> sampleItemList = new ArrayList<>();
for (EntrustSampleItemVO itemVO : sampleItemVOList) {
if (sample.getId().equals(itemVO.getEntrustSampleId())) {
sampleItemList.add(itemVO);
}
}
vo.setItemVOList(sampleItemList);
sampleVOList.add(vo);
}
InputStream io = ossClient.download(sysFileTemplate.getObjectKey());
XSSFWorkbook xssfWorkbook = null;
try {
xssfWorkbook = new XSSFWorkbook(io);
} catch (IOException e) {
e.printStackTrace();
}
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);
sheetOne.setForceFormulaRecalculation(true);
Integer beginRow = sysFileTemplate.getSampleBeginRow();
int sampleMergerNum = sysFileTemplate.getSampleMergerNum();
int templateSampleNum = sysFileTemplate.getTemplateSampleNum();
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) {
XSSFCell cell = xssfRow.getCell(config.getColumnPlace());
if ("sn".equals(config.getDataAttribute())) {
continue;
}
if (StringUtils.isBlank(config.getDataAttribute())) {
continue;
}
String value = StringHandleUtils.getFieldValue(config.getDataAttribute(), vo);
cell.setCellValue(value);
}
beginRow += sampleMergerNum;
}
String generated = entrust.getCode();
FileOutputStream os = null;
File file = null;
try {
file = File.createTempFile(generated, ".xlsx");
os = new FileOutputStream(file);
xssfWorkbook.write(os);
os.flush();
entrustReportService.uploadReportGenerateDocx(entrust, ids, account, StringHandleUtils.join(sampleNameSet), "报告生成", file);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
xssfWorkbook.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
io.close();
} catch (IOException e) {
e.printStackTrace();
}
FileUtils.deleteFiles(file);
}
} 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++) {
for (int i = 0; i < sampleMergerNum; i++) {
sheetOne.shiftRows(insertRow, sheetOne.getLastRowNum(), 1, true, false);
XSSFRow row = sheetOne.createRow(insertRow);
row.setHeight(zeroRow.getHeight());
for (int j = 0; j < lastCellNum; j++) {
XSSFCell xssfCell = row.createCell(j);
xssfCell.setCellStyle(cellStyle);
}
insertRow++;
}
}
int sn = 1;
for (EntrustSampleVO vo : sampleVOList) {
XSSFRow xssfRow = sheetOne.getRow(beginRow);
for (EntrustReportTemplateConfig config : configList) {
if (null == config.getColumnPlace()) {
continue;
}
XSSFCell cell = xssfRow.getCell(config.getColumnPlace());
if ("sn".equals(config.getDataAttribute())) {
cell.setCellValue(sn);
} else {
cell.setCellValue(StringHandleUtils.getFieldValue(config.getDataAttribute(), vo));
}
}
beginRow += sampleMergerNum;
sn++;
}
for (EntrustReportTemplateConfig config : configList) {
if (null == config.getMergeRowNum()) {
config.setMergeRowNum(1);
}
if (null == config.getMergeBegin()) {
continue;
}
if (null == config.getMergeEnd()) {
continue;
}
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;
}
}
}
}
String generated = entrust.getCode();
FileOutputStream os = null;
File file = null;
try {
file = File.createTempFile(generated, ".xlsx");
os = new FileOutputStream(file);
xssfWorkbook.write(os);
os.flush();
entrustReportService.uploadReportGenerateDocx(entrust, ids, account, StringHandleUtils.join(sampleNameSet), "报告生成", file);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
xssfWorkbook.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
io.close();
} catch (IOException e) {
e.printStackTrace();
}
FileUtils.deleteFiles(file);
}
}
return true; return true;
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean submitJudgeRegister(Long[] ids, Account account) { public boolean submitJudgeRegister(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的质量登记数据"); RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的质量登记数据");
EntrustSample sample = new EntrustSample(); EntrustSample sample = new EntrustSample();
sample.setJudgeStatus(1); sample.setJudgeStatus(1);
sample.setJudgeProgress(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) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean submitJudgeCheck(Long[] ids, Account account) { public boolean submitJudgeCheck(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的质量登记数据"); RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的质量登记数据");
EntrustSample sample = new EntrustSample(); EntrustSample sample = new EntrustSample();
sample.setJudgeStatus(2); sample.setJudgeStatus(2);
sample.setJudgeProgress(2); sample.setJudgeProgress(2);
sample.setJudgeChecker(account.getUserName()); sample.setJudgeChecker(account.getUserName());
sample.setJudgeCheckerId(account.getUserId()); sample.setJudgeCheckerId(account.getUserId());
sample.setJudgeCheckTime(new Date()); 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) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean backJudgeCheck(Long[] ids, String remark, Account account) { public boolean backJudgeCheck(Long[] ids, String remark, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的质量登记数据"); RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的质量登记数据");
EntrustSample sample = new EntrustSample(); EntrustSample sample = new EntrustSample();
sample.setJudgeStatus(0); sample.setJudgeStatus(0);
sample.setJudgeProgress(-1); sample.setJudgeProgress(-1);
sample.setJudgeChecker(account.getUserName()); sample.setJudgeChecker(account.getUserName());
sample.setJudgeCheckerId(account.getUserId()); sample.setJudgeCheckerId(account.getUserId());
sample.setJudgeCheckTime(new Date()); sample.setJudgeCheckTime(new Date());
return super.update(sample,Condition.create().in("id",ids)); return super.update(sample, Condition.create().in("id", ids));
} }
@Override @Override
public Page<EntrustSampleVO> pageBySampleLeft(Page<EntrustSampleVO> page, EntrustSampleVO sampleVO) { public Page<EntrustSampleVO> pageBySampleLeft(Page<EntrustSampleVO> page, EntrustSampleVO sampleVO) {
if (null == sampleVO.getEntrustId()){ if (null == sampleVO.getEntrustId()) {
return page; return page;
} }
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().eq("status",sampleVO.getItemStatus())); List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().eq("status", sampleVO.getItemStatus()));
if (CollectionUtils.isEmpty(itemList)){ if (CollectionUtils.isEmpty(itemList)) {
return page; return page;
} }
List<Long> sampleIds = new ArrayList<>(); List<Long> sampleIds = new ArrayList<>();
for (EntrustSampleItem item : itemList) { for (EntrustSampleItem item : itemList) {
sampleIds.add(item.getEntrustSampleId()); sampleIds.add(item.getEntrustSampleId());
} }
sampleVO.setIds(sampleIds); sampleVO.setIds(sampleIds);
return page.setRecords(baseMapper.selectVOList(page,sampleVO)); return page.setRecords(baseMapper.selectVOList(page, sampleVO));
} }
@Override @Override
public Page<EntrustSampleVO> pageBySampleLeftHis(Page<EntrustSampleVO> page, EntrustSampleVO sampleVO) { public Page<EntrustSampleVO> pageBySampleLeftHis(Page<EntrustSampleVO> page, EntrustSampleVO sampleVO) {
if (null == sampleVO.getEntrustId()){ if (null == sampleVO.getEntrustId()) {
return page; return page;
} }
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().in("status",sampleVO.getItemStatusList())); List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().in("status", sampleVO.getItemStatusList()));
if (CollectionUtils.isEmpty(itemList)){ if (CollectionUtils.isEmpty(itemList)) {
return page; return page;
} }
List<Long> sampleIds = new ArrayList<>(); List<Long> sampleIds = new ArrayList<>();
for (EntrustSampleItem item : itemList) { for (EntrustSampleItem item : itemList) {
sampleIds.add(item.getEntrustSampleId()); sampleIds.add(item.getEntrustSampleId());
} }
sampleVO.setIds(sampleIds); 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 ...@@ -614,61 +606,62 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
} }
int mergeIndex = 1; int mergeIndex = 1;
int mergeNum= 1; int mergeNum = 1;
Map<Integer , Integer> mergeMap = new HashMap<>(); Map<Integer, Integer> mergeMap = new HashMap<>();
int mergeIndexBath = 1; int mergeIndexBath = 1;
int mergeNumBath= 1; int mergeNumBath = 1;
int mergeCodeIndex= index; int mergeCodeIndex = index;
int mergeCode= index; int mergeCode = index;
Map<Integer , Integer> mergeMapBath = new HashMap<>(); 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++) { for (int i = 0; i < rowLength; i++) {
fillTableData(xwpfTable, itemCellMap, index + i, objects.get(i)); fillTableData(xwpfTable, itemCellMap, index + i, objects.get(i));
if (i>0){ if (i > 0) {
Object pre= objects.get(i-1); Object pre = objects.get(i - 1);
Object now= objects.get(i); Object now = objects.get(i);
String value= StringHandleUtils.getFieldValueByFieldName("sampleCode", pre); String value = StringHandleUtils.getFieldValueByFieldName("sampleCode", pre);
String preValue= StringHandleUtils.getFieldValueByFieldName("sampleCode", now); String preValue = StringHandleUtils.getFieldValueByFieldName("sampleCode", now);
if (value.equals(preValue)){ if (value.equals(preValue)) {
mergeNum++; mergeNum++;
}else{ } else {
mergeMap.put(mergeIndex,mergeNum); mergeMap.put(mergeIndex, mergeNum);
mergeIndex=mergeNum+1; mergeIndex = mergeNum + 1;
mergeNum++; mergeNum++;
} }
} }
} }
mergeMap.put(mergeIndex,mergeNum); mergeMap.put(mergeIndex, mergeNum);
mergeMapBath.put(mergeIndexBath,mergeNumBath); mergeMapBath.put(mergeIndexBath, mergeNumBath);
mergeCodeMap.put(mergeCodeIndex,mergeCode); mergeCodeMap.put(mergeCodeIndex, mergeCode);
for (Map.Entry<Integer,Integer> e:mergeMap.entrySet()) { for (Map.Entry<Integer, Integer> e : mergeMap.entrySet()) {
mergeCellsVertically(xwpfTable,getKey(itemCellMap,"{sampleCode}"),e.getKey(),e.getValue()); mergeCellsVertically(xwpfTable, getKey(itemCellMap, "{sampleCode}"), e.getKey(), e.getValue());
} }
} }
public static Integer getKey(Map<Integer, String> map, String v) { public static Integer getKey(Map<Integer, String> map, String v) {
Integer key ; Integer key;
for (Map.Entry<Integer,String> e:map.entrySet()) { for (Map.Entry<Integer, String> e : map.entrySet()) {
if (v.equals(e.getValue())){ if (v.equals(e.getValue())) {
return e.getKey(); return e.getKey();
} }
} }
return null; return null;
} }
// word跨行并单元格 // word跨行并单元格
public void mergeCellsVertically(XWPFTable table, Integer c, int fromRow, int toRow) { public void mergeCellsVertically(XWPFTable table, Integer c, int fromRow, int toRow) {
if (null == c){ if (null == c) {
return; return;
} }
int col = c; int col = c;
for (int rowIndex = fromRow; rowIndex <= toRow; rowIndex++) { for (int rowIndex = fromRow; rowIndex <= toRow; rowIndex++) {
XWPFTableCell cell = table.getRow(rowIndex).getCell(col); XWPFTableCell cell = table.getRow(rowIndex).getCell(col);
if ( rowIndex == fromRow ) { if (rowIndex == fromRow) {
// The first merged cell is set with RESTART merge value // The first merged cell is set with RESTART merge value
cell.getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.RESTART); cell.getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.RESTART);
} else { } else {
...@@ -679,10 +672,10 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe ...@@ -679,10 +672,10 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
} }
public void mergeCellsHorizontal(XWPFTable table, int row, int fromCell, int toCell) { public void mergeCellsHorizontal(XWPFTable table, int row, int fromCell, int toCell) {
for (int cellIndex = fromCell; cellIndex <= toCell; cellIndex++) { for (int cellIndex = fromCell; cellIndex <= toCell; cellIndex++) {
XWPFTableCell cell = table.getRow(row).getCell(cellIndex); XWPFTableCell cell = table.getRow(row).getCell(cellIndex);
if ( cellIndex == fromCell ) { if (cellIndex == fromCell) {
// The first merged cell is set with RESTART merge value // The first merged cell is set with RESTART merge value
cell.getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART); cell.getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART);
} else { } else {
......
...@@ -65,7 +65,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust> ...@@ -65,7 +65,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
@Override @Override
public Page<Entrust> page(Page<Entrust> page, Entrust entrust) { public Page<Entrust> page(Page<Entrust> page, Entrust entrust) {
Wrapper wrapper = new EntityWrapper<>(entrust); Wrapper wrapper = new EntityWrapper<>(entrust);
wrapper.orderBy("entrust_time",false);
return this.page(page, wrapper); return this.page(page, wrapper);
} }
......
...@@ -7,6 +7,7 @@ import com.patzn.cloud.commons.controller.Account; ...@@ -7,6 +7,7 @@ import com.patzn.cloud.commons.controller.Account;
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.*; 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.mapper.OriginalRecordMapper;
import com.patzn.cloud.service.lims.hmhj.service.IEntrustSampleItemService; import com.patzn.cloud.service.lims.hmhj.service.IEntrustSampleItemService;
import com.patzn.cloud.service.lims.hmhj.service.IItemRelOriginalRecordService; import com.patzn.cloud.service.lims.hmhj.service.IItemRelOriginalRecordService;
...@@ -48,6 +49,11 @@ public class OriginalRecordServiceImpl extends BaseServiceImpl<OriginalRecordMap ...@@ -48,6 +49,11 @@ public class OriginalRecordServiceImpl extends BaseServiceImpl<OriginalRecordMap
} }
@Override @Override
public Page<OriginalRecordVO> pageVO(Page<OriginalRecordVO> page, OriginalRecordVO vo){
return page.setRecords(baseMapper.selectPageVO(page,vo));
}
@Override
public boolean removeByIds(List<Long> ids) { public boolean removeByIds(List<Long> ids) {
itemRelOriginalRecordService.remove(Condition.create().in("record_id",ids)); itemRelOriginalRecordService.remove(Condition.create().in("record_id",ids));
return baseMapper.deleteBatchIds(ids) > 0; return baseMapper.deleteBatchIds(ids) > 0;
......
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.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.api.RestAssert;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
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.*; import com.patzn.cloud.service.hmhj.entity.*;
...@@ -12,10 +16,6 @@ import com.patzn.cloud.service.lims.hmhj.handler.ItemCollectEntity; ...@@ -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.handler.SoilItemCollectData;
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.*; 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.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.format.CellFormat; import org.apache.poi.ss.format.CellFormat;
...@@ -25,9 +25,6 @@ import org.apache.poi.xssf.usermodel.XSSFSheet; ...@@ -25,9 +25,6 @@ import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; 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.Wrapper;
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.InputStream;
...@@ -47,7 +44,6 @@ import java.util.stream.Collectors; ...@@ -47,7 +44,6 @@ import java.util.stream.Collectors;
@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;
...@@ -55,26 +51,30 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat ...@@ -55,26 +51,30 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
private IOriginalRecordService originalRecordService; private IOriginalRecordService originalRecordService;
@Autowired @Autowired
private IOriginalTemplateService originalTemplateService; private IEntrustSampleService entrustSampleService;
@Autowired
private IEntrustSampleItemService entrustSampleItemService;
@Autowired @Autowired
private IOriginalTemplateConfigService originalTemplateConfigService; private IOriginalTemplateConfigService originalTemplateConfigService;
@Autowired @Autowired
private IItemRelOriginalRecordService itemRelOriginalRecordService; private IOriginalTemplateService originalTemplateService;
@Autowired @Autowired
private IEntrustSampleItemService entrustSampleItemService; private IItemRelOriginalRecordService itemRelOriginalRecordService;
@Autowired @Autowired
private IEntrustSampleItemIndexService entrustSampleItemIndexService; private IEntrustSampleItemIndexService entrustSampleItemIndexService;
@Override @Override
public Page<OriginalTemplate> page(Page<OriginalTemplate> page, OriginalTemplate originalTemplate) { public Page<OriginalTemplate> page(Page<OriginalTemplate> page, OriginalTemplate originalTemplate) {
String alias = originalTemplate.getAlias();
// 支持模糊搜索
originalTemplate.setAlias(null);
Wrapper wrapper = new EntityWrapper<>(originalTemplate); Wrapper wrapper = new EntityWrapper<>(originalTemplate);
wrapper.like("alias", alias);
return this.page(page, wrapper); return this.page(page, wrapper);
} }
...@@ -85,8 +85,8 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat ...@@ -85,8 +85,8 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
@Override @Override
public boolean uploadTemplate(MultipartFile file, String classType, String name, String remark, int templateType) { public boolean uploadTemplate(MultipartFile file, String classType, String name, String remark, int templateType) {
RestAssert.fail(StringUtils.isBlank(classType),"模板类别不能为空"); RestAssert.fail(StringUtils.isBlank(classType), "模板类别不能为空");
RestAssert.fail(StringUtils.isBlank(name),"请填写原始记录名称"); RestAssert.fail(StringUtils.isBlank(name), "请填写原始记录名称");
String fileName = file.getOriginalFilename(); String fileName = file.getOriginalFilename();
RestAssert.fail(StringUtils.isBlank(fileName), "请上传文件"); RestAssert.fail(StringUtils.isBlank(fileName), "请上传文件");
OriginalTemplate attachment = new OriginalTemplate(); OriginalTemplate attachment = new OriginalTemplate();
...@@ -107,12 +107,125 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat ...@@ -107,12 +107,125 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
} }
@Override @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) { public boolean editOriginal(String someParam, OssFileResult obsFileResult) {
RestAssert.fail(StringUtils.isBlank(someParam),"业务ID不能为空"); RestAssert.fail(StringUtils.isBlank(someParam), "业务ID不能为空");
RestAssert.fail(null==obsFileResult,"OssFileResult不能为空"); RestAssert.fail(null == obsFileResult, "OssFileResult不能为空");
RestAssert.fail(StringUtils.isBlank(obsFileResult.getObjectKey()),"ObjectKey不能为空"); RestAssert.fail(StringUtils.isBlank(obsFileResult.getObjectKey()), "ObjectKey不能为空");
RestAssert.fail(StringUtils.isBlank(obsFileResult.getVersionId()),"VersionId不能为空"); RestAssert.fail(StringUtils.isBlank(obsFileResult.getVersionId()), "VersionId不能为空");
RestAssert.fail(StringUtils.isBlank(obsFileResult.getType()),"Type不能为空"); RestAssert.fail(StringUtils.isBlank(obsFileResult.getType()), "Type不能为空");
RestAssert.fail(StringUtils.isBlank(someParam) || 4 != someParam.split("&").length, "参数传递有误"); RestAssert.fail(StringUtils.isBlank(someParam) || 4 != someParam.split("&").length, "参数传递有误");
String[] arr = someParam.split("&"); String[] arr = someParam.split("&");
Long businessId = Long.parseLong(arr[0]); Long businessId = Long.parseLong(arr[0]);
...@@ -125,7 +238,7 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat ...@@ -125,7 +238,7 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
Long userId = Long.parseLong(arr[1]); Long userId = Long.parseLong(arr[1]);
Long companyId = Long.parseLong(arr[3]); Long companyId = Long.parseLong(arr[3]);
OriginalRecord report = originalRecordService.getById(businessId); OriginalRecord report = originalRecordService.getById(businessId);
if (null == report){ if (null == report) {
RestAssert.fail("数据有误"); RestAssert.fail("数据有误");
} }
OriginalRecord originalRecord = new OriginalRecord(); OriginalRecord originalRecord = new OriginalRecord();
...@@ -134,94 +247,88 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat ...@@ -134,94 +247,88 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
originalRecordService.updateById(originalRecord); originalRecordService.updateById(originalRecord);
InputStream io = ossClient.download(obsFileResult.getObjectKey()); InputStream io = ossClient.download(obsFileResult.getObjectKey());
//结果回调 //结果回调
XSSFWorkbook xssfWorkbook=null; XSSFWorkbook xssfWorkbook = null;
try { try {
xssfWorkbook = new XSSFWorkbook(io); xssfWorkbook = new XSSFWorkbook(io);
} catch (Exception e1) { } catch (Exception e1) {
e1.printStackTrace(); e1.printStackTrace();
return false; return false;
} }
XSSFSheet sheet = xssfWorkbook.getSheetAt(0); XSSFSheet sheet = xssfWorkbook.getSheetAt(0);
if (null == report.getTemplateId()){ if (null == report.getTemplateId()) {
return true; return true;
} }
OriginalTemplate template = originalTemplateService.getById(report.getTemplateId()); OriginalTemplate template = originalTemplateService.getById(report.getTemplateId());
if (null == template) {
if (null == template){
return true; return true;
} }
Integer moreSheet = template.getMoreSheet(); 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())); List<ItemRelOriginalRecord> relOriginalRecordList = itemRelOriginalRecordService.list(Condition.create().eq("record_id", report.getId()));
if (CollectionUtils.isEmpty(relOriginalRecordList)){ if (CollectionUtils.isEmpty(relOriginalRecordList)) {
return true; return true;
} }
List<Long> expIdsList = relOriginalRecordList.stream().map(r->{ List<Long> expIdsList = relOriginalRecordList.stream().map(r -> {
return r.getItemId(); return r.getItemId();
}).collect(Collectors.toList()); }).collect(Collectors.toList());
List<EntrustSampleItemVO> experimentVOList =entrustSampleItemService .listVOByIds(expIdsList); List<EntrustSampleItemVO> experimentVOList = entrustSampleItemService.listVOByIds(expIdsList);
Map<String,List<EntrustSampleItem>> esiMap = new HashMap<>(); Map<String, List<EntrustSampleItem>> esiMap = new HashMap<>();
for (EntrustSampleItemVO entrustSampleItemVO:experimentVOList) { for (EntrustSampleItemVO entrustSampleItemVO : experimentVOList) {
if (esiMap.containsKey(entrustSampleItemVO.getSampleCode())){ if (esiMap.containsKey(entrustSampleItemVO.getSampleCode())) {
List<EntrustSampleItem> listExp = esiMap.get(entrustSampleItemVO.getSampleCode()); List<EntrustSampleItem> listExp = esiMap.get(entrustSampleItemVO.getSampleCode());
listExp.add(entrustSampleItemVO); listExp.add(entrustSampleItemVO);
esiMap.put(entrustSampleItemVO.getSampleCode(),listExp); esiMap.put(entrustSampleItemVO.getSampleCode(), listExp);
}else{ } else {
List<EntrustSampleItem> listExp = new ArrayList<>(); List<EntrustSampleItem> listExp = new ArrayList<>();
listExp.add(entrustSampleItemVO); listExp.add(entrustSampleItemVO);
esiMap.put(entrustSampleItemVO.getSampleCode(),listExp); esiMap.put(entrustSampleItemVO.getSampleCode(), listExp);
} }
} }
List<EntrustSampleItemIndexVO> indexList = entrustSampleItemIndexService.listVOByExpIds(expIdsList); List<EntrustSampleItemIndexVO> indexList = entrustSampleItemIndexService.listVOByExpIds(expIdsList);
Map<String,Long> stringMap = new HashMap<>(); Map<String, Long> stringMap = new HashMap<>();
for (EntrustSampleItemIndexVO soilItemVO:indexList) { for (EntrustSampleItemIndexVO soilItemVO : indexList) {
stringMap.put(soilItemVO.getSampleCode()+soilItemVO.getEntrustSampleItemId()+soilItemVO.getName(),soilItemVO.getId()); 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 sampleBeginRow = template.getSampleBeginRow();
int sampleMergerNum = template.getSampleMergerNum(); int sampleMergerNum = template.getSampleMergerNum();
int lastRowNum = sheet.getLastRowNum(); int lastRowNum = sheet.getLastRowNum();
Integer sampleCol = null;
for (OriginalTemplateConfig config : configList) {
Integer sampleCol = null ; if ("sampleCode".equals(config.getDataAttribute())) {
for (OriginalTemplateConfig config:configList) {
if ("sampleCode".equals(config.getDataAttribute())){
sampleCol = config.getColumnPlace(); sampleCol = config.getColumnPlace();
break; break;
} }
} }
Integer sampleStatus = null ; Integer sampleStatus = null;
for (OriginalTemplateConfig config:configList) { for (OriginalTemplateConfig config : configList) {
if ("morphology".equals(config.getDataAttribute())){ if ("morphology".equals(config.getDataAttribute())) {
sampleStatus = config.getColumnPlace(); sampleStatus = config.getColumnPlace();
break; break;
} }
} }
Integer shortName = null ; Integer shortName = null;
for (OriginalTemplateConfig config:configList) { for (OriginalTemplateConfig config : configList) {
if ("shortName".equals(config.getDataAttribute())){ if ("shortName".equals(config.getDataAttribute())) {
shortName = config.getColumnPlace(); shortName = config.getColumnPlace();
break; break;
} }
...@@ -232,12 +339,12 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat ...@@ -232,12 +339,12 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
List<ItemCollectEntity> collectEntitiesList = new ArrayList<>(); List<ItemCollectEntity> collectEntitiesList = new ArrayList<>();
for (OriginalTemplateConfig config:configList) { for (OriginalTemplateConfig config : configList) {
if (StringUtils.isBlank(config.getAttributeName())){ if (StringUtils.isBlank(config.getAttributeName())) {
continue; continue;
} }
if (null ==config.getColumnPlace()){ if (null == config.getColumnPlace()) {
if (null != config.getItemed() && config.getItemed() ==1 && null !=config.getMergeBegin() && null !=config.getMergeRowNum()){ if (null != config.getItemed() && config.getItemed() == 1 && null != config.getMergeBegin() && null != config.getMergeRowNum()) {
ItemCollectEntity collectEntity = new ItemCollectEntity(); ItemCollectEntity collectEntity = new ItemCollectEntity();
collectEntity.setItemName(config.getAttributeName()); collectEntity.setItemName(config.getAttributeName());
collectEntity.setColumnPlace(config.getMergeBegin()); collectEntity.setColumnPlace(config.getMergeBegin());
...@@ -250,7 +357,7 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat ...@@ -250,7 +357,7 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
} }
continue; continue;
} }
if (null != config.getItemed() && config.getItemed() ==1){ if (null != config.getItemed() && config.getItemed() == 1) {
ItemCollectEntity collectEntity = new ItemCollectEntity(); ItemCollectEntity collectEntity = new ItemCollectEntity();
collectEntity.setItemName(config.getAttributeName()); collectEntity.setItemName(config.getAttributeName());
collectEntity.setColumnPlace(config.getColumnPlace()); collectEntity.setColumnPlace(config.getColumnPlace());
...@@ -261,51 +368,47 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat ...@@ -261,51 +368,47 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
} }
} }
if (CollectionUtils.isEmpty(collectEntitiesList)){ if (CollectionUtils.isEmpty(collectEntitiesList)) {
return true; return true;
} }
List<SoilItemCollectData> soilItemList = new ArrayList<>(); 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); XSSFRow xssfRow = sheet.getRow(i);
if (null == xssfRow){ if (null == xssfRow) {
continue; continue;
} }
XSSFCell sampleCodeCell = xssfRow.getCell(sampleCol); XSSFCell sampleCodeCell = xssfRow.getCell(sampleCol);
String sampleCode = HSSFWorkbookUtil.getJavaValue(sampleCodeCell).toString(); String sampleCode = HSSFWorkbookUtil.getJavaValue(sampleCodeCell).toString();
String sampleOfStatus =""; String sampleOfStatus = "";
if (null != sampleStatus){ if (null != sampleStatus) {
XSSFCell sampleStatusCell = xssfRow.getCell(sampleStatus); XSSFCell sampleStatusCell = xssfRow.getCell(sampleStatus);
sampleOfStatus = HSSFWorkbookUtil.getJavaValue(sampleStatusCell).toString(); sampleOfStatus = HSSFWorkbookUtil.getJavaValue(sampleStatusCell).toString();
} }
XSSFCell shortNameCell = null; XSSFCell shortNameCell = null;
String shortNames = null; String shortNames = null;
if (null != shortName){ if (null != shortName) {
shortNameCell = xssfRow.getCell(shortName); shortNameCell = xssfRow.getCell(shortName);
shortNames = HSSFWorkbookUtil.getJavaValue(shortNameCell).toString(); shortNames = HSSFWorkbookUtil.getJavaValue(shortNameCell).toString();
} }
for (ItemCollectEntity collectEntity:collectEntitiesList) { for (ItemCollectEntity collectEntity : collectEntitiesList) {
if (null!=collectEntity.getSingleElse()){ if (null != collectEntity.getSingleElse()) {
XSSFRow row = sheet.getRow(collectEntity.getItemMegerRow()); XSSFRow row = sheet.getRow(collectEntity.getItemMegerRow());
if (null == row){ if (null == row) {
continue; continue;
} }
XSSFCell cell = row.getCell(collectEntity.getColumnPlace()); XSSFCell cell = row.getCell(collectEntity.getColumnPlace());
if (null == cell){ if (null == cell) {
continue; continue;
} }
String valueElse = CellFormat.getInstance(cell.getCellStyle().getDataFormatString()).apply(cell).text; String valueElse = CellFormat.getInstance(cell.getCellStyle().getDataFormatString()).apply(cell).text;
if (StringUtils.isNotBlank(valueElse)){ if (StringUtils.isNotBlank(valueElse)) {
SoilItemCollectData soilItemCollectData = new SoilItemCollectData(); SoilItemCollectData soilItemCollectData = new SoilItemCollectData();
soilItemCollectData.setTestValue(valueElse); soilItemCollectData.setTestValue(valueElse);
soilItemCollectData.setSampleCode(sampleCode); soilItemCollectData.setSampleCode(sampleCode);
...@@ -318,120 +421,112 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat ...@@ -318,120 +421,112 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
continue; continue;
} }
XSSFCell itemCell = xssfRow.getCell(collectEntity.getColumnPlace()); XSSFCell itemCell = xssfRow.getCell(collectEntity.getColumnPlace());
String value = ""; String value = "";
try { try {
value = CellFormat.getInstance(itemCell.getCellStyle().getDataFormatString()).apply(itemCell).text; value = CellFormat.getInstance(itemCell.getCellStyle().getDataFormatString()).apply(itemCell).text;
}catch (Exception e){ } catch (Exception e) {
value = HSSFWorkbookUtil.getJavaValue(itemCell).toString(); value = HSSFWorkbookUtil.getJavaValue(itemCell).toString();
} }
String itemName = collectEntity.getItemName();
if (StringUtils.isBlank(value)){
continue;
}
SoilItemCollectData soilItemCollectData = new SoilItemCollectData();
soilItemCollectData.setItemName(itemName);
soilItemCollectData.setTestValue(value);
soilItemCollectData.setSampleCode(sampleCode);
soilItemCollectData.setUnit(collectEntity.getUnit());
soilItemCollectData.setShortName(shortNames);
soilItemCollectData.setStatus(sampleOfStatus);
soilItemCollectData.setItemName(itemName);
soilItemList.add(soilItemCollectData);
String itemName = collectEntity.getItemName();
if (StringUtils.isBlank(value)) {
continue;
}
SoilItemCollectData soilItemCollectData = new SoilItemCollectData();
soilItemCollectData.setItemName(itemName);
soilItemCollectData.setTestValue(value);
soilItemCollectData.setSampleCode(sampleCode);
soilItemCollectData.setUnit(collectEntity.getUnit());
soilItemCollectData.setShortName(shortNames);
soilItemCollectData.setStatus(sampleOfStatus);
soilItemCollectData.setItemName(itemName);
soilItemList.add(soilItemCollectData);
} }
} }
if (CollectionUtils.isEmpty(soilItemList)) {
if (CollectionUtils.isEmpty(soilItemList)){
return true; return true;
} }
List<EntrustSampleItemIndex> saveList = new ArrayList<>(); List<EntrustSampleItemIndex> saveList = new ArrayList<>();
List<EntrustSampleItemIndex> updateList = new ArrayList<>(); List<EntrustSampleItemIndex> updateList = new ArrayList<>();
for (SoilItemCollectData soilItemCollectData:soilItemList) { for (SoilItemCollectData soilItemCollectData : soilItemList) {
if (StringUtils.isBlank(soilItemCollectData.getTestValue())){ if (StringUtils.isBlank(soilItemCollectData.getTestValue())) {
continue; continue;
} }
if (StringUtils.isBlank(soilItemCollectData.getSampleCode())){ if (StringUtils.isBlank(soilItemCollectData.getSampleCode())) {
continue; continue;
} }
if ("#VALUE!".equals(soilItemCollectData.getTestValue())){ if ("#VALUE!".equals(soilItemCollectData.getTestValue())) {
continue; continue;
} }
List<EntrustSampleItem> expList = esiMap.get(soilItemCollectData.getSampleCode()); 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); exp = expList.get(0);
}else if (expList.size()>1){ } else if (expList.size() > 1) {
String shortNameTest = soilItemCollectData.getShortName(); String shortNameTest = soilItemCollectData.getShortName();
String status = soilItemCollectData.getStatus(); String status = soilItemCollectData.getStatus();
for (EntrustSampleItem experiment:expList) { for (EntrustSampleItem experiment : expList) {
if (shortNameTest!=null&&experiment.getName().contains(shortNameTest)){ if (shortNameTest != null && experiment.getName().contains(shortNameTest)) {
exp = experiment; exp = experiment;
}else if (null!=status&&experiment.getName().contains(status)){ } else if (null != status && experiment.getName().contains(status)) {
exp = experiment; exp = experiment;
} }
} }
if (exp==null&&CollectionUtils.isNotEmpty(expList)){ if (exp == null && CollectionUtils.isNotEmpty(expList)) {
if (expList.size()>0){ if (expList.size() > 0) {
for (EntrustSampleItem experiment:expList) { for (EntrustSampleItem experiment : expList) {
if (StringUtils.isBlank(status)){ if (StringUtils.isBlank(status)) {
exp = experiment; exp = experiment;
break; break;
}else{ } else {
exp = experiment; exp = experiment;
} }
} }
} }
} }
} }
if (null==exp){ if (null == exp) {
continue; continue;
} }
if (null!=exp){ if (null != exp) {
soilItemCollectData.setExpId(exp.getId()); soilItemCollectData.setExpId(exp.getId());
} }
if (StringUtils.isBlank(soilItemCollectData.getItemName())){ if (StringUtils.isBlank(soilItemCollectData.getItemName())) {
continue; continue;
} }
if (StringUtils.isBlank(soilItemCollectData.getTestValue())){ if (StringUtils.isBlank(soilItemCollectData.getTestValue())) {
continue; continue;
} }
if ("#VALUE!".equals(soilItemCollectData.getTestValue())){ if ("#VALUE!".equals(soilItemCollectData.getTestValue())) {
continue; continue;
} }
if ("#NAME?".equals(soilItemCollectData.getTestValue())){ if ("#NAME?".equals(soilItemCollectData.getTestValue())) {
continue; continue;
} }
if (StringUtils.isBlank(soilItemCollectData.getSampleCode())){ if (StringUtils.isBlank(soilItemCollectData.getSampleCode())) {
continue; continue;
} }
String key= soilItemCollectData.getSampleCode()+soilItemCollectData.getExpId()+soilItemCollectData.getItemName(); String key = soilItemCollectData.getSampleCode() + soilItemCollectData.getExpId() + soilItemCollectData.getItemName();
if (!stringMap.containsKey(key)){ if (!stringMap.containsKey(key)) {
EntrustSampleItemIndex soilItem = new EntrustSampleItemIndex(); EntrustSampleItemIndex soilItem = new EntrustSampleItemIndex();
soilItem.setEntrustSampleItemId(soilItemCollectData.getExpId()); soilItem.setEntrustSampleItemId(soilItemCollectData.getExpId());
soilItem.setName(soilItemCollectData.getItemName()); soilItem.setName(soilItemCollectData.getItemName());
...@@ -443,22 +538,20 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat ...@@ -443,22 +538,20 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
soilItem.setUid(userId); soilItem.setUid(userId);
entrustSampleItemIndexService.save(soilItem); entrustSampleItemIndexService.save(soilItem);
// saveList.add(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(); EntrustSampleItemIndex soilItem = new EntrustSampleItemIndex();
soilItem.setTestValue(soilItemCollectData.getTestValue()); soilItem.setTestValue(soilItemCollectData.getTestValue());
soilItem.setUnit(soilItemCollectData.getUnit()); 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); updateList.add(soilItem);
} }
} }
if (CollectionUtils.isNotEmpty(saveList)){ if (CollectionUtils.isNotEmpty(saveList)) {
entrustSampleItemIndexService.saveBatch(saveList); entrustSampleItemIndexService.saveBatch(saveList);
} }
if (CollectionUtils.isNotEmpty(updateList)){ if (CollectionUtils.isNotEmpty(updateList)) {
entrustSampleItemIndexService.updateBatchById(updateList); entrustSampleItemIndexService.updateBatchById(updateList);
} }
...@@ -467,5 +560,15 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat ...@@ -467,5 +560,15 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
return true; 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; ...@@ -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.mapper.QualificationMapper;
import com.patzn.cloud.service.lims.hmhj.service.IQualificationService; import com.patzn.cloud.service.lims.hmhj.service.IQualificationService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl; import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.mapper.Wrapper;
...@@ -13,7 +14,7 @@ import com.baomidou.mybatisplus.plugins.Page; ...@@ -13,7 +14,7 @@ import com.baomidou.mybatisplus.plugins.Page;
import java.util.List; import java.util.List;
/** /**
* 服务实现类 * 服务实现类
* *
* @author wwd * @author wwd
* @since 2021-02-03 * @since 2021-02-03
...@@ -23,8 +24,22 @@ public class QualificationServiceImpl extends BaseServiceImpl<QualificationMappe ...@@ -23,8 +24,22 @@ public class QualificationServiceImpl extends BaseServiceImpl<QualificationMappe
@Override @Override
public Page<Qualification> page(Page<Qualification> page, Qualification qualification) { 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); 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); 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: ...@@ -10,7 +10,7 @@ server:
spring: spring:
# 环境 dev|test|pro # 环境 dev|test|pro
profiles: profiles:
active: dev312 active: local
application: application:
name: hmhj name: hmhj
# 模板引擎配置 # 模板引擎配置
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
<select id="selectVOList" resultType="com.patzn.cloud.service.hmhj.vo.ContractSampleVO"> <select id="selectVOList" resultType="com.patzn.cloud.service.hmhj.vo.ContractSampleVO">
SELECT s.* FROM contract_sample s WHERE s.deleted = 0 SELECT s.* FROM contract_sample s WHERE s.deleted = 0
<include refid="sqlWhere"/> <include refid="sqlWhere"/>
order by s.ctime desc
</select> </select>
<select id="selectVOPublishList" resultType="com.patzn.cloud.service.hmhj.vo.ContractSampleVO"> <select id="selectVOPublishList" resultType="com.patzn.cloud.service.hmhj.vo.ContractSampleVO">
SELECT s.*, SELECT s.*,
...@@ -54,6 +55,7 @@ ...@@ -54,6 +55,7 @@
WHERE s.deleted = 0 AND t.judge_status NOT IN (0,1) WHERE s.deleted = 0 AND t.judge_status NOT IN (0,1)
<include refid="sqlWhere"/> <include refid="sqlWhere"/>
order by s.ctime desc
</select> </select>
......
...@@ -14,6 +14,13 @@ ...@@ -14,6 +14,13 @@
#{id} #{id}
</foreach> </foreach>
</if> </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> </select>
...@@ -41,7 +48,14 @@ ...@@ -41,7 +48,14 @@
#{status} #{status}
</foreach> </foreach>
</if> </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> </mapper>
...@@ -3,54 +3,48 @@ ...@@ -3,54 +3,48 @@
<mapper namespace="com.patzn.cloud.service.lims.hmhj.mapper.EntrustSampleBackupMapper"> <mapper namespace="com.patzn.cloud.service.lims.hmhj.mapper.EntrustSampleBackupMapper">
<select id="selectVOList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleBackupVO"> <select id="selectVOList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleBackupVO">
SELECT
b.ID,
SELECT b.receive_time,
b.ID, b.storage_location,
b.receive_time, b.storage_method,
b.storage_location, b.storage_period,
b.storage_method, b.sample_id,
b.storage_period, b.handler,
b.sample_id, b.handle_time,
b.handler, s.NAME AS "sampleName",
b.handle_time, s.code AS "sampleCode" ,
e.client ,
s.NAME AS "sampleName", e.code AS "entrustCode"
s.code AS "sampleCode" , FROM
e.client , entrust_sample_backup b
e.code AS "entrustCode" JOIN entrust_sample s ON b.sample_id = s.
FROM ID JOIN entrust e ON s.entrust_id = e.ID
entrust_sample_backup b <where>
JOIN entrust_sample s ON b.sample_id = s. AND b.deleted = 0 AND s.deleted = 0 AND e.deleted = 0
ID JOIN entrust e ON s.entrust_id = e.ID <if test="null!=vo.sampleCode">
AND s.code LIKE CONCAT('%',#{vo.sampleCode},'%')
<where> </if>
AND b.deleted = 0 AND s.deleted = 0 AND e.deleted = 0
<if test="null!=vo.sampleCode"> <if test="null!=vo.status">
AND s.code LIKE CONCAT('%',#{vo.sampleCode},'%') AND b.status =#{vo.status}
</if> </if>
<if test="null!=vo.status"> <if test="null!=vo.notStatus">
AND b.status =#{vo.status} AND b.status !=#{vo.notStatus}
</if> </if>
<if test="null!=vo.sampleName">
<if test="null!=vo.notStatus"> AND s.name LIKE CONCAT('%',#{vo.sampleName},'%')
AND b.status !=#{vo.notStatus} </if>
</if>
<if test="null!=vo.client">
<if test="null!=vo.sampleName"> AND e.client LIKE CONCAT('%',#{vo.client},'%')
AND s.name LIKE CONCAT('%',#{vo.sampleName},'%') </if>
</if> <if test="null!=vo.entrustCode">
AND e.code LIKE CONCAT('%',#{vo.entrustCode},'%')
<if test="null!=vo.client"> </if>
AND e.client LIKE CONCAT('%',#{vo.client},'%') </where>
</if> order by b.ctime desc
<if test="null!=vo.entrustCode">
AND e.code LIKE CONCAT('%',#{vo.entrustCode},'%')
</if>
</where>
</select> </select>
</mapper> </mapper>
...@@ -4,89 +4,93 @@ ...@@ -4,89 +4,93 @@
<select id="selectByItemLeftList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO"> <select id="selectByItemLeftList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO">
SELECT name FROM entrust_sample_item WHERE deleted = 0 SELECT name FROM entrust_sample_item WHERE deleted = 0
<if test="null!=vo.status"> <if test="null!=vo.status">
AND status = #{vo.status} AND status = #{vo.status}
</if> </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"> <if test="null!=vo.statusList">
AND status IN AND status IN
<foreach collection="vo.statusList" index="index" item="status" open="(" separator="," close=")"> <foreach collection="vo.statusList" index="index" item="status" open="(" separator="," close=")">
#{status} #{status}
</foreach> </foreach>
</if> </if>
<if test="null!=vo.sampleIds">
<if test="null!=vo.sampleIds"> AND entrust_sample_id IN
AND entrust_sample_id IN <foreach collection="vo.sampleIds" index="index" item="sampleId" open="(" separator="," close=")">
<foreach collection="vo.sampleIds" index="index" item="sampleId" open="(" separator="," close=")"> #{sampleId}
#{sampleId} </foreach>
</foreach> </if>
</if> GROUP BY name
GROUP BY name
</select> </select>
<select id="selectByItemLeftRight" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO"> <select id="selectByItemLeftRight" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO">
WITH i AS ( WITH i AS (
SELECT SELECT
id, id,
entrust_sample_id, entrust_sample_id,
name, name,
status, status,
company_id, company_id,
standard, standard,
group_name, group_name,
test_value, test_value,
group_id group_id
FROM FROM
entrust_sample_item entrust_sample_item
WHERE WHERE
deleted = 0 deleted = 0
<if test="null!=vo.status"> <if test="null!=vo.status">
AND status = #{vo.status} AND status = #{vo.status}
</if> </if>
AND company_id = #{vo.companyId} AND company_id = #{vo.companyId}
<if test="null!=vo.statusList"> <if test="null!=vo.statusList">
AND status IN AND status IN
<foreach collection="vo.statusList" index="index" item="status" open="(" separator="," close=")"> <foreach collection="vo.statusList" index="index" item="status" open="(" separator="," close=")">
#{status} #{status}
</foreach> </foreach>
</if> </if>
<if test="null!=vo.name"> <if test="null!=vo.name">
AND name = #{vo.name} AND name = #{vo.name}
</if> </if>
<if test="null!=vo.nameArray"> <if test="null!=vo.nameArray">
AND name IN AND name IN
<foreach collection="vo.nameArray" index="index" item="name" open="(" separator="," close=")"> <foreach collection="vo.nameArray" index="index" item="name" open="(" separator="," close=")">
#{name} #{name}
</foreach> </foreach>
</if> </if>
<if test="null!=vo.sampleIds"> <if test="null!=vo.sampleIds">
AND entrust_sample_id IN AND entrust_sample_id IN
<foreach collection="vo.sampleIds" index="index" item="sampleId" open="(" separator="," close=")"> <foreach collection="vo.sampleIds" index="index" item="sampleId" open="(" separator="," close=")">
#{sampleId} #{sampleId}
</foreach> </foreach>
</if> </if>
) )
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
LEFT JOIN ( SELECT id,item_id,record_id FROM item_rel_original_record WHERE deleted = 0 ) l ON i.id = l.item_id JOIN entrust_sample s ON i.entrust_sample_id = s.id
LEFT JOIN ( SELECT id,object_key FROM original_record WHERE deleted = 0 ) r ON l.record_id = r.id LEFT JOIN ( SELECT id,item_id,record_id FROM item_rel_original_record WHERE deleted = 0 ) l ON i.id = l.item_id
<where> LEFT JOIN ( SELECT id,object_key FROM original_record WHERE deleted = 0 ) r ON l.record_id = r.id
<if test="null!=vo.sampleCode"> LEFT JOIN ( SELECT id,test_side FROM entrust e where e.deleted = 0 ) e on e.id = s.entrust_id
AND s.code LIKE CONCAT('%',#{vo.sampleCode},'%') <where>
</if> <if test="null!=vo.sampleCode">
AND i.company_id = #{vo.companyId} AND s.code LIKE CONCAT('%',#{vo.sampleCode},'%')
</where> </if>
AND i.company_id = #{vo.companyId}
</where>
</select> </select>
<select id="selectVOList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO"> <select id="selectVOList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO">
...@@ -105,38 +109,42 @@ ...@@ -105,38 +109,42 @@
WHERE WHERE
deleted = 0 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} AND status = #{vo.status}
</if> </if>
<if test="null!=vo.statusList"> <if test="null != vo.statusList">
AND status IN AND status IN
<foreach collection="vo.statusList" index="index" item="status" open="(" separator="," close=")"> <foreach collection="vo.statusList" index="index" item="status" open="(" separator="," close=")">
#{status} #{status}
</foreach> </foreach>
</if> </if>
<if test="null!=vo.sampleIds"> <if test="null!=vo.sampleIds">
AND entrust_sample_id IN AND entrust_sample_id IN
<foreach collection="vo.sampleIds" index="index" item="sampleId" open="(" separator="," close=")"> <foreach collection="vo.sampleIds" index="index" item="sampleId" open="(" separator="," close=")">
#{sampleId} #{sampleId}
</foreach> </foreach>
</if> </if>
<if test="null!=vo.sampleIdsArray"> <if test="null!=vo.sampleIdsArray">
AND entrust_sample_id IN AND entrust_sample_id IN
<foreach collection="vo.sampleIdsArray" index="index" item="sampleId" open="(" separator="," close=")"> <foreach collection="vo.sampleIdsArray" index="index" item="sampleId" open="(" separator="," close=")">
#{sampleId} #{sampleId}
</foreach> </foreach>
</if> </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> <where>
<if test="null!=vo.sampleCode"> <if test="null != vo.sampleCode">
AND s.code LIKE CONCAT('%',#{vo.sampleCode},'%') AND s.code LIKE CONCAT('%',#{vo.sampleCode},'%')
</if> </if>
</where> </where>
...@@ -144,13 +152,13 @@ ...@@ -144,13 +152,13 @@
<select id="selectVOListBySampleIds" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO"> <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 FROM
entrust_sample_item i entrust_sample_item i
JOIN entrust_sample s ON i.entrust_sample_id = s.ID JOIN entrust_sample s ON i.entrust_sample_id = s.ID
WHERE i.deleted = 0 AND s.deleted = 0 WHERE i.deleted = 0 AND s.deleted = 0
AND i.entrust_sample_id IN AND i.entrust_sample_id IN
<foreach collection="ids" index="index" item="sampleId" open="(" separator="," close=")"> <foreach collection="ids" index="index" item="sampleId" open="(" separator="," close=")">
#{sampleId} #{sampleId}
</foreach> </foreach>
...@@ -165,16 +173,17 @@ ...@@ -165,16 +173,17 @@
i.group_name,i.standard,s.name AS "sampleName",e.client,e.code AS "entrustCode", 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 FROM
entrust_sample_item i entrust_sample_item i
JOIN entrust_sample s ON i.entrust_sample_id = s.ID JOIN entrust_sample s ON i.entrust_sample_id = s.ID
JOIN entrust e ON s.entrust_id = e.id JOIN entrust e ON s.entrust_id = e.id
JOIN item_deviate d ON i.id = d.item_id JOIN item_deviate d ON i.id = d.item_id
LEFT JOIN item_rel_original_record l ON i.id = l.item_id LEFT JOIN item_rel_original_record l ON i.id = l.item_id
LEFT JOIN original_record r ON l.record_id = r.id LEFT JOIN original_record r ON l.record_id = r.id
WHERE i.deleted = 0 AND s.deleted = 0 AND d.deleted = 0 AND e.deleted = 0 WHERE i.deleted = 0 AND s.deleted = 0 AND d.deleted = 0 AND e.deleted = 0
<if test="null!=vo.status"> <if test="null!=vo.status">
AND i.status = #{vo.status} AND i.status = #{vo.status}
</if> </if>
...@@ -182,21 +191,19 @@ ...@@ -182,21 +191,19 @@
AND d.status = #{vo.status} AND d.status = #{vo.status}
</if> </if>
<if test="vo.ids!=null"> <if test="vo.ids!=null">
AND i.id IN AND i.id IN
<foreach collection="vo.ids" index="index" item="id" open="(" separator="," close=")"> <foreach collection="vo.ids" index="index" item="id" open="(" separator="," close=")">
#{id} #{id}
</foreach> </foreach>
</if> </if>
ORDER BY s.code , i.name ORDER BY s.code , i.name
</select> </select>
<select id="selectVOListByIds" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO"> <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 s.sample_shape ,s.sample_quantity, s.standard, s.sample_from,s.product_code,s.name_code
FROM FROM
...@@ -212,6 +219,17 @@ ...@@ -212,6 +219,17 @@
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>
<select id="selectListVOByIds" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO"> <select id="selectListVOByIds" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO">
......
...@@ -44,6 +44,10 @@ ...@@ -44,6 +44,10 @@
AND status = #{vo.status} AND status = #{vo.status}
</if> </if>
<if test="null!=vo.code">
AND code LIKE CONCAT('%',#{vo.code},'%')
</if>
<if test="null!=vo.notStatus"> <if test="null!=vo.notStatus">
AND status != #{vo.notStatus} AND status != #{vo.notStatus}
</if> </if>
......
...@@ -2,4 +2,21 @@ ...@@ -2,4 +2,21 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!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"> <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> </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