|
|
|
|
@ -3,6 +3,8 @@ |
|
|
|
|
*/ |
|
|
|
|
package org.springblade.desk.quality.service.impl; |
|
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
|
import cn.hutool.cron.task.Task; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
|
@ -27,6 +29,7 @@ import org.springblade.desk.quality.excel.LiquidTankTaskExcel; |
|
|
|
|
import org.springblade.desk.quality.mapper.LiquidTankTaskMapper; |
|
|
|
|
import org.springblade.desk.quality.pojo.entity.LiquidTank; |
|
|
|
|
import org.springblade.desk.quality.pojo.entity.LiquidTankTask; |
|
|
|
|
import org.springblade.desk.quality.pojo.entity.LiquidTankTaskCopy; |
|
|
|
|
import org.springblade.desk.quality.pojo.entity.LiquidTankTaskHi; |
|
|
|
|
import org.springblade.desk.quality.pojo.vo.LiquidTankTaskVO; |
|
|
|
|
import org.springblade.desk.quality.service.*; |
|
|
|
|
@ -130,18 +133,14 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap |
|
|
|
|
@Transactional |
|
|
|
|
public R fillFirstBat(List<LiquidTankTask> list) { |
|
|
|
|
for (LiquidTankTask task : list) { |
|
|
|
|
// todo:
|
|
|
|
|
// basicChangeStatus(task.getId(), LiquidTankTaskConst.S_DATA_FIRST);
|
|
|
|
|
// todo:计算加药量,通过公式 公式尚未实现 公式计算的。
|
|
|
|
|
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_REVIEW); |
|
|
|
|
// todo:计算加药量,通过公式 公式尚未实现 公式计算的 需加药量。
|
|
|
|
|
// task.setAddUnit(1000);
|
|
|
|
|
task.setNeedAddValue(1000.0); |
|
|
|
|
// basicChangeStatus(task.getId(), );
|
|
|
|
|
task.setStatus(LiquidTankTaskConst.S_PENDING_REVIEW); |
|
|
|
|
// 首次化验时间
|
|
|
|
|
// task.setFirstTestDate(LocalDateTime.now());
|
|
|
|
|
// basicUpdateById(task);
|
|
|
|
|
// 首次化验时间 要用户填写
|
|
|
|
|
// 首次填报时间
|
|
|
|
|
task.setFirstFillDate(LocalDateTime.now()); |
|
|
|
|
updateById(task); |
|
|
|
|
basicUpdateById(task); |
|
|
|
|
} |
|
|
|
|
return R.success(); |
|
|
|
|
} |
|
|
|
|
@ -150,10 +149,8 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap |
|
|
|
|
@Override |
|
|
|
|
public R editDrugBat(List<LiquidTankTask> list) { |
|
|
|
|
for (LiquidTankTask task : list) { |
|
|
|
|
// basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_REVIEW);
|
|
|
|
|
// basicUpdateById(task);
|
|
|
|
|
task.setStatus(LiquidTankTaskConst.S_PENDING_REVIEW); |
|
|
|
|
updateById(task); |
|
|
|
|
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_REVIEW); |
|
|
|
|
basicUpdateById(task); |
|
|
|
|
} |
|
|
|
|
return R.success(); |
|
|
|
|
} |
|
|
|
|
@ -165,40 +162,37 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap |
|
|
|
|
for (Long id : list) { |
|
|
|
|
LiquidTankTask task = baseMapper.selectById(id); |
|
|
|
|
if (Objects.equals(reviewPass, LiquidTankTaskConst.REVIEW_YES)) { |
|
|
|
|
// todo: flag
|
|
|
|
|
// todo: 是否需要加药?
|
|
|
|
|
// 审核通过
|
|
|
|
|
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_SEND_DRUG); |
|
|
|
|
task.setReviewPass(LiquidTankTaskConst.REVIEW_YES); |
|
|
|
|
// basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_SEND_DRUG);
|
|
|
|
|
task.setStatus(LiquidTankTaskConst.S_PENDING_SEND_DRUG); |
|
|
|
|
// task.setStatus(LiquidTankTaskConst.STATE_FINISH_OK);
|
|
|
|
|
} else if (Objects.equals(reviewPass, LiquidTankTaskConst.REVIEW_NO)) { |
|
|
|
|
// todo: flag
|
|
|
|
|
// todo: 是否需要加药?
|
|
|
|
|
} else if (Objects.equals(reviewPass, LiquidTankTaskConst.REVIEW_NO)) { |
|
|
|
|
// 审核不通过
|
|
|
|
|
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_EDIT_DRUG); |
|
|
|
|
task.setReviewPass(LiquidTankTaskConst.REVIEW_NO); |
|
|
|
|
// basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_REVIEW);
|
|
|
|
|
task.setStatus(LiquidTankTaskConst.S_PENDING_EDIT_DRUG); |
|
|
|
|
// todo: flag
|
|
|
|
|
} |
|
|
|
|
// 审核意见
|
|
|
|
|
task.setReviewOpinion(reviewOpinion); |
|
|
|
|
// 审核人
|
|
|
|
|
task.setReviewUserId(AuthUtil.getUserId()); |
|
|
|
|
// 审核时间
|
|
|
|
|
task.setReviewDate(LocalDateTime.now()); |
|
|
|
|
updateById(task); |
|
|
|
|
basicUpdateById(task); |
|
|
|
|
} |
|
|
|
|
return R.success(); |
|
|
|
|
return R.success("批量审核成功"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Transactional |
|
|
|
|
@Override |
|
|
|
|
public R revoke(Long id, String revokeReason) { |
|
|
|
|
LiquidTankTask task = baseMapper.selectById(id); |
|
|
|
|
// 审核初始化
|
|
|
|
|
// 审核状态再初始化
|
|
|
|
|
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_EDIT_DRUG); |
|
|
|
|
task.setReviewPass(LiquidTankTaskConst.REVIEW_INIT); |
|
|
|
|
task.setStatus(LiquidTankTaskConst.S_PENDING_EDIT_DRUG); |
|
|
|
|
// basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_REVIEW);
|
|
|
|
|
updateById(task); |
|
|
|
|
return R.success(); |
|
|
|
|
basicUpdateById(task); |
|
|
|
|
return R.success("成功撤回"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Transactional |
|
|
|
|
@ -206,24 +200,22 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap |
|
|
|
|
@Override |
|
|
|
|
public R sendDrugBat(List<LiquidTankTask> list) { |
|
|
|
|
for (LiquidTankTask task : list) { |
|
|
|
|
// basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_RECEIVE_DRUG);
|
|
|
|
|
task.setStatus(LiquidTankTaskConst.S_PENDING_RECEIVE_DRUG); |
|
|
|
|
//
|
|
|
|
|
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_RECEIVE_DRUG); |
|
|
|
|
// 发药用户
|
|
|
|
|
task.setSendDrugUserId(AuthUtil.getUserId()); |
|
|
|
|
// 发药时间
|
|
|
|
|
task.setSendDrugDate(LocalDateTime.now()); |
|
|
|
|
basicUpdateById(task); |
|
|
|
|
} |
|
|
|
|
return R.success(); |
|
|
|
|
return R.success("发药成功"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Transactional |
|
|
|
|
@Override |
|
|
|
|
public R receiveDrugBat(List<LiquidTankTask> list) { |
|
|
|
|
// 用户权限过滤
|
|
|
|
|
// todo:用户权限过滤
|
|
|
|
|
for (LiquidTankTask task : list) { |
|
|
|
|
task.setStatus(LiquidTankTaskConst.S_PENDING_FILL_DATA_SECOND); |
|
|
|
|
// basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_FILL_DATA_SECOND);
|
|
|
|
|
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_FILL_DATA_SECOND); |
|
|
|
|
// 领药人 为指定班组 班组长
|
|
|
|
|
// task.setReceiveDrugUserId(AuthUtil.getUserId());
|
|
|
|
|
Long teamId = task.getTeamId(); |
|
|
|
|
@ -232,23 +224,22 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap |
|
|
|
|
task.setReceiveDrugDate(LocalDateTime.now()); |
|
|
|
|
basicUpdateById(task); |
|
|
|
|
} |
|
|
|
|
return R.success(); |
|
|
|
|
return R.success("收药成功"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Transactional |
|
|
|
|
@Override |
|
|
|
|
public R fillRepeatBat(List<LiquidTankTask> list) { |
|
|
|
|
for (LiquidTankTask task : list) { |
|
|
|
|
task.setStatus(LiquidTankTaskConst.S_FINISH_OK); |
|
|
|
|
// basicChangeStatus(task.getId(), LiquidTankTaskConst.S_FINISH_OK);
|
|
|
|
|
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_FINISH_OK); |
|
|
|
|
// 复检化验时间 用户填写
|
|
|
|
|
// 结束时间
|
|
|
|
|
task.setFinishDate(LocalDateTime.now()); |
|
|
|
|
// 复检填报时间
|
|
|
|
|
task.setRepeatFillDate(LocalDateTime.now()); |
|
|
|
|
// 结束时间
|
|
|
|
|
task.setFinishDate(LocalDateTime.now()); |
|
|
|
|
basicUpdateById(task); |
|
|
|
|
} |
|
|
|
|
return R.success(); |
|
|
|
|
return R.success("复检填报成功"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Transactional |
|
|
|
|
@ -261,37 +252,39 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap |
|
|
|
|
@Override |
|
|
|
|
public R transfer(Long id, Long testUserId) { |
|
|
|
|
LiquidTankTask task = baseMapper.selectById(id); |
|
|
|
|
// todo:转派前提条件
|
|
|
|
|
// 转派 条件判断
|
|
|
|
|
if (task.getStatus() >= LiquidTankTaskConst.S_PENDING_TEST) { |
|
|
|
|
return R.fail("已经接收,无法转派。"); |
|
|
|
|
} |
|
|
|
|
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_ACCEPT); |
|
|
|
|
task.setTestUserId(testUserId); |
|
|
|
|
// basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_ACCEPT);
|
|
|
|
|
task.setStatus(LiquidTankTaskConst.S_PENDING_ACCEPT); |
|
|
|
|
basicUpdateById(task); |
|
|
|
|
return R.success(); |
|
|
|
|
return R.success("转派成功"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Transactional |
|
|
|
|
@Override |
|
|
|
|
public R finishOK(Long id, String finishReason) { |
|
|
|
|
LiquidTankTask task = baseMapper.selectById(id); |
|
|
|
|
task.setFinishReason(finishReason); |
|
|
|
|
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_FINISH_OK); |
|
|
|
|
task.setFinishReason(finishReason); |
|
|
|
|
// 结束时间
|
|
|
|
|
task.setFinishDate(LocalDateTime.now()); |
|
|
|
|
basicUpdateById(task); |
|
|
|
|
return R.success(); |
|
|
|
|
return R.success("正常结束"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Transactional |
|
|
|
|
@Override |
|
|
|
|
public R finishFail(Long id, String finishReason) { |
|
|
|
|
LiquidTankTask task = baseMapper.selectById(id); |
|
|
|
|
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_FINISH_FAILED); |
|
|
|
|
task.setFinishReason(finishReason); |
|
|
|
|
// basicChangeStatus(task.getId(), LiquidTankTaskConst.S_FINISH_FAILED);
|
|
|
|
|
task.setStatus(LiquidTankTaskConst.S_FINISH_FAILED); |
|
|
|
|
// 结束时间
|
|
|
|
|
task.setFinishDate(LocalDateTime.now()); |
|
|
|
|
basicUpdateById(task); |
|
|
|
|
return R.success(); |
|
|
|
|
return R.success("异常结束"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
@ -399,56 +392,80 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap |
|
|
|
|
return task; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public Boolean basicSave(LiquidTankTask task) { |
|
|
|
|
/** |
|
|
|
|
* 插入-两个表id相同 |
|
|
|
|
* |
|
|
|
|
* @param task |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
public boolean basicSave(LiquidTankTask task) { |
|
|
|
|
if (task == null) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
task.setId(null); |
|
|
|
|
// LiquidTankTaskCopy copy = new LiquidTankTaskCopy();
|
|
|
|
|
// BeanUtil.copyProperties(task, copy, true);
|
|
|
|
|
// save(task);
|
|
|
|
|
// copy.setId(task.getId());
|
|
|
|
|
// return copyService.save(copy);
|
|
|
|
|
return save(task); |
|
|
|
|
// save后有id
|
|
|
|
|
save(task); |
|
|
|
|
LiquidTankTaskCopy copy = new LiquidTankTaskCopy(); |
|
|
|
|
BeanUtil.copyProperties(task, copy, true); |
|
|
|
|
// 同步新增
|
|
|
|
|
return copyService.save(copy); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public Boolean basicUpdateById(LiquidTankTask task) { |
|
|
|
|
// LiquidTankTaskCopy copy = new LiquidTankTaskCopy();
|
|
|
|
|
// BeanUtil.copyProperties(task, copy, true);
|
|
|
|
|
return updateById(task); |
|
|
|
|
// return copyService.updateById(copy);
|
|
|
|
|
/** |
|
|
|
|
* 更新-两个表同时更新 |
|
|
|
|
* |
|
|
|
|
* @param task |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@Transactional |
|
|
|
|
public boolean basicUpdateById(LiquidTankTask task) { |
|
|
|
|
if (task == null || task.getId() == null) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
// update
|
|
|
|
|
updateById(task); |
|
|
|
|
LiquidTankTaskCopy copy = new LiquidTankTaskCopy(); |
|
|
|
|
BeanUtil.copyProperties(task, copy, true); |
|
|
|
|
// 同步更新
|
|
|
|
|
return copyService.updateById(copy); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Transactional |
|
|
|
|
public Boolean basicDeleteLogic(List<Long> ids) { |
|
|
|
|
return deleteLogic(ids); |
|
|
|
|
// copyService.deleteLogic(ids);
|
|
|
|
|
deleteLogic(ids); |
|
|
|
|
return copyService.deleteLogic(ids); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 变更状态,并保存LiquidTankTaskHi记录. |
|
|
|
|
* |
|
|
|
|
* @param id |
|
|
|
|
* @param newStatus |
|
|
|
|
* @param id [任务]id |
|
|
|
|
* @param newStatus 新状态 |
|
|
|
|
*/ |
|
|
|
|
public void basicChangeStatus(Long id, Integer newStatus) { |
|
|
|
|
LiquidTankTaskHi add = new LiquidTankTaskHi(); |
|
|
|
|
LiquidTankTask task = getById(id); |
|
|
|
|
task.setStatus(newStatus); |
|
|
|
|
updateById(task); |
|
|
|
|
if (!Objects.isNull(task)) { |
|
|
|
|
add.setLiquidTankTaskId(id); |
|
|
|
|
add.setOldStatus(task.getStatus()); |
|
|
|
|
add.setNewStatus(newStatus); |
|
|
|
|
add.setHandleUserId(AuthUtil.getUserId()); |
|
|
|
|
add.setHandleDate(LocalDateTime.now()); |
|
|
|
|
// LiquidTankTaskCopy copy = copyService.getById(id);
|
|
|
|
|
// 设置新状态
|
|
|
|
|
// copy.setStatus(newStatus);
|
|
|
|
|
|
|
|
|
|
// 保存
|
|
|
|
|
// hiService.save(add);
|
|
|
|
|
// copyService.updateById(copy);
|
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
LiquidTankTaskCopy taskCopy = copyService.getById(id); |
|
|
|
|
if (task == null) { |
|
|
|
|
log.error("not find LiquidTankTask."); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if (taskCopy == null) { |
|
|
|
|
log.error("not find LiquidTankTaskCopy."); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
int oldStatus = task.getStatus(); |
|
|
|
|
task.setStatus(newStatus); |
|
|
|
|
taskCopy.setStatus(newStatus); |
|
|
|
|
// 更新状态
|
|
|
|
|
updateById(task); |
|
|
|
|
copyService.updateById(taskCopy); |
|
|
|
|
// history
|
|
|
|
|
LiquidTankTaskHi hi = new LiquidTankTaskHi(); |
|
|
|
|
hi.setLiquidTankTaskId(id); |
|
|
|
|
hi.setOldStatus(oldStatus); |
|
|
|
|
hi.setNewStatus(newStatus); |
|
|
|
|
hi.setHandleUserId(AuthUtil.getUserId()); |
|
|
|
|
hi.setHandleDate(LocalDateTime.now()); |
|
|
|
|
hiService.save(hi); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|