Commit ea2b332b by ghxdhr

Merge branch 'master' of git.patzn.com:wangweidong/patzn-cloud-service-hmhj

parents 3f544d45 dcd846b0
......@@ -2,14 +2,7 @@ package com.patzn.cloud.service.lims.hmhj.controller;
import com.patzn.cloud.service.hmhj.entity.ContractOkOrganizer;
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;
......@@ -75,6 +68,12 @@ public class ContractOkOrganizerController extends ServiceController {
return success(contractOkOrganizerService.save(contractOkOrganizer));
}
@ApiOperation("批量添加")
@PostMapping("/addBatch")
public RestResult<Boolean> addBatch(@RequestBody String itemJson) {
return success(contractOkOrganizerService.saveBatch(itemJson));
}
@ApiOperation("根据 ids 删除")
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
......
......@@ -277,7 +277,8 @@ public class EntrustController extends ServiceController {
public RestResult<Boolean> addOutEntrust(@RequestBody EntrustDTO dto) {
dto.setStatus(EntrustStatusEnum.OUT_DRAFT);
dto.setProgress(EntrustStatusEnum.OUT_DRAFT);
return success(entrustService.saveEntrustDTO(dto, getAccount()));
return success(entrustService.saveOutEntrust(dto, getAccount()));
}
......
......@@ -28,8 +28,6 @@ public interface EntrustSampleMapper extends BatchMapper<EntrustSample> {
List<EntrustSampleVO> selectVOList(RowBounds rowBounds, @Param("vo") EntrustSampleVO entrustSample);
List<EntrustSampleVO> selectListWithRelation(@Param("vo") EntrustSampleVO entrustSample);
List<EntrustSampleVO> selectMinStatusByEntrustIds(@Param("entrustIds") List<Long> entrustIds);
List<EntrustSampleVO> selectTestResultQuery(RowBounds rowBounds,@Param("vo") EntrustSampleVO entrustSample);
......
......@@ -17,4 +17,6 @@ public interface IContractOkOrganizerService extends IBaseService<ContractOkOrga
Page<ContractOkOrganizer> page(Page<ContractOkOrganizer> page, ContractOkOrganizer contractOkOrganizer);
boolean removeByIds(List<Long> ids);
boolean saveBatch(String itemJson);
}
......@@ -96,5 +96,5 @@ public interface IEntrustSampleService extends IBaseService<EntrustSample> {
boolean updateSampleCodeByIds(List<Long> sampleIdsList, int level);
List<EntrustSampleVO> selectListWithRelation(EntrustSampleVO entrustSampleVO);
List<EntrustSampleVO> selectVOLists(EntrustSampleVO entrustSampleVO);
}
......@@ -96,4 +96,6 @@ public interface IEntrustService extends IBaseService<Entrust> {
/* 修改检测委托书的打印状态 */
Boolean updatePrintStatus(List<Long> ids);
Boolean saveOutEntrust(EntrustDTO dto, Account account);
}
package com.patzn.cloud.service.lims.hmhj.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.Condition;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.service.hmhj.entity.ContractOkOrganizer;
import com.patzn.cloud.service.lims.hmhj.mapper.ContractOkOrganizerMapper;
import com.patzn.cloud.service.lims.hmhj.service.IContractOkOrganizerService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
......@@ -13,7 +17,7 @@ import com.baomidou.mybatisplus.plugins.Page;
import java.util.List;
/**
* 服务实现类
* 服务实现类
*
* @author wwd
* @since 2021-02-01
......@@ -32,4 +36,22 @@ public class ContractOkOrganizerServiceImpl extends BaseServiceImpl<ContractOkOr
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
@Override
public boolean saveBatch(String itemJson) {
RestAssert.fail(StringUtils.isBlank(itemJson), "数据不能为空");
try {
JSONObject jsonObject = JSONObject.parseObject(itemJson);
RestAssert.fail(!jsonObject.containsKey("id"), "数据不包含ID信息");
Long contractSampleId = Long.parseLong(jsonObject.get("id").toString());
List<ContractOkOrganizer> contractOkOrganizerList = JSONArray.parseArray(jsonObject.getString("infoList"), ContractOkOrganizer.class);
contractOkOrganizerList.stream().forEach(t -> t.setContractSampleId(contractSampleId));
return saveOrUpdateBatch(contractOkOrganizerList);
} catch (Exception e) {
logger.error(e.getMessage(), e.getCause());
RestAssert.fail("数据转换异常");
}
return false;
}
}
......@@ -27,11 +27,12 @@ import com.baomidou.mybatisplus.plugins.Page;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* 服务实现类
* 服务实现类
*
* @author wwd
* @since 2021-02-01
......@@ -44,13 +45,10 @@ public class ContractSampleServiceImpl extends BaseServiceImpl<ContractSampleMap
private IContractSampleRecordService contractSampleRecordService;
@Autowired
private IEntrustSampleService entrustSampleService;
@Autowired
private IContractSampleItemService contractSampleItemService;
......@@ -64,21 +62,21 @@ public class ContractSampleServiceImpl extends BaseServiceImpl<ContractSampleMap
contractSample.setCode(null).setMaterialName(null);
Wrapper wrapper = new EntityWrapper<>(contractSample);
if(StringUtils.isNotBlank(code)){
wrapper.like("code",code);
if (StringUtils.isNotBlank(code)) {
wrapper.like("code", code);
}
if(StringUtils.isNotBlank(materialName)){
wrapper.like("material_name",materialName);
if (StringUtils.isNotBlank(materialName)) {
wrapper.like("material_name", materialName);
}
wrapper.orderBy("ctime",false);
wrapper.orderBy("ctime", false);
return this.page(page, wrapper);
}
@Override
public Page<ContractSample> pageByIds(Page<ContractSample> page, Long [] ids) {
public Page<ContractSample> pageByIds(Page<ContractSample> page, Long[] ids) {
Wrapper wrapper = new EntityWrapper<>();
wrapper.in("id",ids);
wrapper.in("id", ids);
return this.page(page, wrapper);
}
......@@ -90,62 +88,71 @@ public class ContractSampleServiceImpl extends BaseServiceImpl<ContractSampleMap
@Transactional(rollbackFor = Exception.class)
@Override
public boolean submitToStoreTransport(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的合同!");
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的合同!");
ContractSample contractSample = new ContractSample();
contractSample.setStatus(ContractSampleStatusEnum.STORE_TRANSPORT);
contractSample.setProgress(ContractSampleStatusEnum.STORE_TRANSPORT);
return super.update(contractSample,Condition.create().in("id",ids));
contractSampleRecordService.record(ids, ContractSampleStatusEnum.DRAFT, ContractSampleStatusEnum.STORE_TRANSPORT, 0, "提交至储运部门登记", account);
// lmsMsgService.sendMsg("/hmhj/accept_manage/accept_register","有合同从提交过来,请及时处理","新的储运部门登记任务!",account,null);
return super.update(contractSample, Condition.create().in("id", ids));
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean submitToProTechCheck(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的合同!");
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的合同!");
ContractSample contractSample = new ContractSample();
contractSample.setStatus(ContractSampleStatusEnum.PRO_TEC_CHECK);
contractSample.setProgress(ContractSampleStatusEnum.PRO_TEC_CHECK);
return super.update(contractSample,Condition.create().in("id",ids));
contractSampleRecordService.record(ids, ContractSampleStatusEnum.STORE_TRANSPORT,
ContractSampleStatusEnum.PRO_TEC_CHECK, 0, "提交至" + ContractSampleStatusEnum.PRO_TEC_CHECK.getDisplay(), account);
return super.update(contractSample, Condition.create().in("id", ids));
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean proTechCheckPass(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的合同!");
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的合同!");
ContractSample contractSample = new ContractSample();
contractSample.setStatus(ContractSampleStatusEnum.CHECK_ACCEPT_REG);
contractSample.setProgress(ContractSampleStatusEnum.CHECK_ACCEPT_REG);
return super.update(contractSample,Condition.create().in("id",ids));
List<ContractSample> contractSampleList = getBatchIds(Arrays.asList(ids));
for (ContractSample cs : contractSampleList) {
contractSampleRecordService.record(new Long[]{cs.getId()}, cs.getStatus(),
ContractSampleStatusEnum.CHECK_ACCEPT_REG, 0, "提交至" + ContractSampleStatusEnum.CHECK_ACCEPT_REG.getDisplay(), account);
}
return super.update(contractSample, Condition.create().in("id", ids));
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean backProTechCheck(Long[] ids, String reason, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的合同!");
RestAssert.fail(StringUtils.isBlank(reason),"请填写退回原因!");
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的合同!");
RestAssert.fail(StringUtils.isBlank(reason), "请填写退回原因!");
ContractSample contractSample = new ContractSample();
contractSample.setStatus(ContractSampleStatusEnum.STORE_TRANSPORT);
contractSample.setProgress(ContractSampleStatusEnum.BACK_PRO_TEC_CHECK);
contractSampleRecordService.record(ids,ContractSampleStatusEnum.PRO_TEC_CHECK,ContractSampleStatusEnum.STORE_TRANSPORT,1,reason,account);
lmsMsgService.sendMsg("/hmhj/contract_manage/storage_register","有合同从生技部退回,请及时处理","新的生技部退回任务!",account,null);
return super.update(contractSample,Condition.create().in("id",ids));
contractSampleRecordService.record(ids, ContractSampleStatusEnum.PRO_TEC_CHECK, ContractSampleStatusEnum.STORE_TRANSPORT, 1, reason, account);
lmsMsgService.sendMsg("/hmhj/contract_manage/storage_register", "有合同从生技部退回,请及时处理", "新的生技部退回任务!", account, null);
return super.update(contractSample, Condition.create().in("id", ids));
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean submitToCheckAcceptReg(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的合同!");
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的合同!");
ContractSample contractSample = new ContractSample();
contractSample.setStatus(ContractSampleStatusEnum.CHECK_ACCEPT_REG);
contractSample.setProgress(ContractSampleStatusEnum.CHECK_ACCEPT_REG);
contractSampleRecordService.record(ids,ContractSampleStatusEnum.STORE_TRANSPORT,ContractSampleStatusEnum.CHECK_ACCEPT_REG,0,"提交至验收任务登记",account);
lmsMsgService.sendMsg("/hmhj/accept_manage/accept_register","有合同从储运任务提交过来,请及时处理","新的验收任务登记任务!",account,null);
return super.update(contractSample,Condition.create().in("id",ids));
contractSampleRecordService.record(ids, ContractSampleStatusEnum.STORE_TRANSPORT, ContractSampleStatusEnum.CHECK_ACCEPT_REG, 0, "提交至验收任务登记", account);
lmsMsgService.sendMsg("/hmhj/accept_manage/accept_register", "有合同从储运任务提交过来,请及时处理", "新的验收任务登记任务!", account, null);
return super.update(contractSample, Condition.create().in("id", ids));
}
......@@ -153,118 +160,112 @@ public class ContractSampleServiceImpl extends BaseServiceImpl<ContractSampleMap
@Transactional(rollbackFor = Exception.class)
@Override
public boolean submitToCheckAcceptOrg(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的合同!");
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的合同!");
ContractSample contractSample = new ContractSample();
contractSample.setStatus(ContractSampleStatusEnum.CHECK_ACCEPT_ORg);
contractSample.setProgress(ContractSampleStatusEnum.CHECK_ACCEPT_ORg);
contractSampleRecordService.record(ids,ContractSampleStatusEnum.CHECK_ACCEPT_REG,ContractSampleStatusEnum.CHECK_ACCEPT_ORg,0,"验收任务登记提交至验收组织",account);
lmsMsgService.sendMsg("/hmhj/accept_manage/accept_organization","验收任务由验收任务登记提交过来,请及时处理","新的验收组织任务!",account,null);
return super.update(contractSample,Condition.create().in("id",ids));
contractSampleRecordService.record(ids, ContractSampleStatusEnum.CHECK_ACCEPT_REG, ContractSampleStatusEnum.CHECK_ACCEPT_ORg, 0, "验收任务登记提交至验收组织", account);
lmsMsgService.sendMsg("/hmhj/accept_manage/accept_organization", "验收任务由验收任务登记提交过来,请及时处理", "新的验收组织任务!", account, null);
return super.update(contractSample, Condition.create().in("id", ids));
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean submitToEntrustOrg(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的合同!");
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的合同!");
ContractSample contractSample = new ContractSample();
contractSample.setStatus(ContractSampleStatusEnum.ENTRUST_REG);
contractSample.setProgress(ContractSampleStatusEnum.ENTRUST_REG);
contractSampleRecordService.record(ids,ContractSampleStatusEnum.CHECK_ACCEPT_REG,ContractSampleStatusEnum.ENTRUST_REG,0,"验收任务登记提交至委托登记",account);
lmsMsgService.sendMsg("/hmhj/entrust_manage/entrust_register","委托登记由验收任务登记提交过来,请及时处理","新的委托登记任务!",account,null);
return super.update(contractSample,Condition.create().in("id",ids));
contractSampleRecordService.record(ids, ContractSampleStatusEnum.CHECK_ACCEPT_REG, ContractSampleStatusEnum.ENTRUST_REG, 0, "验收任务登记提交至委托登记", account);
lmsMsgService.sendMsg("/hmhj/entrust_manage/entrust_register", "委托登记由验收任务登记提交过来,请及时处理", "新的委托登记任务!", account, null);
return super.update(contractSample, Condition.create().in("id", ids));
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean submitToOutReg(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的合同!");
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的合同!");
ContractSample contractSample = new ContractSample();
contractSample.setStatus(ContractSampleStatusEnum.OUT_DRIFT);
contractSample.setProgress(ContractSampleStatusEnum.OUT_DRIFT);
contractSampleRecordService.record(ids,ContractSampleStatusEnum.CHECK_ACCEPT_REG,ContractSampleStatusEnum.OUT_DRIFT,0,"验收任务登记提交外委登记",account);
lmsMsgService.sendMsg("/hmhj/accept_manage/sub_register","验收任务登记提交至外委登记,请及时处理","新的外委登记任务!",account,null);
return super.update(contractSample,Condition.create().in("id",ids));
contractSampleRecordService.record(ids, ContractSampleStatusEnum.CHECK_ACCEPT_REG, ContractSampleStatusEnum.OUT_DRIFT, 0, "验收任务登记提交外委登记", account);
lmsMsgService.sendMsg("/hmhj/accept_manage/sub_register", "验收任务登记提交至外委登记,请及时处理", "新的外委登记任务!", account, null);
return super.update(contractSample, Condition.create().in("id", ids));
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean outRegPassToCheckResult(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的合同!");
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.OUT_DRIFT,ContractSampleStatusEnum.CHECK_RESULT_INPUT,0,"外委登记提交至验收结果录入",account);
contractSampleRecordService.record(ids, ContractSampleStatusEnum.OUT_DRIFT, ContractSampleStatusEnum.CHECK_RESULT_INPUT, 0, "外委登记提交至验收结果录入", account);
// lmsMsgService.sendMsg("/hmhj/accept_manage/sub_register","验收任务登记提交至外委登记,请及时处理","新的外委登记任务!",account,null);
return super.update(contractSample,Condition.create().in("id",ids));
return super.update(contractSample, Condition.create().in("id", ids));
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean submitToOutDataInput(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的合同!");
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的合同!");
ContractSample contractSample = new ContractSample();
contractSample.setStatus(ContractSampleStatusEnum.OUT_INPUT);
contractSample.setProgress(ContractSampleStatusEnum.OUT_INPUT);
contractSampleRecordService.record(ids,ContractSampleStatusEnum.OUT_DRIFT,ContractSampleStatusEnum.OUT_INPUT,0,"验收任务登记提交外委登记",account);
lmsMsgService.sendMsg("/hmhj/accept_manage/sub_input","外委登记提交至外委数据录入,请及时处理","新的外委数据录入!",account,null);
return super.update(contractSample,Condition.create().in("id",ids));
contractSampleRecordService.record(ids, ContractSampleStatusEnum.OUT_DRIFT, ContractSampleStatusEnum.OUT_INPUT, 0, "验收任务登记提交外委登记", account);
lmsMsgService.sendMsg("/hmhj/accept_manage/sub_input", "外委登记提交至外委数据录入,请及时处理", "新的外委数据录入!", account, null);
return super.update(contractSample, Condition.create().in("id", ids));
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean submitToExpertReviewFromOrg(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的合同!");
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的合同!");
ContractSample contractSample = new ContractSample();
contractSample.setStatus(ContractSampleStatusEnum.EXPERT_REVIEW);
contractSample.setProgress(ContractSampleStatusEnum.EXPERT_REVIEW);
contractSampleRecordService.record(ids,ContractSampleStatusEnum.CHECK_ACCEPT_ORg,ContractSampleStatusEnum.EXPERT_REVIEW,0,"验收组织提交至专家会审",account);
lmsMsgService.sendMsg("/hmhj/accept_manage/expert_audit","验收组织提交至专家会审,请及时处理","新的专家会审任务!",account,null);
return super.update(contractSample,Condition.create().in("id",ids));
contractSampleRecordService.record(ids, ContractSampleStatusEnum.CHECK_ACCEPT_ORg, ContractSampleStatusEnum.EXPERT_REVIEW, 0, "验收组织提交至专家会审", account);
lmsMsgService.sendMsg("/hmhj/accept_manage/expert_audit", "验收组织提交至专家会审,请及时处理", "新的专家会审任务!", account, null);
return super.update(contractSample, Condition.create().in("id", ids));
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean submitCheckResultInput(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交的合同!");
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));
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) {
return page.setRecords(baseMapper.selectVOList(page,contractSample));
return page.setRecords(baseMapper.selectVOList(page, contractSample));
}
@Override
public boolean addDTO(ContractSampleDTO dto) {
RestAssert.fail(null == dto , "数据有错误");
RestAssert.fail(null == dto, "数据有错误");
List<ContractSampleItem> itemList = dto.getItemList();
// RestAssert.fail(CollectionUtils.isEmpty(itemList),"请选择检测项目");
ContractSample contractSample = dto.convert(ContractSample.class);
if (save(contractSample)){
ContractSample contractSample = dto.convert(ContractSample.class);
if (save(contractSample)) {
if (CollectionUtils.isNotEmpty(itemList)){
for (ContractSampleItem item:itemList) {
if (CollectionUtils.isNotEmpty(itemList)) {
for (ContractSampleItem item : itemList) {
item.setContractSampleId(contractSample.getId());
}
return contractSampleItemService.saveBatch(itemList);
return contractSampleItemService.saveBatch(itemList);
}
return true;
......@@ -273,54 +274,53 @@ public class ContractSampleServiceImpl extends BaseServiceImpl<ContractSampleMap
}
@Override
public Page<ContractSampleVO> pageCheckAcceptOrgHis(Page<ContractSampleVO> page, ContractSampleVO contractSample) {
List<ContractSampleRecord> recordList = contractSampleRecordService.list(Condition.create().setSqlSelect("contract_sample_id").eq("origin",contractSample.getStatus().getDisplay()).groupBy("contract_sample_id"));
List<ContractSampleRecord> recordList = contractSampleRecordService.list(Condition.create().setSqlSelect("contract_sample_id").eq("origin", contractSample.getStatus().getDisplay()).groupBy("contract_sample_id"));
if (CollectionUtils.isEmpty(recordList)){
return page;
}
List<Long> sampleIds = recordList.stream().map(r->{
return r.getContractSampleId();
}).collect(Collectors.toList());
if (CollectionUtils.isEmpty(recordList)) {
return page;
}
List<Long> sampleIds = recordList.stream().map(r -> {
return r.getContractSampleId();
}).collect(Collectors.toList());
if (CollectionUtils.isEmpty(sampleIds)){
return page;
}
if (CollectionUtils.isEmpty(sampleIds)) {
return page;
}
contractSample.setIdList(sampleIds);
contractSample.setStatus(null);
return page.setRecords(baseMapper.selectVOList(page,contractSample));
return page.setRecords(baseMapper.selectVOList(page, contractSample));
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean submitToAcceptanceCheckPublish(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要提交至验收结果发布的数据");
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交至验收结果发布的数据");
ContractSample sample = new ContractSample();
sample.setStatus(ContractSampleStatusEnum.ACCEPTANCE_CHECK_PUBLISH);
sample.setStatus(ContractSampleStatusEnum.ACCEPTANCE_CHECK_PUBLISH);
if (super.update(sample,Condition.create().in("id",ids))){
contractSampleRecordService.record(ids,ContractSampleStatusEnum.CHECK_RESULT_INPUT,ContractSampleStatusEnum.ACCEPTANCE_CHECK_PUBLISH,0,"提交至验收结果发布",account);
if (super.update(sample, Condition.create().in("id", ids))) {
contractSampleRecordService.record(ids, ContractSampleStatusEnum.CHECK_RESULT_INPUT, ContractSampleStatusEnum.ACCEPTANCE_CHECK_PUBLISH, 0, "提交至验收结果发布", account);
}
return true;
}
@Override
public Page<ContractSampleVO> pageVOPublish(Page<ContractSampleVO> page, ContractSampleVO contractSample) {
return page.setRecords(baseMapper.selectVOPublishList(page,contractSample)) ;
return page.setRecords(baseMapper.selectVOPublishList(page, contractSample));
}
@Override
public boolean submitSecondJudgeApply(ContractSample sample, Account account) {
if (null == sample.getId()){
if (null == sample.getId()) {
RestAssert.fail("ID不能为空");
}
sample.setStatus(ContractSampleStatusEnum.SECOND_JUDGE_MAINTAIN);
sample.setProgress(ContractSampleStatusEnum.SECOND_JUDGE_MAINTAIN);
contractSampleRecordService.record(new Long[]{sample.getId()},ContractSampleStatusEnum.ACCEPTANCE_CHECK_PUBLISH,ContractSampleStatusEnum.SECOND_JUDGE_MAINTAIN,0,"二次判定申请",account);
contractSampleRecordService.record(new Long[]{sample.getId()}, ContractSampleStatusEnum.ACCEPTANCE_CHECK_PUBLISH, ContractSampleStatusEnum.SECOND_JUDGE_MAINTAIN, 0, "二次判定申请", account);
return updateById(sample);
......@@ -329,12 +329,12 @@ public class ContractSampleServiceImpl extends BaseServiceImpl<ContractSampleMap
@Transactional(rollbackFor = Exception.class)
@Override
public boolean submitToSecondJudgeCheck(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择提交审核的数据");
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择提交审核的数据");
ContractSample sample = new ContractSample();
sample.setStatus(ContractSampleStatusEnum.SECOND_JUDGE_CHECK);
sample.setProgress(ContractSampleStatusEnum.SECOND_JUDGE_CHECK);
update(sample,Condition.create().in("id",ids));
contractSampleRecordService.record(ids,ContractSampleStatusEnum.SECOND_JUDGE_MAINTAIN,ContractSampleStatusEnum.SECOND_JUDGE_CHECK,0,"二次判定提交至审核",account);
update(sample, Condition.create().in("id", ids));
contractSampleRecordService.record(ids, ContractSampleStatusEnum.SECOND_JUDGE_MAINTAIN, ContractSampleStatusEnum.SECOND_JUDGE_CHECK, 0, "二次判定提交至审核", account);
return true;
}
......@@ -342,30 +342,30 @@ public class ContractSampleServiceImpl extends BaseServiceImpl<ContractSampleMap
@Transactional(rollbackFor = Exception.class)
@Override
public boolean backSecondJudgeCheck(Long[] ids, String reason, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择驳回的数据");
RestAssert.fail(StringUtils.isBlank(reason),"请填写驳回的原因");
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择驳回的数据");
RestAssert.fail(StringUtils.isBlank(reason), "请填写驳回的原因");
ContractSample sample = new ContractSample();
sample.setStatus(ContractSampleStatusEnum.SECOND_JUDGE_MAINTAIN);
sample.setProgress(ContractSampleStatusEnum.BACK_SECOND_JUDGE_MAINTAIN);
update(sample,Condition.create().in("id",ids));
contractSampleRecordService.record(ids,ContractSampleStatusEnum.SECOND_JUDGE_MAINTAIN,ContractSampleStatusEnum.SECOND_JUDGE_CHECK,1,reason,account);
update(sample, Condition.create().in("id", ids));
contractSampleRecordService.record(ids, ContractSampleStatusEnum.SECOND_JUDGE_MAINTAIN, ContractSampleStatusEnum.SECOND_JUDGE_CHECK, 1, reason, account);
return true;
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean passToSecondJudgeCheck(ContractSampleVODTO dto, Account account) {
RestAssert.fail(null == dto,"数据有误");
RestAssert.fail(null == dto, "数据有误");
List<ContractSampleVO> voList = dto.getDtoList();
RestAssert.fail(CollectionUtils.isEmpty(voList),"请选择通过的数据!");
RestAssert.fail(CollectionUtils.isEmpty(voList), "请选择通过的数据!");
for (ContractSampleVO sampleVO : voList) {
RestAssert.fail(null == sampleVO.getId(),"数据有误!");
RestAssert.fail(null == sampleVO.getEntrustId(),"数据有误!");
RestAssert.fail(null == sampleVO.getId(), "数据有误!");
RestAssert.fail(null == sampleVO.getEntrustId(), "数据有误!");
}
List<Long> idsList=new ArrayList<>();
List<Long> entrustIdsList=new ArrayList<>();
List<Long> idsList = new ArrayList<>();
List<Long> entrustIdsList = new ArrayList<>();
for (ContractSampleVO sampleVO : voList) {
idsList.add(sampleVO.getId());
entrustIdsList.add(sampleVO.getEntrustSampleId());
......@@ -375,15 +375,15 @@ public class ContractSampleServiceImpl extends BaseServiceImpl<ContractSampleMap
sample.setStatus(EntrustSampleStatusEnum.END);
sample.setProgress(EntrustSampleStatusEnum.END);
sample.setJudgeStatus(0);
entrustSampleService.update(sample,Condition.create().in("id",entrustIdsList));
entrustSampleService.update(sample, Condition.create().in("id", entrustIdsList));
return true;
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean addJudgementType(Long[] ids, String judgement, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择数据!");
RestAssert.fail(StringUtils.isBlank(judgement),"请选择判定类型");
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择数据!");
RestAssert.fail(StringUtils.isBlank(judgement), "请选择判定类型");
List<ContractSample> updateList = new ArrayList<>();
for (Long id : ids) {
ContractSample sample = new ContractSample();
......@@ -392,7 +392,7 @@ public class ContractSampleServiceImpl extends BaseServiceImpl<ContractSampleMap
updateList.add(sample);
}
if (CollectionUtils.isNotEmpty(updateList)){
if (CollectionUtils.isNotEmpty(updateList)) {
return updateBatchById(updateList);
}
return false;
......
......@@ -464,7 +464,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
@Override
public OriginalRecord saveExcelOriginalRecord(Long[] ids, Long templateId, Account account,String entrustCode) {
public OriginalRecord saveExcelOriginalRecord(Long[] ids, Long templateId, Account account, String entrustCode) {
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择试验项目!");
RestAssert.fail(null == templateId, "请选择原始记录模板");
OriginalTemplate template = originalTemplateService.getById(templateId);
......@@ -514,7 +514,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
}
/* 获取采集数据,并保存到SampleVO中 */
getCollectionData(null,sampleVOList,entrustCode);
getCollectionData(null, sampleVOList, entrustCode);
if (null == template.getSampleBeginRow() || null == template.getSampleMergerNum() || null == template.getTemplateSampleNum()) {
......@@ -527,15 +527,15 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
// } else {
// MoreItemMoreOperation moreItemOperation = new MoreItemMoreOperation(template, sampleVOList, entrust, configList, xssfWorkbook);
// moreItemOperation.doMakeOriginal();
/* 多个检测项目放在一个sheet中,一个样品一条记录 */
SingleSheetMoreItemOperation operation = new SingleSheetMoreItemOperation(template, sampleVOList, entrust, configList, xssfWorkbook);
operation.doMakeOriginal();
/* 多个检测项目放在一个sheet中,一个样品一条记录 */
SingleSheetMoreItemOperation operation = new SingleSheetMoreItemOperation(template, sampleVOList, entrust, configList, xssfWorkbook);
operation.doMakeOriginal();
// }
} else {
/* 获取采集到的数据 */
getCollectionData(voList,null,entrustCode);
getCollectionData(voList, null, entrustCode);
if (CollectionUtils.isNotEmpty(voList)) {
mapReplace.put("#{sampleFrom}", voList.get(0).getSampleFrom());
......@@ -594,7 +594,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
return objectKey;
}
private void getCollectionData(List<EntrustSampleItemVO> itemVOListList,List<EntrustSampleVO> sampleVOList,String entrustCode) {
private void getCollectionData(List<EntrustSampleItemVO> itemVOListList, List<EntrustSampleVO> sampleVOList, String entrustCode) {
/* 拿到所有样品的编号 */
Set<String> numSet = new HashSet<>();
if (itemVOListList != null) {
......@@ -604,11 +604,11 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
numSet = sampleVOList.stream().map(vo -> vo.getCode()).collect(Collectors.toSet());
}
/* 通过样品编号拿到所有的采集数据 */
List<LmsOriginalRecordInfo> records = originalRecordInfoService.list(Condition.create().in("sample_num", numSet).eq("contract_code",entrustCode));
List<LmsOriginalRecordInfo> records = originalRecordInfoService.list(Condition.create().in("sample_num", numSet).eq("contract_code", entrustCode));
/* 按照样品编号和项目分开,来存放采集到的数据 record的data */
HashMap<String, List<String>> mapByNumItemName = new HashMap<>();
for (LmsOriginalRecordInfo record : records) {
MapMergeUtils.getorCreateMapArrayList(record.getSampleNum(),mapByNumItemName,record.getData());
MapMergeUtils.getorCreateMapArrayList(record.getSampleNum(), mapByNumItemName, record.getData());
}
/* 设置采集数据的Map -- itemVo */
if (itemVOListList != null) {
......@@ -638,11 +638,11 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
}
}
public static Map<String,String> toStringStringMap(String jsonString) {
public static Map<String, String> toStringStringMap(String jsonString) {
HashMap<String, String> stringStringHashMap = new HashMap<>();
Map<String, Object> stringObjectMap = JsonUtils.exchange(jsonString);
for (Map.Entry<String, Object> entry : stringObjectMap.entrySet()) {
stringStringHashMap.put(entry.getKey(),(String) entry.getValue());
stringStringHashMap.put(entry.getKey(), (String) entry.getValue());
}
return stringStringHashMap;
}
......@@ -790,13 +790,13 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
for (EntrustSampleVO sampleVO : sampleList) {
// 若为此标准,需要判断是否需要过滤掉稀有元素的判断
boolean isSpecStandard = "GB/T 1196 2017".equalsIgnoreCase(sampleVO.getStandardCode());
boolean isSpecStandard = "GB/T 1196 2017".equalsIgnoreCase(sampleVO.getProductCode());
// 获取检测项目及指标数据
List<EntrustSampleItemIndexVO> sampleItemIndexList = entrustSampleItemIndexService.listVOBySampleIds(Arrays.asList(sampleVO.getId()));
RestAssert.fail(CollectionUtils.isEmpty(sampleItemIndexList), "样品检测项目及内容不能为空");
// 计算合计值
BigDecimal totalValue = sampleItemIndexList.stream().map(t -> {
BigDecimal totalValue = sampleItemIndexList.stream().filter(t -> StringUtils.isBlank(t.getTestValue())).map(t -> {
// 符合此条件,需要判断是否此标准且为稀有元素且值小于0.01即可忽略为0
if (isSpecStandard && otherYsList.contains(t.getName()) && Double.parseDouble(t.getTestValue()) < 0.01) {
return BigDecimal.ZERO;
......@@ -807,7 +807,8 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
// 获取检测项目值对象
Map<String, Double> itemDataMap = sampleItemIndexList.stream().collect(Collectors.toMap(EntrustSampleItemIndexVO::getName, t -> Double.parseDouble(t.getTestValue())));
// 获得产品标准信息
// 获得产品标准信息 -- 实时最新不是根据样品中的是否组合判定进行判定
// 可能需要根据样品中的字段进行判断是否需要组合判定composeJudge
GradingStandard standard = gradingStandardService.getById(sampleVO.getProductStandardId());
RestAssert.fail(null == standard, "产品标准不能为空");
// 是否组合判定
......@@ -906,7 +907,8 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
*/
private boolean updateJudgeNoPass(EntrustSample sample, Account account) {
sample.setOkJudge("不合格").setJudger(account.getUserName()).setJudgerId(account.getUserId())
.setJudgeCheckTime(new Date()).setJudgeStatus(0).setJudgeProgress(0);
.setJudgeCheckTime(new Date()).setJudgeStatus(0).setJudgeProgress(0)
.setSampleGrading("-");
return entrustSampleService.updateById(sample);
}
......@@ -991,7 +993,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
EntrustSampleVO sampleVO = entrustSamples.get(0);
// 若不为此标准,直接返回
if (!"GB/T 1196 2017".equalsIgnoreCase(sampleVO.getStandardCode())) {
if (!"GB/T 1196 2017".equalsIgnoreCase(sampleVO.getProductCode())) {
return;
}
List<String> otherYsList = Arrays.asList("Mn", "V", "Ni");
......
......@@ -27,6 +27,7 @@ import com.patzn.poibox.xwpf.PoiUtil2007;
import com.patzn.poibox.xwpf.XWPFTemplate;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.session.RowBounds;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.*;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
......@@ -566,23 +567,23 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
}
@Override
public List<EntrustSampleVO> getVOListByEntrustId(Long entrustId){
if(null == entrustId){
public List<EntrustSampleVO> getVOListByEntrustId(Long entrustId) {
if (null == entrustId) {
return null;
}
EntrustSampleVO vo = new EntrustSampleVO();
vo.setEntrustId(entrustId);
return selectListWithRelation(vo);
return selectVOLists(vo);
}
@Override
public List<EntrustSampleVO> getVOListByIds(List<Long> sampleIdList){
if(CollectionUtils.isEmpty(sampleIdList)){
public List<EntrustSampleVO> getVOListByIds(List<Long> sampleIdList) {
if (CollectionUtils.isEmpty(sampleIdList)) {
return null;
}
EntrustSampleVO vo = new EntrustSampleVO();
vo.setIds(sampleIdList);
return selectListWithRelation(vo);
return selectVOLists(vo);
}
@Override
......@@ -1730,8 +1731,8 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
}
@Override
public List<EntrustSampleVO> selectListWithRelation(EntrustSampleVO entrustSampleVO){
return baseMapper.selectListWithRelation(entrustSampleVO);
public List<EntrustSampleVO> selectVOLists(EntrustSampleVO entrustSampleVO) {
return baseMapper.selectVOList(RowBounds.DEFAULT, entrustSampleVO);
}
}
\ No newline at end of file
......@@ -278,6 +278,15 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
return true;
}
@Override
public Boolean saveOutEntrust(EntrustDTO dto, Account account) {
RestAssert.fail(CollectionUtils.isEmpty(dto.getSampleDTOList()), "外委样品不能为空");
dto.getSampleDTOList().stream().forEach(t -> {
t.setCategory("外委检测物资");
});
return saveEntrustDTO(dto, account);
}
@Transactional(rollbackFor = Exception.class)
@Override
......@@ -1271,6 +1280,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
return true;
}
private ByteArrayOutputStream getEntrustBaos() {
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("\\templates.\\word.\\entrust.\\EntrustExportTemplate.docx");
RestAssert.fail(null == inputStream, "委托检测书模板获取失败");
......
......@@ -77,58 +77,6 @@
order by s.order_by asc, s.code ,s.ctime desc
</select>
<!--查询带关联信息的样品列表-->
<select id="selectListWithRelation" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleVO">
SELECT
s.*,
g.name "standard_name",g.code "standard_code",g.compose_judge "standard_compose_judge"
FROM entrust_sample s
LEFT JOIN grading_standard g on g.id = s.product_standard_id
WHERE deleted = 0
<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.code">
AND s.code LIKE CONCAT('%',#{vo.code},'%')
</if>
<if test="null != vo.notStatus">
AND s.status != #{vo.notStatus}
</if>
<if test="null != vo.itemStatus">
AND exists (
select 1 from entrust_sample_item i where i.deleted = 0
and i.entrust_sample_id = s.id
and i.status = #{vo.itemStatus}
)
</if>
<if test="null != vo.itemStatusList">
AND exists (
select 1 from entrust_sample_item i where i.deleted = 0
and i.entrust_sample_id = s.id
and i.status IN
<foreach collection="vo.itemStatusList" index="index" item="itemStatus" open="(" separator="," close=")">
#{itemStatus}
</foreach>
)
</if>
<if test="null!=vo.ids">
AND s.id IN
<foreach collection="vo.ids" index="index" item="sampleId" open="(" separator="," close=")">
#{sampleId}
</foreach>
</if>
order by s.order_by asc, s.code ,s.ctime desc
</select>
<select id="selectMinStatusByEntrustIds" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleVO">
WITH summary AS (
......
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