Commit 8bca35be by wangweidong

霍煤鸿骏

parent 198a61ec
package com.patzn.cloud.service.lims;
import com.patzn.cloud.commons.lock.EnableRedisDistributedLock;
import com.patzn.cloud.commons.spring.SpringHelper;
import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
......@@ -22,7 +21,6 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
@EnableCaching
@EnableSwagger2
@EnableDiscoveryClient
@EnableRedisDistributedLock
@SpringBootApplication
@EnableTransactionManagement
@EnableFeignClients(basePackages = {"com.patzn.cloud.feign"})
......
package com.patzn.cloud.service.lims.common;
public class EnumObjectVO {
}
package com.patzn.cloud.service.lims.config;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;
import com.patzn.report.console.ReportServlet;
/**
* <p>
* 报表配置
* </p>
*
* @author hubin
* @since 2018-12-03
*/
//@Configuration
//@ImportResource("classpath:report-context.xml")
public class ReportConfig {
// @Bean
public ServletRegistrationBean initUReport() {
return new ServletRegistrationBean(new ReportServlet(), "/report/*");
}
}
\ No newline at end of file
......@@ -204,6 +204,21 @@ public class ContractSampleController extends ServiceController {
@ApiOperation("验收结果录入分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page_check_result_input")
public RestResult<Page<ContractSample>> getPageCheckResultInput(ContractSample contractSample) {
contractSample.setStatus(ContractSampleStatusEnum.CHECK_RESULT_INPUT);
return success(contractSampleService.page(getPage(), contractSample));
}
@ApiOperation("根据ID查询列表分页列表")
@ApiImplicitParams({
......@@ -277,6 +292,14 @@ public class ContractSampleController extends ServiceController {
}
@ApiOperation("专家会审提交至验收结果录入")
@PostMapping("/submit_check_result_input")
public RestResult<Boolean> submitCheckResultInput(@RequestParam("ids") Long [] ids) {
return success(contractSampleService.submitCheckResultInput(ids,getAccount()));
}
@ApiOperation("提交至生技部审核")
@PostMapping("/submit_to_pro_tech_check")
public RestResult<Boolean> submitToProTechCheck(@RequestParam("ids") Long [] ids) {
......
package com.patzn.cloud.service.lims.hmhj.controller;
import com.patzn.cloud.service.hmhj.dto.EntrustDTO;
import com.patzn.cloud.service.hmhj.entity.Entrust;
import com.patzn.cloud.service.hmhj.enums.EntrustStatusEnum;
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 org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.api.RestConstants;
......@@ -38,7 +33,7 @@ public class EntrustController extends ServiceController {
@Autowired
private IEntrustService entrustService;
@ApiOperation("分页列表")
@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),
......@@ -47,9 +42,41 @@ public class EntrustController extends ServiceController {
})
@PostMapping("/page")
public RestResult<Page<Entrust>> getPage(Entrust entrust) {
entrust.setStatus(EntrustStatusEnum.DRAFT);
return success(entrustService.page(getPage(), entrust));
}
@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_check")
public RestResult<Page<Entrust>> getPageCheck(Entrust entrust) {
entrust.setStatus(EntrustStatusEnum.CHECK);
return success(entrustService.page(getPage(), entrust));
}
@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_make")
public RestResult<Page<Entrust>> getPageMake(Entrust entrust) {
entrust.setStatus(EntrustStatusEnum.MAKE);
return success(entrustService.page(getPage(), entrust));
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
......@@ -83,4 +110,41 @@ public class EntrustController extends ServiceController {
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(entrustService.removeByIds(ids));
}
@ApiOperation(value = "添加委托单", notes = "添加委托单")
@PostMapping("/add_entrust")
public RestResult<Boolean> addEntrust(@RequestBody EntrustDTO dto) {
return success(entrustService.saveEntrustDTO(dto,getAccount()));
}
@ApiOperation("提交至委托评审")
@PostMapping("/submit_to_check")
public RestResult<Boolean> submitToCheck(@RequestParam("ids")Long [] ids) {
return success(entrustService.submitToCheck(ids,getAccount()));
}
@ApiOperation("委托评审退回")
@PostMapping("/back_from_check")
public RestResult<Boolean> backFromCheck(@RequestParam("ids")Long [] ids,@RequestParam("reason") String reason) {
return success(entrustService.backFromCheck(ids,getAccount(),reason));
}
@ApiOperation("提交至样品制备")
@PostMapping("/submit_to_make")
public RestResult<Boolean> submitToMake(@RequestParam("ids")Long [] ids) {
return success(entrustService.submitToMake(ids,getAccount()));
}
@ApiOperation("委托登记提交至委托评审")
@PostMapping("/register_submit_to_make")
public RestResult<Boolean> registerSubmitToMake(@RequestParam("ids")Long [] ids) {
return success(entrustService.registerSubmitToMake(ids,getAccount()));
}
}
package com.patzn.cloud.service.lims.hmhj.controller;
import com.patzn.cloud.service.hmhj.entity.EntrustRecord;
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.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.IEntrustRecordService;
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-19
*/
@Api(tags = "委托操作日志表")
@RestController
@RequestMapping("/v1/record")
public class EntrustRecordController extends ServiceController {
@Autowired
private IEntrustRecordService entrustRecordService;
@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<EntrustRecord>> getPage(EntrustRecord entrustRecord) {
return success(entrustRecordService.page(getPage(), entrustRecord));
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<EntrustRecord> get(@PathVariable("id") Long id) {
return success(entrustRecordService.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, EntrustRecord entrustRecord) {
entrustRecord.setId(id);
return success(entrustRecordService.updateById(entrustRecord));
}
@ApiOperation("添加")
@PostMapping("/")
public RestResult<Boolean> add(EntrustRecord entrustRecord) {
return success(entrustRecordService.save(entrustRecord));
}
@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(entrustRecordService.removeByIds(ids));
}
}
package com.patzn.cloud.service.lims.hmhj.controller;
import com.patzn.cloud.commons.api.RestResult;
import com.patzn.cloud.commons.controller.ServiceController;
import com.patzn.cloud.commons.enums.IBaseEnum;
import com.patzn.cloud.service.hmhj.enums.CodeTypeEnum;
import com.patzn.cloud.service.hmhj.vo.EnumVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
/**
* <p>
* Enum 相关控制器
* </p>
*
* @author hubin
* @since 2018-04-08
*/
@Api(description = "Enum 相关操作")
@RestController
@RequestMapping("/v1/enum")
public class EnumController extends ServiceController {
@ApiOperation(value = "根据枚举名称获取枚举属性信息", notes = "根据枚举名称获取枚举属性信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "name", value = "枚举名称", required = true, paramType = "path", dataType = "String"),
})
@GetMapping("/get_code_type")
public RestResult<List<EnumVO>> enumInfo() {
List<EnumVO> enumObjectList = new ArrayList<>();
Enum[] es = (Enum[]) CodeTypeEnum.class.getEnumConstants();
for (Enum e : es) {
enumObjectList.add(new EnumVO((IBaseEnum) e));
}
return success(enumObjectList);
}
}
......@@ -25,12 +25,12 @@ import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* ${table.comment} 前端控制器
* 物资所检项目表 前端控制器
*
* @author wwd
* @since 2021-02-03
*/
@Api(tags = "${table.comment}")
@Api(tags = "物资所检项目表")
@RestController
@RequestMapping("/v1/material_item")
public class MaterialItemController extends ServiceController {
......@@ -83,4 +83,12 @@ public class MaterialItemController extends ServiceController {
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(materialItemService.removeByIds(ids));
}
@ApiOperation("添加物资所检项目表")
@PostMapping("/import_item_for_material")
public RestResult<Boolean> importItemForMaterial(@RequestParam("material")Long material,@RequestParam("ids")Long[] ids) {
return success(materialItemService.importItemForMaterial(material,ids));
}
}
package com.patzn.cloud.service.lims.hmhj.mapper;
import com.patzn.cloud.commons.mapper.BatchMapper;
import com.patzn.cloud.service.hmhj.entity.EntrustRecord;
/**
* <p>
* 委托操作日志表 Mapper 接口
* </p>
*
* @author wwd
* @since 2021-02-19
*/
public interface EntrustRecordMapper extends BatchMapper<EntrustRecord> {
}
......@@ -34,5 +34,7 @@ public interface IContractSampleService extends IBaseService<ContractSample> {
boolean submitToExpertReviewFromOrg(Long[] ids, Account account);
boolean submitCheckResultInput(Long[] ids, Account account);
Page<ContractSampleVO> pageVO(Page<ContractSampleVO> page, ContractSampleVO contractSample);
}
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.entity.EntrustRecord;
import java.util.Collection;
import java.util.List;
/**
* 委托操作日志表 服务类
*
* @author wwd
* @since 2021-02-19
*/
public interface IEntrustRecordService extends IBaseService<EntrustRecord> {
Page<EntrustRecord> page(Page<EntrustRecord> page, EntrustRecord entrustRecord);
boolean removeByIds(List<Long> ids);
void record(Long[] ids, String from, String to, int type, Account account, String remark);
void record(Collection<Long> ids, String from, String to, int type, Account account, String remark);
}
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.EntrustDTO;
import com.patzn.cloud.service.hmhj.entity.Entrust;
import java.util.List;
......@@ -16,4 +18,14 @@ public interface IEntrustService extends IBaseService<Entrust> {
Page<Entrust> page(Page<Entrust> page, Entrust entrust);
boolean removeByIds(List<Long> ids);
boolean saveEntrustDTO(EntrustDTO dto, Account account);
boolean submitToCheck(Long[] ids, Account account);
boolean backFromCheck(Long[] ids, Account account, String reason);
boolean submitToMake(Long[] ids, Account account);
boolean registerSubmitToMake(Long[] ids, Account account);
}
......@@ -17,4 +17,6 @@ public interface IMaterialItemService extends IBaseService<MaterialItem> {
Page<MaterialItem> page(Page<MaterialItem> page, MaterialItem materialItem);
boolean removeByIds(List<Long> ids);
boolean importItemForMaterial(Long material, Long[] ids);
}
......@@ -135,6 +135,19 @@ public class ContractSampleServiceImpl extends BaseServiceImpl<ContractSampleMap
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean submitCheckResultInput(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的合同!");
ContractSample contractSample = new ContractSample();
contractSample.setStatus(ContractSampleStatusEnum.CHECK_RESULT_INPUT);
contractSample.setProgress(ContractSampleStatusEnum.CHECK_RESULT_INPUT);
contractSampleRecordService.record(ids,ContractSampleStatusEnum.EXPERT_REVIEW,ContractSampleStatusEnum.CHECK_RESULT_INPUT,0,"专家会审提交至验收结果录入",account);
lmsMsgService.sendMsg("/hmhj/accept_manage/accept_input","专家会审提交至验收结果录入,请及时处理","新的验收结果录入任务!",account,null);
return super.update(contractSample,Condition.create().in("id",ids));
}
@Override
public Page<ContractSampleVO> pageVO(Page<ContractSampleVO> page, ContractSampleVO contractSample) {
......
package com.patzn.cloud.service.lims.hmhj.service.impl;
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.EntrustRecord;
import com.patzn.cloud.service.lims.hmhj.mapper.EntrustRecordMapper;
import com.patzn.cloud.service.lims.hmhj.service.IEntrustRecordService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
/**
* 委托操作日志表 服务实现类
*
* @author wwd
* @since 2021-02-19
*/
@Service
public class EntrustRecordServiceImpl extends BaseServiceImpl<EntrustRecordMapper, EntrustRecord> implements IEntrustRecordService {
@Override
public Page<EntrustRecord> page(Page<EntrustRecord> page, EntrustRecord entrustRecord) {
Wrapper wrapper = new EntityWrapper<>(entrustRecord);
return this.page(page, wrapper);
}
@Override
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
@Override
public void record(Long[] ids, String from, String to, int type, Account account, String remark) {
record(Arrays.asList(ids),from,to,type,account,remark);
}
@Override
public void record(Collection<Long> ids, String from, String to, int type, Account account, String remark) {
RestAssert.fail(CollectionUtils.isEmpty(ids),"委托ID不能为空");
List<EntrustRecord> saveRecord = new ArrayList<>();
for (Long entrustId:ids) {
EntrustRecord entrustRecord = new EntrustRecord();
entrustRecord.setEntrustId(entrustId);
entrustRecord.setOperator(account.getUserName());
entrustRecord.setOperatorId(account.getUserId());
entrustRecord.setOrigin(from);
entrustRecord.setTarget(to);
entrustRecord.setType(type);
entrustRecord.setRemark(remark);
saveRecord.add(entrustRecord);
}
if (CollectionUtils.isNotEmpty(saveRecord)){
saveBatch(saveRecord);
}
}
}
package com.patzn.cloud.service.lims.hmhj.service.impl;
import com.baomidou.mybatisplus.mapper.Condition;
import com.baomidou.mybatisplus.toolkit.IdWorker;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.service.hmhj.dto.EntrustDTO;
import com.patzn.cloud.service.hmhj.dto.EntrustSampleDTO;
import com.patzn.cloud.service.hmhj.entity.Entrust;
import com.patzn.cloud.service.hmhj.entity.EntrustSample;
import com.patzn.cloud.service.hmhj.entity.EntrustSampleItem;
import com.patzn.cloud.service.hmhj.enums.CodeTypeEnum;
import com.patzn.cloud.service.hmhj.enums.EntrustStatusEnum;
import com.patzn.cloud.service.lims.base.dto.CodeTypeDTO;
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.service.IEntrustService;
import com.patzn.cloud.service.lims.hmhj.service.*;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import org.apache.commons.collections.CollectionUtils;
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;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
......@@ -21,6 +39,23 @@ import java.util.List;
@Service
public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust> implements IEntrustService {
@Autowired
private ICodeRuleService codeRuleService;
@Autowired
private IEntrustSampleItemService entrustSampleItemService;
@Autowired
private IEntrustSampleService entrustSampleService;
@Autowired
private IEntrustRecordService entrustRecordService;
@Autowired
private ILmsMsgService lmsMsgService;
@Override
public Page<Entrust> page(Page<Entrust> page, Entrust entrust) {
Wrapper wrapper = new EntityWrapper<>(entrust);
......@@ -32,4 +67,140 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
@Transactional(rollbackFor = Exception.class)
public boolean saveEntrust(Entrust entrust) {
String entrustCode= codeRuleService.getKey((Integer) CodeTypeEnum.ENTRUST_CODE.getValue(), CodeTypeEnum.ENTRUST_CODE.getName(),entrust);
if (StringUtils.isNotEmpty(entrustCode)){
entrust.setCode(entrustCode);
}
return save(entrust);
}
public void initSampleCode(EntrustSample sample ){
String sampleCode= codeRuleService.getKey((Integer) CodeTypeEnum.ENTRUST_SAMPLE_CODE.getValue(), CodeTypeEnum.ENTRUST_SAMPLE_CODE.getName(),sample);
if (StringUtils.isNotBlank(sampleCode)){
sample.setCode(sampleCode);
}
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean saveEntrustDTO(EntrustDTO dto, Account account) {
RestAssert.fail(StringUtils.isBlank(dto.getClient()),"委托单位不能为空!");
Entrust entrust = dto.convert(Entrust.class);
entrust.setStatus(EntrustStatusEnum.DRAFT);
entrust.setProgress(EntrustStatusEnum.DRAFT);
List<EntrustSampleDTO> sampleDTOList = dto.getSampleDTOList();
if (null == entrust.getEntrustTime()){
entrust.setEntrustTime(new Date());
}
if (saveEntrust(entrust)){
if (CollectionUtils.isNotEmpty(sampleDTOList)){
List<EntrustSample> saveSampleList = new ArrayList<>();
List<EntrustSampleItem> saveEntrustSampleItemList = new ArrayList<>();
for (EntrustSampleDTO sampleDTO:sampleDTOList) {
EntrustSample sample = sampleDTO.convert(EntrustSample.class);
sample.setEntrustId(entrust.getId());
//生成样品编号
initSampleCode(sample);
sample.setId(IdWorker.getId());
saveSampleList.add(sample);
List<EntrustSampleItem> experiments = sampleDTO.getItemList();
if (CollectionUtils.isEmpty(experiments)){
continue;
}
for (EntrustSampleItem sampleItem:experiments) {
sampleItem.setEntrustSampleId(sample.getId());
saveEntrustSampleItemList.add(sampleItem);
}
}
if (CollectionUtils.isNotEmpty(saveSampleList)){
entrustSampleService.saveBatch(saveSampleList);
}
if (CollectionUtils.isNotEmpty(saveEntrustSampleItemList)){
entrustSampleItemService.saveBatch(saveEntrustSampleItemList);
}
}
}
return true;
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean submitToCheck(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的委托");
int count = super.count(Condition.create().in("id",ids).eq("status",EntrustStatusEnum.DRAFT));
RestAssert.fail(ids.length!=count,"请选择委托登记的委托");
Entrust entrust = new Entrust();
entrust.setStatus(EntrustStatusEnum.CHECK);
entrust.setProgress(EntrustStatusEnum.CHECK);
if (update(entrust,Condition.create().in("id",ids))){
entrustRecordService.record(ids,EntrustStatusEnum.DRAFT.getName(),EntrustStatusEnum.CHECK.getName(),0,account,"提交至委托审核");
lmsMsgService.sendMsg("/hmhj/entrust_manage/entrust_review","有委托从委托登记提交过来,请及时审核","新的委托审核任务!",account,null);
}
return true;
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean backFromCheck(Long[] ids, Account account, String reason) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要驳回的委托");
int count = super.count(Condition.create().in("id",ids).eq("status",EntrustStatusEnum.CHECK));
RestAssert.fail(ids.length!=count,"请选择退回委托审核的委托");
Entrust entrust = new Entrust();
entrust.setStatus(EntrustStatusEnum.DRAFT);
entrust.setProgress(EntrustStatusEnum.BACK_CHECK);
if (update(entrust,Condition.create().in("id",ids))){
entrustRecordService.record(ids,EntrustStatusEnum.CHECK.getName(),EntrustStatusEnum.DRAFT.getName(),1,account,reason);
lmsMsgService.sendMsg("/hmhj/entrust_manage/entrust_register","有委托从委托审核驳回,请及时查看退回原因并处理","新的委托审核退回任务!",account,null);
}
return true;
}
@Override
public boolean submitToMake(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交到制备的委托");
int count = super.count(Condition.create().in("id",ids).eq("status",EntrustStatusEnum.CHECK));
RestAssert.fail(ids.length!=count,"请选择委托审核的委托");
Entrust entrust = new Entrust();
entrust.setStatus(EntrustStatusEnum.MAKE);
entrust.setProgress(EntrustStatusEnum.MAKE);
if (update(entrust,Condition.create().in("id",ids))){
entrustRecordService.record(ids,EntrustStatusEnum.CHECK.getName(),EntrustStatusEnum.MAKE.getName(),0,account,"提交至样品待制备");
lmsMsgService.sendMsg("/hmhj/sample_manage/sample_prepare","有委托审核通过,请及时进行样品的制备","新的样品制备任务!",account,null);
}
return true;
}
@Override
public boolean registerSubmitToMake(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交到制备的委托");
int count = super.count(Condition.create().in("id",ids).eq("status",EntrustStatusEnum.DRAFT));
RestAssert.fail(ids.length!=count,"请选择委托登记的委托");
Entrust entrust = new Entrust();
entrust.setStatus(EntrustStatusEnum.MAKE);
entrust.setProgress(EntrustStatusEnum.MAKE);
if (update(entrust,Condition.create().in("id",ids))){
entrustRecordService.record(ids,EntrustStatusEnum.DRAFT.getName(),EntrustStatusEnum.MAKE.getName(),0,account,"委托登记提交至样品待制备");
lmsMsgService.sendMsg("/hmhj/sample_manage/sample_prepare","有委托登记提交至样品待制备,请及时进行样品的制备","新的样品制备任务!",account,null);
}
return true;
}
}
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.service.hmhj.entity.MaterialItem;
import com.patzn.cloud.service.hmhj.entity.Qualification;
import com.patzn.cloud.service.lims.hmhj.mapper.MaterialItemMapper;
import com.patzn.cloud.service.lims.hmhj.service.IMaterialItemService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.lims.hmhj.service.IMaterialService;
import com.patzn.cloud.service.lims.hmhj.service.IQualificationService;
import org.apache.commons.lang3.ArrayUtils;
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;
/**
......@@ -21,6 +30,13 @@ import java.util.List;
@Service
public class MaterialItemServiceImpl extends BaseServiceImpl<MaterialItemMapper, MaterialItem> implements IMaterialItemService {
@Autowired
private IMaterialService materialService;
@Autowired
private IQualificationService qualificationService;
@Override
public Page<MaterialItem> page(Page<MaterialItem> page, MaterialItem materialItem) {
Wrapper wrapper = new EntityWrapper<>(materialItem);
......@@ -32,4 +48,39 @@ public class MaterialItemServiceImpl extends BaseServiceImpl<MaterialItemMapper,
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean importItemForMaterial(Long material, Long[] ids) {
RestAssert.fail(null ==material,"请选择物资ID");
RestAssert.fail(null == materialService.getById(material),"物资不存在");
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择检测项目");
List<Qualification> qualificationList = qualificationService.list(Condition.create().in("id",ids));
RestAssert.fail(CollectionUtils.isEmpty(qualificationList),"选择的检测项目不存在");
List<MaterialItem> saveMaterialItemList = new ArrayList<>();
for (Qualification qualification:qualificationList) {
MaterialItem materialItem = new MaterialItem();
materialItem.setMaterialId(material);
materialItem.setGroupId(qualification.getGroupId());
materialItem.setGroupName(qualification.getGroupName());
materialItem.setName(qualification.getName());
materialItem.setStandard(qualification.getStandard());
materialItem.setAgreedValue(qualification.getAgreedValue());
materialItem.setDecide(qualification.getDecide());
saveMaterialItemList.add(materialItem);
}
if (CollectionUtils.isNotEmpty(saveMaterialItemList)){
return saveBatch(saveMaterialItemList);
}
return false;
}
}
<?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.EntrustRecordMapper">
</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