Commit 9d7b4b9e by jiangxuming

feat(ui): 添加退回到样品接收

parent e09649c1
...@@ -379,6 +379,12 @@ public class EntrustController extends ServiceController { ...@@ -379,6 +379,12 @@ public class EntrustController extends ServiceController {
return success(entrustService.backFromReceive(ids, getAccount(), reason)); return success(entrustService.backFromReceive(ids, getAccount(), reason));
} }
@ApiOperation("退回到样品接收")
@PostMapping("/back_from_task_allot")
public RestResult<Boolean> backFromTaskAllot(@RequestParam("ids") Long[] ids, @RequestParam("reason") String reason) {
return success(entrustService.backFromTaskAllot(ids, getAccount(), reason));
}
@ApiOperation("提交至样品制备") @ApiOperation("提交至样品制备")
@PostMapping("/submit_to_make") @PostMapping("/submit_to_make")
......
...@@ -85,6 +85,7 @@ public interface IEntrustService extends IBaseService<Entrust> { ...@@ -85,6 +85,7 @@ public interface IEntrustService extends IBaseService<Entrust> {
boolean backFromMake(Long[] ids, Account account, String reason); boolean backFromMake(Long[] ids, Account account, String reason);
boolean backFromReceive(Long[] ids, Account account, String reason); boolean backFromReceive(Long[] ids, Account account, String reason);
boolean backFromTaskAllot(Long[] ids, Account account, String reason);
boolean submitChangeApply(Long id, Long approveId, String reason, Account account); boolean submitChangeApply(Long id, Long approveId, String reason, Account account);
......
...@@ -1370,6 +1370,67 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust> ...@@ -1370,6 +1370,67 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
return true; return true;
} }
@Override
@Transactional(rollbackFor = Exception.class)
public boolean backFromTaskAllot(Long[] ids, Account account, String reason) {
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要驳回的委托");
// int count = super.count(Condition.create().in("id", ids).eq("status", EntrustStatusEnum.TEST));
// RestAssert.fail(ids.length != count, "请选择要退回至登记的委托");
List<Entrust> entrustList = getBatchIds(Arrays.asList(ids));
RestAssert.fail(CollectionUtils.isEmpty(entrustList), "请选择要驳回的委托");
List<Long> sendUidList = new ArrayList<>();
for (Entrust e : entrustList) {
e.setStatus(EntrustStatusEnum.MAKE);
e.setProgress(EntrustStatusEnum.BACK_ALLOT);
// 流程节点变更为登记
e.setFlowStatus(EntrustFlowEnum.RECEIVE.getName());
updateById(e);
entrustRecordService.record(new Long[]{e.getId()}, EntrustStatusEnum.TEST.getDisplay(), EntrustStatusEnum.DRAFT.getDisplay(), 1, account, reason);
sendUidList.add(e.getUid());
// 更新样品状态
List<EntrustSample> sampleList = entrustSampleService.getByEntrustId(e.getId());
// 抓取样品IDS
List<Long> sampleIds = sampleList.stream().map(EntrustSample::getId).collect(Collectors.toList());
// 获取其中一个样品,判断是否是原铝散样
EntrustSample sample = sampleList.get(0);
boolean isAlBulkSample = Objects.equals(sample.getCodeRuleType(), CodeTypeEnum.AL_BULK_SAMPLE_CODE.getIntValue());
// 更新样品状态前,确认样品是否为原铝散样,若为原铝散样,清除样品编号
// 其他样品类型,不做处理
if (false) {
List<String> codeList = new ArrayList<>();
for (EntrustSample s : sampleList) {
codeList.add(s.getCode());
s.setCode(null).setFirstCode(null).setSecondCode(null).setThirdCode(null)
.setStatus(EntrustSampleStatusEnum.DRAFT).setProgress(EntrustSampleStatusEnum.DRAFT);
}
entrustSampleService.updateBatchByData(sampleList);
codeRuleService.recycleAlBulkCode(codeList, account);
} else {
EntrustSample entrustSample = new EntrustSample();
entrustSample.setStatus(EntrustSampleStatusEnum.RECEIVE);
entrustSample.setProgress(EntrustSampleStatusEnum.RECEIVE);
entrustSampleService.update(entrustSample, Condition.create().eq("entrust_id", e.getId()));
}
// 检测项目处理
EntrustSampleItem entrustSampleItem = new EntrustSampleItem();
entrustSampleItem.setStatus(EntrustSampleItemStatusEnum.DRAFT);
entrustSampleItem.setProgress(EntrustSampleItemStatusEnum.DRAFT);
if (sampleIds.size() > 0) {
entrustSampleItemService.update(entrustSampleItem, Condition.create().in("entrust_sample_id", sampleIds));
// 备样处理
EntrustSamplePrepare entrustSamplePrepare = new EntrustSamplePrepare();
entrustSamplePrepare.setStatus(EntrustSamplePrepareStatusEnum.RECEIVE);
entrustSamplePrepare.setProgress(EntrustSamplePrepareStatusEnum.RECEIVE);
entrustSamplePrepareService.update(entrustSamplePrepare, Condition.create().in("entrust_sample_id", sampleIds));
}
// 删除委托下样品备样
// entrustSampleBackupService.remove(Condition.create().eq("entrust_id", e.getId()));
}
lmsMsgService.sendMsg("/hmhj/entrust_manage/entrust_register", "有委托从任务分配退回,请及时查看退回原因并处理", "新的任务分配退回任务!", account, sendUidList);
return true;
}
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean submitChangeApply(Long id, Long approveId, String reason, Account account) { public boolean submitChangeApply(Long id, Long approveId, String reason, Account account) {
......
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