Commit cb8d17fe by wangweidong

土工试验修改

parent a1a0ac88
......@@ -68,12 +68,26 @@ public class SoilEntrustController extends ServiceController {
@PostMapping("/page_sample_receive")
public RestResult<Page<SoilEntrustVO>> getPageSampleReceive(SoilEntrustVO soilEntrust) {
soilEntrust.setSampleStatusList(Lists.newArrayList(
SoilSampleStatusEnum.RECEIVE
SoilSampleStatusEnum.RECEIVE,
SoilSampleStatusEnum.SEND
));
return success(soilEntrustService.pageVO(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_sample_prepare")
public RestResult<Page<SoilEntrustVO>> getPageSamplePrepa(SoilEntrustVO soilEntrust) {
soilEntrust.setSampleStatusList(Lists.newArrayList(
SoilSampleStatusEnum.SOIL_PREPARE
));
return success(soilEntrustService.pageVO(getPage(), soilEntrust));
}
@ApiOperation(value = "分页列表", notes = "分页查询数据列表")
......
package com.patzn.cloud.service.lims.soil.controller;
import java.util.List;
import com.patzn.cloud.service.soil.entity.SoilReceiveLocation;
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.ISoilReceiveLocationService;
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-18
*/
@Api(tags = "土工试验-收样室收样位置管理")
@RestController
@RequestMapping("/v1/receive_location")
public class SoilReceiveLocationController extends ServiceController {
@Autowired
private ISoilReceiveLocationService soilReceiveLocationService;
@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<SoilReceiveLocation>> getPage(SoilReceiveLocation soilReceiveLocation) {
return success(soilReceiveLocationService.page(getPage(), soilReceiveLocation));
}
@ApiOperation(value = "查询列表", notes = "查询数据列表")
@PostMapping("/list")
public RestResult<List<SoilReceiveLocation>> getList(SoilReceiveLocation soilReceiveLocation) {
return success(soilReceiveLocationService.list(soilReceiveLocation));
}
@ApiOperation(value = "查询 id 信息", notes = "查询指定 id 的数据内容")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<SoilReceiveLocation> get(@PathVariable("id") Long id) {
return success(soilReceiveLocationService.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, SoilReceiveLocation soilReceiveLocation) {
soilReceiveLocation.setId(id);
return success(soilReceiveLocationService.updateById(soilReceiveLocation));
}
@ApiOperation(value = "添加", notes = "添加一条数据")
@PostMapping("/")
public RestResult<Boolean> add(SoilReceiveLocation soilReceiveLocation) {
return success(soilReceiveLocationService.save(soilReceiveLocation));
}
@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(soilReceiveLocationService.remove(Condition.create().in("id", ids)));
}
}
package com.patzn.cloud.service.lims.soil.controller;
import java.util.List;
import com.patzn.cloud.service.soil.entity.SoilSampleBackup;
import com.patzn.cloud.service.soil.enums.SoilBackupStatusEnum;
import com.patzn.cloud.service.soil.vo.SoilSampleBackupVO;
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.ISoilSampleBackupService;
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-18
*/
@Api(tags = "土工试验试样表")
@RestController
@RequestMapping("/v1/sample_backup")
public class SoilSampleBackupController extends ServiceController {
@Autowired
private ISoilSampleBackupService soilSampleBackupService;
@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<SoilSampleBackup>> getPage(SoilSampleBackup soilSampleBackup) {
return success(soilSampleBackupService.page(getPage(), soilSampleBackup));
}
@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_backup")
public RestResult<Page<SoilSampleBackupVO>> getPageBackup(SoilSampleBackupVO soilSampleBackup) {
soilSampleBackup.setStatus(SoilBackupStatusEnum.DRAFT);
return success(soilSampleBackupService.pageVO(getPage(), soilSampleBackup));
}
@ApiOperation(value = "查询列表", notes = "查询数据列表")
@PostMapping("/list")
public RestResult<List<SoilSampleBackup>> getList(SoilSampleBackup soilSampleBackup) {
return success(soilSampleBackupService.list(soilSampleBackup));
}
@ApiOperation(value = "查询 id 信息", notes = "查询指定 id 的数据内容")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<SoilSampleBackup> get(@PathVariable("id") Long id) {
return success(soilSampleBackupService.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, SoilSampleBackup soilSampleBackup) {
soilSampleBackup.setId(id);
return success(soilSampleBackupService.updateById(soilSampleBackup));
}
@ApiOperation(value = "添加", notes = "添加一条数据")
@PostMapping("/")
public RestResult<Boolean> add(SoilSampleBackup soilSampleBackup) {
return success(soilSampleBackupService.save(soilSampleBackup));
}
@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(soilSampleBackupService.remove(Condition.create().in("id", ids)));
}
}
......@@ -2,6 +2,8 @@ package com.patzn.cloud.service.lims.soil.controller;
import java.util.List;
import com.patzn.cloud.service.soil.enums.SoilSampleStatusEnum;
import com.patzn.cloud.service.soil.vo.SoilSampleVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -55,6 +57,51 @@ 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_receive")
public RestResult<Page<SoilSampleVO>> getPageReceive(SoilSampleVO soilSample) {
soilSample.setStatus(SoilSampleStatusEnum.RECEIVE);
return success(soilSampleService.pageVO(getPage(), soilSample));
}
@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_send")
public RestResult<Page<SoilSampleVO>> getPageSend(SoilSampleVO soilSample) {
soilSample.setStatus(SoilSampleStatusEnum.SEND);
return success(soilSampleService.pageVO(getPage(), soilSample));
}
@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_prepare")
public RestResult<Page<SoilSampleVO>> getPagePrepare(SoilSampleVO soilSample) {
soilSample.setStatus(SoilSampleStatusEnum.SOIL_PREPARE);
return success(soilSampleService.pageVO(getPage(), soilSample));
}
@ApiOperation(value = "查询列表", notes = "查询数据列表")
@PostMapping("/list")
public RestResult<List<SoilSample>> getList(SoilSample soilSample) {
......@@ -99,4 +146,20 @@ public class SoilSampleController extends ServiceController {
return success(soilSampleService.remove(Condition.create().in("id", ids)));
}
@ApiOperation(value = "收样室收样操作", notes = "收样室收样操作")
@PostMapping("/receive_sample")
public RestResult<Boolean> receiveSample(@RequestParam("ids")Long [] ids,@RequestParam("locationId")Long locationId,
@RequestParam("receiveLocation") String receiveLocation) {
return success(soilSampleService.receiveSample(ids,locationId,receiveLocation,getAccount()));
}
@ApiOperation(value = "收样室发放样品操作", notes = "收样室发放样品")
@PostMapping("/send_sample")
public RestResult<Boolean> sendSample(@RequestParam("ids")Long [] ids) {
return success(soilSampleService.sendSample(ids,getAccount()));
}
}
......@@ -23,5 +23,5 @@ public interface SoilEntrustMapper extends BaseMapper<SoilEntrust> {
List<SoilSampleDTO> listByContractId(@Param("entrustId") Long id);
List<SoilEntrustVO> selectVOList(RowBounds rowBounds, @Param("vo")SoilEntrustVO soilEntrust);
List<SoilEntrustVO> selectVOListBySample(RowBounds rowBounds, @Param("vo")SoilEntrustVO soilEntrust);
}
package com.patzn.cloud.service.lims.soil.mapper;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.patzn.cloud.service.soil.entity.SoilReceiveLocation;
/**
* <p>
* 土工试验-收样室收样位置管理 Mapper 接口
* </p>
*
* @author wwd
* @since 2020-09-18
*/
public interface SoilReceiveLocationMapper extends BaseMapper<SoilReceiveLocation> {
}
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.SoilSampleBackup;
import com.patzn.cloud.service.soil.vo.SoilSampleBackupVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;
import java.util.List;
/**
* <p>
* 土工试验试样表 Mapper 接口
* </p>
*
* @author wwd
* @since 2020-09-18
*/
public interface SoilSampleBackupMapper extends BaseMapper<SoilSampleBackup> {
List<SoilSampleBackupVO> selectVOList(RowBounds rowBounds, @Param("vo") SoilSampleBackupVO soilSampleBackup);
}
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.SoilSample;
import com.patzn.cloud.service.soil.vo.SoilSampleVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;
import java.util.List;
/**
* <p>
......@@ -15,4 +20,6 @@ import org.apache.ibatis.annotations.Param;
public interface SoilSampleMapper extends BaseMapper<SoilSample> {
int selectEntrustCount(@Param("entrustIds") Long[] entrustIds);
List<SoilSampleVO> selectVOList(RowBounds rowBounds, @Param("vo") SoilSampleVO soilSample);
}
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.SoilReceiveLocation;
/**
* <p>
* 土工试验-收样室收样位置管理 服务类
* </p>
*
* @author wwd
* @since 2020-09-18
*/
public interface ISoilReceiveLocationService extends IBaseService<SoilReceiveLocation> {
Page<SoilReceiveLocation> page(Page<SoilReceiveLocation> page, SoilReceiveLocation soilReceiveLocation);
List<SoilReceiveLocation> list(SoilReceiveLocation soilReceiveLocation);
}
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.SoilSampleBackup;
import com.patzn.cloud.service.soil.vo.SoilSampleBackupVO;
/**
* <p>
* 土工试验试样表 服务类
* </p>
*
* @author wwd
* @since 2020-09-18
*/
public interface ISoilSampleBackupService extends IBaseService<SoilSampleBackup> {
Page<SoilSampleBackup> page(Page<SoilSampleBackup> page, SoilSampleBackup soilSampleBackup);
List<SoilSampleBackup> list(SoilSampleBackup soilSampleBackup);
boolean initBackup(Long[] ids, Account account);
Page<SoilSampleBackupVO> pageVO(Page<SoilSampleBackupVO> page, SoilSampleBackupVO soilSampleBackup);
}
......@@ -3,6 +3,7 @@ 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.SoilSampleOperation;
......@@ -21,4 +22,8 @@ public interface ISoilSampleOperationService extends IBaseService<SoilSampleOper
List<SoilSampleOperation> list(SoilSampleOperation soilSampleOperation);
boolean recordReceiveInfo(Long[] ids, Long locationId, String receiveLocation, Account account);
boolean recordSenderInfo(Long[] ids, Account account);
}
......@@ -3,8 +3,10 @@ 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.SoilSampleRecord;
import com.patzn.cloud.service.soil.enums.SoilSampleStatusEnum;
/**
* <p>
......@@ -21,4 +23,6 @@ public interface ISoilSampleRecordService extends IBaseService<SoilSampleRecord>
List<SoilSampleRecord> list(SoilSampleRecord soilSampleRecord);
void record(SoilSampleStatusEnum receive, SoilSampleStatusEnum send, Long[] ids, int i, Account account, String 收样室收样);
}
......@@ -3,8 +3,10 @@ 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.SoilSample;
import com.patzn.cloud.service.soil.vo.SoilSampleVO;
/**
* <p>
......@@ -28,4 +30,10 @@ public interface ISoilSampleService extends IBaseService<SoilSample> {
boolean checkEntrustHaveSample(Long[] ids);
boolean updateToReceiveByEntrustIds(Long[] ids);
Page<SoilSampleVO> pageVO(Page<SoilSampleVO> page, SoilSampleVO soilSample);
boolean receiveSample(Long[] ids, Long locationId, String receiveLocation, Account account);
boolean sendSample(Long[] ids, Account account);
}
......@@ -369,7 +369,7 @@ public class SoilEntrustServiceImpl extends BaseServiceImpl<SoilEntrustMapper, S
@Override
public Page<SoilEntrustVO> pageVO(Page<SoilEntrustVO> page, SoilEntrustVO soilEntrust) {
return page.setRecords(baseMapper.selectVOList(page,soilEntrust));
return page.setRecords(baseMapper.selectVOListBySample(page,soilEntrust));
}
......
package com.patzn.cloud.service.lims.soil.service.impl;
import java.util.List;
import com.patzn.cloud.service.lims.soil.mapper.SoilReceiveLocationMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilReceiveLocationService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.entity.SoilReceiveLocation;
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-18
*/
@Service
public class SoilReceiveLocationServiceImpl extends BaseServiceImpl<SoilReceiveLocationMapper, SoilReceiveLocation> implements ISoilReceiveLocationService {
@Override
public Page<SoilReceiveLocation> page(Page<SoilReceiveLocation> page, SoilReceiveLocation soilReceiveLocation) {
Wrapper wrapper = new EntityWrapper<>(soilReceiveLocation);
return this.page(page, wrapper);
}
@Override
public List<SoilReceiveLocation> list(SoilReceiveLocation soilReceiveLocation) {
return this.list(new EntityWrapper<>(soilReceiveLocation));
}
}
package com.patzn.cloud.service.lims.soil.service.impl;
import java.util.ArrayList;
import java.util.List;
import com.baomidou.mybatisplus.toolkit.CollectionUtils;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.service.lims.soil.mapper.SoilSampleBackupMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilSampleBackupService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.entity.SoilSampleBackup;
import com.patzn.cloud.service.soil.enums.SoilBackupStatusEnum;
import com.patzn.cloud.service.soil.enums.SoilSampleStatusEnum;
import com.patzn.cloud.service.soil.vo.SoilSampleBackupVO;
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-18
*/
@Service
public class SoilSampleBackupServiceImpl extends BaseServiceImpl<SoilSampleBackupMapper, SoilSampleBackup> implements ISoilSampleBackupService {
@Override
public Page<SoilSampleBackup> page(Page<SoilSampleBackup> page, SoilSampleBackup soilSampleBackup) {
Wrapper wrapper = new EntityWrapper<>(soilSampleBackup);
return this.page(page, wrapper);
}
@Override
public List<SoilSampleBackup> list(SoilSampleBackup soilSampleBackup) {
return this.list(new EntityWrapper<>(soilSampleBackup));
}
@Override
public boolean initBackup(Long[] ids, Account account) {
List<SoilSampleBackup> saveList = new ArrayList<>();
for (Long id:ids) {
SoilSampleBackup backup = new SoilSampleBackup();
backup.setSampleId(id);
backup.setStatus(SoilBackupStatusEnum.DRAFT);
backup.setProgress(SoilBackupStatusEnum.DRAFT);
saveList.add(backup);
}
if (CollectionUtils.isNotEmpty(saveList)){
return saveBatch(saveList);
}
return false;
}
@Override
public Page<SoilSampleBackupVO> pageVO(Page<SoilSampleBackupVO> page, SoilSampleBackupVO soilSampleBackup) {
return page.setRecords(baseMapper.selectVOList(page,soilSampleBackup));
}
}
package com.patzn.cloud.service.lims.soil.service.impl;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.mapper.Condition;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.service.soil.entity.SoilSampleOperation;
import com.patzn.cloud.service.lims.soil.mapper.SoilSampleOperationMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilSampleOperationService;
......@@ -35,4 +38,24 @@ public class SoilSampleOperationServiceImpl extends BaseServiceImpl<SoilSampleOp
public List<SoilSampleOperation> list(SoilSampleOperation soilSampleOperation) {
return this.list(new EntityWrapper<>(soilSampleOperation));
}
@Override
public boolean recordReceiveInfo(Long[] ids, Long locationId, String receiveLocation, Account account) {
SoilSampleOperation operation = new SoilSampleOperation();
operation.setLocationId(locationId);
operation.setReceiver(account.getUserName());
operation.setReceiverId(account.getUserId());
operation.setReceiveTime(new Date());
operation.setReceiveLocation(receiveLocation);
return super.update(operation, Condition.create().in("sample_id",ids));
}
@Override
public boolean recordSenderInfo(Long[] ids, Account account) {
SoilSampleOperation operation = new SoilSampleOperation();
operation.setSender(account.getUserName());
operation.setSenderId(account.getUserId());
operation.setSendTime(new Date());
return super.update(operation, Condition.create().in("sample_id",ids));
}
}
package com.patzn.cloud.service.lims.soil.service.impl;
import java.util.ArrayList;
import java.util.List;
import com.baomidou.mybatisplus.toolkit.CollectionUtils;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.service.soil.entity.SoilSampleRecord;
import com.patzn.cloud.service.lims.soil.mapper.SoilSampleRecordMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilSampleRecordService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.enums.SoilSampleStatusEnum;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
......@@ -35,4 +39,24 @@ public class SoilSampleRecordServiceImpl extends BaseServiceImpl<SoilSampleRecor
public List<SoilSampleRecord> list(SoilSampleRecord soilSampleRecord) {
return this.list(new EntityWrapper<>(soilSampleRecord));
}
@Override
public void record(SoilSampleStatusEnum from, SoilSampleStatusEnum to, Long[] ids, int type, Account account, String remark) {
List<SoilSampleRecord> saveList = new ArrayList<>();
for (Long sampleId:ids) {
SoilSampleRecord record = new SoilSampleRecord();
record.setSampleId(sampleId);
record.setOperator(account.getUserName());
record.setType(type);
record.setTarget(to.getDisplay());
record.setOrigin(from.getDisplay());
record.setOperatorId(account.getUserId());
record.setRemark(remark);
saveList.add(record);
}
if (CollectionUtils.isNotEmpty(saveList)){
saveBatch(saveList);
}
}
}
......@@ -3,16 +3,25 @@ package com.patzn.cloud.service.lims.soil.service.impl;
import java.util.List;
import com.baomidou.mybatisplus.mapper.Condition;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.service.lims.soil.service.ISoilSampleBackupService;
import com.patzn.cloud.service.lims.soil.service.ISoilSampleOperationService;
import com.patzn.cloud.service.lims.soil.service.ISoilSampleRecordService;
import com.patzn.cloud.service.soil.entity.SoilSample;
import com.patzn.cloud.service.lims.soil.mapper.SoilSampleMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilSampleService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.enums.SoilSampleStatusEnum;
import com.patzn.cloud.service.soil.vo.SoilSampleVO;
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>
......@@ -25,6 +34,15 @@ import com.baomidou.mybatisplus.plugins.Page;
@Service
public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, SoilSample> implements ISoilSampleService {
@Autowired
private ISoilSampleOperationService soilSampleOperationService;
@Autowired
private ISoilSampleRecordService soilSampleRecordService;
@Autowired
private ISoilSampleBackupService soilSampleBackupService;
@Override
public Page<SoilSample> page(Page<SoilSample> page, SoilSample soilSample) {
......@@ -66,4 +84,49 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi
sample.setProgress(SoilSampleStatusEnum.RECEIVE);
return super.update(sample,Condition.create().in("entrust_id",ids));
}
@Override
public Page<SoilSampleVO> pageVO(Page<SoilSampleVO> page, SoilSampleVO soilSample) {
return page.setRecords(baseMapper.selectVOList(page,soilSample));
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean receiveSample(Long[] ids, Long locationId, String receiveLocation, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要接收的样品");
RestAssert.fail(null == locationId || StringUtils.isBlank(receiveLocation),"请选择要存放的位置");
int count = super.count(Condition.create().in("id",ids).ne("status",SoilSampleStatusEnum.RECEIVE));
RestAssert.fail(count>0,"请接收待接收的样品");
SoilSample sample = new SoilSample();
sample.setStatus(SoilSampleStatusEnum.SEND);
sample.setProgress(SoilSampleStatusEnum.SEND);
if (super.update(sample,Condition.create().in("id",ids))){
soilSampleOperationService.recordReceiveInfo(ids,locationId,receiveLocation,account);
soilSampleRecordService.record(SoilSampleStatusEnum.RECEIVE,SoilSampleStatusEnum.SEND,ids,0,account,"收样室收样");
//soilSampleBackupService.initBackup(ids,account);
//初始化备样
}
return true;
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean sendSample(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要发放的样品");
int count = super.count(Condition.create().in("id",ids).ne("status",SoilSampleStatusEnum.SEND));
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.SEND,SoilSampleStatusEnum.SOIL_PREPARE,ids,0,account,"收样室发放样品");
soilSampleBackupService.initBackup(ids,account);
//初始化备样
}
return true;
}
}
......@@ -48,7 +48,7 @@
AND e.entrust_code LIKE CONCAT('%',#{vo.entrustCode},'%')
</if>
</sql>
<select id="selectVOList" resultType="com.patzn.cloud.service.soil.vo.SoilEntrustVO">
<select id="selectVOListBySample" resultType="com.patzn.cloud.service.soil.vo.SoilEntrustVO">
WITH s AS (
SELECT entrust_id FROM soil_sample WHERE deleted = 0
<if test="null!=vo.sampleStatus">
......
<?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.SoilReceiveLocationMapper">
</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.SoilSampleBackupMapper">
<sql id="bColumn">
b.id,
b.status,
b.progress,
b.quantity,
b.start_time,
b.end_time,
b.backup_location,
b.backup_user,
b.backup_user_id,
b.conditions
</sql>
<sql id="sColumn">
s.site_no,
s.sample_code,
s.sample_depth,
s.sample_pack,
s.sample_describe,
s.status,
s.progress
</sql>
<sql id="eColumn">
e.client,
e.project_no,
e.borehole_name,
e.borehole_location,
e.water_depth,
e.entrust_code,
e.entrust_date,
e.test_type,
e.report_code,
e.tabulate_date,
e.approve_date,
e.tabulater,
e.approver,
e.status,
e.progress
</sql>
<sql id="sWhere">
<if test="null!=vo.status">
AND b.status = #{vo.status}
</if>
<if test="null!=vo.client">
AND e.client LIKE CONCAT('%',#{vo.client},'%')
</if>
<if test="null!=vo.entrustCode">
AND e.entrust_code LIKE CONCAT('%',#{vo.entrustCode},'%')
</if>
<if test="null!=vo.sampleCode">
AND s.sample_code LIKE CONCAT('%',#{vo.sampleCode},'%')
</if>
</sql>
<select id="selectVOList" resultType="com.patzn.cloud.service.soil.vo.SoilSampleBackupVO">
SELECT
<include refid="bColumn"/>,
<include refid="sColumn"/>,
<include refid="eColumn"/>
FROM soil_sample_backup b
JOIN soil_sample s ON b.sample_id = s.id
JOIN soil_entrust e ON s.entrust_id = e.id
WHERE b.deleted = 0 AND s.deleted = 0 AND e.deleted = 0
<include refid="sWhere"/>
</select>
</mapper>
......@@ -10,4 +10,56 @@
</foreach>
GROUP BY entrust_id) s
</select>
<sql id="sColumn">
s.id,
s.site_no,
s.sample_code,
s.sample_depth,
s.sample_pack,
s.sample_describe,
s.status,
s.progress
</sql>
<sql id="eColumn">
e.client,
e.project_no,
e.borehole_name,
e.borehole_location,
e.water_depth,
e.entrust_code,
e.entrust_date,
e.test_type,
e.report_code,
e.tabulate_date,
e.approve_date,
e.tabulater,
e.approver,
e.status,
e.progress
</sql>
<sql id="sWhere">
<if test="null!=vo.entrustId">
AND s.entrust_id = #{vo.entrustId}
</if>
<if test="null!=vo.status">
AND s.status = #{vo.status}
</if>
<if test="null!=vo.siteNo">
AND s.site_no LIKE CONCAT('%',#{vo.siteNo},'%')
</if>
<if test="null!=vo.sampleCode">
AND s.sample_code LIKE CONCAT('%',#{vo.sampleCode},'%')
</if>
</sql>
<select id="selectVOList" resultType="com.patzn.cloud.service.soil.vo.SoilSampleVO">
SELECT <include refid="sColumn"/>,<include refid="eColumn"/> FROM soil_sample s
JOIN soil_sample_operation o ON s.id = o.sample_id
JOIN soil_entrust e ON s.entrust_id = e.id
WHERE s.deleted = 0 AND e.deleted = 0
<include refid="sWhere"/>
</select>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment