提交 48039544 authored 作者: 133's avatar 133

[清退 报废 销毁 退役] 代码提交测试

上级 f85ed9b0
...@@ -188,7 +188,15 @@ public enum LogType { ...@@ -188,7 +188,15 @@ public enum LogType {
SEND_BACK_27(100017,SEND_BACK.id, SEND_BACK_1202.id,SEND_BACK_1213.id , "省直属单位清退装备选择完成,等待签字单据上传"), SEND_BACK_27(100017,SEND_BACK.id, SEND_BACK_1202.id,SEND_BACK_1213.id , "省直属单位清退装备选择完成,等待签字单据上传"),
SEND_BACK_28(100018,SEND_BACK.id, SEND_BACK_1213.id,END.id , "上传了直属单位清退签字单据"), SEND_BACK_28(100018,SEND_BACK.id, SEND_BACK_1213.id,END.id , "上传了直属单位清退签字单据"),
SEND_BACK_29(100019,SEND_BACK.id, SEND_BACK_1209.id,SEND_BACK_1215.id , "单据未上传,继续等待单据上传"), SEND_BACK_29(100019,SEND_BACK.id, SEND_BACK_1209.id,SEND_BACK_1215.id , "单据未上传,继续等待单据上传"),
SEND_BACK_30(100020,SEND_BACK.id, SEND_BACK_1215.id,END.id , "接收单据已上传,清退装备配送完成"), SEND_BACK_30(100020,SEND_BACK.id, SEND_BACK_1208.id,SEND_BACK_1217.id , "调用电子签章,等待审核"),
SEND_BACK_31(100021,SEND_BACK.id, SEND_BACK_1217.id,SEND_BACK_1219.id , "电之签章调用审核通过,等待盖章出库"),
SEND_BACK_32(100022,SEND_BACK.id, SEND_BACK_1217.id,SEND_BACK_1208.id , "电之签章调用审核不通过,等待重新出库"),
SEND_BACK_33(100023,SEND_BACK.id, SEND_BACK_1209.id,SEND_BACK_1220.id , "入库任务调用电子签章,等待审核"),
SEND_BACK_34(100024,SEND_BACK.id, SEND_BACK_1220.id,SEND_BACK_1218.id , "入库任务调用电子签章审核通过,等待盖章入库"),
SEND_BACK_35(100025,SEND_BACK.id, SEND_BACK_1220.id,SEND_BACK_1209.id , "入库任务调用电子签章审核不通过,等待重新入库"),
//退役 //退役
DECOMMISSIONING_1(100201,DECOMMISSIONING.id, ORIGIN_STATUS.id,SEND_BACK_1210.id , "发起退役任务,等待中办签字单据"), DECOMMISSIONING_1(100201,DECOMMISSIONING.id, ORIGIN_STATUS.id,SEND_BACK_1210.id , "发起退役任务,等待中办签字单据"),
...@@ -200,12 +208,18 @@ public enum LogType { ...@@ -200,12 +208,18 @@ public enum LogType {
DECOMMISSIONING_7(100207,DECOMMISSIONING.id, DECOMMISSIONING_1251.id,DECOMMISSIONING_1250.id , "调用电子签章审核,拒绝"), DECOMMISSIONING_7(100207,DECOMMISSIONING.id, DECOMMISSIONING_1251.id,DECOMMISSIONING_1250.id , "调用电子签章审核,拒绝"),
DECOMMISSIONING_8(100208,DECOMMISSIONING.id, DECOMMISSIONING_1251.id,DECOMMISSIONING_1252.id , "调用电子签章审核,通过"), DECOMMISSIONING_8(100208,DECOMMISSIONING.id, DECOMMISSIONING_1251.id,DECOMMISSIONING_1252.id , "调用电子签章审核,通过"),
DECOMMISSIONING_9(100209,DECOMMISSIONING.id, DECOMMISSIONING_1252.id,END.id , "上传中办签字单据,任务结束"), DECOMMISSIONING_9(100209,DECOMMISSIONING.id, DECOMMISSIONING_1252.id,END.id , "上传中办签字单据,任务结束"),
// DECOMMISSIONING_2(100202,DESTROY.id, SEND_BACK_1210.id,END.id , "上传中办签字单据,任务结束"),
// DECOMMISSIONING_2(100202,DECOMMISSIONING.id, SEND_BACK_1210.id,END.id , "上传中办签字单据,任务结束"), // DECOMMISSIONING_2(100202,DECOMMISSIONING.id, SEND_BACK_1210.id,END.id , "上传中办签字单据,任务结束"),
// DECOMMISSIONING_2(100202,DECOMMISSIONING.id, SEND_BACK_1210.id,END.id , "上传中办签字单据,任务结束"),
//销毁任务日志
DESTROY_LOG_1(100301,DESTROY.id, ORIGIN_STATUS.id, DESTROY_2.id, "发起装备销毁"),
DESTROY_LOG_2(100302,DESTROY.id, DESTROY_2.id, END.id, "上传销毁单据,任务结束"),
DESTROY_LOG_3(100303,DESTROY.id, ORIGIN_STATUS.id, DESTROY_0.id, "发起了销毁任务的草稿"),
DESTROY_LOG_4(100304,DESTROY.id, DESTROY_0.id, DESTROY_2.id, "发起了销毁任务"),
//重新入库 //重新入库
AGAINSTORAGE_01(100021,AGAINSTORAGE.id, ORIGIN_STATUS.id,END.id , "发起了装备生命状态转换"), AGAINSTORAGE_01(100901,AGAINSTORAGE.id, ORIGIN_STATUS.id,END.id , "发起了装备生命状态转换"),
SCRAP_1(100101,SCRAP.id, ORIGIN_STATUS.id, SCRAP_2222.id, "发起装备报废"), SCRAP_1(100101,SCRAP.id, ORIGIN_STATUS.id, SCRAP_2222.id, "发起装备报废"),
SCRAP_2(100102,SCRAP.id, SCRAP_2222.id, END.id, "上传报废单据,任务结束"), SCRAP_2(100102,SCRAP.id, SCRAP_2222.id, END.id, "上传报废单据,任务结束"),
......
...@@ -77,4 +77,14 @@ public class DecommissioningDevController { ...@@ -77,4 +77,14 @@ public class DecommissioningDevController {
} }
/**
* 退役草稿任务封存
*/
@ApiOperation(value = "退役草稿任务封存", notes = "退役草稿任务封存")
@PostMapping(value ="/moveToArchiveDecommissioning/{taskId}")
public ResponseEntity deleteDrafts(@PathVariable Integer taskId){
deviceDecommissioningBusinessService.deleteDrafts(taskId);
return ResponseEntity.ok("退役草稿任务封存成功,任务结束");
}
} }
...@@ -3,6 +3,7 @@ package com.tykj.dev.device.decommissioning.service; ...@@ -3,6 +3,7 @@ package com.tykj.dev.device.decommissioning.service;
import com.tykj.dev.device.decommissioning.entity.DeviceDecommissioningDetail; import com.tykj.dev.device.decommissioning.entity.DeviceDecommissioningDetail;
import com.tykj.dev.device.decommissioning.entity.vo.DecommissioningOrderOutData; import com.tykj.dev.device.decommissioning.entity.vo.DecommissioningOrderOutData;
import com.tykj.dev.device.decommissioning.entity.vo.StorageDeviceDevommissiong; import com.tykj.dev.device.decommissioning.entity.vo.StorageDeviceDevommissiong;
import com.tykj.dev.device.task.subject.bto.TaskBto;
/** /**
* @author zjm * @author zjm
...@@ -16,7 +17,7 @@ public interface DeviceDecommissioningBusinessService { ...@@ -16,7 +17,7 @@ public interface DeviceDecommissioningBusinessService {
/** /**
* 退役任务保存草稿 * 退役任务保存草稿
*/ */
DeviceDecommissioningDetail saveDeviceDecommissioningDraft(Integer userId, DecommissioningOrderOutData decommissioningOrderOutData); TaskBto saveDeviceDecommissioningDraft(Integer userId, DecommissioningOrderOutData decommissioningOrderOutData);
/** /**
* 生成省中办退役的任务 * 生成省中办退役的任务
......
...@@ -39,6 +39,7 @@ import java.time.LocalDateTime; ...@@ -39,6 +39,7 @@ import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Optional;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -76,10 +77,11 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss ...@@ -76,10 +77,11 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss
MessageService messageService; MessageService messageService;
@Override @Override
public DeviceDecommissioningDetail saveDeviceDecommissioningDraft(Integer userId, DecommissioningOrderOutData decommissioningOrderOutData) { public TaskBto saveDeviceDecommissioningDraft(Integer userId, DecommissioningOrderOutData decommissioningOrderOutData) {
User user = userService.findByUser(userId); User user = userService.findByUser(userId);
Units units = unitsService.findById(user.getUnitsId()); Units units = unitsService.findById(user.getUnitsId());
DeviceDecommissioningDetail deviceDecommissioningDetail = decommissioningOrderOutData.toDeviceDecommissioningDetail(); DeviceDecommissioningDetail deviceDecommissioningDetail=decommissioningOrderOutData.toDeviceDecommissioningDetail();
TaskBto taskBto;
List<ScriptSaveVo> scriptSaveVos = decommissioningOrderOutData.getScriptSaveVos(); List<ScriptSaveVo> scriptSaveVos = decommissioningOrderOutData.getScriptSaveVos();
List<String> seqNumbers = new ArrayList<>(); List<String> seqNumbers = new ArrayList<>();
scriptSaveVos.forEach( scriptSaveVos.forEach(
...@@ -89,17 +91,24 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss ...@@ -89,17 +91,24 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss
} }
} }
); );
deviceDecommissioningDetail.setDeviceIds(StringUtils.ListToString(decommissioningOrderOutData.getDevIds())); if (decommissioningOrderOutData.getTaskId()==null){
deviceDecommissioningDetail.setOutboundFile(FilesUtil.stringFileToList(decommissioningOrderOutData.getOutboundFileList())); DeviceDecommissioningDetail deviceDestroyBill1=deviceDecommissioningDetailService.findApplyId(decommissioningOrderOutData.getApplyId());
if (deviceDestroyBill1!=null){
deviceDecommissioningDetail.setId(deviceDestroyBill1.getId());
}
deviceDecommissioningDetailService.saveDeviceDecommissioningDetail(deviceDecommissioningDetail); deviceDecommissioningDetailService.saveDeviceDecommissioningDetail(deviceDecommissioningDetail);
deviceDecommissioningDetail.setNum("NO:第" + LocalDateTime.now().getYear() + "QT" + deviceDecommissioningDetail.getId());
taskBto= sendDraftTask(units.getUnitId(), deviceDecommissioningDetail.getId(),userId);
addMessage(new MessageBto(taskBto.getId(),taskBto.getBusinessType(),user.getName()+"保存退役任务草稿",gainThisUser(userId,units.getUnitId())));
}else {
taskBto=taskService.get(decommissioningOrderOutData.getTaskId());
DeviceDecommissioningDetail deviceDecommissioningDetail1 = deviceDecommissioningDetailService.findDeviceDecommissioningDetail(taskBto.getBillId());
deviceDecommissioningDetail.setId(deviceDecommissioningDetail1.getId());
}
deviceDecommissioningDetail.setScripts(decommissioningOrderOutData.getScriptSaveVos()); deviceDecommissioningDetail.setScripts(decommissioningOrderOutData.getScriptSaveVos());
deviceDecommissioningDetail.setScriptJson(JacksonUtil.toJSon(decommissioningOrderOutData.getScriptSaveVos())); deviceDecommissioningDetail.setScriptJson(JacksonUtil.toJSon(decommissioningOrderOutData.getScriptSaveVos()));
deviceDecommissioningDetail.setNum("NO:第" + LocalDateTime.now().getYear() + "QT" + deviceDecommissioningDetail.getId());
deviceDecommissioningDetailService.saveDeviceDecommissioningDetail(deviceDecommissioningDetail); deviceDecommissioningDetailService.saveDeviceDecommissioningDetail(deviceDecommissioningDetail);
if (decommissioningOrderOutData.getTaskId()==null){ return taskBto;
sendDraftTask(units.getUnitId(), deviceDecommissioningDetail.getId(),userId);
}
return deviceDecommissioningDetail;
} }
@Override @Override
...@@ -126,7 +135,10 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss ...@@ -126,7 +135,10 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss
TaskDisposeUtil.isNotSubmit(taskBto.getBillStatus(), statusEnums); TaskDisposeUtil.isNotSubmit(taskBto.getBillStatus(), statusEnums);
DeviceDecommissioningDetail deviceDecommissioningDetail1=deviceDecommissioningDetailService.findDeviceDecommissioningDetail(taskBto.getBillId()); DeviceDecommissioningDetail deviceDecommissioningDetail1=deviceDecommissioningDetailService.findDeviceDecommissioningDetail(taskBto.getBillId());
deviceDecommissioningDetail.setId(deviceDecommissioningDetail1.getId()); deviceDecommissioningDetail.setId(deviceDecommissioningDetail1.getId());
taskService.moveToSpecial(taskBto,StatusEnum.SEND_BACK_1210); deviceDecommissioningDetail.setNum(deviceDecommissioningDetail1.getNum());
taskService.moveToSpecial(taskBto,StatusEnum.SEND_BACK_1210,"country");
addMessage(new MessageBto(taskBto.getId(),taskBto.getBusinessType(),user.getName()+"保存退役任务草稿",gainThisUser(userId,units.getUnitId())));
}else { }else {
TaskBto taskBto= sendOutSuperior(units.getUnitId(), deviceDecommissioningDetail.getId(),userId); TaskBto taskBto= sendOutSuperior(units.getUnitId(), deviceDecommissioningDetail.getId(),userId);
addMessage(new MessageBto(taskBto.getId(), taskBto.getBusinessType(), "发起退役任务,待上传回执单据", gainThisUser(user.getUserId(), user.getUnitsId()))); addMessage(new MessageBto(taskBto.getId(), taskBto.getBusinessType(), "发起退役任务,待上传回执单据", gainThisUser(user.getUserId(), user.getUnitsId())));
...@@ -137,9 +149,10 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss ...@@ -137,9 +149,10 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss
deviceDecommissioningDetail.setOutboundFile(FilesUtil.stringFileToList(decommissioningOrderOutData.getOutboundFileList())); deviceDecommissioningDetail.setOutboundFile(FilesUtil.stringFileToList(decommissioningOrderOutData.getOutboundFileList()));
deviceDecommissioningDetail.setScripts(decommissioningOrderOutData.getScriptSaveVos()); deviceDecommissioningDetail.setScripts(decommissioningOrderOutData.getScriptSaveVos());
deviceDecommissioningDetail.setScriptJson(JacksonUtil.toJSon(decommissioningOrderOutData.getScriptSaveVos())); deviceDecommissioningDetail.setScriptJson(JacksonUtil.toJSon(decommissioningOrderOutData.getScriptSaveVos()));
deviceDecommissioningDetail.setDeviceLibraryEntities(findInvoleDevice(deviceDecommissioningDetail.getDeviceIds())); // deviceDecommissioningDetail.setDeviceLibraryEntities(findInvoleDevice(deviceDecommissioningDetail.getDeviceIds()));
deviceDecommissioningDetailService.saveDeviceDecommissioningDetail(deviceDecommissioningDetail); deviceDecommissioningDetailService.saveDeviceDecommissioningDetail(deviceDecommissioningDetail);
deviceLibraryDao.upDateSeqNumbersLeftStatus(DeviceLifeStatus.RETIRED.id,seqNumbers); deviceLibraryDao.upDateSeqNumbersLeftStatus(DeviceLifeStatus.RETIRED.id,seqNumbers);
devLogAdd(seqNumbers,"发了退役任务,状态转化为退役中",userId);
return deviceDecommissioningDetail; return deviceDecommissioningDetail;
} }
...@@ -177,6 +190,8 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss ...@@ -177,6 +190,8 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss
deviceLibraryDao.upDateSeqNumbersLeftStatusAndUnitNameAndLockStatus(DeviceLifeStatus.RETIRE.id,deviceDecommissioningDetail.getReceiveUnit(),0,seqNumbers); deviceLibraryDao.upDateSeqNumbersLeftStatusAndUnitNameAndLockStatus(DeviceLifeStatus.RETIRE.id,deviceDecommissioningDetail.getReceiveUnit(),0,seqNumbers);
deviceDecommissioningDetailService.saveDeviceDecommissioningDetail(deviceDecommissioningDetail); deviceDecommissioningDetailService.saveDeviceDecommissioningDetail(deviceDecommissioningDetail);
addMessage(new MessageBto(taskBto.getId(),taskBto.getBusinessType(),"退役任务回执单据上传成功任务结束",gainThisUser(user.getUserId(),user.getUnitsId()))); addMessage(new MessageBto(taskBto.getId(),taskBto.getBusinessType(),"退役任务回执单据上传成功任务结束",gainThisUser(user.getUserId(),user.getUnitsId())));
devLogAdd(seqNumbers,"退役任务完成,状态转化为已退役",storageDeviceDevommissiong.getUserId());
} }
@Override @Override
...@@ -222,8 +237,8 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss ...@@ -222,8 +237,8 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss
//删除 把task删除 //删除 把task删除
//并且涉及的装备改为在库 //并且涉及的装备改为在库
TaskBto taskBto= taskService.get(taskId); TaskBto taskBto= taskService.get(taskId);
deviceDecommissioningDetailService.findDeviceDecommissioningDetail(taskBto.getBillId()); // deviceDecommissioningDetailService.findDeviceDecommissioningDetail(taskBto.getBillId());
taskService.moveToArchive(taskBto);
} }
...@@ -243,7 +258,7 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss ...@@ -243,7 +258,7 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss
List<Integer> list=new ArrayList<>(); List<Integer> list=new ArrayList<>();
list.add(userId); list.add(userId);
list.add(0); list.add(0);
return taskService.start(new TaskBto(StatusEnum.SEND_BACK_1210.id, "退役设备任务", null, ".", repelDetailId, BusinessEnum.DECOMMISSIONING.id, unitId, 1, "", list)); return taskService.start(new TaskBto(StatusEnum.SEND_BACK_1210.id, "退役设备任务", null, ".", repelDetailId, BusinessEnum.DECOMMISSIONING.id, unitId, 1, "country", list));
} }
/** /**
...@@ -259,15 +274,18 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss ...@@ -259,15 +274,18 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss
/** /**
* 异步添加装备日志 * 异步添加装备日志
*/ */
private void devLogAdd(List<DeviceLibrary> deviceLibraries, String remark, Integer userId){ private void devLogAdd(List<String> seqNumbers, String remark, Integer userId){
CompletableFuture.runAsync(() -> {
List<DeviceLog> logDtos=new ArrayList<>(); List<DeviceLog> logDtos=new ArrayList<>();
deviceLibraries.forEach( deviceLibraryDao.findAllBySeqNumberIn(seqNumbers).forEach(
deviceLibrary -> { deviceLibrary -> {
logDtos.add(new DeviceLogDto(deviceLibrary.getId(),remark,null,userId).toDo()); logDtos.add(new DeviceLogDto(deviceLibrary.getId(),remark,null,userId).toDo());
} }
); );
CompletableFuture.runAsync(() -> {
deviceLogService.saveAllLog(logDtos); deviceLogService.saveAllLog(logDtos);
}); });
......
...@@ -120,14 +120,17 @@ public class DeviceDecommissioningQueryServiceImpl implements DeviceDecommission ...@@ -120,14 +120,17 @@ public class DeviceDecommissioningQueryServiceImpl implements DeviceDecommission
@Override @Override
public TaskBto findApplyIdToDecommissioningTask(Integer applyId) { public TaskBto findApplyIdToDecommissioningTask(Integer applyId) {
DeviceDecommissioningDetail deviceDecommissioningDetail= deviceDecommissioningDetailService.findApplyId(applyId); DeviceDecommissioningDetail deviceDecommissioningDetail= deviceDecommissioningDetailService.findApplyId(applyId);
if (deviceDecommissioningDetail.getId()==null){ if (deviceDecommissioningDetail==null){
return null; return null;
}else { }else {
Optional<Task> billIdAndBusinessType = taskService.findBillIdAndBusinessType(deviceDecommissioningDetail.getId(), BusinessEnum.DECOMMISSIONING.id); Optional<Task> billIdAndBusinessType = taskService.findBillIdAndBusinessType(deviceDecommissioningDetail.getId(), BusinessEnum.DECOMMISSIONING.id,StatusEnum.ARCHIVE.id);
if (billIdAndBusinessType.isPresent()){ if (billIdAndBusinessType.isPresent()){
return billIdAndBusinessType.get().parse2Bto(); TaskBto taskBto=billIdAndBusinessType.get().parse2Bto();
return taskBto;
}else { }else {
throw new ApiException(ResponseEntity.status(500).body("[退役] 根据申请id未查询退役任务 :"+applyId)); log.info("[退役] 根据申请id未查询退役任务 :{}",applyId);
return null;
// throw new ApiException(ResponseEntity.status(500).body("[退役] 根据申请id未查询退役任务 :"+applyId));
} }
} }
...@@ -137,7 +140,6 @@ public class DeviceDecommissioningQueryServiceImpl implements DeviceDecommission ...@@ -137,7 +140,6 @@ public class DeviceDecommissioningQueryServiceImpl implements DeviceDecommission
PredicateBuilder<DeviceLibrary> predicateBuilder = getPredicateBuilder(repelManagementVo); PredicateBuilder<DeviceLibrary> predicateBuilder = getPredicateBuilder(repelManagementVo);
predicateBuilder.eq("lifeStatus", DeviceLifeStatus.RETIRE.id); predicateBuilder.eq("lifeStatus", DeviceLifeStatus.RETIRE.id);
return predicateBuilder.build(); return predicateBuilder.build();
} }
......
...@@ -52,5 +52,14 @@ public class DeviceDestroyController { ...@@ -52,5 +52,14 @@ public class DeviceDestroyController {
return ResponseEntity.ok("上传销毁单成功,任务完结"); return ResponseEntity.ok("上传销毁单成功,任务完结");
} }
/**
* 销毁草稿任务封存完成
*/
@ApiOperation(value = "销毁草稿任务封存", notes = "销毁草稿任务封存")
@PostMapping(value ="/moveToArchiveDestroyBill/{taskId}")
public ResponseEntity moveToArchiveDestroyBill(@ApiIgnore @AuthenticationPrincipal SecurityUser securityUser,@PathVariable Integer taskId){
deviceDestroyBusinessService.moveToArchiveDestroyBill(taskId);
return ResponseEntity.ok("销毁草稿任务封存完成");
}
} }
...@@ -13,6 +13,7 @@ import lombok.NoArgsConstructor; ...@@ -13,6 +13,7 @@ import lombok.NoArgsConstructor;
import org.hibernate.annotations.SQLDelete; import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where; import org.hibernate.annotations.Where;
import org.modelmapper.ModelMapper; import org.modelmapper.ModelMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.jpa.domain.support.AuditingEntityListener; import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.Column; import javax.persistence.Column;
...@@ -85,6 +86,9 @@ public class DeviceDestroyBillVo { ...@@ -85,6 +86,9 @@ public class DeviceDestroyBillVo {
private String unitName; private String unitName;
@ApiModelProperty(value = "操作人id")
private Integer operationId;
public DeviceDestroyBill toDeviceDestroyBill() { public DeviceDestroyBill toDeviceDestroyBill() {
ModelMapper mapper = BeanHelper.getUserMapper(); ModelMapper mapper = BeanHelper.getUserMapper();
return mapper.map(this, DeviceDestroyBill.class); return mapper.map(this, DeviceDestroyBill.class);
......
...@@ -2,6 +2,7 @@ package com.tykj.dev.device.destroy.service; ...@@ -2,6 +2,7 @@ package com.tykj.dev.device.destroy.service;
import com.tykj.dev.device.destroy.entity.domain.DeviceDestroyBill; import com.tykj.dev.device.destroy.entity.domain.DeviceDestroyBill;
import com.tykj.dev.device.destroy.entity.vo.DeviceDestroyBillVo; import com.tykj.dev.device.destroy.entity.vo.DeviceDestroyBillVo;
import com.tykj.dev.device.task.subject.bto.TaskBto;
import com.tykj.dev.device.user.subject.entity.SecurityUser; import com.tykj.dev.device.user.subject.entity.SecurityUser;
/** /**
...@@ -15,7 +16,7 @@ public interface DeviceDestroyBusinessService { ...@@ -15,7 +16,7 @@ public interface DeviceDestroyBusinessService {
/** /**
* 销毁任务保存草稿 * 销毁任务保存草稿
*/ */
DeviceDestroyBill saveDeviceDestroyBill(SecurityUser securityUser, DeviceDestroyBillVo deviceDestroyBillVo); TaskBto saveDeviceDestroyBill(SecurityUser securityUser, DeviceDestroyBillVo deviceDestroyBillVo);
/** /**
* 生成销毁任务等待上传销毁单 * 生成销毁任务等待上传销毁单
...@@ -27,4 +28,6 @@ public interface DeviceDestroyBusinessService { ...@@ -27,4 +28,6 @@ public interface DeviceDestroyBusinessService {
*/ */
void receiptSingle(Integer taskId, DeviceDestroyBillVo deviceDestroyBillVo); void receiptSingle(Integer taskId, DeviceDestroyBillVo deviceDestroyBillVo);
void moveToArchiveDestroyBill(Integer taskId);
} }
...@@ -7,11 +7,14 @@ import com.tykj.dev.device.task.service.TaskService; ...@@ -7,11 +7,14 @@ import com.tykj.dev.device.task.service.TaskService;
import com.tykj.dev.device.task.subject.bto.TaskBto; import com.tykj.dev.device.task.subject.bto.TaskBto;
import com.tykj.dev.device.task.subject.domin.Task; import com.tykj.dev.device.task.subject.domin.Task;
import com.tykj.dev.misc.base.BusinessEnum; import com.tykj.dev.misc.base.BusinessEnum;
import com.tykj.dev.misc.base.StatusEnum;
import com.tykj.dev.misc.exception.ApiException; import com.tykj.dev.misc.exception.ApiException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Optional; import java.util.Optional;
/** /**
...@@ -22,6 +25,7 @@ import java.util.Optional; ...@@ -22,6 +25,7 @@ import java.util.Optional;
* @createTime 2021年04月09日 13:03:00 * @createTime 2021年04月09日 13:03:00
*/ */
@Service @Service
@Slf4j
public class DeviceDestroyQueryServiceImpl implements DeviceDestroyQueryService { public class DeviceDestroyQueryServiceImpl implements DeviceDestroyQueryService {
@Autowired @Autowired
DeviceDestroyBillService deviceDestroyBillService; DeviceDestroyBillService deviceDestroyBillService;
...@@ -41,11 +45,15 @@ public class DeviceDestroyQueryServiceImpl implements DeviceDestroyQueryService ...@@ -41,11 +45,15 @@ public class DeviceDestroyQueryServiceImpl implements DeviceDestroyQueryService
if (!deviceDestroyBill.isPresent()){ if (!deviceDestroyBill.isPresent()){
return null; return null;
}else { }else {
Optional<Task> billIdAndBusinessType = taskService.findBillIdAndBusinessType(deviceDestroyBill.get().getId(), BusinessEnum.SCRAP.id); Optional<Task> billIdAndBusinessType = taskService.findBillIdAndBusinessType(deviceDestroyBill.get().getId(), BusinessEnum.DESTROY.id,StatusEnum.ARCHIVE.id);
if (billIdAndBusinessType.isPresent()){ if (billIdAndBusinessType.isPresent()){
return billIdAndBusinessType.get().parse2Bto(); TaskBto taskBto=billIdAndBusinessType.get().parse2Bto();
return taskBto;
}else { }else {
throw new ApiException(ResponseEntity.status(500).body("[销毁] 根据申请id未查询退役任务 :"+applyId)); log.info("[销毁] 根据申请id未查询退役任务 :{}",applyId);
// throw new ApiException(ResponseEntity.status(500).body("[销毁] 根据申请id未查询退役任务 :"+applyId));
return null;
} }
} }
} }
......
...@@ -25,9 +25,10 @@ public enum StatusEnum { ...@@ -25,9 +25,10 @@ public enum StatusEnum {
* 销毁业务 * 销毁业务
*/ */
DESTROY_0(8110, "装备销毁业务草稿"), DESTROY_0(8110, "装备销毁业务草稿"),
DESTROY_1(8111, "等待审核"),
DESTROY_2(8112, "等待上传销毁单"), DESTROY_2(8112, "等待上传销毁单"),
/** /**
* 退装业务 * 退装业务
*/ */
...@@ -75,11 +76,14 @@ public enum StatusEnum { ...@@ -75,11 +76,14 @@ public enum StatusEnum {
SEND_BACK_1212(1212, "清退统计任务待办结"), SEND_BACK_1212(1212, "清退统计任务待办结"),
SEND_BACK_1213(1213,"省直属清退任务待上传单据"), SEND_BACK_1213(1213,"省直属清退任务待上传单据"),
SEND_BACK_1214(1214,"清退出库等待上传回执单"), SEND_BACK_1214(1214,"清退出库等待上传回执单"),
SEND_BACK_1215(1215,"清退出库接收方单据待补充"), SEND_BACK_1215(1215,"清退接收方单据待补充"),
SEND_BACK_1216(1216, "市本级装备待清退"), SEND_BACK_1216(1216, "市本级装备待清退"),
SEND_BACK_1217(1217, "签章审核"), SEND_BACK_1217(1217, "出库签章审核"),
SEND_BACK_1218(1218, "入库等待盖电子签章"), SEND_BACK_1218(1218, "入库等待盖电子签章"),
SEND_BACK_1219(1219, "出库等待盖电子签章"), SEND_BACK_1219(1219, "出库等待盖电子签章"),
SEND_BACK_1220(1220, "入库电子签章审核"),
...@@ -259,8 +263,7 @@ public enum StatusEnum { ...@@ -259,8 +263,7 @@ public enum StatusEnum {
SCRAP_2222(2222, "待上传报废单"), SCRAP_2222(2222, "待上传报废单"),
SCRAP_2223(2223, "报废草稿"), SCRAP_2223(2223, "报废草稿"),
SCRAP_2224(2224, "报废出库签章审核"), SCRAP_2224(2224, "报废出库签章审核"),
SCRAP_2225(2225, "报废出库等待盖电子签章") SCRAP_2225(2225, "报废出库等待盖电子签章");
;
public Integer id; public Integer id;
......
...@@ -4,11 +4,14 @@ import com.tykj.dev.config.swagger.AutoDocument; ...@@ -4,11 +4,14 @@ import com.tykj.dev.config.swagger.AutoDocument;
import com.tykj.dev.device.scrap.service.ScrapBusinessService; import com.tykj.dev.device.scrap.service.ScrapBusinessService;
import com.tykj.dev.device.scrap.subject.vo.ScrapOrderOutData; import com.tykj.dev.device.scrap.subject.vo.ScrapOrderOutData;
import com.tykj.dev.device.scrap.subject.vo.StorageScrap; import com.tykj.dev.device.scrap.subject.vo.StorageScrap;
import com.tykj.dev.device.user.subject.entity.SecurityUser;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
/** /**
* @author zjm * @author zjm
...@@ -78,4 +81,13 @@ public class ScrapBusinessController { ...@@ -78,4 +81,13 @@ public class ScrapBusinessController {
} }
/**
* 报废草稿任务封存
*/
@ApiOperation(value = "报废草稿任务封存", notes = "报废草稿任务封存")
@PostMapping(value ="/moveToArchiveScrap/{taskId}")
public ResponseEntity deleteDrafts(@ApiIgnore @AuthenticationPrincipal SecurityUser securityUser, @PathVariable Integer taskId){
scrapBusinessService.deleteDrafts(taskId);
return ResponseEntity.ok("报废草稿任务封存完成");
}
} }
...@@ -3,6 +3,7 @@ package com.tykj.dev.device.scrap.service; ...@@ -3,6 +3,7 @@ package com.tykj.dev.device.scrap.service;
import com.tykj.dev.device.scrap.subject.domin.Scrap; import com.tykj.dev.device.scrap.subject.domin.Scrap;
import com.tykj.dev.device.scrap.subject.vo.ScrapOrderOutData; import com.tykj.dev.device.scrap.subject.vo.ScrapOrderOutData;
import com.tykj.dev.device.scrap.subject.vo.StorageScrap; import com.tykj.dev.device.scrap.subject.vo.StorageScrap;
import com.tykj.dev.device.task.subject.bto.TaskBto;
/** /**
* @author zjm * @author zjm
...@@ -16,7 +17,7 @@ public interface ScrapBusinessService { ...@@ -16,7 +17,7 @@ public interface ScrapBusinessService {
/** /**
* 退役任务保存草稿 * 退役任务保存草稿
*/ */
Scrap saveDeviceScrapDraft(Integer userId, ScrapOrderOutData scrapOrderOutData); TaskBto saveDeviceScrapDraft(Integer userId, ScrapOrderOutData scrapOrderOutData);
/** /**
* 生成省中办报废的任务 * 生成省中办报废的任务
......
...@@ -35,6 +35,7 @@ import java.time.LocalDateTime; ...@@ -35,6 +35,7 @@ import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Optional;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -70,12 +71,13 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService { ...@@ -70,12 +71,13 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService {
MessageService messageService; MessageService messageService;
@Override @Override
public Scrap saveDeviceScrapDraft(Integer userId, ScrapOrderOutData scrapOrderOutData) { public TaskBto saveDeviceScrapDraft(Integer userId, ScrapOrderOutData scrapOrderOutData) {
User user = userService.findByUser(userId); User user = userService.findByUser(userId);
Units units = unitsService.findById(user.getUnitsId()); Units units = unitsService.findById(user.getUnitsId());
Scrap scrap = scrapOrderOutData.toScrap(); Scrap scrap = scrapOrderOutData.toScrap();
List<ScriptSaveVo> scriptSaveVos = scrapOrderOutData.getScriptSaveVos(); List<ScriptSaveVo> scriptSaveVos = scrapOrderOutData.getScriptSaveVos();
List<String> seqNumbers = new ArrayList<>(); List<String> seqNumbers = new ArrayList<>();
TaskBto taskBto;
scriptSaveVos.forEach( scriptSaveVos.forEach(
scriptSaveVo -> { scriptSaveVo -> {
if (scriptSaveVo.getSeqNumber() != null) { if (scriptSaveVo.getSeqNumber() != null) {
...@@ -85,16 +87,25 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService { ...@@ -85,16 +87,25 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService {
); );
scrap.setDeviceIds(StringUtils.ListToString(scrapOrderOutData.getDevIds())); scrap.setDeviceIds(StringUtils.ListToString(scrapOrderOutData.getDevIds()));
scrap.setOutboundFile(FilesUtil.stringFileToList(scrapOrderOutData.getOutboundFileList())); scrap.setOutboundFile(FilesUtil.stringFileToList(scrapOrderOutData.getOutboundFileList()));
if (scrapOrderOutData.getTaskId()==null) {
Optional<Scrap> scrap1=scrapService.findApplyId(scrapOrderOutData.getApplyId());
if (scrap1.isPresent()){
scrap.setId(scrap1.get().getId());
}
scrapService.saveScrap(scrap); scrapService.saveScrap(scrap);
scrap.setNum("NO:第" + LocalDateTime.now().getYear() + "QT" + scrap.getId());
taskBto=sendDraftTask(units.getUnitId(), scrap.getId(), userId);
}else {
taskBto=taskService.get(scrapOrderOutData.getTaskId());
Scrap scrap1= scrapService.findScrap(taskBto.getBillId());
scrap.setId(scrap1.getId());
}
scrap.setScripts(scrapOrderOutData.getScriptSaveVos()); scrap.setScripts(scrapOrderOutData.getScriptSaveVos());
scrap.setScriptJson(JacksonUtil.toJSon(scrapOrderOutData.getScriptSaveVos())); scrap.setScriptJson(JacksonUtil.toJSon(scrapOrderOutData.getScriptSaveVos()));
scrap.setNum("NO:第" + LocalDateTime.now().getYear() + "QT" + scrap.getId()); // scrap.setDeviceLibraryEntities(findInvoleDevice(scrap.getDeviceIds()));
scrap.setDeviceLibraryEntities(findInvoleDevice(scrap.getDeviceIds()));
scrapService.saveScrap(scrap); scrapService.saveScrap(scrap);
if (scrapOrderOutData.getTaskId()==null) { return taskBto;
sendDraftTask(units.getUnitId(), scrap.getId(), userId);
}
return scrap;
} }
@Override @Override
...@@ -115,12 +126,14 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService { ...@@ -115,12 +126,14 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService {
if (scrapOrderOutData.getTaskId()!=null){ if (scrapOrderOutData.getTaskId()!=null){
TaskBto taskBto= taskService.get(scrapOrderOutData.getTaskId()); TaskBto taskBto= taskService.get(scrapOrderOutData.getTaskId());
List<StatusEnum> statusEnums = new ArrayList<>(); List<StatusEnum> statusEnums = new ArrayList<>();
statusEnums.add(StatusEnum.DECOMMISSIONING_1250); statusEnums.add(StatusEnum.SCRAP_2223);
statusEnums.add(StatusEnum.DECOMMISSIONING_1252); statusEnums.add(StatusEnum.SCRAP_2225);
TaskDisposeUtil.isNotSubmit(taskBto.getBillStatus(), statusEnums); TaskDisposeUtil.isNotSubmit(taskBto.getBillStatus(), statusEnums);
Scrap scrap1=scrapService.findScrap(taskBto.getBillId()); Scrap scrap1=scrapService.findScrap(taskBto.getBillId());
scrap.setId(scrap1.getId()); scrap.setId(scrap1.getId());
taskService.moveToSpecial(taskBto,StatusEnum.SCRAP_2222); scrap.setNum(scrap1.getNum());
taskService.moveToSpecial(taskBto,StatusEnum.SCRAP_2222,"country");
addMessage(new MessageBto(taskBto.getId(),taskBto.getBusinessType(),"发起报废任务,待上传回执单据",gainThisUser(user.getUserId(),user.getUnitsId())));
}else { }else {
scrapService.saveScrap(scrap); scrapService.saveScrap(scrap);
scrap.setNum("NO:第" + LocalDateTime.now().getYear() + "QT" + scrap.getId()); scrap.setNum("NO:第" + LocalDateTime.now().getYear() + "QT" + scrap.getId());
...@@ -131,9 +144,10 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService { ...@@ -131,9 +144,10 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService {
scrap.setOutboundFile(FilesUtil.stringFileToList(scrapOrderOutData.getOutboundFileList())); scrap.setOutboundFile(FilesUtil.stringFileToList(scrapOrderOutData.getOutboundFileList()));
scrap.setScripts(scrapOrderOutData.getScriptSaveVos()); scrap.setScripts(scrapOrderOutData.getScriptSaveVos());
scrap.setScriptJson(JacksonUtil.toJSon(scrapOrderOutData.getScriptSaveVos())); scrap.setScriptJson(JacksonUtil.toJSon(scrapOrderOutData.getScriptSaveVos()));
scrap.setDeviceLibraryEntities(findInvoleDevice(scrap.getDeviceIds()));
scrapService.saveScrap(scrap); scrapService.saveScrap(scrap);
deviceLibraryDao.upDateSeqNumbersLeftStatus(DeviceLifeStatus.IN_THE_SCRAPPED.id,seqNumbers); deviceLibraryDao.upDateSeqNumbersLeftStatus(DeviceLifeStatus.IN_THE_SCRAPPED.id,seqNumbers);
devLogAdd(seqNumbers,"发了报废任务,状态转化为报废中",userId);
return scrap; return scrap;
} }
...@@ -171,7 +185,7 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService { ...@@ -171,7 +185,7 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService {
); );
deviceLibraryDao.upDateSeqNumbersLeftStatusAndUnitNameAndLockStatus(DeviceLifeStatus.SCRAP_I.id,scrap.getReceiveUnit(),0,seqNumbers); deviceLibraryDao.upDateSeqNumbersLeftStatusAndUnitNameAndLockStatus(DeviceLifeStatus.SCRAP_I.id,scrap.getReceiveUnit(),0,seqNumbers);
scrapService.saveScrap(scrap); scrapService.saveScrap(scrap);
devLogAdd(findInvoleDevice(scrap.getDeviceIds()),"上传了报废单据,装备状态-》已报废",storageScrap.getUserId()); devLogAdd(seqNumbers,"报废任务完成,状态转化为已报废",user.getUserId());
addMessage(new MessageBto(taskBto.getId(),taskBto.getBusinessType(),"报废单据上传,任务结束",gainThisUser(user.getUserId(),user.getUnitsId()))); addMessage(new MessageBto(taskBto.getId(),taskBto.getBusinessType(),"报废单据上传,任务结束",gainThisUser(user.getUserId(),user.getUnitsId())));
} }
...@@ -215,7 +229,8 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService { ...@@ -215,7 +229,8 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService {
@Override @Override
public void deleteDrafts(Integer taskId) { public void deleteDrafts(Integer taskId) {
TaskBto taskBto= taskService.get(taskId);
taskService.moveToArchive(taskBto);
} }
/** /**
...@@ -238,40 +253,42 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService { ...@@ -238,40 +253,42 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService {
List<Integer> userIds = new ArrayList<>(); List<Integer> userIds = new ArrayList<>();
userIds.add(userId); userIds.add(userId);
userIds.add(0); userIds.add(0);
return taskService.start(new TaskBto(StatusEnum.SCRAP_2222.id, "报废业务", null, ".", repelDetailId, BusinessEnum.SCRAP.id, unitId, 1, "country", userIds)); return taskService.start(new TaskBto(StatusEnum.SCRAP_2222.id, "报废设备任务", null, ".", repelDetailId, BusinessEnum.SCRAP.id, unitId, 1, "country", userIds));
}
/**
* 报废保存为草稿
*/
private TaskBto sendDraftTask(Integer unitId, Integer repelDetailId,Integer userId){
List<Integer> list=new ArrayList<>();
list.add(userId);
list.add(0);
return taskService.start(new TaskBto(StatusEnum.SCRAP_2223.id, "报废设备任务", null, ".", repelDetailId, BusinessEnum.SCRAP.id, unitId, 1, "", list));
} }
/** /**
* 异步添加装备日志 * 异步添加装备日志
* @param deviceLibraries
* @param remark
* @param userId
*/ */
private void devLogAdd(List<DeviceLibrary> deviceLibraries, String remark, Integer userId){ private void devLogAdd(List<String> seqNumbers, String remark, Integer userId){
CompletableFuture.runAsync(() -> {
List<DeviceLog> logDtos=new ArrayList<>(); List<DeviceLog> logDtos=new ArrayList<>();
deviceLibraries.forEach( deviceLibraryDao.findAllBySeqNumberIn(seqNumbers).forEach(
deviceLibrary -> { deviceLibrary -> {
logDtos.add(new DeviceLogDto(deviceLibrary.getId(),remark,null,userId).toDo()); logDtos.add(new DeviceLogDto(deviceLibrary.getId(),remark,null,userId).toDo());
} }
); );
CompletableFuture.runAsync(() -> {
deviceLogService.saveAllLog(logDtos); deviceLogService.saveAllLog(logDtos);
}); });
} }
/**
* 报废保存为草稿
*/
private TaskBto sendDraftTask(Integer unitId, Integer repelDetailId,Integer userId){
List<Integer> list=new ArrayList<>();
list.add(userId);
list.add(0);
return taskService.start(new TaskBto(StatusEnum.SCRAP_2223.id, "报废设备任务", null, ".", repelDetailId, BusinessEnum.DECOMMISSIONING.id, unitId, 1, "", list));
}
private void addMessage(MessageBto messageBto){ private void addMessage(MessageBto messageBto){
messageService.add(messageBto); messageService.add(messageBto);
} }
...@@ -295,6 +312,8 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService { ...@@ -295,6 +312,8 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService {
return userService.findAllByUnite(unitId).stream().map(User::getUserId).collect(Collectors.toList()); return userService.findAllByUnite(unitId).stream().map(User::getUserId).collect(Collectors.toList());
} }
private List<DeviceLibrary> findInvoleDevice(String involeDevice){ private List<DeviceLibrary> findInvoleDevice(String involeDevice){
if (involeDevice!=null && !involeDevice.equals(",") ) { if (involeDevice!=null && !involeDevice.equals(",") ) {
List<String> idStringList = Arrays.asList(involeDevice.split(",")); List<String> idStringList = Arrays.asList(involeDevice.split(","));
......
...@@ -11,7 +11,9 @@ import com.tykj.dev.device.task.service.TaskService; ...@@ -11,7 +11,9 @@ import com.tykj.dev.device.task.service.TaskService;
import com.tykj.dev.device.task.subject.bto.TaskBto; import com.tykj.dev.device.task.subject.bto.TaskBto;
import com.tykj.dev.device.task.subject.domin.Task; import com.tykj.dev.device.task.subject.domin.Task;
import com.tykj.dev.misc.base.BusinessEnum; import com.tykj.dev.misc.base.BusinessEnum;
import com.tykj.dev.misc.base.StatusEnum;
import com.tykj.dev.misc.exception.ApiException; import com.tykj.dev.misc.exception.ApiException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
...@@ -19,6 +21,7 @@ import org.springframework.stereotype.Service; ...@@ -19,6 +21,7 @@ import org.springframework.stereotype.Service;
import javax.persistence.Transient; import javax.persistence.Transient;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Optional; import java.util.Optional;
/** /**
...@@ -29,6 +32,7 @@ import java.util.Optional; ...@@ -29,6 +32,7 @@ import java.util.Optional;
* @createTime 2021年03月31日 14:14:00 * @createTime 2021年03月31日 14:14:00
*/ */
@Service @Service
@Slf4j
public class ScrapQueryServiceImpl implements ScrapQueryService { public class ScrapQueryServiceImpl implements ScrapQueryService {
@Autowired @Autowired
ScrapService scrapService; ScrapService scrapService;
...@@ -53,11 +57,14 @@ public class ScrapQueryServiceImpl implements ScrapQueryService { ...@@ -53,11 +57,14 @@ public class ScrapQueryServiceImpl implements ScrapQueryService {
if (!scrap.isPresent()){ if (!scrap.isPresent()){
return null; return null;
}else { }else {
Optional<Task> billIdAndBusinessType = taskService.findBillIdAndBusinessType(scrap.get().getId(), BusinessEnum.SCRAP.id); Optional<Task> billIdAndBusinessType = taskService.findBillIdAndBusinessType(scrap.get().getId(), BusinessEnum.SCRAP.id,StatusEnum.ARCHIVE.id);
if (billIdAndBusinessType.isPresent()){ if (billIdAndBusinessType.isPresent()){
return billIdAndBusinessType.get().parse2Bto(); TaskBto taskBto=billIdAndBusinessType.get().parse2Bto();
return taskBto;
}else { }else {
throw new ApiException(ResponseEntity.status(500).body("[报废] 根据申请id未查询退役任务 :"+applyId)); log.info("[报废] 根据申请id未查询退役任务 :{}",applyId);
// throw new ApiException(ResponseEntity.status(500).body("[报废] 根据申请id未查询退役任务 :"+applyId));
return null;
} }
} }
} }
......
...@@ -53,7 +53,7 @@ public class ScrapServiceImpl implements ScrapService { ...@@ -53,7 +53,7 @@ public class ScrapServiceImpl implements ScrapService {
Optional<Scrap> optional = scrapDao.findById(scrapId); Optional<Scrap> optional = scrapDao.findById(scrapId);
if (optional.isPresent()){ if (optional.isPresent()){
Scrap scrap=optional.get(); Scrap scrap=optional.get();
scrap.setDeviceLibraryEntities(findInvoleDevice(scrap.getDeviceIds())); // scrap.setDeviceLibraryEntities(findInvoleDevice(scrap.getDeviceIds()));
scrap.setScripts(JacksonUtil.readValue(scrap.getScriptJson(), new TypeReference<List<ScriptSaveVo>>() {})); scrap.setScripts(JacksonUtil.readValue(scrap.getScriptJson(), new TypeReference<List<ScriptSaveVo>>() {}));
scrap.setBillFiles(FilesUtil.stringFileToList(scrap.getBillFile())); scrap.setBillFiles(FilesUtil.stringFileToList(scrap.getBillFile()));
scrap.setOutboundFiles(FilesUtil.stringFileToList(scrap.getOutboundFile())); scrap.setOutboundFiles(FilesUtil.stringFileToList(scrap.getOutboundFile()));
......
...@@ -84,8 +84,8 @@ public class RepelDevController { ...@@ -84,8 +84,8 @@ public class RepelDevController {
@ApiOperation(value = "清退入库任务申请签章", notes = "清退入库任务申请签章") @ApiOperation(value = "清退入库任务申请签章", notes = "清退入库任务申请签章")
@PostMapping(value ="/sendSealOfAudit/{userId}/{taskId}") @PostMapping(value ="/sendSealOfAudit/{userId}/{taskId}")
public ResponseEntity sendSealOfAudit(@PathVariable Integer taskId, @PathVariable Integer userId){ public ResponseEntity sendSealOfAudit(@PathVariable Integer taskId, @PathVariable Integer userId,@RequestBody StorageDeviceRepel storageDeviceRepel){
repelBusinessService.sendSealOfAudit(taskId,userId); repelBusinessService.sendSealOfAudit(taskId,userId,storageDeviceRepel);
return ResponseEntity.ok("申请成功,等待审核"); return ResponseEntity.ok("申请成功,等待审核");
} }
......
...@@ -71,7 +71,7 @@ public interface RepelBusinessService { ...@@ -71,7 +71,7 @@ public interface RepelBusinessService {
/** /**
* 入库把任务推送至盖章审核 * 入库把任务推送至盖章审核
*/ */
void sendSealOfAudit(Integer taskId,Integer userId); void sendSealOfAudit(Integer taskId,Integer userId, StorageDeviceRepel storageDeviceRepel);
/** /**
* 出库盖章审核调用 * 出库盖章审核调用
* 通过出库 * 通过出库
......
...@@ -274,7 +274,7 @@ public class RepelBusinessServiceImpl implements RepelBusinessService { ...@@ -274,7 +274,7 @@ public class RepelBusinessServiceImpl implements RepelBusinessService {
repelTaskStatisticalService.saveRepelTaskStatistical(repelTaskStatistical); repelTaskStatisticalService.saveRepelTaskStatistical(repelTaskStatistical);
taskService.moveToSpecial(currentTask,StatusEnum.SEND_BACK_1206); taskService.moveToSpecial(currentTask,StatusEnum.SEND_BACK_1206);
DeviceRepel deviceRepelCurrent=deviceRepelService.findDeviceRepel(deviceRepelDetail1.getRepelId()); DeviceRepel deviceRepelCurrent=deviceRepelService.findDeviceRepel(deviceRepelDetail1.getRepelId());
if (deviceRepelCurrent.getType()!=0){ if (deviceRepelCurrent.getEquipmentInvolvingUnit()!=null){
Map<Integer,List<SupervisorVo>> integerListMap=JacksonUtil.readValue(deviceRepelCurrent.getEquipmentInvolvingUnit(), new TypeReference<Map<Integer,List<SupervisorVo>>>() {}); Map<Integer,List<SupervisorVo>> integerListMap=JacksonUtil.readValue(deviceRepelCurrent.getEquipmentInvolvingUnit(), new TypeReference<Map<Integer,List<SupervisorVo>>>() {});
if (integerListMap.containsKey(units.getUnitId())){ if (integerListMap.containsKey(units.getUnitId())){
deviceRepel.setTaskScopes(integerListMap.get(units.getUnitId()).stream().map(SupervisorVo::getUnitid).collect(Collectors.toList())); deviceRepel.setTaskScopes(integerListMap.get(units.getUnitId()).stream().map(SupervisorVo::getUnitid).collect(Collectors.toList()));
...@@ -547,30 +547,37 @@ public class RepelBusinessServiceImpl implements RepelBusinessService { ...@@ -547,30 +547,37 @@ public class RepelBusinessServiceImpl implements RepelBusinessService {
statusEnums.add(StatusEnum.SEND_BACK_1208); statusEnums.add(StatusEnum.SEND_BACK_1208);
TaskDisposeUtil.isNotSubmit(taskBto.getBillStatus(),statusEnums); TaskDisposeUtil.isNotSubmit(taskBto.getBillStatus(),statusEnums);
DeviceRepelDetail deviceRepelDetail=deviceRepelDetailService.findDeviceRepelDetail(taskBto.getBillId()); DeviceRepelDetail deviceRepelDetail=deviceRepelDetailService.findDeviceRepelDetail(taskBto.getBillId());
deviceRepelDetail.setSenderUserA(orderOutData.getSenderUserA()); DeviceRepelDetail orderOutDataRepelDetail =orderOutData.toTrainDetailsVo();
deviceRepelDetail.setSendUseraId(orderOutData.getSendUseraId()); orderOutDataRepelDetail.setId(deviceRepelDetail.getId());
deviceRepelDetail.setScriptJson(JacksonUtil.toJSon(orderOutData.getScriptSaveVos())); orderOutDataRepelDetail.setRepelId(deviceRepelDetail.getRepelId());
deviceRepelDetail.setScripts(orderOutData.getScriptSaveVos()); orderOutDataRepelDetail.setDeviceIds(deviceRepelDetail.getDeviceIds());
deviceRepelDetail.setSenderUserB(memberThat.getName()); orderOutDataRepelDetail.setRightSignatureId(UUID.randomUUID().toString());
deviceRepelDetail.setSendUserbId(orderOutData.getSendUserbId()); orderOutDataRepelDetail.setNum("NO:第"+ LocalDateTime.now().getYear()+"QT"+taskBto.getBillId());
deviceRepelDetailService.saveDeviceRepelDetail(deviceRepelDetail); orderOutDataRepelDetail.setReplyFiles(FilesUtil.stringFileToList(orderOutData.getReplyFileList()));
orderOutDataRepelDetail.setSendFiles(FilesUtil.stringFileToList(orderOutData.getSendFileList()));
orderOutDataRepelDetail.setScriptJson(JacksonUtil.toJSon(orderOutData.getScriptSaveVos()));
orderOutDataRepelDetail.setScripts(orderOutData.getScriptSaveVos());
orderOutDataRepelDetail.setReplyFiles(FilesUtil.stringFileToList(orderOutData.getReplyFileList()));
orderOutDataRepelDetail.setApplyFiles(FilesUtil.stringFileToList(orderOutData.getApplyFileList()));
deviceRepelDetailService.saveDeviceRepelDetail(orderOutDataRepelDetail);
taskService.moveToSpecial(taskBto,StatusEnum.SEND_BACK_1217,orderOutData.getSendUserbId()); taskService.moveToSpecial(taskBto,StatusEnum.SEND_BACK_1217,orderOutData.getSendUserbId());
} }
@Override @Override
public void sendSealOfAudit(Integer taskId, Integer userId) { public void sendSealOfAudit(Integer taskId, Integer userId, StorageDeviceRepel storageDeviceRepel) {
TaskBto taskBto= taskService.get(taskId); TaskBto taskBto= taskService.get(taskId);
MemberThat memberThat = userService.findById(userId);
List<StatusEnum> enumList=new ArrayList<>(); List<StatusEnum> enumList=new ArrayList<>();
enumList.add(StatusEnum.SEND_BACK_1209); enumList.add(StatusEnum.SEND_BACK_1209);
enumList.add(StatusEnum.SEND_BACK_1213); enumList.add(StatusEnum.SEND_BACK_1213);
enumList.add(StatusEnum.SEND_BACK_1215); enumList.add(StatusEnum.SEND_BACK_1215);
TaskDisposeUtil.isNotSubmit(taskBto.getBillStatus(),enumList); TaskDisposeUtil.isNotSubmit(taskBto.getBillStatus(),enumList);
DeviceRepelDetail deviceRepelDetail=deviceRepelDetailService.findDeviceRepelDetail(taskBto.getBillId()); DeviceRepelDetail deviceRepelDetail=deviceRepelDetailService.findDeviceRepelDetail(taskBto.getBillId());
deviceRepelDetail.setReceiveUserB(memberThat.getName()); deviceRepelDetail.setReceiveUserB(storageDeviceRepel.getUserBName());
deviceRepelDetail.setReceiveUserbId(userId); deviceRepelDetail.setReceiveUserbId(storageDeviceRepel.getUserB());
deviceRepelDetail.setReceiveUserA(storageDeviceRepel.getUserAName());
deviceRepelDetail.setReceiveUseraId(storageDeviceRepel.getUserA());
deviceRepelDetailService.saveDeviceRepelDetail(deviceRepelDetail); deviceRepelDetailService.saveDeviceRepelDetail(deviceRepelDetail);
taskService.moveToSpecial(taskBto,StatusEnum.SEND_BACK_1217,userId); taskService.moveToSpecial(taskBto,StatusEnum.SEND_BACK_1218,storageDeviceRepel.getUserB());
} }
@Override @Override
...@@ -591,7 +598,7 @@ public class RepelBusinessServiceImpl implements RepelBusinessService { ...@@ -591,7 +598,7 @@ public class RepelBusinessServiceImpl implements RepelBusinessService {
public void sendSealOfAuditEnd(Integer taskId, Integer reviewTheResults) { public void sendSealOfAuditEnd(Integer taskId, Integer reviewTheResults) {
TaskBto taskBto= taskService.get(taskId); TaskBto taskBto= taskService.get(taskId);
if (reviewTheResults==0){ if (reviewTheResults==0){
taskService.moveToSpecial(taskBto,StatusEnum.SEND_BACK_1218,0); taskService.moveToSpecial(taskBto,StatusEnum.SEND_BACK_1220,0);
}else { }else {
DeviceRepelDetail deviceRepelDetail=deviceRepelDetailService.findDeviceRepelDetail(taskBto.getBillId()); DeviceRepelDetail deviceRepelDetail=deviceRepelDetailService.findDeviceRepelDetail(taskBto.getBillId());
deviceRepelDetail.setReceiveUserbId(null); deviceRepelDetail.setReceiveUserbId(null);
......
...@@ -20,6 +20,13 @@ public interface TaskDao extends JpaRepository<Task, Integer>, JpaSpecificationE ...@@ -20,6 +20,13 @@ public interface TaskDao extends JpaRepository<Task, Integer>, JpaSpecificationE
*/ */
Optional<Task> findByBillIdAndBusinessType(Integer billId, Integer businessType); Optional<Task> findByBillIdAndBusinessType(Integer billId, Integer businessType);
/**
* @param billId 账单id
* @param businessType 业务类型
* 根据账单Id和业务类型查询task
* @param billStatus 业务状态
*/
Optional<Task> findByBillIdAndBusinessTypeAndBillStatusNot(Integer billId, Integer businessType,Integer billStatus);
/** /**
* 根据账单id、业务类型、任务状态查询task * 根据账单id、业务类型、任务状态查询task
* *
......
...@@ -176,7 +176,7 @@ public interface TaskService { ...@@ -176,7 +176,7 @@ public interface TaskService {
/** /**
* 根据业务id 以及 业务类型进行查询 * 根据业务id 以及 业务类型进行查询
*/ */
Optional<Task> findBillIdAndBusinessType(Integer billId, Integer businessType); Optional<Task> findBillIdAndBusinessType(Integer billId, Integer businessType,Integer billStatus);
/** /**
* 根据父id查询customInfo为shi的task * 根据父id查询customInfo为shi的task
......
...@@ -776,8 +776,8 @@ public class TaskServiceImpl implements TaskService { ...@@ -776,8 +776,8 @@ public class TaskServiceImpl implements TaskService {
} }
@Override @Override
public Optional<Task> findBillIdAndBusinessType(Integer billId, Integer businessType) { public Optional<Task> findBillIdAndBusinessType(Integer billId, Integer businessType,Integer billStatus) {
return taskDao.findByBillIdAndBusinessType(billId,businessType); return taskDao.findByBillIdAndBusinessTypeAndBillStatusNot(billId,businessType,billStatus);
} }
@Override @Override
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论