Commit 5c8aa666 by wangweidong

土工平台修改

parent 83241a1a
......@@ -11,6 +11,9 @@ public class ItemCollectEntity {
private Integer itemMegerRow;
private String attribute;
public String getItemName() {
return itemName;
}
......@@ -42,4 +45,12 @@ public class ItemCollectEntity {
public void setItemMegerRow(Integer itemMegerRow) {
this.itemMegerRow = itemMegerRow;
}
public String getAttribute() {
return attribute;
}
public void setAttribute(String attribute) {
this.attribute = attribute;
}
}
......@@ -83,4 +83,12 @@ public class SoilDataGdsController extends ServiceController {
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(soilDataGdsService.removeByIds(ids));
}
@ApiOperation("获取GDS主表信息")
@PostMapping("/get_main_info")
public RestResult<SoilDataGds> getMainInfo(@RequestParam("sampleCode") String sampleCode) {
return success(soilDataGdsService.getMainInfo(sampleCode));
}
}
......@@ -5,6 +5,7 @@ import com.patzn.cloud.service.lims.soil.service.ISoilEntrustService;
import com.patzn.cloud.service.soil.dto.SoilEntrustDTO;
import com.patzn.cloud.service.soil.entity.SoilEntrust;
import com.patzn.cloud.service.soil.enums.SoilEntrustStatusEnum;
import com.patzn.cloud.service.soil.enums.SoilExpReportStatusEnum;
import com.patzn.cloud.service.soil.enums.SoilExpStatusEnum;
import com.patzn.cloud.service.soil.enums.SoilSampleStatusEnum;
import com.patzn.cloud.service.soil.vo.SoilEntrustVO;
......@@ -658,4 +659,58 @@ public class SoilEntrustController extends ServiceController {
return success(soilEntrustService.pageReceiveLocationEntrust(getPage(), soilEntrust));
}
@ApiOperation(value = "试验项目报告编制分页列表", notes = "试验项目报告编制分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_exp_report_make")
public RestResult<Page<SoilEntrustVO>> getPageExpReportMake(SoilEntrustVO soilEntrust) {
return success(soilEntrustService.pageExpReport(getPage(), soilEntrust, (Integer) SoilExpReportStatusEnum.MAKE.getValue(),getAccount()));
}
@ApiOperation(value = "试验项目报告审核分页列表", notes = "试验项目报告审核分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_exp_report_check")
public RestResult<Page<SoilEntrustVO>> getPageExpReportCheck(SoilEntrustVO soilEntrust) {
return success(soilEntrustService.pageExpReport(getPage(), soilEntrust,(Integer) SoilExpReportStatusEnum.CHECK.getValue(),getAccount()));
}
@ApiOperation(value = "试验项目报告批准分页列表", notes = "试验项目报告批准分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_exp_report_issue")
public RestResult<Page<SoilEntrustVO>> getPageExpReportIssue(SoilEntrustVO soilEntrust) {
return success(soilEntrustService.pageExpReport(getPage(), soilEntrust,(Integer) SoilExpReportStatusEnum.ISSUE.getValue(),getAccount()));
}
@ApiOperation(value = "试验项目报告批准分页列表", notes = "试验项目报告批准分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_exp_report_end")
public RestResult<Page<SoilEntrustVO>> getPageExpReportEnd(SoilEntrustVO soilEntrust) {
return success(soilEntrustService.pageExpReport(getPage(), soilEntrust,(Integer) SoilExpReportStatusEnum.END.getValue(),getAccount()));
}
}
......@@ -2,6 +2,7 @@ package com.patzn.cloud.service.lims.soil.controller;
import com.patzn.cloud.service.soil.entity.SoilExpReport;
import com.patzn.cloud.service.soil.entity.SoilReport;
import com.patzn.cloud.service.soil.enums.SoilExpReportStatusEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -85,7 +86,15 @@ public class SoilExpReportController extends ServiceController {
@ApiOperation("试验项目报告审核")
@ApiOperation("试验项目报告签发")
@PostMapping("/exp_report_issue")
public RestResult<Boolean> expReportIssueSubmit(@RequestParam("ids") Long [] ids) {
return success(soilExpReportService.expReportIssueSubmit(ids,getAccount()));
}
@ApiOperation("试验项目报告编制提交")
@PostMapping("/exp_report_approve")
public RestResult<Boolean> expReportCheckApprove(@RequestParam("ids") Long [] ids) {
return success(soilExpReportService.expReportCheckApprove(ids,getAccount()));
......@@ -94,6 +103,61 @@ public class SoilExpReportController extends ServiceController {
@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_group_exp_report_make")
public RestResult<Page<SoilExpReport>> getPageGroupExpReportMake(SoilExpReport soilExpReport) {
soilExpReport.setStatus(SoilExpReportStatusEnum.MAKE);
return success(soilExpReportService.page(getPage(), soilExpReport));
}
@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_group_exp_report_check")
public RestResult<Page<SoilExpReport>> getPageGroupExpReportCheck(SoilExpReport soilExpReport) {
soilExpReport.setStatus(SoilExpReportStatusEnum.CHECK);
return success(soilExpReportService.page(getPage(), soilExpReport));
}
@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_group_exp_report_issue")
public RestResult<Page<SoilExpReport>> getPageGroupExpReportIssue(SoilExpReport soilExpReport) {
soilExpReport.setStatus(SoilExpReportStatusEnum.ISSUE);
return success(soilExpReportService.page(getPage(), soilExpReport));
}
@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_group_exp_report_end")
public RestResult<Page<SoilExpReport>> getPageGroupExpReportEnd(SoilExpReport soilExpReport) {
soilExpReport.setStatus(SoilExpReportStatusEnum.END);
return success(soilExpReportService.page(getPage(), soilExpReport));
}
@ApiOperation("根据 ids 删除")
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
......
......@@ -292,9 +292,9 @@ public class SoilExperimentController extends ServiceController {
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_exp_allot_bath")
public RestResult<Page<SoilExperimentVO>> getPageExpAllotBath(SoilExperimentVO vo) {
public RestResult<Page<SoilExperimentVO>> getPageExpAllotBath(@RequestBody SoilExperimentQueryDTO vo) {
vo.setStatus(SoilExpStatusEnum.ALLOT);
return success(soilExperimentService.pageExpRight(getPage(),vo));
return success(soilExperimentService.pageExpRightBath(getPage(),vo));
}
......
......@@ -13,10 +13,7 @@ import com.patzn.cloud.service.soil.entity.SoilExperiment;
import com.patzn.cloud.service.soil.entity.SoilStandard;
import com.patzn.cloud.service.soil.enums.SoilEntrustStatusEnum;
import com.patzn.cloud.service.soil.enums.SoilExpStatusEnum;
import com.patzn.cloud.service.soil.statistics.SoilAnnualEntrustVO;
import com.patzn.cloud.service.soil.statistics.SoilCustomerEntrustVO;
import com.patzn.cloud.service.soil.statistics.SoilEntrustItemNumVO;
import com.patzn.cloud.service.soil.statistics.SoilGroupExpVO;
import com.patzn.cloud.service.soil.statistics.*;
import com.patzn.cloud.service.soil.vo.SoilEntrustVO;
import com.patzn.cloud.service.soil.vo.SoilExperimentVO;
import io.swagger.annotations.Api;
......@@ -148,4 +145,19 @@ public class SoilStatisticsController extends ServiceController {
}
@ApiOperation(value = "个人检测任务量统计分页列表", notes = "个人检测任务量统计分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_personal_task_statistics")
public RestResult<Page<SoilPersonalTaskVO>> getPagePersonalTaskStatistics(SoilPersonalTaskVO expVO) {
return success(soilEntrustService.pagePersonalTaskStatistics(getPage(), expVO));
}
}
......@@ -9,6 +9,7 @@ import com.patzn.cloud.service.soil.entity.SoilSample;
import com.patzn.cloud.service.soil.statistics.SoilAnnualEntrustVO;
import com.patzn.cloud.service.soil.statistics.SoilCustomerEntrustVO;
import com.patzn.cloud.service.soil.statistics.SoilGroupExpVO;
import com.patzn.cloud.service.soil.statistics.SoilPersonalTaskVO;
import com.patzn.cloud.service.soil.vo.SoilEntrustVO;
import com.patzn.cloud.service.soil.vo.SoilExperimentVO;
import org.apache.ibatis.annotations.Param;
......@@ -45,4 +46,8 @@ public interface SoilEntrustMapper extends BaseMapper<SoilEntrust> {
List<SoilExperimentVO> selectPersonalExpVOList(RowBounds rowBounds, @Param("vo")SoilExperimentVO expVO, @Param("acount")Account account);
List<SoilGroupExpVO> selectGroupExpList(RowBounds rowBounds, @Param("vo") SoilGroupExpVO expVO);
List<SoilEntrustVO> selectGroupExpReportList(RowBounds rowBounds, @Param("vo")SoilEntrustVO soilEntrust, @Param("status")int status, @Param("groupList")List<Long> groupList);
List<SoilPersonalTaskVO> selectPersonalTaskStatistics(RowBounds rowBounds, @Param("vo")SoilPersonalTaskVO expVO);
}
......@@ -17,4 +17,6 @@ public interface ISoilDataGdsService extends IBaseService<SoilDataGds> {
Page<SoilDataGds> page(Page<SoilDataGds> page, SoilDataGds soilDataGds);
boolean removeByIds(List<Long> ids);
SoilDataGds getMainInfo(String sampleCode);
}
......@@ -8,10 +8,7 @@ import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.soil.dto.SoilEntrustDTO;
import com.patzn.cloud.service.soil.entity.SoilEntrust;
import com.patzn.cloud.service.soil.enums.SoilEntrustStatusEnum;
import com.patzn.cloud.service.soil.statistics.SoilAnnualEntrustVO;
import com.patzn.cloud.service.soil.statistics.SoilCustomerEntrustVO;
import com.patzn.cloud.service.soil.statistics.SoilEntrustItemNumVO;
import com.patzn.cloud.service.soil.statistics.SoilGroupExpVO;
import com.patzn.cloud.service.soil.statistics.*;
import com.patzn.cloud.service.soil.vo.SoilEntrustVO;
import com.patzn.cloud.service.soil.vo.SoilExperimentVO;
import org.springframework.web.multipart.MultipartFile;
......@@ -93,4 +90,9 @@ public interface ISoilEntrustService extends IBaseService<SoilEntrust> {
Page<SoilExperimentVO> pagePersonalExpVO(Page<SoilExperimentVO> page, SoilExperimentVO expVO, Account account);
Page<SoilGroupExpVO> pageGroupExpStatistics(Page<SoilGroupExpVO> page, SoilGroupExpVO expVO);
Page<SoilEntrustVO> pageExpReport(Page<SoilEntrustVO> page, SoilEntrustVO soilEntrust, int status, Account account);
Page<SoilPersonalTaskVO> pagePersonalTaskStatistics(Page<SoilPersonalTaskVO> page, SoilPersonalTaskVO expVO);
}
......@@ -29,5 +29,7 @@ public interface ISoilExpReportService extends IBaseService<SoilExpReport> {
boolean expReportCheckSubmit(Long[] ids, Account account);
boolean expReportIssueSubmit(Long[] ids, Account account);
boolean expReportCheckApprove(Long[] ids, Account account);
}
package com.patzn.cloud.service.lims.soil.service.impl;
import com.baomidou.mybatisplus.mapper.Condition;
import com.baomidou.mybatisplus.toolkit.StringUtils;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.service.lims.soil.mapper.SoilDataGdsMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilDataGdsService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
......@@ -32,4 +34,10 @@ public class SoilDataGdsServiceImpl extends BaseServiceImpl<SoilDataGdsMapper, S
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
@Override
public SoilDataGds getMainInfo(String sampleCode) {
RestAssert.fail(StringUtils.isEmpty(sampleCode),"请输入样品编号");
return super.getOne(Condition.create().eq("sample_name",sampleCode).last("LIMIT 1"));
}
}
......@@ -30,10 +30,7 @@ import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.enums.SoilEntrustStatusEnum;
import com.patzn.cloud.service.soil.enums.SoilExpStatusEnum;
import com.patzn.cloud.service.soil.enums.SoilPrepareStatusEnum;
import com.patzn.cloud.service.soil.statistics.SoilAnnualEntrustVO;
import com.patzn.cloud.service.soil.statistics.SoilCustomerEntrustVO;
import com.patzn.cloud.service.soil.statistics.SoilEntrustItemNumVO;
import com.patzn.cloud.service.soil.statistics.SoilGroupExpVO;
import com.patzn.cloud.service.soil.statistics.*;
import com.patzn.cloud.service.soil.vo.SoilEntrustVO;
import com.patzn.cloud.service.soil.vo.SoilExperimentVO;
import com.patzn.cloud.service.soil.vo.SoilPrepareVO;
......@@ -76,6 +73,12 @@ public class SoilEntrustServiceImpl extends BaseServiceImpl<SoilEntrustMapper, S
@Autowired
private ISoilSampleService soilSampleService;
@Autowired
private LmsUserGroupClient lmsUserGroupClient;
@Autowired
private ILmsMsgService lmsMsgService;
......@@ -1106,6 +1109,48 @@ public class SoilEntrustServiceImpl extends BaseServiceImpl<SoilEntrustMapper, S
return page.setRecords(baseMapper.selectGroupExpList(page,expVO));
}
@Override
public Page<SoilEntrustVO> pageExpReport(Page<SoilEntrustVO> page, SoilEntrustVO soilEntrust, int status, Account account) {
List<LmsUserGroup> userGroupList = lmsUserGroupClient.getByUserId(account.getUserId()).serviceData();
if (CollectionUtils.isEmpty(userGroupList)){
return page;
}
List<Long> groupList = userGroupList.stream().map(g->{
return g.getId();
}).collect(Collectors.toList());
return page.setRecords(baseMapper.selectGroupExpReportList(page,soilEntrust,status,groupList));
}
@Override
public Page<SoilPersonalTaskVO> pagePersonalTaskStatistics(Page<SoilPersonalTaskVO> page, SoilPersonalTaskVO expVO) {
expVO.setEndStatus(SoilExpStatusEnum.END);
List<SoilPersonalTaskVO> taskVOSList = baseMapper.selectPersonalTaskStatistics(page,expVO);
if (CollectionUtils.isEmpty(taskVOSList)){
return page;
}
int sum = 0;
for (SoilPersonalTaskVO vo:taskVOSList) {
if (null !=vo.getTotal()){
sum+=vo.getTotal();
}
}
for (SoilPersonalTaskVO vo:taskVOSList) {
if (null !=vo.getTotal()){
BigDecimal decimal = new BigDecimal(vo.getTotal()).divide(new BigDecimal(sum),4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100));
vo.setRatio(decimal.toString()+"%");
}
if (null == vo.getEndTotal()){
vo.setEndTotal(0);
}
if (null == vo.getDoingTotal()){
vo.setDoingTotal(0);
}
}
return page.setRecords(taskVOSList);
}
@Transactional(rollbackFor = Exception.class)
@Override
......
......@@ -7,6 +7,7 @@ import com.google.common.collect.Lists;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.controller.LoginHelper;
import com.patzn.cloud.commons.toolkit.DateUtils;
import com.patzn.cloud.commons.toolkit.FileUtils;
import com.patzn.cloud.feign.base.client.SysUserClient;
import com.patzn.cloud.oss.starter.OssClient;
......@@ -19,6 +20,7 @@ import com.patzn.cloud.service.lims.soil.mapper.SoilExpReportMapper;
import com.patzn.cloud.service.lims.soil.service.*;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.entity.*;
import com.patzn.cloud.service.soil.enums.SoilExpReportStatusEnum;
import com.patzn.cloud.service.soil.vo.SoilExperimentVO;
import com.patzn.cloud.service.soil.vo.SoilSampleVO;
import org.apache.commons.lang3.ArrayUtils;
......@@ -411,7 +413,7 @@ public class SoilExpReportServiceImpl extends BaseServiceImpl<SoilExpReportMappe
for (SoilExpReport soilExpReport:reportList) {
XSSFWorkbook xssfWorkbook = HSSFWorkbookUtil.getWorkbookByIO(ossClient.download(soilExpReport.getObjectKey()));
Map<String,InputStream> inputStreamMap = new HashMap<>();
inputStreamMap.put("#{checker}}",ossClient.download(signature.getObjectKey()));
inputStreamMap.put("#{imgCheck}",ossClient.download(signature.getObjectKey()));
HSSFWorkbookUtil.insertImageByIO(xssfWorkbook,inputStreamMap,false);
FileOutputStream os = null;
File file = null;
......@@ -433,8 +435,8 @@ public class SoilExpReportServiceImpl extends BaseServiceImpl<SoilExpReportMappe
expReport.setObjectKey(ossFileResult.getObjectKey());
expReport.setBucketName(ossFileResult.getBucketName());
expReport.setVersionId(ossFileResult.getVersionId());
expReport.setStatus(1);
expReport.setProgress(1);
expReport.setStatus(SoilExpReportStatusEnum.ISSUE);
expReport.setProgress(SoilExpReportStatusEnum.ISSUE);
updateReportList.add(expReport);
}
if (CollectionUtils.isNotEmpty(updateReportList)){
......@@ -452,11 +454,70 @@ public class SoilExpReportServiceImpl extends BaseServiceImpl<SoilExpReportMappe
@Transactional(rollbackFor = Exception.class)
@Override
public boolean expReportIssueSubmit(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要签发通过的试验报告");
SysFileSignature signature =sysUserClient.signature(account.getUserId()).serviceData();
if (null == signature){
return true;
}
List<SoilExpReport> reportList = list(Condition.create().in("id",ids));
try {
List<File> deletedList = new ArrayList<>();
List<SoilExpReport> updateReportList = new ArrayList<>();
Date date = new Date();
for (SoilExpReport soilExpReport:reportList) {
XSSFWorkbook xssfWorkbook = HSSFWorkbookUtil.getWorkbookByIO(ossClient.download(soilExpReport.getObjectKey()));
Map<String,InputStream> inputStreamMap = new HashMap<>();
inputStreamMap.put("#{imgIssuer}",ossClient.download(signature.getObjectKey()));
HSSFWorkbookUtil.insertImageByIO(xssfWorkbook,inputStreamMap,false);
Map<String,String> dateMap = new HashMap<>();
dateMap.put("#{IssueDate}", DateUtils.toYearMonthDayTimeChinese(date));
HSSFWorkbookUtil.replaceModel(dateMap,xssfWorkbook,0);
FileOutputStream os = null;
File file = null;
String generated="试验项目报告"+soilExpReport.getId();
file = File.createTempFile(generated, ".xlsx");
os = new FileOutputStream(file);
xssfWorkbook.write(os);
os.flush();
OssFileResult ossFileResult = ossClient.upload(file);
deletedList.add(file);
os.close();
xssfWorkbook.close();
SoilExpReport expReport = new SoilExpReport();
expReport.setId(soilExpReport.getId());
expReport.setObjectKey(ossFileResult.getObjectKey());
expReport.setBucketName(ossFileResult.getBucketName());
expReport.setVersionId(ossFileResult.getVersionId());
expReport.setStatus(SoilExpReportStatusEnum.END);
expReport.setProgress(SoilExpReportStatusEnum.END);
updateReportList.add(expReport);
}
if (CollectionUtils.isNotEmpty(updateReportList)){
super.updateBatchById(updateReportList);
}
}catch (Exception e){
logger.error("复核试验报告插入电子签名失败"+e.getMessage());
}
return true;
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean expReportCheckApprove(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要审核通过的试验报告");
SysFileSignature signature =sysUserClient.signature(account.getUserId()).serviceData();
if (null == signature){
return true;
RestAssert.fail(ArrayUtils.isEmpty(ids),"编制报告人员请先上传电子签名!");
return false;
}
List<SoilExpReport> reportList = list(Condition.create().in("id",ids));
try {
......@@ -467,7 +528,7 @@ public class SoilExpReportServiceImpl extends BaseServiceImpl<SoilExpReportMappe
for (SoilExpReport soilExpReport:reportList) {
XSSFWorkbook xssfWorkbook = HSSFWorkbookUtil.getWorkbookByIO(ossClient.download(soilExpReport.getObjectKey()));
Map<String,InputStream> inputStreamMap = new HashMap<>();
inputStreamMap.put("#{approve}}",ossClient.download(signature.getObjectKey()));
inputStreamMap.put("#{imgMainTest}",ossClient.download(signature.getObjectKey()));
HSSFWorkbookUtil.insertImageByIO(xssfWorkbook,inputStreamMap,false);
FileOutputStream os = null;
File file = null;
......@@ -489,8 +550,8 @@ public class SoilExpReportServiceImpl extends BaseServiceImpl<SoilExpReportMappe
expReport.setObjectKey(ossFileResult.getObjectKey());
expReport.setBucketName(ossFileResult.getBucketName());
expReport.setVersionId(ossFileResult.getVersionId());
expReport.setStatus(2);
expReport.setProgress(2);
expReport.setStatus(SoilExpReportStatusEnum.CHECK);
expReport.setProgress(SoilExpReportStatusEnum.CHECK);
updateReportList.add(expReport);
}
if (CollectionUtils.isNotEmpty(updateReportList)){
......
......@@ -209,4 +209,97 @@
<select id="selectGroupExpReportList" resultType="com.patzn.cloud.service.soil.vo.SoilEntrustVO">
SELECT
<include refid="column"/>,g.group_id,g.group_name
FROM
(
SELECT entrust_id FROM soil_exp_report WHERE status = #{status} AND deleted = 0
AND group_id IN
<foreach collection="groupList" index="index" item="groupId" open="(" separator="," close=")">
#{groupId}
</foreach>
GROUP BY entrust_id
)
p JOIN soil_entrust e ON p.entrust_id = e.id
JOIN (SELECT group_id,group_name,entrust_id FROM soil_exp_report WHERE status = #{status}
AND group_id IN
<foreach collection="groupList" index="index" item="groupId" open="(" separator="," close=")">
#{groupId}
</foreach>
AND deleted = 0 GROUP BY group_id,group_name,entrust_id ) g
ON e.id = g.entrust_id
WHERE e.deleted = 0
<include refid="sqlWhere"/>
</select>
<select id="selectPersonalTaskStatistics" resultType="com.patzn.cloud.service.soil.statistics.SoilPersonalTaskVO">
WITH t AS (
SELECT t.tester,t.tester_id,t.company_id,count(1) AS total FROM soil_experiment t
JOIN soil_sample s ON t.sample_id = s.id
JOIN soil_entrust e ON s.entrust_id = e.id
WHERE t.tester is NOT NULL AND t.deleted = 0 AND s.deleted = 0 AND e.deleted = 0
<if test="null!=vo.edateBegin">
AND e.entrust_date >= #{vo.edateBegin}
</if>
<if test="null!=vo.edateEnd">
AND e.entrust_date <![CDATA[<=]]> #{vo.edateEnd}
</if>
GROUP BY t.tester,t.tester_id, t.company_id
),
d AS (
SELECT t.tester,t.tester_id,count(1) AS doing_total, t.company_id FROM soil_experiment t
JOIN soil_sample s ON t.sample_id = s.id
JOIN soil_entrust e ON s.entrust_id = e.id
WHERE t.tester is NOT NULL AND t.deleted = 0 AND t.status != #{vo.endStatus} AND s.deleted = 0 AND e.deleted = 0
<if test="null!=vo.edateBegin">
AND e.entrust_date >= #{vo.edateBegin}
</if>
<if test="null!=vo.edateEnd">
AND e.entrust_date <![CDATA[<=]]> #{vo.edateEnd}
</if>
GROUP BY t.tester,t.tester_id, t.company_id
),
e AS (
SELECT t.tester,t.tester_id,count(1) AS end_total, t.company_id FROM soil_experiment t
JOIN soil_sample s ON t.sample_id = s.id
JOIN soil_entrust e ON s.entrust_id = e.id
WHERE t.tester is NOT NULL AND t.deleted = 0 AND t.status = #{vo.endStatus} AND s.deleted = 0 AND e.deleted = 0
<if test="null!=vo.edateBegin">
AND e.entrust_date >= #{vo.edateBegin}
</if>
<if test="null!=vo.edateEnd">
AND e.entrust_date <![CDATA[<=]]> #{vo.edateEnd}
</if>
GROUP BY t.tester,t.tester_id, t.company_id
)
SELECT *,(SELECT doing_total FROM d WHERE d.tester_id = t.tester_id) ,(SELECT end_total FROM e WHERE e.tester_id = t.tester_id) FROM t
</select>
</mapper>
INSERT INTO "public"."sys_resource"("id", "system_id", "pid", "name", "type", "code", "uri", "icon", "remark", "status", "sort", "ctime", "ename") VALUES (1347739715927781377, 1304006677087891457, 1347738492851957761, '项目报告报告签发', 0, 'exp_report_issue', '/soil/soil_exp_report/issue', 'pt-config', '项目报告签发', 1, 90, '2021-01-09 10:59:22.731', NULL);
INSERT INTO "public"."sys_resource"("id", "system_id", "pid", "name", "type", "code", "uri", "icon", "remark", "status", "sort", "ctime", "ename") VALUES (1347739715927781377, 1304006677087891457, 1347738492851957761, '项目报告报告签发', 0, 'exp_report_issue', '/soil/soil_exp_report/issue', 'pt-config', '项目报告签发', 1, 90, '2021-01-09 10:59:22.731', NULL);
INSERT INTO "public"."sys_resource"("id", "system_id", "pid", "name", "type", "code", "uri", "icon", "remark", "status", "sort", "ctime", "ename") VALUES (1347739449727889410, 1304006677087891457, 1347738492851957761, '项目报告报告审核', 0, 'exp_report_check', '/soil/soil_exp_report/check', 'pt-config', '土工项目报告审核', 1, 95, '2021-01-09 10:58:19.26', NULL);
INSERT INTO "public"."sys_resource"("id", "system_id", "pid", "name", "type", "code", "uri", "icon", "remark", "status", "sort", "ctime", "ename") VALUES (1347739181476982786, 1304006677087891457, 1347738492851957761, '项目报告编制', 0, 'exp_report_make', '/soil/soil_exp_report/make', 'pt-config', NULL, 1, 100, '2021-01-09 10:57:15.304', NULL);
INSERT INTO "public"."sys_resource"("id", "system_id", "pid", "name", "type", "code", "uri", "icon", "remark", "status", "sort", "ctime", "ename") VALUES (1347738492851957761, 1304006677087891457, 1304240390677704705, '项目报告管理', 0, 'soil_exp_report', '/', 'pt-config', '土工试验项目报告管理', 1, 495, '2021-01-09 10:54:31.123', NULL);
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