Commit c1254ce2 by wangweidong

土工平台修改

parent 3e6beaa5
...@@ -437,8 +437,9 @@ public class HSSFWorkbookUtil { ...@@ -437,8 +437,9 @@ public class HSSFWorkbookUtil {
Iterator<String> it = keySet.iterator(); Iterator<String> it = keySet.iterator();
while (it.hasNext()) { while (it.hasNext()) {
String text = it.next(); String text = it.next();
if(value.equalsIgnoreCase(text)) { if(value.contains(text)) {
cell.setCellValue((String)item.get(text)); String txt = value.replace(text,(String)item.get(text));
cell.setCellValue(txt);
break; break;
} }
} }
......
...@@ -239,6 +239,23 @@ public class SoilEntrustController extends ServiceController { ...@@ -239,6 +239,23 @@ public class SoilEntrustController 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_alone_keep")
public RestResult<Page<SoilEntrustVO>> getPageAloneKeep(SoilEntrustVO soilEntrust) {
soilEntrust.setSampleStatusList(Lists.newArrayList(
SoilSampleStatusEnum.ALONE_KEEP
));
return success(soilEntrustService.pageVOBySample(getPage(), soilEntrust));
}
......
...@@ -9,20 +9,14 @@ import com.patzn.cloud.service.base.vo.SysUserVO; ...@@ -9,20 +9,14 @@ import com.patzn.cloud.service.base.vo.SysUserVO;
import com.patzn.cloud.service.lims.base.entity.LmsUserGroup; import com.patzn.cloud.service.lims.base.entity.LmsUserGroup;
import com.patzn.cloud.service.lims.base.entity.LmsUserRelGroup; import com.patzn.cloud.service.lims.base.entity.LmsUserRelGroup;
import com.patzn.cloud.service.lims.base.vo.LmsUserRelGroupVO; import com.patzn.cloud.service.lims.base.vo.LmsUserRelGroupVO;
import com.patzn.cloud.service.soil.dto.SoilExperimentQueryDTO;
import com.patzn.cloud.service.soil.entity.SoilExpReport; import com.patzn.cloud.service.soil.entity.SoilExpReport;
import com.patzn.cloud.service.soil.entity.SoilOriginalRecord; import com.patzn.cloud.service.soil.entity.SoilOriginalRecord;
import com.patzn.cloud.service.soil.enums.SoilExpStatusEnum; import com.patzn.cloud.service.soil.enums.SoilExpStatusEnum;
import com.patzn.cloud.service.soil.vo.SoilExperimentVO; import com.patzn.cloud.service.soil.vo.SoilExperimentVO;
import com.patzn.cloud.service.soil.vo.SoilUserVO; import com.patzn.cloud.service.soil.vo.SoilUserVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.Condition; import com.baomidou.mybatisplus.mapper.Condition;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
...@@ -344,6 +338,23 @@ public class SoilExperimentController extends ServiceController { ...@@ -344,6 +338,23 @@ public class SoilExperimentController 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_exp_test_bath")
public RestResult<Page<SoilExperimentVO>> getPageExpTestBath(@RequestBody SoilExperimentQueryDTO vo) {
vo.setStatus(SoilExpStatusEnum.TEST);
vo.setTesterId(getAccount().getUserId());
return success(soilExperimentService.pageExpRightBath(getPage(),vo));
}
@ApiOperation(value = "试验项目按照试验项目开土制备(右侧数据)检测分页列表", notes = "分页查询数据列表") @ApiOperation(value = "试验项目按照试验项目开土制备(右侧数据)检测分页列表", notes = "分页查询数据列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
......
...@@ -77,6 +77,22 @@ public class SoilSampleController extends ServiceController { ...@@ -77,6 +77,22 @@ public class SoilSampleController 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_alone_keep_sample")
public RestResult<Page<SoilSampleVO>> getPageAloneKeepSample(SoilSampleVO soilSample) {
soilSample.setStatus(SoilSampleStatusEnum.ALONE_KEEP);
return success(soilSampleService.pageVO(getPage(), soilSample));
}
@ApiOperation(value = "样品留存查询", notes = "样品留存查询") @ApiOperation(value = "样品留存查询", notes = "样品留存查询")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
...@@ -398,8 +414,8 @@ public class SoilSampleController extends ServiceController { ...@@ -398,8 +414,8 @@ public class SoilSampleController extends ServiceController {
@ApiOperation(value = "收样室收样操作", notes = "收样室收样操作") @ApiOperation(value = "收样室收样操作", notes = "收样室收样操作")
@PostMapping("/receive_sample") @PostMapping("/receive_sample")
public RestResult<Boolean> receiveSample(@RequestParam("ids")Long [] ids,@RequestParam("locationId")Long locationId, public RestResult<Boolean> receiveSample(@RequestParam("ids")Long [] ids,@RequestParam("locationId")Long locationId,
@RequestParam("receiveLocation") String receiveLocation) { @RequestParam("receiveLocation") String receiveLocation,@RequestParam("warehouse") String warehouse) {
return success(soilSampleService.receiveSample(ids,locationId,receiveLocation,getAccount())); return success(soilSampleService.receiveSample(ids,locationId,receiveLocation,warehouse,getAccount()));
} }
...@@ -411,6 +427,22 @@ public class SoilSampleController extends ServiceController { ...@@ -411,6 +427,22 @@ public class SoilSampleController extends ServiceController {
@ApiOperation(value = "样品分拨独立留存", notes = "样品分拨独立留存")
@PostMapping("/alone_keep_sample")
public RestResult<Boolean> aloneKeepSample(@RequestParam("ids")Long [] ids) {
return success(soilSampleService.aloneKeepSample(ids,getAccount()));
}
@ApiOperation(value = "样品分拨独立留存调出", notes = "样品分拨独立留存调出")
@PostMapping("/call_out_alone_keep_sample")
public RestResult<Boolean> callOutAloneKeepSample(@RequestParam("ids")Long [] ids) {
return success(soilSampleService.callOutAloneKeepSample(ids,getAccount()));
}
@ApiOperation(value = "留存样品检测", notes = "留存样品检测") @ApiOperation(value = "留存样品检测", notes = "留存样品检测")
@PostMapping("/retain_sample_test") @PostMapping("/retain_sample_test")
public RestResult<Boolean> retainSampleTest(@RequestParam("ids")Long [] ids) { public RestResult<Boolean> retainSampleTest(@RequestParam("ids")Long [] ids) {
...@@ -492,8 +524,8 @@ public class SoilSampleController extends ServiceController { ...@@ -492,8 +524,8 @@ public class SoilSampleController extends ServiceController {
@ApiOperation(value = "样品留存", notes = "样品留存") @ApiOperation(value = "样品留存", notes = "样品留存")
@PostMapping("/sample_retain") @PostMapping("/sample_retain")
public RestResult<Boolean> sampleRetain(@RequestParam("ids")Long [] ids,@RequestParam("locationId")Long locationId, public RestResult<Boolean> sampleRetain(@RequestParam("ids")Long [] ids,@RequestParam("locationId")Long locationId,
@RequestParam("receiveLocation") String receiveLocation,@RequestParam("keepLimitTime") Date keepLimitTime) { @RequestParam("receiveLocation") String receiveLocation,@RequestParam("warehouse") String warehouse,@RequestParam("keepLimitTime") Date keepLimitTime) {
return success(soilSampleService.sampleRetain(ids,locationId,receiveLocation,keepLimitTime,getAccount())); return success(soilSampleService.sampleRetain(ids,locationId,receiveLocation,warehouse,keepLimitTime,getAccount()));
} }
......
...@@ -2,6 +2,7 @@ package com.patzn.cloud.service.lims.soil.mapper; ...@@ -2,6 +2,7 @@ package com.patzn.cloud.service.lims.soil.mapper;
import com.baomidou.mybatisplus.mapper.BaseMapper; import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.service.soil.dto.SoilExperimentQueryDTO;
import com.patzn.cloud.service.soil.entity.SoilExperiment; import com.patzn.cloud.service.soil.entity.SoilExperiment;
import com.patzn.cloud.service.soil.statistics.SoilEntrustItemNumVO; import com.patzn.cloud.service.soil.statistics.SoilEntrustItemNumVO;
import com.patzn.cloud.service.soil.vo.SoilExperimentVO; import com.patzn.cloud.service.soil.vo.SoilExperimentVO;
...@@ -40,4 +41,8 @@ public interface SoilExperimentMapper extends BaseMapper<SoilExperiment> { ...@@ -40,4 +41,8 @@ public interface SoilExperimentMapper extends BaseMapper<SoilExperiment> {
List<SoilEntrustItemNumVO> listEntrustItemNum(@Param("sampleIds") List<Long> sampleIds, @Param("vo") SoilExperimentVO vo); List<SoilEntrustItemNumVO> listEntrustItemNum(@Param("sampleIds") List<Long> sampleIds, @Param("vo") SoilExperimentVO vo);
List<SoilExperimentVO> listExperimentProgress(RowBounds rowBounds, @Param("vo")SoilExperimentVO vo); List<SoilExperimentVO> listExperimentProgress(RowBounds rowBounds, @Param("vo")SoilExperimentVO vo);
List<SoilExperimentVO> listTestByExpBath(Page<SoilExperimentVO> page, SoilExperimentQueryDTO dto);
List<SoilExperimentVO> listExpRightBath(Page<SoilExperimentVO> page, @Param("vo")SoilExperimentQueryDTO dto);
} }
...@@ -8,6 +8,7 @@ import com.patzn.cloud.commons.service.IBaseService; ...@@ -8,6 +8,7 @@ import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.lims.base.entity.LmsUserRelGroup; import com.patzn.cloud.service.lims.base.entity.LmsUserRelGroup;
import com.patzn.cloud.service.lims.base.vo.LmsUserRelGroupVO; import com.patzn.cloud.service.lims.base.vo.LmsUserRelGroupVO;
import com.patzn.cloud.service.lims.collect.core.CollectDataType; import com.patzn.cloud.service.lims.collect.core.CollectDataType;
import com.patzn.cloud.service.soil.dto.SoilExperimentQueryDTO;
import com.patzn.cloud.service.soil.entity.SoilExpReport; import com.patzn.cloud.service.soil.entity.SoilExpReport;
import com.patzn.cloud.service.soil.entity.SoilExperiment; import com.patzn.cloud.service.soil.entity.SoilExperiment;
import com.patzn.cloud.service.soil.entity.SoilOriginalRecord; import com.patzn.cloud.service.soil.entity.SoilOriginalRecord;
...@@ -88,4 +89,8 @@ public interface ISoilExperimentService extends IBaseService<SoilExperiment> { ...@@ -88,4 +89,8 @@ public interface ISoilExperimentService extends IBaseService<SoilExperiment> {
Page<LmsUserRelGroupVO> pageGroupUser(Page<LmsUserRelGroupVO> page, LmsUserRelGroup soilExperiment); Page<LmsUserRelGroupVO> pageGroupUser(Page<LmsUserRelGroupVO> page, LmsUserRelGroup soilExperiment);
Page<SoilExperimentVO> listExperimentProgress(Page<SoilExperimentVO> page, SoilExperimentVO vo); Page<SoilExperimentVO> listExperimentProgress(Page<SoilExperimentVO> page, SoilExperimentVO vo);
Page<SoilExperimentVO> pageTestByExpBath(Page<SoilExperimentVO> page, SoilExperimentQueryDTO dto);
Page<SoilExperimentVO> pageExpRightBath(Page<SoilExperimentVO> page, SoilExperimentQueryDTO dto);
} }
...@@ -24,7 +24,7 @@ public interface ISoilSampleOperationService extends IBaseService<SoilSampleOper ...@@ -24,7 +24,7 @@ public interface ISoilSampleOperationService extends IBaseService<SoilSampleOper
List<SoilSampleOperation> list(SoilSampleOperation soilSampleOperation); List<SoilSampleOperation> list(SoilSampleOperation soilSampleOperation);
boolean recordReceiveInfo(Long[] ids, Long locationId, String receiveLocation, Account account); boolean recordReceiveInfo(Long[] ids, Long locationId, String receiveLocation, String warehouse,Account account);
boolean recordSenderInfo(Long[] ids, Account account); boolean recordSenderInfo(Long[] ids, Account account);
......
...@@ -42,10 +42,12 @@ public interface ISoilSampleService extends IBaseService<SoilSample> { ...@@ -42,10 +42,12 @@ public interface ISoilSampleService extends IBaseService<SoilSample> {
List<SoilSampleVO> initItemInfo(List<SoilSampleVO> sampleVOList); List<SoilSampleVO> initItemInfo(List<SoilSampleVO> sampleVOList);
boolean receiveSample(Long[] ids, Long locationId, String receiveLocation, Account account); boolean receiveSample(Long[] ids, Long locationId, String receiveLocation,String warehouse, Account account);
boolean sendSample(Long[] ids, Account account); boolean sendSample(Long[] ids, Account account);
boolean aloneKeepSample(Long[] ids, Account account);
boolean writeSoilDetail(Long[] ids, String detail, Account account); boolean writeSoilDetail(Long[] ids, String detail, Account account);
List<SoilPrepareVO> obtainPrepareData(Long[] ids, Account account); List<SoilPrepareVO> obtainPrepareData(Long[] ids, Account account);
...@@ -62,7 +64,7 @@ public interface ISoilSampleService extends IBaseService<SoilSample> { ...@@ -62,7 +64,7 @@ public interface ISoilSampleService extends IBaseService<SoilSample> {
Page<SoilSampleVO> pageLocationSample(Page<SoilSampleVO> page, SoilSampleVO soilSample); Page<SoilSampleVO> pageLocationSample(Page<SoilSampleVO> page, SoilSampleVO soilSample);
boolean sampleRetain(Long[] ids, Long locationId, String location, Date keepLimitTime, Account account); boolean sampleRetain(Long[] ids, Long locationId, String location,String warehouse, Date keepLimitTime, Account account);
boolean sampleBringOut(Long[] ids,Account account); boolean sampleBringOut(Long[] ids,Account account);
...@@ -83,4 +85,6 @@ public interface ISoilSampleService extends IBaseService<SoilSample> { ...@@ -83,4 +85,6 @@ public interface ISoilSampleService extends IBaseService<SoilSample> {
SoilSample getBySampleCode(String sampleCode); SoilSample getBySampleCode(String sampleCode);
Page<SoilSampleVO> listSampleProgress(Page<SoilSampleVO> page, SoilSampleVO vo); Page<SoilSampleVO> listSampleProgress(Page<SoilSampleVO> page, SoilSampleVO vo);
boolean callOutAloneKeepSample(Long[] ids, Account account);
} }
...@@ -31,6 +31,7 @@ import com.patzn.cloud.service.lims.common.service.IExportService; ...@@ -31,6 +31,7 @@ import com.patzn.cloud.service.lims.common.service.IExportService;
import com.patzn.cloud.service.lims.common.service.ILmsMsgService; import com.patzn.cloud.service.lims.common.service.ILmsMsgService;
import com.patzn.cloud.service.lims.soil.service.*; import com.patzn.cloud.service.lims.soil.service.*;
import com.patzn.cloud.service.meter.entity.MeterEntrust; import com.patzn.cloud.service.meter.entity.MeterEntrust;
import com.patzn.cloud.service.soil.dto.SoilExperimentQueryDTO;
import com.patzn.cloud.service.soil.entity.*; import com.patzn.cloud.service.soil.entity.*;
import com.patzn.cloud.service.lims.soil.mapper.SoilExperimentMapper; import com.patzn.cloud.service.lims.soil.mapper.SoilExperimentMapper;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl; import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
...@@ -247,6 +248,13 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap ...@@ -247,6 +248,13 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
logger.error("saveExcelOriginalRecord模板存在"); logger.error("saveExcelOriginalRecord模板存在");
List<SoilExperimentVO> voList = soilExperimentService.listVOByIds(ids); List<SoilExperimentVO> voList = soilExperimentService.listVOByIds(ids);
for (SoilExperimentVO vo:voList) {
if (vo.getName().contains("重塑")){
vo.setMorphology("重塑");
}else{
vo.setMorphology("原状");
}
}
boolean teShu = "界限含水率 (碟式液限仪多点法)试验记录表".equals(template.getName()); boolean teShu = "界限含水率 (碟式液限仪多点法)试验记录表".equals(template.getName());
...@@ -302,6 +310,12 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap ...@@ -302,6 +310,12 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
mapReplace.put("#{client}",entrust.getClient()); mapReplace.put("#{client}",entrust.getClient());
mapReplace.put("#{boreholeName}",entrust.getBoreholeName()); mapReplace.put("#{boreholeName}",entrust.getBoreholeName());
mapReplace.put("#{projectNo}",entrust.getProjectNo()); mapReplace.put("#{projectNo}",entrust.getProjectNo());
if (null == entrust.getWaterDepth()){
mapReplace.put("#{waterDepth}","");
}else{
mapReplace.put("#{waterDepth}",entrust.getWaterDepth().toString());
}
mapReplace.put("#{reportCode}",entrust.getEntrustCode());
if (null==template.getMoreSheet() || 0 == template.getMoreSheet()){ if (null==template.getMoreSheet() || 0 == template.getMoreSheet()){
...@@ -1005,6 +1019,30 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap ...@@ -1005,6 +1019,30 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
return page.setRecords(baseMapper.listExperimentProgress(page,vo)); return page.setRecords(baseMapper.listExperimentProgress(page,vo));
} }
@Override
public Page<SoilExperimentVO> pageTestByExpBath(Page<SoilExperimentVO> page, SoilExperimentQueryDTO dto) {
return page.setRecords(baseMapper.listTestByExpBath(page,dto));
}
@Override
public Page<SoilExperimentVO> pageExpRightBath(Page<SoilExperimentVO> page, SoilExperimentQueryDTO dto) {
RestAssert.fail(null == dto.getEntrustId(),"试验委托单ID不能为空");
RestAssert.fail(CollectionUtils.isEmpty(dto.getNameList()),"试验项目名称不能为空");
List<SoilExperimentVO> voList = baseMapper.listExpRightBath(page,dto);
if (CollectionUtils.isEmpty(voList)){
return page;
}
for (SoilExperimentVO vo:voList) {
if (vo.getName().contains("重塑")){
vo.setMorphology("重塑");
}else{
vo.setMorphology("原状");
}
}
return page.setRecords(initOriginalRecord(voList));
}
@Override @Override
......
...@@ -41,13 +41,14 @@ public class SoilSampleOperationServiceImpl extends BaseServiceImpl<SoilSampleOp ...@@ -41,13 +41,14 @@ public class SoilSampleOperationServiceImpl extends BaseServiceImpl<SoilSampleOp
} }
@Override @Override
public boolean recordReceiveInfo(Long[] ids, Long locationId, String receiveLocation, Account account) { public boolean recordReceiveInfo(Long[] ids, Long locationId, String receiveLocation,String warehouse, Account account) {
SoilSampleOperation operation = new SoilSampleOperation(); SoilSampleOperation operation = new SoilSampleOperation();
operation.setLocationId(locationId); operation.setLocationId(locationId);
operation.setReceiver(account.getUserName()); operation.setReceiver(account.getUserName());
operation.setReceiverId(account.getUserId()); operation.setReceiverId(account.getUserId());
operation.setReceiveTime(new Date()); operation.setReceiveTime(new Date());
operation.setReceiveLocation(receiveLocation); operation.setReceiveLocation(receiveLocation);
operation.setWarehouse(warehouse);
return super.update(operation, Condition.create().in("sample_id",ids)); return super.update(operation, Condition.create().in("sample_id",ids));
} }
......
...@@ -305,6 +305,52 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi ...@@ -305,6 +305,52 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi
} }
@Transactional(rollbackFor = Exception.class)
@Override
public boolean callOutAloneKeepSample(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要调出的样品");
int count = super.count(Condition.create().in("id",ids).ne("status",SoilSampleStatusEnum.ALONE_KEEP));
RestAssert.fail(!checkSampleHaveExperiment(ids),"请调出含有试验项目的样品");
RestAssert.fail(count>0,"请调出独立留存的样品");
SoilSample sample = new SoilSample();
sample.setStatus(SoilSampleStatusEnum.SOIL_PREPARE);
sample.setProgress(SoilSampleStatusEnum.SOIL_PREPARE);
if (super.update(sample,Condition.create().in("id",ids))){
soilSampleOperationService.recordSenderInfo(ids,account);
soilSampleRecordService.record(SoilSampleStatusEnum.ALONE_KEEP,SoilSampleStatusEnum.SOIL_PREPARE,ids,0,account,"调出独立留存的样品");
soilSampleBackupService.initBackup(ids,account);
//初始化备样
}
//更改委托状态
List<SoilSample> sampleList = super.list(Condition.create().setSqlSelect("entrust_id").in("id",ids).groupBy("entrust_id"));
if (CollectionUtils.isEmpty(sampleList)){
return true;
}
List<Long> entrustIds = sampleList.stream().map(s->{
return s.getEntrustId();
}).collect(Collectors.toList());
List<SoilSample> checkList = super.list(Condition.create().setSqlSelect("entrust_id").in("entrust_id",entrustIds).eq("status",SoilSampleStatusEnum.SEND));
if (CollectionUtils.isEmpty(checkList)){
soilEntrustService.changeStatus(SoilEntrustStatusEnum.SEND,SoilEntrustStatusEnum.TEST,entrustIds,account,0,"样品发放完成");
}else {
List<Long> noReceiveOkList = checkList.stream().map(s->{
return s.getEntrustId();
}).collect(Collectors.toList());
for (Long eId:noReceiveOkList) {
if (entrustIds.contains(eId)){
entrustIds.remove(eId);
}
}
if (CollectionUtils.isNotEmpty(entrustIds)){
soilEntrustService.changeStatus(SoilEntrustStatusEnum.SEND,SoilEntrustStatusEnum.TEST,entrustIds,account,0,"样品发放完成");
}
}
return true;
}
@Override @Override
public boolean checkEntrustHaveSample(Long[] entrustIds) { public boolean checkEntrustHaveSample(Long[] entrustIds) {
if (ArrayUtils.isEmpty(entrustIds)){ if (ArrayUtils.isEmpty(entrustIds)){
...@@ -421,7 +467,7 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi ...@@ -421,7 +467,7 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean receiveSample(Long[] ids, Long locationId, String receiveLocation, Account account) { public boolean receiveSample(Long[] ids, Long locationId, String receiveLocation,String warehouse, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要接收的样品"); RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要接收的样品");
RestAssert.fail(null == locationId || StringUtils.isBlank(receiveLocation),"请选择要存放的位置"); RestAssert.fail(null == locationId || StringUtils.isBlank(receiveLocation),"请选择要存放的位置");
int count = super.count(Condition.create().in("id",ids).ne("status",SoilSampleStatusEnum.RECEIVE)); int count = super.count(Condition.create().in("id",ids).ne("status",SoilSampleStatusEnum.RECEIVE));
...@@ -433,7 +479,7 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi ...@@ -433,7 +479,7 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi
List<SoilExperiment> experimentList = soilExperimentService.list(Condition.create().setSqlSelect("sample_id").in("sample_id",ids).groupBy("sample_id")); List<SoilExperiment> experimentList = soilExperimentService.list(Condition.create().setSqlSelect("sample_id").in("sample_id",ids).groupBy("sample_id"));
RestAssert.fail(experimentList.size()!=ids.length,"请选择含有试验项目的委托"); RestAssert.fail(experimentList.size()!=ids.length,"请选择含有试验项目的委托");
if (super.update(sample,Condition.create().in("id",ids))){ if (super.update(sample,Condition.create().in("id",ids))){
soilSampleOperationService.recordReceiveInfo(ids,locationId,receiveLocation,account); soilSampleOperationService.recordReceiveInfo(ids,locationId,receiveLocation,warehouse,account);
soilSampleRecordService.record(SoilSampleStatusEnum.RECEIVE,SoilSampleStatusEnum.SEND,ids,0,account,"收样室收样"); soilSampleRecordService.record(SoilSampleStatusEnum.RECEIVE,SoilSampleStatusEnum.SEND,ids,0,account,"收样室收样");
//soilSampleBackupService.initBackup(ids,account); //soilSampleBackupService.initBackup(ids,account);
//初始化备样 //初始化备样
...@@ -513,6 +559,26 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi ...@@ -513,6 +559,26 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi
return true; return true;
} }
@Transactional(rollbackFor = Exception.class)
@Override
public boolean aloneKeepSample(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要独立留存的样品");
int count = super.count(Condition.create().in("id",ids).ne("status",SoilSampleStatusEnum.SEND));
RestAssert.fail(!checkSampleHaveExperiment(ids),"请独立留存含有试验项目的样品");
RestAssert.fail(count>0,"请独立留存待发放的样品");
SoilSample sample = new SoilSample();
sample.setStatus(SoilSampleStatusEnum.ALONE_KEEP);
sample.setProgress(SoilSampleStatusEnum.ALONE_KEEP);
if (super.update(sample,Condition.create().in("id",ids))){
soilSampleRecordService.record(SoilSampleStatusEnum.SEND,SoilSampleStatusEnum.ALONE_KEEP,ids,0,account,"样品独立留存");
}
return true;
}
private boolean checkSampleHaveExperiment(Long[] ids) { private boolean checkSampleHaveExperiment(Long[] ids) {
int count= soilExperimentService.list(Condition.create().setSqlSelect("sample_id").in("sample_id",ids).groupBy("sample_id")).size(); int count= soilExperimentService.list(Condition.create().setSqlSelect("sample_id").in("sample_id",ids).groupBy("sample_id")).size();
return count== ids.length; return count== ids.length;
...@@ -761,7 +827,7 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi ...@@ -761,7 +827,7 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean sampleRetain(Long[] ids,Long locationId,String location, Date keepLimitTime, Account account) { public boolean sampleRetain(Long[] ids,Long locationId,String location,String warehouse, Date keepLimitTime, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择试样"); RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择试样");
RestAssert.fail(null == keepLimitTime,"请选择留存有效期"); RestAssert.fail(null == keepLimitTime,"请选择留存有效期");
List<SoilExperiment> experimentList= soilExperimentService.list(Condition.create().setSqlSelect("id").in("sample_id",ids)); List<SoilExperiment> experimentList= soilExperimentService.list(Condition.create().setSqlSelect("id").in("sample_id",ids));
...@@ -774,7 +840,7 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi ...@@ -774,7 +840,7 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi
sample.setProgress(SoilSampleStatusEnum.RETAIN); sample.setProgress(SoilSampleStatusEnum.RETAIN);
sample.setKeepLimitTime(keepLimitTime); sample.setKeepLimitTime(keepLimitTime);
soilSampleRecordService.record(SoilSampleStatusEnum.RECEIVE,SoilSampleStatusEnum.RECEIVE,ids,0,account,"不含有试验项目的样品进行留存"); soilSampleRecordService.record(SoilSampleStatusEnum.RECEIVE,SoilSampleStatusEnum.RECEIVE,ids,0,account,"不含有试验项目的样品进行留存");
soilSampleOperationService.recordReceiveInfo(ids,locationId,location,account); soilSampleOperationService.recordReceiveInfo(ids,locationId,location,warehouse,account);
return super.update(sample,Condition.create().in("id",ids)); return super.update(sample,Condition.create().in("id",ids));
} }
......
...@@ -301,4 +301,112 @@ ...@@ -301,4 +301,112 @@
ORDER BY s.sample_code ORDER BY s.sample_code
</select> </select>
<select id="listTestByExpBath" resultType="com.patzn.cloud.service.soil.vo.SoilExperimentVO">
SELECT t.name FROM soil_experiment t
JOIN soil_sample s ON t.sample_id = s.id
WHERE t.deleted = 0
<if test="vo.status!=null">
AND t.status = #{vo.status}
</if>
<if test="vo.entrustId!=null">
AND s.entrust_id = #{vo.entrustId}
</if>
<if test="null!=vo.statusList">
AND t.status IN
<foreach collection="vo.statusList" index="index" item="status" open="(" separator="," close=")">
#{status}
</foreach>
</if>
<if test="vo.testerId!=null">
AND t.tester_id = #{vo.testerId}
</if>
<if test="null!=vo.nameList">
AND t.name IN
<foreach collection="vo.nameList" index="index" item="name" open="(" separator="," close=")">
#{name}
</foreach>
</if>
GROUP BY t.name
</select>
<select id="listExpRightBath" resultType="com.patzn.cloud.service.soil.vo.SoilExperimentVO">
SELECT
t.id,
t.name,
t.el_name,
t.short_name,
t.main_type,
t.small_type,
t.test_basis,
t.test_method,
t.tester,
t.status,
t.progress,
t.group_name,
t.group_id,
s.sample_code,
s.sample_depth,
s.describe_detail,
s.sample_pack,
o.alloter,
o.allot_time,
e.client
FROM soil_experiment t
JOIN soil_sample s ON t.sample_id = s.id
JOIN soil_entrust e ON s.entrust_id = e.id
JOIN soil_experiment_operation o ON t.id = o.experiment_id
WHERE e.deleted = 0 AND s.deleted = 0 AND t.deleted = 0
AND s.entrust_id = #{vo.entrustId}
<if test="null!=vo.testBasis">
AND t.test_basis = #{vo.testBasis}
</if>
<if test="null!=vo.testMethod">
AND t.test_method = #{vo.testMethod}
</if>
<if test="vo.status!=null">
AND t.status = #{vo.status}
</if>
<if test="vo.sampleCode!=null">
AND s.sample_code LIKE CONCAT('%',#{vo.sampleCode},'%')
</if>
<if test="null!=vo.statusList">
AND t.status IN
<foreach collection="vo.statusList" index="index" item="status" open="(" separator="," close=")">
#{status}
</foreach>
</if>
<if test="null!=vo.nameList">
AND t.name IN
<foreach collection="vo.nameList" index="index" item="name" open="(" separator="," close=")">
#{name}
</foreach>
</if>
<if test="vo.testerId!=null">
AND t.tester_id = #{vo.testerId}
</if>
ORDER BY s.sample_code,t.name
</select>
</mapper> </mapper>
INSERT INTO "public"."sys_resource"("id", "system_id", "pid", "name", "type", "code", "uri", "icon", "remark", "status", "sort", "ctime", "ename") VALUES (1346339387936321538, 1304006677087891457, 1304244453771292673, '独立留存', 0, 'alone_keep', '/soil/sample/alone_keep', 'pt-config', NULL, 1, 99, '2021-01-05 14:14:58.517', NULL);
INSERT INTO "public"."sys_resource"("id", "system_id", "pid", "name", "type", "code", "uri", "icon", "remark", "status", "sort", "ctime", "ename") VALUES (1346339387936321538, 1304006677087891457, 1304244453771292673, '独立留存', 0, 'alone_keep', '/soil/sample/alone_keep', 'pt-config', NULL, 1, 99, '2021-01-05 14:14:58.517', NULL);
ALTER TABLE "public"."soil_sample_operation"
ALTER TABLE "public"."soil_sample_operation"
ADD COLUMN "warehouse" varchar(100);
COMMENT ON COLUMN "public"."soil_sample_operation"."warehouse" IS '库房号';
\ No newline at end of file
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