Commit 22221e78 by wangweidong

土工试验修改

parent a2f5a6f3
......@@ -108,7 +108,48 @@ 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_exp_test")
public RestResult<Page<SoilEntrustVO>> getPageTaskTest(SoilEntrustVO soilEntrust) {
soilEntrust.setExpStatus(SoilExpStatusEnum.TEST);
soilEntrust.setUid(getAccount().getUserId());
return success(soilEntrustService.pageVOByExperiment(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_check")
public RestResult<Page<SoilEntrustVO>> getPageTaskCheck(SoilEntrustVO soilEntrust) {
soilEntrust.setExpStatus(SoilExpStatusEnum.CHECK);
return success(soilEntrustService.pageVOByExperiment(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_audit")
public RestResult<Page<SoilEntrustVO>> getPageTaskCheckAudit(SoilEntrustVO soilEntrust) {
soilEntrust.setExpStatus(SoilExpStatusEnum.AUDIT);
return success(soilEntrustService.pageVOByExperiment(getPage(), soilEntrust));
}
......
package com.patzn.cloud.service.lims.soil.controller;
import java.util.List;
import com.patzn.cloud.service.soil.entity.SoilExpRelOriginalRecord;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
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.plugins.Page;
import com.patzn.cloud.commons.api.RestConstants;
import com.patzn.cloud.commons.api.RestResult;
import com.patzn.cloud.commons.controller.ServiceController;
import com.patzn.cloud.service.lims.soil.service.ISoilExpRelOriginalRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
/**
* <p>
* 土工试验项目关联原始记录表 前端控制器
* </p>
*
* @author wwd
* @since 2020-09-25
*/
@Api(tags = "土工试验项目关联原始记录表")
@RestController
@RequestMapping("/v1/exp_rel_original_record")
public class SoilExpRelOriginalRecordController extends ServiceController {
@Autowired
private ISoilExpRelOriginalRecordService soilExpRelOriginalRecordService;
@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")
public RestResult<Page<SoilExpRelOriginalRecord>> getPage(SoilExpRelOriginalRecord soilExpRelOriginalRecord) {
return success(soilExpRelOriginalRecordService.page(getPage(), soilExpRelOriginalRecord));
}
@ApiOperation(value = "查询列表", notes = "查询数据列表")
@PostMapping("/list")
public RestResult<List<SoilExpRelOriginalRecord>> getList(SoilExpRelOriginalRecord soilExpRelOriginalRecord) {
return success(soilExpRelOriginalRecordService.list(soilExpRelOriginalRecord));
}
@ApiOperation(value = "查询 id 信息", notes = "查询指定 id 的数据内容")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<SoilExpRelOriginalRecord> get(@PathVariable("id") Long id) {
return success(soilExpRelOriginalRecordService.getById(id));
}
@ApiOperation(value = "根据 id 修改信息", notes = "根据指定 id 修改该条数据内容")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@PutMapping("/{id}")
public RestResult<Boolean> edit(@PathVariable("id") Long id, SoilExpRelOriginalRecord soilExpRelOriginalRecord) {
soilExpRelOriginalRecord.setId(id);
return success(soilExpRelOriginalRecordService.updateById(soilExpRelOriginalRecord));
}
@ApiOperation(value = "添加", notes = "添加一条数据")
@PostMapping("/")
public RestResult<Boolean> add(SoilExpRelOriginalRecord soilExpRelOriginalRecord) {
return success(soilExpRelOriginalRecordService.save(soilExpRelOriginalRecord));
}
@ApiOperation(value = "根据 ids 删除", notes = "根据 id 数组删除指定的数据内容")
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键数组", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
})
@DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") Long[] ids) {
return success(soilExpRelOriginalRecordService.remove(Condition.create().in("id", ids)));
}
}
package com.patzn.cloud.service.lims.soil.controller;
import java.util.List;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.service.soil.entity.SoilOriginalRecord;
import com.patzn.cloud.service.soil.vo.SoilOriginalRecordVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
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.plugins.Page;
import com.patzn.cloud.commons.api.RestConstants;
import com.patzn.cloud.commons.api.RestResult;
import com.patzn.cloud.commons.controller.ServiceController;
import com.patzn.cloud.service.lims.soil.service.ISoilOriginalRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
/**
* <p>
* 土工原始记录表 前端控制器
* </p>
*
* @author wwd
* @since 2020-09-25
*/
@Api(tags = "土工原始记录表")
@RestController
@RequestMapping("/v1/original_record")
public class SoilOriginalRecordController extends ServiceController {
@Autowired
private ISoilOriginalRecordService soilOriginalRecordService;
@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")
public RestResult<Page<SoilOriginalRecordVO>> getPage(SoilOriginalRecordVO soilOriginalRecord) {
return success(soilOriginalRecordService.pageVO(getPage(), soilOriginalRecord));
}
@ApiOperation(value = "查询列表", notes = "查询数据列表")
@PostMapping("/list")
public RestResult<List<SoilOriginalRecord>> getList(SoilOriginalRecord soilOriginalRecord) {
return success(soilOriginalRecordService.list(soilOriginalRecord));
}
@ApiOperation(value = "查询 id 信息", notes = "查询指定 id 的数据内容")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<SoilOriginalRecord> get(@PathVariable("id") Long id) {
return success(soilOriginalRecordService.getById(id));
}
@ApiOperation(value = "根据 id 修改信息", notes = "根据指定 id 修改该条数据内容")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@PutMapping("/{id}")
public RestResult<Boolean> edit(@PathVariable("id") Long id, SoilOriginalRecord soilOriginalRecord) {
soilOriginalRecord.setId(id);
return success(soilOriginalRecordService.updateById(soilOriginalRecord));
}
@ApiOperation(value = "添加", notes = "添加一条数据")
@PostMapping("/")
public RestResult<Boolean> add(SoilOriginalRecord soilOriginalRecord) {
return success(soilOriginalRecordService.save(soilOriginalRecord));
}
@ApiOperation(value = "根据 ids 删除", notes = "根据 id 数组删除指定的数据内容")
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键数组", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
})
@DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") Long[] ids) {
return success(soilOriginalRecordService.remove(Condition.create().in("id", ids)));
}
@ApiOperation(value = "保存原始记录", notes = "保存原始记录")
@PostMapping("/save_original_record")
public RestResult<Boolean> saveOriginalRecord(@RequestParam("ids")Long[] ids, @RequestParam("formId") Long formId,@RequestParam("entrustId") Long entrustId) {
return success(soilOriginalRecordService.saveOriginalRecord(ids,formId,entrustId,getAccount()));
}
@ApiOperation(value = "更新原始记录表单", notes = "更新原始记录表单")
@PostMapping("/update_original_record")
public RestResult<Boolean> updateOriginalRecord(@RequestParam("formId") Long formId) {
return success(soilOriginalRecordService.updateOriginalRecord(formId, getAccount()));
}
}
......@@ -115,7 +115,7 @@ public class SoilSampleController extends ServiceController {
@ApiOperation(value = "试验实领样样品分页列表", notes = "试验实领样样品分页列表")
@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"),
......@@ -129,6 +129,21 @@ 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_exp_test_sample")
public RestResult<Page<SoilSampleVO>> getPageExpTestSample(SoilSampleVO soilSample) {
soilSample.setUid(getAccount().getUserId());
soilSample.setExpStatus(SoilExpStatusEnum.TEST);
return success(soilSampleService.pageByExp(getPage(), soilSample));
}
@ApiOperation(value = "查询列表", notes = "查询数据列表")
@PostMapping("/list")
......
package com.patzn.cloud.service.lims.soil.mapper;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.patzn.cloud.service.soil.entity.SoilExpRelOriginalRecord;
/**
* <p>
* 土工试验项目关联原始记录表 Mapper 接口
* </p>
*
* @author wwd
* @since 2020-09-25
*/
public interface SoilExpRelOriginalRecordMapper extends BaseMapper<SoilExpRelOriginalRecord> {
}
......@@ -20,4 +20,10 @@ import java.util.List;
public interface SoilExperimentMapper extends BaseMapper<SoilExperiment> {
List<SoilExperimentVO> selectListBySampleIds(RowBounds rowBounds, @Param("sampleIds") Long[] sampleIds, @Param("vo") SoilExperimentVO vo);
List<SoilExperimentVO> selectTestByExp(RowBounds rowBounds,@Param("vo") SoilExperimentVO vo);
List<SoilExperimentVO> selectExpRight(RowBounds rowBounds, @Param("vo")SoilExperimentVO vo);
List<SoilExperimentVO> selectOriginalExpList(RowBounds rowBounds,@Param("vo")SoilExperimentVO vo);
}
package com.patzn.cloud.service.lims.soil.mapper;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.service.soil.entity.SoilOriginalRecord;
import com.patzn.cloud.service.soil.vo.SoilOriginalRecordVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;
import java.util.List;
/**
* <p>
* 土工原始记录表 Mapper 接口
* </p>
*
* @author wwd
* @since 2020-09-25
*/
public interface SoilOriginalRecordMapper extends BaseMapper<SoilOriginalRecord> {
List<SoilOriginalRecordVO> selectVOList(RowBounds rowBounds, @Param("vo") SoilOriginalRecordVO soilOriginalRecord);
}
package com.patzn.cloud.service.lims.soil.service;
import java.util.List;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.soil.entity.SoilExpRelOriginalRecord;
/**
* <p>
* 土工试验项目关联原始记录表 服务类
* </p>
*
* @author wwd
* @since 2020-09-25
*/
public interface ISoilExpRelOriginalRecordService extends IBaseService<SoilExpRelOriginalRecord> {
Page<SoilExpRelOriginalRecord> page(Page<SoilExpRelOriginalRecord> page, SoilExpRelOriginalRecord soilExpRelOriginalRecord);
List<SoilExpRelOriginalRecord> list(SoilExpRelOriginalRecord soilExpRelOriginalRecord);
}
......@@ -24,4 +24,10 @@ public interface ISoilExperimentOperationService extends IBaseService<SoilExperi
List<SoilExperimentOperation> list(SoilExperimentOperation soilExperimentOperation);
void recordAllotInfo(Long[] ids, Account account);
void recordTestInfo(Long[] ids, Account account);
void recordAuditorInfo(Long[] ids, Account account);
void recordCheckerInfo(Long[] ids, Account account);
}
......@@ -29,4 +29,20 @@ public interface ISoilExperimentService extends IBaseService<SoilExperiment> {
boolean allotExp(Long[] ids, String user, Long userId, Account account);
Page<SoilExperimentVO> pageBySampleIds(Page<SoilExperimentVO> page, Long[] sampleIds, SoilExperimentVO vo);
Page<SoilExperimentVO> pageTestByExp(Page<SoilExperimentVO> page, SoilExperimentVO vo);
Page<SoilExperimentVO> pageExpRight(Page<SoilExperimentVO> page, SoilExperimentVO vo);
Page<SoilExperimentVO> pageOriginalExp(Page<SoilExperimentVO> page, SoilExperimentVO vo);
boolean endExp(Long[] ids, Account account);
boolean endExpCheck(Long[] ids, Account account);
boolean endExpAudit(Long[] ids, Account account);
boolean expCheckBack(Long[] ids, String remark, Account account);
boolean expAuditBack(Long[] ids, String remark, Account account);
}
package com.patzn.cloud.service.lims.soil.service;
import java.util.List;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.soil.entity.SoilOriginalRecord;
import com.patzn.cloud.service.soil.vo.SoilOriginalRecordVO;
/**
* <p>
* 土工原始记录表 服务类
* </p>
*
* @author wwd
* @since 2020-09-25
*/
public interface ISoilOriginalRecordService extends IBaseService<SoilOriginalRecord> {
Page<SoilOriginalRecord> page(Page<SoilOriginalRecord> page, SoilOriginalRecord soilOriginalRecord);
List<SoilOriginalRecord> list(SoilOriginalRecord soilOriginalRecord);
boolean saveOriginalRecord(Long[] ids, Long formId,Long entrustId, Account account);
boolean updateOriginalRecord(Long formId, Account account);
Page<SoilOriginalRecordVO> pageVO(Page<SoilOriginalRecordVO> page, SoilOriginalRecordVO soilOriginalRecord);
}
package com.patzn.cloud.service.lims.soil.service.impl;
import java.util.List;
import com.patzn.cloud.service.lims.soil.mapper.SoilExpRelOriginalRecordMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilExpRelOriginalRecordService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.entity.SoilExpRelOriginalRecord;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
/**
* <p>
* 土工试验项目关联原始记录表 服务实现类
* </p>
*
* @author wwd
* @since 2020-09-25
*/
@Service
public class SoilExpRelOriginalRecordServiceImpl extends BaseServiceImpl<SoilExpRelOriginalRecordMapper, SoilExpRelOriginalRecord> implements ISoilExpRelOriginalRecordService {
@Override
public Page<SoilExpRelOriginalRecord> page(Page<SoilExpRelOriginalRecord> page, SoilExpRelOriginalRecord soilExpRelOriginalRecord) {
Wrapper wrapper = new EntityWrapper<>(soilExpRelOriginalRecord);
return this.page(page, wrapper);
}
@Override
public List<SoilExpRelOriginalRecord> list(SoilExpRelOriginalRecord soilExpRelOriginalRecord) {
return this.list(new EntityWrapper<>(soilExpRelOriginalRecord));
}
}
......@@ -47,4 +47,33 @@ public class SoilExperimentOperationServiceImpl extends BaseServiceImpl<SoilExpe
operation.setAllotTime(new Date());
super.update(operation, Condition.create().in("experiment_id",ids));
}
@Override
public void recordTestInfo(Long[] ids, Account account) {
SoilExperimentOperation operation = new SoilExperimentOperation();
operation.setTestEnder(account.getUserName());
operation.setTestEnderId(account.getUserId());
operation.setTestEndTime(new Date());
super.update(operation, Condition.create().in("experiment_id",ids));
}
@Override
public void recordAuditorInfo(Long[] ids, Account account) {
SoilExperimentOperation operation = new SoilExperimentOperation();
operation.setAuditor(account.getUserName());
operation.setAuditorId(account.getUserId());
operation.setAuditTime(new Date());
super.update(operation, Condition.create().in("experiment_id",ids));
}
@Override
public void recordCheckerInfo(Long[] ids, Account account) {
SoilExperimentOperation operation = new SoilExperimentOperation();
operation.setChecker(account.getUserName());
operation.setCheckerId(account.getUserId());
operation.setCheckTime(new Date());
super.update(operation, Condition.create().in("experiment_id",ids));
}
}
package com.patzn.cloud.service.lims.soil.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.mapper.Condition;
import com.baomidou.mybatisplus.toolkit.ArrayUtils;
import com.baomidou.mybatisplus.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.toolkit.StringUtils;
import com.google.common.collect.Lists;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.service.lims.soil.service.ISoilExperimentOperationService;
import com.patzn.cloud.service.lims.soil.service.ISoilExperimentRecordService;
import com.patzn.cloud.service.lims.soil.service.ISoilSampleService;
import com.patzn.cloud.service.lims.soil.service.*;
import com.patzn.cloud.service.soil.entity.SoilExpRelOriginalRecord;
import com.patzn.cloud.service.soil.entity.SoilExperiment;
import com.patzn.cloud.service.lims.soil.mapper.SoilExperimentMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilExperimentService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.entity.SoilSample;
import com.patzn.cloud.service.soil.enums.SoilExpStatusEnum;
import com.patzn.cloud.service.soil.vo.SoilExperimentVO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
......@@ -41,9 +42,12 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
private ISoilSampleService soilSampleService;
@Autowired
private ISoilExperimentOperationService experimentOperationService;
private ISoilExperimentOperationService soilExperimentOperationService;
@Autowired
private ISoilExperimentRecordService experimentRecordService;
private ISoilExperimentRecordService soilExperimentRecordService;
@Autowired
private ISoilExpRelOriginalRecordService expRelOriginalRecordService;
@Override
public Page<SoilExperiment> page(Page<SoilExperiment> page, SoilExperiment soilExperiment) {
......@@ -86,8 +90,8 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
experiment.setTesterId(userId);
experiment.setTester(user);
if (update(experiment,Condition.create().in("id",ids))){
experimentOperationService.recordAllotInfo(ids,account);
experimentRecordService.record(ids,SoilExpStatusEnum.ALLOT,SoilExpStatusEnum.TEST,0,account,"试验项目分配给:"+user);
soilExperimentOperationService.recordAllotInfo(ids,account);
soilExperimentRecordService.record(ids,SoilExpStatusEnum.ALLOT,SoilExpStatusEnum.TEST,0,account,"试验项目分配给:"+user);
}
return true;
}
......@@ -96,4 +100,145 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
public Page<SoilExperimentVO> pageBySampleIds(Page<SoilExperimentVO> page, Long[] sampleIds, SoilExperimentVO vo) {
return page.setRecords(baseMapper.selectListBySampleIds(page,sampleIds,vo));
}
@Override
public Page<SoilExperimentVO> pageTestByExp(Page<SoilExperimentVO> page, SoilExperimentVO vo) {
return page.setRecords(baseMapper.selectTestByExp(page,vo));
}
@Override
public Page<SoilExperimentVO> pageExpRight(Page<SoilExperimentVO> page, SoilExperimentVO vo) {
RestAssert.fail(null == vo.getEntrustId(),"试验委托单ID不能为空");
RestAssert.fail(StringUtils.isBlank(vo.getName()),"试验项目名称不能为空");
return page.setRecords(initOriginalRecord(baseMapper.selectExpRight(page,vo)));
}
@Override
public Page<SoilExperimentVO> pageOriginalExp(Page<SoilExperimentVO> page, SoilExperimentVO vo) {
return page.setRecords(baseMapper.selectOriginalExpList(page,vo));
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean endExp(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的试验项目");
int count = super.count(Condition.create().in("id",ids).eq("status",SoilExpStatusEnum.TEST));
if (count!=ids.length){
RestAssert.fail("请选择还未提交的试验项目");
}
SoilExperiment soilExperiment = new SoilExperiment();
soilExperiment.setStatus(SoilExpStatusEnum.CHECK);
soilExperiment.setProgress(SoilExpStatusEnum.CHECK);
if (update(soilExperiment,Condition.create().in("id",ids))){
soilExperimentOperationService.recordTestInfo(ids,account);
soilExperimentRecordService.record(ids,SoilExpStatusEnum.TEST,SoilExpStatusEnum.CHECK,0,account,"试验项目检测完成,提交至数据复核");
}
return true;
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean endExpCheck(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要复核的试验项目");
int count = super.count(Condition.create().in("id",ids).eq("status",SoilExpStatusEnum.CHECK));
if (count!=ids.length){
RestAssert.fail("请选择还未复核的试验项目");
}
SoilExperiment soilExperiment = new SoilExperiment();
soilExperiment.setStatus(SoilExpStatusEnum.AUDIT);
soilExperiment.setProgress(SoilExpStatusEnum.AUDIT);
if (update(soilExperiment,Condition.create().in("id",ids))){
soilExperimentOperationService.recordCheckerInfo(ids,account);
soilExperimentRecordService.record(ids,SoilExpStatusEnum.CHECK,SoilExpStatusEnum.AUDIT,0,account,"试验项目复核完成,提交至数据审核");
}
return true;
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean endExpAudit(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要审核的试验项目");
int count = super.count(Condition.create().in("id",ids).eq("status",SoilExpStatusEnum.AUDIT));
if (count!=ids.length){
RestAssert.fail("请选择还未审核的试验项目");
}
SoilExperiment soilExperiment = new SoilExperiment();
soilExperiment.setStatus(SoilExpStatusEnum.END);
soilExperiment.setProgress(SoilExpStatusEnum.END);
if (update(soilExperiment,Condition.create().in("id",ids))){
soilExperimentOperationService.recordAuditorInfo(ids,account);
soilExperimentRecordService.record(ids,SoilExpStatusEnum.AUDIT,SoilExpStatusEnum.END,0,account,"试验项目审核完成");
}
return true;
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean expCheckBack(Long[] ids, String remark, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要复核的试验项目");
RestAssert.fail(StringUtils.isBlank(remark),"请填写退回原因");
int count = super.count(Condition.create().in("id",ids).eq("status",SoilExpStatusEnum.CHECK));
if (count!=ids.length){
RestAssert.fail("请选择未复核的试验项目");
}
SoilExperiment soilExperiment = new SoilExperiment();
soilExperiment.setStatus(SoilExpStatusEnum.TEST);
soilExperiment.setProgress(SoilExpStatusEnum.BACK_CHECK);
if (update(soilExperiment,Condition.create().in("id",ids))){
soilExperimentRecordService.record(ids,SoilExpStatusEnum.CHECK,SoilExpStatusEnum.TEST,1,account,remark);
}
return true;
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean expAuditBack(Long[] ids, String remark, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要审核的试验项目");
RestAssert.fail(StringUtils.isBlank(remark),"请填写退回原因");
int count = super.count(Condition.create().in("id",ids).eq("status",SoilExpStatusEnum.AUDIT));
if (count!=ids.length){
RestAssert.fail("请选择未审核的试验项目");
}
SoilExperiment soilExperiment = new SoilExperiment();
soilExperiment.setStatus(SoilExpStatusEnum.TEST);
soilExperiment.setProgress(SoilExpStatusEnum.BACK_AUDIT);
if (update(soilExperiment,Condition.create().in("id",ids))){
soilExperimentRecordService.record(ids,SoilExpStatusEnum.AUDIT,SoilExpStatusEnum.TEST,1,account,remark);
}
return true;
}
public List<SoilExperimentVO> initOriginalRecord(List<SoilExperimentVO> voList){
if (CollectionUtils.isEmpty(voList)){
return voList;
}
List<Long> expIds = voList.stream().map(e->{
return e.getId();
}).collect(Collectors.toList());
List<SoilExpRelOriginalRecord> relOriginalRecordList = expRelOriginalRecordService.list(Condition.create().setSqlSelect("exp_id").in("exp_id",expIds));
if (null==relOriginalRecordList){
return voList;
}
Map<Long, Long> map =new HashMap<>();
for (SoilExpRelOriginalRecord expRelOriginalRecord:relOriginalRecordList) {
map.put(expRelOriginalRecord.getExpId(),expRelOriginalRecord.getExpId());
}
for (SoilExperimentVO vo:voList) {
if (null == map.get(vo.getId())){
vo.setRecorded("否");
}else{
vo.setRecorded("是");
}
}
return voList;
}
}
package com.patzn.cloud.service.lims.soil.service.impl;
import java.util.ArrayList;
import java.util.List;
import com.baomidou.mybatisplus.mapper.Condition;
import com.baomidou.mybatisplus.toolkit.CollectionUtils;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.feign.lims.print.client.ElnFormClient;
import com.patzn.cloud.feign.lims.print.client.ElnTemplateClient;
import com.patzn.cloud.service.eln.entity.ElnForm;
import com.patzn.cloud.service.eln.entity.ElnTemplate;
import com.patzn.cloud.service.lims.soil.mapper.SoilOriginalRecordMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilExpRelOriginalRecordService;
import com.patzn.cloud.service.lims.soil.service.ISoilExperimentService;
import com.patzn.cloud.service.lims.soil.service.ISoilOriginalRecordService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.entity.SoilExpRelOriginalRecord;
import com.patzn.cloud.service.soil.entity.SoilExperiment;
import com.patzn.cloud.service.soil.entity.SoilOriginalRecord;
import com.patzn.cloud.service.soil.vo.SoilOriginalRecordVO;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import org.springframework.transaction.annotation.Transactional;
/**
* <p>
* 土工原始记录表 服务实现类
* </p>
*
* @author wwd
* @since 2020-09-25
*/
@Service
public class SoilOriginalRecordServiceImpl extends BaseServiceImpl<SoilOriginalRecordMapper, SoilOriginalRecord> implements ISoilOriginalRecordService {
@Autowired
private ElnFormClient elnFormClient;
@Autowired
private ElnTemplateClient elnTemplateClient;
@Autowired
private ISoilExperimentService soilExperimentService;
@Autowired
private ISoilExpRelOriginalRecordService soilExpRelOriginalRecordService;
@Override
public Page<SoilOriginalRecord> page(Page<SoilOriginalRecord> page, SoilOriginalRecord soilOriginalRecord) {
Wrapper wrapper = new EntityWrapper<>(soilOriginalRecord);
return this.page(page, wrapper);
}
@Override
public List<SoilOriginalRecord> list(SoilOriginalRecord soilOriginalRecord) {
return this.list(new EntityWrapper<>(soilOriginalRecord));
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean saveOriginalRecord(Long[] ids, Long formId, Long entrustId, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择试验项目");
RestAssert.fail(null == formId, "原始记录ID不能为空");
RestAssert.fail(null == entrustId, "试验委托单ID不能为空");
ElnForm form = elnFormClient.getInfo(formId).serviceData();
RestAssert.fail(null == form, "原始记录不存在");
ElnTemplate template = elnTemplateClient.getTemplateInfo(form.getTemplateId()).serviceData();
RestAssert.fail(null == template, "原始记录对应的模板不存在");
RestAssert.fail(StringUtils.isEmpty(template.getAlias()), "原始记录模板别名为空");
SoilOriginalRecord soilOriginalRecord = new SoilOriginalRecord();
soilOriginalRecord.setOriginalRecordId(formId);
soilOriginalRecord.setEntrustId(entrustId);
soilOriginalRecord.setTemplateId(template.getId());
soilOriginalRecord.setTitle(form.getTitle());
soilOriginalRecord.setUname(account.getUserName());
if (save(soilOriginalRecord)){
List<SoilExpRelOriginalRecord> saveList = new ArrayList<>();
for (Long id:ids) {
SoilExpRelOriginalRecord relOriginalRecord = new SoilExpRelOriginalRecord();
relOriginalRecord.setExpId(id);
relOriginalRecord.setRecordId(soilOriginalRecord.getId());
saveList.add(relOriginalRecord);
}
if (CollectionUtils.isNotEmpty(saveList)){
soilExpRelOriginalRecordService.saveBatch(saveList);
}
}
return true;
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean updateOriginalRecord(Long formId, Account account) {
RestAssert.fail(null == formId, "原始记录id不能为空");
ElnForm form = elnFormClient.getInfo(formId).serviceData();
RestAssert.fail(null == form, "原始记录不存在");
SoilOriginalRecord soilOriginalRecord = new SoilOriginalRecord();
soilOriginalRecord.setTitle(form.getTitle());
return super.update(soilOriginalRecord,Condition.create().eq("original_record_id",formId));
}
@Override
public Page<SoilOriginalRecordVO> pageVO(Page<SoilOriginalRecordVO> page, SoilOriginalRecordVO soilOriginalRecord) {
return page.setRecords(baseMapper.selectVOList(page,soilOriginalRecord));
}
}
......@@ -85,6 +85,10 @@
AND t.status = #{vo.expStatus}
</if>
<if test="vo.uid!=null">
AND t.tester_id = #{vo.uid}
</if>
<if test="null!=vo.expStatusList">
AND t.status IN
<foreach collection="vo.expStatusList" index="index" item="status" open="(" separator="," close=")">
......
<?xml version="1.0" encoding="UTF-8"?>
<!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.soil.mapper.SoilExpRelOriginalRecordMapper">
</mapper>
......@@ -32,6 +32,9 @@
<if test="vo.status!=null">
AND t.status = #{vo.status}
</if>
<if test="vo.testerId!=null">
AND t.tester_id = #{vo.testerId}
</if>
<if test="null!=sampleIds">
AND t.sample_id IN
......@@ -41,4 +44,118 @@
</if>
</select>
<select id="selectTestByExp" resultType="com.patzn.cloud.service.soil.vo.SoilExperimentVO">
SELECT t.name,t.test_basis,t.test_method 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="vo.testerId!=null">
AND t.tester_id = #{vo.testerId}
</if>
GROUP BY t.name,t.test_basis,t.test_method
</select>
<select id="selectExpRight" 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
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 e.deleted = 0 AND s.deleted = 0 AND t.deleted = 0
AND t.name = #{vo.name}
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.testerId!=null">
AND t.tester_id = #{vo.testerId}
</if>
</select>
<select id="selectOriginalExpList" resultType="com.patzn.cloud.service.soil.vo.SoilExperimentVO">
WITH o AS (
SELECT exp_id,company_id FROM soil_exp_rel_original_record WHERE deleted =0 AND record_id = #{vo.recordId} GROUP BY exp_id,company_id
)
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
FROM soil_experiment t
JOIN o o ON t.id = o.exp_id
JOIN soil_sample s ON t.sample_id = s.id
JOIN soil_entrust e ON s.entrust_id = e.id
WHERE e.deleted = 0 AND s.deleted = 0 AND t.deleted = 0
<if test="null!=vo.name">
AND t.name LIKE CONCAT('%',#{vo.name},'%')
</if>
<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.testerId!=null">
AND t.tester_id = #{vo.testerId}
</if>
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!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.soil.mapper.SoilOriginalRecordMapper">
<select id="selectVOList" resultType="com.patzn.cloud.service.soil.vo.SoilOriginalRecordVO">
SELECT r.id,r.original_record_id,r.title,r.ctime,r.uname,r.remark,e.entrust_code FROM soil_original_record r
JOIN soil_entrust e ON r.entrust_id = e.id
WHERE r.deleted = 0 AND e.deleted = 0
</select>
</mapper>
......@@ -69,7 +69,9 @@
<if test="null!=vo.expStatus">
AND status = #{vo.expStatus}
</if>
<if test="null!=vo.uid">
AND tester_id = #{vo.uid}
</if>
GROUP BY sample_id,company_id
)
SELECT <include refid="sColumn"/>,<include refid="eColumn"/> FROM soil_sample s
......
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