Commit be0561a8 by wangweidong

霍煤宏骏

parent 8bca35be
...@@ -2,7 +2,9 @@ package com.patzn.cloud.service.lims.hmhj.controller; ...@@ -2,7 +2,9 @@ package com.patzn.cloud.service.lims.hmhj.controller;
import com.patzn.cloud.service.hmhj.dto.EntrustDTO; import com.patzn.cloud.service.hmhj.dto.EntrustDTO;
import com.patzn.cloud.service.hmhj.entity.Entrust; import com.patzn.cloud.service.hmhj.entity.Entrust;
import com.patzn.cloud.service.hmhj.enums.EntrustSamplePrepareStatusEnum;
import com.patzn.cloud.service.hmhj.enums.EntrustStatusEnum; import com.patzn.cloud.service.hmhj.enums.EntrustStatusEnum;
import com.patzn.cloud.service.hmhj.vo.EntrustVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -120,6 +122,25 @@ public class EntrustController extends ServiceController { ...@@ -120,6 +122,25 @@ public class EntrustController extends ServiceController {
} }
@ApiOperation(value = "编辑委托单", notes = "编辑报价单")
@PostMapping("/edit_entrust")
public RestResult<Boolean> editEntrust(@RequestBody EntrustDTO entrustDTO) {
return success(entrustService.editEntrust(entrustDTO,getAccount()));
}
@ApiOperation(value = "根据ID查询VO查询 id 信息", notes = "根据ID查询VO查询 id 的数据内容")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataType = "long"),
})
@GetMapping("/vo/{id}")
public RestResult<EntrustDTO> getDTO(@PathVariable("id") Long id) {
return success(entrustService.getDTOById(id));
}
@ApiOperation("提交至委托评审") @ApiOperation("提交至委托评审")
@PostMapping("/submit_to_check") @PostMapping("/submit_to_check")
public RestResult<Boolean> submitToCheck(@RequestParam("ids")Long [] ids) { public RestResult<Boolean> submitToCheck(@RequestParam("ids")Long [] ids) {
...@@ -147,4 +168,19 @@ public class EntrustController extends ServiceController { ...@@ -147,4 +168,19 @@ public class EntrustController extends ServiceController {
public RestResult<Boolean> registerSubmitToMake(@RequestParam("ids")Long [] ids) { public RestResult<Boolean> registerSubmitToMake(@RequestParam("ids")Long [] ids) {
return success(entrustService.registerSubmitToMake(ids,getAccount())); return success(entrustService.registerSubmitToMake(ids,getAccount()));
} }
@ApiOperation("样品接收委托分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page_entrust_sample_receive")
public RestResult<Page<EntrustVO>> getPageEntrustSampleReceive(EntrustVO entrust) {
entrust.setPrepareStatus(EntrustSamplePrepareStatusEnum.RECEIVE);
return success(entrustService.pageEntrustSampleReceive(getPage(), entrust));
}
} }
package com.patzn.cloud.service.lims.hmhj.controller; package com.patzn.cloud.service.lims.hmhj.controller;
import com.patzn.cloud.service.hmhj.entity.EntrustSampleBackup; import com.patzn.cloud.service.hmhj.entity.EntrustSampleBackup;
import com.patzn.cloud.service.hmhj.enums.EntrustSampleBackupStatusEnum;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
...@@ -38,7 +39,7 @@ public class EntrustSampleBackupController extends ServiceController { ...@@ -38,7 +39,7 @@ public class EntrustSampleBackupController extends ServiceController {
@Autowired @Autowired
private IEntrustSampleBackupService entrustSampleBackupService; private IEntrustSampleBackupService entrustSampleBackupService;
@ApiOperation("分页列表") @ApiOperation("样品备样分页列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class), @ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
...@@ -47,6 +48,9 @@ public class EntrustSampleBackupController extends ServiceController { ...@@ -47,6 +48,9 @@ public class EntrustSampleBackupController extends ServiceController {
}) })
@PostMapping("/page") @PostMapping("/page")
public RestResult<Page<EntrustSampleBackup>> getPage(EntrustSampleBackup entrustSampleBackup) { public RestResult<Page<EntrustSampleBackup>> getPage(EntrustSampleBackup entrustSampleBackup) {
entrustSampleBackup.setStatus(EntrustSampleBackupStatusEnum.BACKUP_ING);
return success(entrustSampleBackupService.page(getPage(), entrustSampleBackup)); return success(entrustSampleBackupService.page(getPage(), entrustSampleBackup));
} }
...@@ -75,6 +79,15 @@ public class EntrustSampleBackupController extends ServiceController { ...@@ -75,6 +79,15 @@ public class EntrustSampleBackupController extends ServiceController {
return success(entrustSampleBackupService.save(entrustSampleBackup)); return success(entrustSampleBackupService.save(entrustSampleBackup));
} }
@ApiOperation("完成添加")
@PostMapping("/handle_ok")
public RestResult<Boolean> handleOk(@RequestParam("ids") Long [] ids) {
return success(entrustSampleBackupService.handleOk(ids,getAccount()));
}
@ApiOperation("根据 ids 删除") @ApiOperation("根据 ids 删除")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class), @ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
......
package com.patzn.cloud.service.lims.hmhj.controller; package com.patzn.cloud.service.lims.hmhj.controller;
import com.patzn.cloud.service.hmhj.entity.EntrustSample; import com.patzn.cloud.service.hmhj.entity.EntrustSample;
import com.patzn.cloud.service.hmhj.enums.EntrustSamplePrepareStatusEnum;
import com.patzn.cloud.service.hmhj.vo.EntrustSampleVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
...@@ -83,4 +85,28 @@ public class EntrustSampleController extends ServiceController { ...@@ -83,4 +85,28 @@ public class EntrustSampleController extends ServiceController {
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) { public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(entrustSampleService.removeByIds(ids)); return success(entrustSampleService.removeByIds(ids));
} }
@ApiOperation("获取制备信息")
@PostMapping("/obtain_make_info")
public RestResult<List<EntrustSampleVO>> obtainMakeInfo(@RequestParam("ids") Long [] ids) {
return success(entrustSampleService.obtainMakeInfo(ids,getAccount()));
}
@ApiOperation("样品接收分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page_sample_receive")
public RestResult<Page<EntrustSampleVO>> getPageSampleReceive(EntrustSampleVO entrustSample) {
entrustSample.setPrepareStatus(EntrustSamplePrepareStatusEnum.RECEIVE);
return success(entrustSampleService.pageSampleReceive(getPage(), entrustSample));
}
} }
package com.patzn.cloud.service.lims.hmhj.controller;
import com.patzn.cloud.service.hmhj.dto.SamplePrepareDTO;
import com.patzn.cloud.service.hmhj.entity.EntrustSamplePrepare;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
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.hmhj.service.IEntrustSamplePrepareService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* 制备表 前端控制器
*
* @author wwd
* @since 2021-02-22
*/
@Api(tags = "制备表")
@RestController
@RequestMapping("/v1/sample_prepare")
public class EntrustSamplePrepareController extends ServiceController {
@Autowired
private IEntrustSamplePrepareService entrustSamplePrepareService;
@ApiOperation("分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
})
@PostMapping("/page")
public RestResult<Page<EntrustSamplePrepare>> getPage(EntrustSamplePrepare entrustSamplePrepare) {
return success(entrustSamplePrepareService.page(getPage(), entrustSamplePrepare));
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<EntrustSamplePrepare> get(@PathVariable("id") Long id) {
return success(entrustSamplePrepareService.getById(id));
}
@ApiOperation("根据 id 修改信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@PutMapping("/{id}")
public RestResult<Boolean> edit(@PathVariable("id") Long id, EntrustSamplePrepare entrustSamplePrepare) {
entrustSamplePrepare.setId(id);
return success(entrustSamplePrepareService.updateById(entrustSamplePrepare));
}
@ApiOperation("添加")
@PostMapping("/")
public RestResult<Boolean> add(EntrustSamplePrepare entrustSamplePrepare) {
return success(entrustSamplePrepareService.save(entrustSamplePrepare));
}
@ApiOperation("制备完成")
@PostMapping("/make_end")
public RestResult<Boolean> makeEnd(@RequestBody SamplePrepareDTO dto) {
return success(entrustSamplePrepareService.makeEnd(dto,getAccount()));
}
@ApiOperation("根据 ids 删除")
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
})
@DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(entrustSamplePrepareService.removeByIds(ids));
}
}
package com.patzn.cloud.service.lims.hmhj.mapper; package com.patzn.cloud.service.lims.hmhj.mapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.service.hmhj.dto.EntrustSampleDTO;
import com.patzn.cloud.service.hmhj.entity.Entrust; import com.patzn.cloud.service.hmhj.entity.Entrust;
import com.patzn.cloud.commons.mapper.BatchMapper; import com.patzn.cloud.commons.mapper.BatchMapper;
import com.patzn.cloud.service.hmhj.vo.EntrustVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;
import java.util.List;
/** /**
* <p> * <p>
...@@ -13,4 +20,7 @@ import com.patzn.cloud.commons.mapper.BatchMapper; ...@@ -13,4 +20,7 @@ import com.patzn.cloud.commons.mapper.BatchMapper;
*/ */
public interface EntrustMapper extends BatchMapper<Entrust> { public interface EntrustMapper extends BatchMapper<Entrust> {
List<EntrustSampleDTO> listByContractId(@Param("entrustId") Long id);
List<EntrustVO> selectEntrustSampleReceive(RowBounds rowBounds, @Param("vo")EntrustVO entrust);
} }
package com.patzn.cloud.service.lims.hmhj.mapper; package com.patzn.cloud.service.lims.hmhj.mapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.service.hmhj.entity.EntrustSample; import com.patzn.cloud.service.hmhj.entity.EntrustSample;
import com.patzn.cloud.commons.mapper.BatchMapper; import com.patzn.cloud.commons.mapper.BatchMapper;
import com.patzn.cloud.service.hmhj.vo.EntrustSampleVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;
import java.util.List;
/** /**
* <p> * <p>
...@@ -13,4 +19,5 @@ import com.patzn.cloud.commons.mapper.BatchMapper; ...@@ -13,4 +19,5 @@ import com.patzn.cloud.commons.mapper.BatchMapper;
*/ */
public interface EntrustSampleMapper extends BatchMapper<EntrustSample> { public interface EntrustSampleMapper extends BatchMapper<EntrustSample> {
List<EntrustSampleVO> selectSampleReceiveList(RowBounds rowBounds, @Param("vo") EntrustSampleVO entrustSample);
} }
package com.patzn.cloud.service.lims.hmhj.mapper;
import com.patzn.cloud.commons.mapper.BatchMapper;
import com.patzn.cloud.service.hmhj.entity.EntrustSamplePrepare;
/**
* <p>
* Mapper 接口
* </p>
*
* @author wwd
* @since 2021-02-22
*/
public interface EntrustSamplePrepareMapper extends BatchMapper<EntrustSamplePrepare> {
}
package com.patzn.cloud.service.lims.hmhj.service; package com.patzn.cloud.service.lims.hmhj.service;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.service.IBaseService; import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.hmhj.entity.EntrustSampleBackup; import com.patzn.cloud.service.hmhj.entity.EntrustSampleBackup;
...@@ -17,4 +18,6 @@ public interface IEntrustSampleBackupService extends IBaseService<EntrustSampleB ...@@ -17,4 +18,6 @@ public interface IEntrustSampleBackupService extends IBaseService<EntrustSampleB
Page<EntrustSampleBackup> page(Page<EntrustSampleBackup> page, EntrustSampleBackup entrustSampleBackup); Page<EntrustSampleBackup> page(Page<EntrustSampleBackup> page, EntrustSampleBackup entrustSampleBackup);
boolean removeByIds(List<Long> ids); boolean removeByIds(List<Long> ids);
boolean handleOk(Long[] ids, Account account);
} }
package com.patzn.cloud.service.lims.hmhj.service;
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.hmhj.dto.SamplePrepareDTO;
import com.patzn.cloud.service.hmhj.entity.EntrustSamplePrepare;
import java.util.List;
/**
* 服务类
*
* @author wwd
* @since 2021-02-22
*/
public interface IEntrustSamplePrepareService extends IBaseService<EntrustSamplePrepare> {
Page<EntrustSamplePrepare> page(Page<EntrustSamplePrepare> page, EntrustSamplePrepare entrustSamplePrepare);
boolean removeByIds(List<Long> ids);
boolean makeEnd(SamplePrepareDTO dto, Account account);
}
package com.patzn.cloud.service.lims.hmhj.service; package com.patzn.cloud.service.lims.hmhj.service;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.service.IBaseService; import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.hmhj.entity.EntrustSample; import com.patzn.cloud.service.hmhj.entity.EntrustSample;
import com.patzn.cloud.service.hmhj.vo.EntrustSampleVO;
import java.util.List; import java.util.List;
...@@ -17,4 +19,8 @@ public interface IEntrustSampleService extends IBaseService<EntrustSample> { ...@@ -17,4 +19,8 @@ public interface IEntrustSampleService extends IBaseService<EntrustSample> {
Page<EntrustSample> page(Page<EntrustSample> page, EntrustSample entrustSample); Page<EntrustSample> page(Page<EntrustSample> page, EntrustSample entrustSample);
boolean removeByIds(List<Long> ids); boolean removeByIds(List<Long> ids);
List<EntrustSampleVO> obtainMakeInfo(Long[] ids, Account account);
Page<EntrustSampleVO> pageSampleReceive(Page<EntrustSampleVO> page, EntrustSampleVO entrustSample);
} }
...@@ -5,6 +5,8 @@ import com.patzn.cloud.commons.controller.Account; ...@@ -5,6 +5,8 @@ import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.service.IBaseService; import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.hmhj.dto.EntrustDTO; import com.patzn.cloud.service.hmhj.dto.EntrustDTO;
import com.patzn.cloud.service.hmhj.entity.Entrust; import com.patzn.cloud.service.hmhj.entity.Entrust;
import com.patzn.cloud.service.hmhj.vo.EntrustVO;
import java.util.List; import java.util.List;
/** /**
...@@ -28,4 +30,10 @@ public interface IEntrustService extends IBaseService<Entrust> { ...@@ -28,4 +30,10 @@ public interface IEntrustService extends IBaseService<Entrust> {
boolean submitToMake(Long[] ids, Account account); boolean submitToMake(Long[] ids, Account account);
boolean registerSubmitToMake(Long[] ids, Account account); boolean registerSubmitToMake(Long[] ids, Account account);
boolean editEntrust(EntrustDTO entrustDTO, Account account);
EntrustDTO getDTOById(Long id);
Page<EntrustVO> pageEntrustSampleReceive(Page<EntrustVO> page, EntrustVO entrust);
} }
package com.patzn.cloud.service.lims.hmhj.service.impl; package com.patzn.cloud.service.lims.hmhj.service.impl;
import com.baomidou.mybatisplus.mapper.Condition; import com.baomidou.mybatisplus.mapper.Condition;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.service.hmhj.entity.EntrustSampleBackup; import com.patzn.cloud.service.hmhj.entity.EntrustSampleBackup;
import com.patzn.cloud.service.hmhj.enums.EntrustSampleBackupStatusEnum;
import com.patzn.cloud.service.lims.hmhj.mapper.EntrustSampleBackupMapper; import com.patzn.cloud.service.lims.hmhj.mapper.EntrustSampleBackupMapper;
import com.patzn.cloud.service.lims.hmhj.service.IEntrustSampleBackupService; import com.patzn.cloud.service.lims.hmhj.service.IEntrustSampleBackupService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl; import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
...@@ -32,4 +37,15 @@ public class EntrustSampleBackupServiceImpl extends BaseServiceImpl<EntrustSampl ...@@ -32,4 +37,15 @@ public class EntrustSampleBackupServiceImpl extends BaseServiceImpl<EntrustSampl
public boolean removeByIds(List<Long> ids) { public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0; return baseMapper.deleteBatchIds(ids) > 0;
} }
@Transactional(rollbackFor = Exception.class)
@Override
public boolean handleOk(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择完成处置的样品!");
EntrustSampleBackup backup = new EntrustSampleBackup();
backup.setStatus(EntrustSampleBackupStatusEnum.HANDLE_OK);
backup.setProgress(EntrustSampleBackupStatusEnum.HANDLE_OK);
return super.update(backup,Condition.create().in("id",ids));
}
} }
package com.patzn.cloud.service.lims.hmhj.service.impl;
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.service.hmhj.dto.SamplePrepareDTO;
import com.patzn.cloud.service.hmhj.entity.EntrustSample;
import com.patzn.cloud.service.hmhj.entity.EntrustSampleBackup;
import com.patzn.cloud.service.hmhj.entity.EntrustSamplePrepare;
import com.patzn.cloud.service.hmhj.enums.EntrustSampleBackupStatusEnum;
import com.patzn.cloud.service.hmhj.enums.EntrustSamplePrepareStatusEnum;
import com.patzn.cloud.service.hmhj.enums.EntrustSampleStatusEnum;
import com.patzn.cloud.service.hmhj.vo.EntrustSampleVO;
import com.patzn.cloud.service.lims.hmhj.mapper.EntrustSamplePrepareMapper;
import com.patzn.cloud.service.lims.hmhj.service.IEntrustSampleBackupService;
import com.patzn.cloud.service.lims.hmhj.service.IEntrustSamplePrepareService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.lims.hmhj.service.IEntrustSampleService;
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;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* 服务实现类
*
* @author wwd
* @since 2021-02-22
*/
@Service
public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamplePrepareMapper, EntrustSamplePrepare> implements IEntrustSamplePrepareService {
@Autowired
private IEntrustSampleService entrustSampleService;
@Autowired
private IEntrustSampleBackupService entrustSampleBackupService;
@Override
public Page<EntrustSamplePrepare> page(Page<EntrustSamplePrepare> page, EntrustSamplePrepare entrustSamplePrepare) {
Wrapper wrapper = new EntityWrapper<>(entrustSamplePrepare);
return this.page(page, wrapper);
}
@Override
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean makeEnd(SamplePrepareDTO dto, Account account) {
RestAssert.fail(null == dto,"请填写制备信息");
List<EntrustSampleVO> sampleVOList = dto.getSampleVOList();
RestAssert.fail(CollectionUtils.isEmpty(sampleVOList),"请填写制备信息");
List<EntrustSamplePrepare> savePrepare = new ArrayList<>();
List<Long> sampleIdsList = new ArrayList<>();
for (EntrustSampleVO vo: sampleVOList) {
EntrustSamplePrepare prepare = new EntrustSamplePrepare();
prepare.setEntrustSampleId(vo.getEntrustSampleId());
prepare.setStatus(EntrustSamplePrepareStatusEnum.RECEIVE);
prepare.setProgress(EntrustSamplePrepareStatusEnum.RECEIVE);
savePrepare.add(prepare);
sampleIdsList.add(vo.getEntrustSampleId());
}
List<EntrustSample> sampleList = entrustSampleService.getBatchIds(sampleIdsList);
List<EntrustSampleBackup> backupList = entrustSampleBackupService.list(Condition.create().in("sample_id",sampleIdsList));
List<Long> haveSampleIds = backupList.stream().map(b->{
return b.getSampleId();
}).collect(Collectors.toList());
List<EntrustSampleBackup> saveBackupList = new ArrayList<>();
for (EntrustSample sample:sampleList) {
if (haveSampleIds.contains(sample.getId())){
continue;
}
EntrustSampleBackup backup = new EntrustSampleBackup();
backup.setEntrustId(sample.getEntrustId());
backup.setSampleId(sample.getId());
backup.setStatus(EntrustSampleBackupStatusEnum.BACKUP_ING);
backup.setProgress(EntrustSampleBackupStatusEnum.BACKUP_ING);
saveBackupList.add(backup);
}
if (CollectionUtils.isNotEmpty(saveBackupList)){
entrustSampleBackupService.saveBatch(saveBackupList);
}
return saveBatch(savePrepare);
}
}
package com.patzn.cloud.service.lims.hmhj.service.impl; package com.patzn.cloud.service.lims.hmhj.service.impl;
import com.baomidou.mybatisplus.mapper.Condition; import com.baomidou.mybatisplus.mapper.Condition;
import com.baomidou.mybatisplus.toolkit.CollectionUtils;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.service.hmhj.entity.EntrustSample; import com.patzn.cloud.service.hmhj.entity.EntrustSample;
import com.patzn.cloud.service.hmhj.entity.EntrustSampleItem;
import com.patzn.cloud.service.hmhj.vo.EntrustSampleVO;
import com.patzn.cloud.service.lims.common.StringHandleUtils;
import com.patzn.cloud.service.lims.hmhj.mapper.EntrustSampleMapper; import com.patzn.cloud.service.lims.hmhj.mapper.EntrustSampleMapper;
import com.patzn.cloud.service.lims.hmhj.service.IEntrustSampleItemService;
import com.patzn.cloud.service.lims.hmhj.service.IEntrustSampleService; import com.patzn.cloud.service.lims.hmhj.service.IEntrustSampleService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl; import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import java.util.List; import java.util.*;
import java.util.stream.Collectors;
/** /**
* 服务实现类 * 服务实现类
...@@ -21,6 +31,11 @@ import java.util.List; ...@@ -21,6 +31,11 @@ import java.util.List;
@Service @Service
public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMapper, EntrustSample> implements IEntrustSampleService { public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMapper, EntrustSample> implements IEntrustSampleService {
@Autowired
private IEntrustSampleItemService entrustSampleItemService;
@Override @Override
public Page<EntrustSample> page(Page<EntrustSample> page, EntrustSample entrustSample) { public Page<EntrustSample> page(Page<EntrustSample> page, EntrustSample entrustSample) {
Wrapper wrapper = new EntityWrapper<>(entrustSample); Wrapper wrapper = new EntityWrapper<>(entrustSample);
...@@ -32,4 +47,71 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe ...@@ -32,4 +47,71 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
public boolean removeByIds(List<Long> ids) { public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0; return baseMapper.deleteBatchIds(ids) > 0;
} }
@Override
public List<EntrustSampleVO> obtainMakeInfo(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要制备的样品");
List<EntrustSample> entrustSamples = super.list(Condition.create().in("id",ids));
RestAssert.fail(CollectionUtils.isEmpty(entrustSamples),"请选择要制备的样品");
List<Long> sampleIds = entrustSamples.stream().map(s->{
return s.getId();
}).collect(Collectors.toList());
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().in("entrust_sample_id",ids));
RestAssert.fail(CollectionUtils.isEmpty(itemList),"所选择的样品不含检测项目,无法制备");
Set<Long> setSampleIds = itemList.stream().map(i->{
return i.getEntrustSampleId();
}).collect(Collectors.toSet());
if (setSampleIds.size()!=ids.length){
RestAssert.fail(CollectionUtils.isEmpty(itemList),"所选择的样品有不含检测项目的,请确认");
}
Map<Long,Map<Long,String>> sampleGroupMap = new HashMap<>();
for (EntrustSampleItem item:itemList) {
if (sampleGroupMap.containsKey(item.getEntrustSampleId())){
Map<Long,String> groupMap = sampleGroupMap.get(item.getEntrustSampleId());
groupMap.put(item.getGroupId(),item.getGroupName());
sampleGroupMap.put(item.getEntrustSampleId(),groupMap);
}else{
Map<Long,String> groupMap =new HashMap<>();
groupMap.put(item.getGroupId(),item.getGroupName());
sampleGroupMap.put(item.getEntrustSampleId(),groupMap);
}
}
List<EntrustSampleVO> list=new ArrayList<>();
for (EntrustSample sample:entrustSamples) {
Map<Long,String> groupMap = sampleGroupMap.get(sample);
for (Map.Entry<Long,String> g: groupMap.entrySet()) {
EntrustSampleVO sampleVO = sample.convert(EntrustSampleVO.class);
sampleVO.setId(null);
sampleVO.setGroupId(g.getKey());
sampleVO.setGroupName(g.getValue());
Set<String> itemNameSet = new HashSet<>();
for (EntrustSampleItem item:itemList) {
if (item.getEntrustSampleId().equals(sample.getId())&&item.getGroupId().equals(g.getKey())){
itemNameSet.add(item.getName());
}
}
sampleVO.setItemNames(StringHandleUtils.join(itemNameSet));
sampleVO.setEntrustSampleId(sample.getId());
list.add(sampleVO);
}
}
return list;
}
@Override
public Page<EntrustSampleVO> pageSampleReceive(Page<EntrustSampleVO> page, EntrustSampleVO entrustSample) {
return page.setRecords(baseMapper.selectSampleReceiveList(page,entrustSample));
}
} }
...@@ -4,13 +4,18 @@ import com.baomidou.mybatisplus.mapper.Condition; ...@@ -4,13 +4,18 @@ import com.baomidou.mybatisplus.mapper.Condition;
import com.baomidou.mybatisplus.toolkit.IdWorker; import com.baomidou.mybatisplus.toolkit.IdWorker;
import com.patzn.cloud.commons.api.RestAssert; import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account; import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.toolkit.StringHandleUtils;
import com.patzn.cloud.service.hmhj.dto.EntrustDTO; import com.patzn.cloud.service.hmhj.dto.EntrustDTO;
import com.patzn.cloud.service.hmhj.dto.EntrustSampleDTO; import com.patzn.cloud.service.hmhj.dto.EntrustSampleDTO;
import com.patzn.cloud.service.hmhj.entity.Entrust; import com.patzn.cloud.service.hmhj.entity.Entrust;
import com.patzn.cloud.service.hmhj.entity.EntrustSample; import com.patzn.cloud.service.hmhj.entity.EntrustSample;
import com.patzn.cloud.service.hmhj.entity.EntrustSampleItem; import com.patzn.cloud.service.hmhj.entity.EntrustSampleItem;
import com.patzn.cloud.service.hmhj.entity.EntrustSamplePrepare;
import com.patzn.cloud.service.hmhj.enums.CodeTypeEnum; import com.patzn.cloud.service.hmhj.enums.CodeTypeEnum;
import com.patzn.cloud.service.hmhj.enums.EntrustSampleItemStatusEnum;
import com.patzn.cloud.service.hmhj.enums.EntrustSamplePrepareStatusEnum;
import com.patzn.cloud.service.hmhj.enums.EntrustStatusEnum; import com.patzn.cloud.service.hmhj.enums.EntrustStatusEnum;
import com.patzn.cloud.service.hmhj.vo.EntrustVO;
import com.patzn.cloud.service.lims.base.dto.CodeTypeDTO; import com.patzn.cloud.service.lims.base.dto.CodeTypeDTO;
import com.patzn.cloud.service.lims.common.service.ILmsMsgService; import com.patzn.cloud.service.lims.common.service.ILmsMsgService;
import com.patzn.cloud.service.lims.hmhj.mapper.EntrustMapper; import com.patzn.cloud.service.lims.hmhj.mapper.EntrustMapper;
...@@ -26,9 +31,8 @@ import com.baomidou.mybatisplus.mapper.Wrapper; ...@@ -26,9 +31,8 @@ import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.util.*;
import java.util.Date; import java.util.stream.Collectors;
import java.util.List;
/** /**
* 服务实现类 * 服务实现类
...@@ -51,11 +55,15 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust> ...@@ -51,11 +55,15 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
@Autowired @Autowired
private IEntrustSamplePrepareService entrustSamplePrepareService;
@Autowired
private IEntrustRecordService entrustRecordService; private IEntrustRecordService entrustRecordService;
@Autowired @Autowired
private ILmsMsgService lmsMsgService; private ILmsMsgService lmsMsgService;
@Override @Override
public Page<Entrust> page(Page<Entrust> page, Entrust entrust) { public Page<Entrust> page(Page<Entrust> page, Entrust entrust) {
Wrapper wrapper = new EntityWrapper<>(entrust); Wrapper wrapper = new EntityWrapper<>(entrust);
...@@ -202,5 +210,158 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust> ...@@ -202,5 +210,158 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
} }
@Override
public boolean editEntrust(EntrustDTO entrustDTO, Account account) {
if (null == entrustDTO.getId()){
return false;
}
List<EntrustSampleDTO> sampleList = entrustDTO.getSampleDTOList();
if (CollectionUtils.isEmpty(sampleList)){
// PtAssert.fail("样品不能为空");
}
for (EntrustSampleDTO sampleDTO:sampleList) {
RestAssert.fail(StringUtils.isBlank(sampleDTO.getName()),"样品名称不能为空");
}
Entrust entrust =entrustDTO.convert(Entrust.class);
if (updateById(entrust)){
List<Long> sampleIdsList = new ArrayList<>();
List<EntrustSample> updateSampleList = new ArrayList<>();
List<EntrustSample> saveSampleList = new ArrayList<>();
List<EntrustSampleItem> saveItemList = new ArrayList<>();
for (EntrustSampleDTO dto:sampleList) {
EntrustSample sample = dto.convert(EntrustSample.class);
if (null != sample.getId()){
updateSampleList.add(sample);
sampleIdsList.add(sample.getId());
}else{
sample.setEntrustId(entrust.getId());
initSampleCode(sample);
sample.setId(IdWorker.getId());
saveSampleList.add(sample);
}
List<EntrustSampleItem> viewItemList= dto.getItemList();
if (CollectionUtils.isNotEmpty(viewItemList)){
for (EntrustSampleItem item:viewItemList) {
if (null == item.getId()){
item.setId(IdWorker.getId());
item.setEntrustSampleId(sample.getId());
item.setStatus(EntrustSampleItemStatusEnum.DRAFT);
item.setProgress(EntrustSampleItemStatusEnum.DRAFT);
saveItemList.add(item);
}
}
}
}
if (CollectionUtils.isNotEmpty(updateSampleList)){
entrustSampleService.updateBatchById(updateSampleList);
}
if (CollectionUtils.isNotEmpty(saveSampleList)){
entrustSampleService.saveBatch(saveSampleList);
}
if (CollectionUtils.isNotEmpty(saveItemList)){
entrustSampleItemService.saveBatch(saveItemList);
}
}
return true;
}
@Override
public EntrustDTO getDTOById(Long id) {
Entrust entrust = getById(id);
if (null != entrust){
EntrustDTO vo =entrust.convert(EntrustDTO.class);
List<EntrustSampleDTO> sampleList = baseMapper.listByContractId(id);
if (CollectionUtils.isNotEmpty(sampleList)){
List<Long> sampleIdList = sampleList.stream().map(s->{
return s.getId();
}).collect(Collectors.toList());
List<EntrustSampleItem> experimentList = entrustSampleItemService.list(Condition.create().in("entrust_sample_id",sampleIdList));
Map<Long, Set<String>> itemSetMap = new HashMap<>();
Map<Long,List<EntrustSampleItem>> itemEntitySetMap = new HashMap<>();
for (EntrustSampleItem experiment:experimentList) {
if (!itemSetMap.containsKey(experiment.getEntrustSampleId())){
Set<String> set = new TreeSet<>();
set.add(experiment.getName());
itemSetMap.put(experiment.getEntrustSampleId(),set);
}else{
Set<String> set = itemSetMap.get(experiment.getEntrustSampleId());
set.add(experiment.getName());
itemSetMap.put(experiment.getEntrustSampleId(),set);
}
if (!itemEntitySetMap.containsKey(experiment.getEntrustSampleId())){
List<EntrustSampleItem> list = new ArrayList<>();
list.add(experiment);
itemEntitySetMap.put(experiment.getEntrustSampleId(),list);
}else{
List<EntrustSampleItem> list = itemEntitySetMap.get(experiment.getEntrustSampleId());
list.add(experiment);
itemEntitySetMap.put(experiment.getEntrustSampleId(),list);
}
}
for (EntrustSampleDTO sampleDTO:sampleList) {
if (itemSetMap.containsKey(sampleDTO.getId())){
sampleDTO.setItemNames(StringHandleUtils.join(itemSetMap.get(sampleDTO.getId())));
}
if (itemEntitySetMap.containsKey(sampleDTO.getId())){
sampleDTO.setItemList(itemEntitySetMap.get(sampleDTO.getId()));
}
}
}
vo.setSampleDTOList(sampleList);
return vo;
}
return null;
}
@Override
public Page<EntrustVO> pageEntrustSampleReceive(Page<EntrustVO> page, EntrustVO entrust) {
List<EntrustSamplePrepare> prepareList = entrustSamplePrepareService.list(Condition.create().setSqlSelect("entrust_sample_id").eq("status", EntrustSamplePrepareStatusEnum.RECEIVE));
if (CollectionUtils.isEmpty(prepareList)){
return page;
}
List<Long> sampleIds = prepareList.stream().map(p->{
return p.getEntrustSampleId();
}).collect(Collectors.toList());
if (CollectionUtils.isEmpty(sampleIds)){
return page;
}
List<EntrustSample> entrustSamples = entrustSampleService.getBatchIds(sampleIds);
if (CollectionUtils.isEmpty(entrustSamples)){
return page;
}
List<Long> ids = entrustSamples.stream().map(e->{
return e.getEntrustId();
}).collect(Collectors.toList());
if (CollectionUtils.isEmpty(ids)){
return page;
}
entrust.setIdsList(ids);
return page.setRecords(baseMapper.selectEntrustSampleReceive(page,entrust));
}
} }
...@@ -2,4 +2,19 @@ ...@@ -2,4 +2,19 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.patzn.cloud.service.lims.hmhj.mapper.EntrustMapper"> <mapper namespace="com.patzn.cloud.service.lims.hmhj.mapper.EntrustMapper">
<select id="listByContractId" resultType="com.patzn.cloud.service.hmhj.dto.EntrustSampleDTO">
SELECT * FROM entrust_sample WHERE deleted = 0 AND entrust_id =#{entrustId} ORDER BY code DESC
</select>
<select id="selectEntrustSampleReceive" resultType="com.patzn.cloud.service.hmhj.vo.EntrustVO">
SELECT * FROM entrust WHERE deleted = 0
<if test="null!=vo.idsList">
AND id IN
<foreach collection="vo.idsList" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
</select>
</mapper> </mapper>
...@@ -2,4 +2,17 @@ ...@@ -2,4 +2,17 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.patzn.cloud.service.lims.hmhj.mapper.EntrustSampleMapper"> <mapper namespace="com.patzn.cloud.service.lims.hmhj.mapper.EntrustSampleMapper">
<select id="selectSampleReceiveList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleVO">
SELECT
p.id,s.code,s.name,p.group_id,p.group_name,p.make_type,p.make_quantity,p.store_way,p.store_location,p.maker,p.make_time
FROM
entrust_sample_prepare
P JOIN entrust_sample s ON P.entrust_sample_id = s.ID
WHERE s.deleted = 0 AND p.deleted = 0
<if test="null!=vo.entrustSampleId">
AND p.entrust_sample_id = #{vo.entrustSampleId}
</if>
</select>
</mapper> </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.hmhj.mapper.EntrustSamplePrepareMapper">
</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