提交 4fd854ee authored 作者: 133's avatar 133

[报废 销毁 退役 清退] bug4-12修改代码提交

上级 1ff25028
......@@ -208,7 +208,7 @@ public enum LogType {
DECOMMISSIONING_7(100207,DECOMMISSIONING.id, DECOMMISSIONING_1251.id,DECOMMISSIONING_1250.id , "调用电子签章审核,拒绝"),
DECOMMISSIONING_8(100208,DECOMMISSIONING.id, DECOMMISSIONING_1251.id,DECOMMISSIONING_1252.id , "调用电子签章审核,通过"),
DECOMMISSIONING_9(100209,DECOMMISSIONING.id, DECOMMISSIONING_1252.id,END.id , "上传中办签字单据,任务结束"),
// DECOMMISSIONING_2(100202,DESTROY.id, SEND_BACK_1210.id,END.id , "上传中办签字单据,任务结束"),
DECOMMISSIONING_10(100210,DESTROY.id, DECOMMISSIONING_1250.id,DECOMMISSIONING_1251.id , "调用签章等待审核"),
// DECOMMISSIONING_2(100202,DECOMMISSIONING.id, SEND_BACK_1210.id,END.id , "上传中办签字单据,任务结束"),
......
......@@ -52,7 +52,7 @@ public class DecommissioningDevController {
@ApiOperation(value = "出库把任务推送至盖章审核", notes = "出库把任务推送至盖章审核")
@PostMapping(value ="/sealOfAudit/{userId}/{taskId}")
public ResponseEntity sealOfAudit(@PathVariable Integer userId, @RequestBody DecommissioningOrderOutData orderOutData, @PathVariable Integer taskId){
deviceDecommissioningBusinessService.sealOfAudit(userId,taskId,orderOutData);
deviceDecommissioningBusinessService.sealOfAudit(taskId,userId,orderOutData);
return ResponseEntity.ok("退役任务保存草稿成功");
}
......
......@@ -89,7 +89,7 @@ public class DecommissioningOrderOutData {
* 签发人
*/
@ApiModelProperty(value = "签发人(B岗位)")
private String sendUserbId;
private Integer sendUserbId;
/**
* 收件方 经办人
*/
......
......@@ -17,6 +17,7 @@ import com.tykj.dev.device.library.subject.domin.DeviceLog;
import com.tykj.dev.device.library.subject.vo.ScriptSaveVo;
import com.tykj.dev.device.task.service.TaskService;
import com.tykj.dev.device.task.subject.bto.TaskBto;
import com.tykj.dev.device.task.subject.domin.Task;
import com.tykj.dev.device.user.base.ret.MemberThat;
import com.tykj.dev.device.user.read.service.MessageService;
import com.tykj.dev.device.user.read.subject.bto.MessageBto;
......@@ -138,11 +139,12 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss
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 {
deviceDecommissioningDetailService.saveDeviceDecommissioningDetail(deviceDecommissioningDetail);
TaskBto taskBto= sendOutSuperior(units.getUnitId(), deviceDecommissioningDetail.getId(),userId);
addMessage(new MessageBto(taskBto.getId(), taskBto.getBusinessType(), "发起退役任务,待上传回执单据", gainThisUser(user.getUserId(), user.getUnitsId())));
deviceDecommissioningDetailService.saveDeviceDecommissioningDetail(deviceDecommissioningDetail);
deviceDecommissioningDetail.setNum("NO:第" + LocalDateTime.now().getYear() + "QT" + deviceDecommissioningDetail.getId());
}
deviceDecommissioningDetail.setDeviceIds(StringUtils.ListToString(decommissioningOrderOutData.getDevIds()));
......@@ -153,6 +155,11 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss
deviceDecommissioningDetailService.saveDeviceDecommissioningDetail(deviceDecommissioningDetail);
deviceLibraryDao.upDateSeqNumbersLeftStatus(DeviceLifeStatus.RETIRED.id,seqNumbers);
devLogAdd(seqNumbers,"发了退役任务,状态转化为退役中",userId);
if (decommissioningOrderOutData.getApplyId()!=null) {
Optional<Task> billIdAndBusinessTypeNotBillStatus = taskService.findBillIdAndBusinessTypeNotBillStatus(decommissioningOrderOutData.getApplyId(), BusinessEnum.APPLY.id);
taskService.moveToEnd(billIdAndBusinessTypeNotBillStatus.get().parse2Bto());
}
return deviceDecommissioningDetail;
}
......@@ -197,24 +204,24 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss
@Override
public void sealOfAudit(Integer taskId, Integer userId, DecommissioningOrderOutData orderOutData) {
DeviceDecommissioningDetail deviceDecommissioningDetail =new DeviceDecommissioningDetail();
User user = userService.findByUser(userId);
User user = userService.findByUser(orderOutData.getSendUserbId());
Units units=unitsService.findById(user.getUnitsId());
if (taskId==null){
deviceDecommissioningDetail = orderOutData.toDeviceDecommissioningDetail();
deviceDecommissioningDetailService.saveDeviceDecommissioningDetail(deviceDecommissioningDetail);
sealOfAuditTask(units.getUnitId(), deviceDecommissioningDetail.getId(),userId);
sealOfAuditTask(units.getUnitId(), deviceDecommissioningDetail.getId(),orderOutData.getSendUserbId());
}else {
TaskBto taskBto = taskService.get(taskId);
List<StatusEnum> statusEnums = new ArrayList<>();
statusEnums.add(StatusEnum.DECOMMISSIONING_1250);
TaskDisposeUtil.isNotSubmit(taskBto.getBillStatus(), statusEnums);
deviceDecommissioningDetail = deviceDecommissioningDetailService.findDeviceDecommissioningDetail(taskBto.getBillId());
taskService.moveToSpecial(taskBto, StatusEnum.DECOMMISSIONING_1251, userId);
taskService.moveToSpecial(taskBto, StatusEnum.DECOMMISSIONING_1251, orderOutData.getSendUserbId());
}
deviceDecommissioningDetail.setScriptJson(JacksonUtil.toJSon(orderOutData.getScriptSaveVos()));
deviceDecommissioningDetail.setScripts(orderOutData.getScriptSaveVos());
deviceDecommissioningDetail.setSenderUserB(user.getName());
deviceDecommissioningDetail.setSendUserbId(userId);
deviceDecommissioningDetail.setSendUserbId(user.getUserId());
deviceDecommissioningDetailService.saveDeviceDecommissioningDetail(deviceDecommissioningDetail);
}
......@@ -248,7 +255,7 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss
private TaskBto sealOfAuditTask(Integer unitId, Integer repelDetailId,Integer userId){
List<Integer> list=new ArrayList<>();
list.add(userId);
return taskService.start(new TaskBto(StatusEnum.DECOMMISSIONING_1251.id, "退役任务", null, ".", repelDetailId, BusinessEnum.DECOMMISSIONING.id, unitId, 0, "", list));
return taskService.start(new TaskBto(StatusEnum.DECOMMISSIONING_1251.id, "退役设备任务", null, ".", repelDetailId, BusinessEnum.DECOMMISSIONING.id, unitId, 0, "", list));
}
/**
......@@ -267,8 +274,8 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss
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.DECOMMISSIONING_1250.id, "退役设备草稿任务", null, ".", repelDetailId, BusinessEnum.DECOMMISSIONING.id, unitId, 1, "", list));
// list.add(0);
return taskService.start(new TaskBto(StatusEnum.DECOMMISSIONING_1250.id, "退役设备任务", null, ".", repelDetailId, BusinessEnum.DECOMMISSIONING.id, unitId, 0, "", list));
}
/**
......
......@@ -48,7 +48,7 @@ public class DeviceDestroyController {
@ApiOperation(value = "上传销毁单,任务完结", notes = "上传销毁单,任务完结")
@PostMapping(value ="/provinceDeviceDestroyBill/{taskId}")
public ResponseEntity provinceDeviceDestroyBill(@ApiIgnore @AuthenticationPrincipal SecurityUser securityUser, @RequestBody DeviceDestroyBillVo deviceDestroyBillVo, @PathVariable Integer taskId){
deviceDestroyBusinessService.receiptSingle(taskId,deviceDestroyBillVo);
deviceDestroyBusinessService.receiptSingle(taskId,deviceDestroyBillVo,securityUser);
return ResponseEntity.ok("上传销毁单成功,任务完结");
}
......
......@@ -26,7 +26,7 @@ public interface DeviceDestroyBusinessService {
/**
* 上传销毁单接口 任务完结
*/
void receiptSingle(Integer taskId, DeviceDestroyBillVo deviceDestroyBillVo);
void receiptSingle(Integer taskId, DeviceDestroyBillVo deviceDestroyBillVo,SecurityUser securityUser);
void moveToArchiveDestroyBill(Integer taskId);
......
......@@ -10,11 +10,11 @@ import com.tykj.dev.device.library.repository.DeviceLibraryDao;
import com.tykj.dev.device.library.service.DeviceLibraryService;
import com.tykj.dev.device.library.service.DeviceLogService;
import com.tykj.dev.device.library.subject.Dto.DeviceLogDto;
import com.tykj.dev.device.library.subject.domin.DeviceLibrary;
import com.tykj.dev.device.library.subject.domin.DeviceLog;
import com.tykj.dev.device.library.subject.vo.ScriptSaveVo;
import com.tykj.dev.device.task.service.TaskService;
import com.tykj.dev.device.task.subject.bto.TaskBto;
import com.tykj.dev.device.task.subject.domin.Task;
import com.tykj.dev.device.user.read.service.MessageService;
import com.tykj.dev.device.user.read.subject.bto.MessageBto;
import com.tykj.dev.device.user.subject.entity.SecurityUser;
......@@ -112,16 +112,20 @@ public class DeviceDestroyBusinessServiceImpl implements DeviceDestroyBusinessSe
deviceDestroyBill.setNum(deviceDestroyBill1.getNum());
taskService.moveToSpecial(taskBto,StatusEnum.DESTROY_2,0,"country");
addMessage(new MessageBto(taskBto.getId(),taskBto.getBusinessType(),"销毁任务等待补充手续",gainThisUser(securityUser.getCurrentUserInfo().getUserId(),securityUser.getCurrentUserInfo().getUnitsId())));
}
deviceLibraryDao.upDateSeqNumbersLeftStatus(DeviceLifeStatus.IN_THE_DESTROYED.id,seqNumbers);
deviceDestroyBillService.saveDeviceDestroyBill(deviceDestroyBill);
devLogAdd(seqNumbers,"发了销毁任务,状态转化为销毁中",securityUser.getCurrentUserInfo().getUserId());
if (deviceDestroyBillVo.getApplyId()!=null) {
Optional<Task> billIdAndBusinessTypeNotBillStatus = taskService.findBillIdAndBusinessTypeNotBillStatus(deviceDestroyBillVo.getApplyId(), BusinessEnum.APPLY.id);
taskService.moveToEnd(billIdAndBusinessTypeNotBillStatus.get().parse2Bto());
}
return deviceDestroyBill;
}
@Override
public void receiptSingle(Integer taskId, DeviceDestroyBillVo deviceDestroyBillVo) {
User user=userService.findByUser(deviceDestroyBillVo.getOperationId());
public void receiptSingle(Integer taskId,DeviceDestroyBillVo deviceDestroyBillVo,SecurityUser securityUser) {
TaskBto taskBto= taskService.get(taskId);
DeviceDestroyBill deviceDestroyBill= deviceDestroyBillService.findDeviceDestroyBill(taskBto.getBillId());
List<String> seqNumbers= scriptListToStringList(deviceDestroyBillVo);
......@@ -137,7 +141,7 @@ public class DeviceDestroyBusinessServiceImpl implements DeviceDestroyBusinessSe
deviceDestroyBill.setDestructionFiles(FilesUtil.stringFileToList(deviceDestroyBillVo.getDestructionFileList()));
deviceDestroyBillService.saveDeviceDestroyBill(deviceDestroyBill);
taskService.moveToEnd(taskBto);
addMessage(new MessageBto(taskBto.getId(),taskBto.getBusinessType(),"销毁任务补充手续完成",gainThisUser(user.getUserId(),user.getUnitsId())));
addMessage(new MessageBto(taskBto.getId(),taskBto.getBusinessType(),"销毁任务补充手续完成",gainThisUser(securityUser.getCurrentUserInfo().getUserId(),securityUser.getCurrentUserInfo().getUnitsId())));
devLogAdd(seqNumbers,"发了销毁任务,状态转化为销毁中",deviceDestroyBillVo.getOperationId());
}
......@@ -154,8 +158,7 @@ public class DeviceDestroyBusinessServiceImpl implements DeviceDestroyBusinessSe
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.DESTROY_0.id, "报废设备任务", null, ".", repelDetailId, BusinessEnum.DESTROY.id, unitId, 1, "", list));
return taskService.start(new TaskBto(StatusEnum.DESTROY_0.id, "销毁设备任务", null, ".", repelDetailId, BusinessEnum.DESTROY.id, unitId, 0, "", list));
}
/**
......@@ -168,7 +171,7 @@ public class DeviceDestroyBusinessServiceImpl implements DeviceDestroyBusinessSe
List<Integer> userIds = new ArrayList<>();
userIds.add(userId);
userIds.add(0);
return taskService.start(new TaskBto(StatusEnum.DESTROY_2.id, "报废设备任务", null, ".", repelDetailId, BusinessEnum.DESTROY.id, unitId, 1, "country", userIds));
return taskService.start(new TaskBto(StatusEnum.DESTROY_2.id, "销毁设备任务", null, ".", repelDetailId, BusinessEnum.DESTROY.id, unitId, 1, "country", userIds));
}
private List<String> scriptListToStringList(DeviceDestroyBillVo deviceDestroyBillVo){
......@@ -184,8 +187,6 @@ public class DeviceDestroyBusinessServiceImpl implements DeviceDestroyBusinessSe
return seqNumbers;
}
/**
* 异步添加装备日志
*/
......
......@@ -8,6 +8,7 @@ import com.itextpdf.text.pdf.PdfWriter;
import com.tykj.dev.config.swagger.AutoDocument;
import com.tykj.dev.device.file.entity.*;
import com.tykj.dev.device.file.service.UseReportFIleService;
import com.tykj.dev.device.file.util.ArrayUtil;
import com.tykj.dev.device.file.util.JavaToPdfHtmlFreeMarker;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -50,7 +51,6 @@ public class FileController {
/**
* 生成单据
* @return
*/
@ApiOperation(value = "生成单据")
@PostMapping("/printDocuments")
......@@ -60,9 +60,24 @@ public class FileController {
return ResponseEntity.ok(JavaToPdfHtmlFreeMarker.createPdf(content,url,preview,"documents/"));
}
/**
* 生成单据 多个单据生成
*/
@ApiOperation(value = "生成单据 多个单据生成")
@PostMapping("/printDocuments/more")
public ResponseEntity printDocuments(@RequestBody List<Documents> documents){
String[] content=new String[10000];
documents.forEach(
documents1 -> ArrayUtil.concat(content,JavaToPdfHtmlFreeMarker.freeMarkerRender(documents1,url+"htmlModel/"))
);
log.info("[file] 调用了生成出入单据对接口 documents");
return ResponseEntity.ok(JavaToPdfHtmlFreeMarker.createPdf(content,url,preview,"documents/"));
}
/**
* 生成工作交接的单据
* @return
*/
@ApiOperation(value = "生成工作交接的单据")
@PostMapping("/wordHandover")
......
......@@ -19,34 +19,34 @@ import lombok.NoArgsConstructor;
@ApiModel(value = "单据涉及装备实体", description = "单据涉及装备实体")
public class DocumentDevice {
@ApiModelProperty(name = "序号")
@ApiModelProperty(value = "序号")
private Integer code;
@ApiModelProperty(name = "型号")
@ApiModelProperty(value = "型号")
private String model;
@ApiModelProperty(name = "部件")
@ApiModelProperty(value = "部件")
private String parts;
@ApiModelProperty(name = "类型")
@ApiModelProperty(value = "类型")
private String category;
@ApiModelProperty(name = "密级")
@ApiModelProperty(value = "密级")
private String securityClassification;
@ApiModelProperty(name = "应用领域")
@ApiModelProperty(value = "应用领域")
private String applicationField;
@ApiModelProperty(name = "数量")
@ApiModelProperty(value = "数量")
private Integer count;
@ApiModelProperty(name = "装备序列号")
@ApiModelProperty(value = "装备序列号")
private String deviceSerialNumber;
@ApiModelProperty(name = "生产序列号")
@ApiModelProperty(value = "生产序列号")
private String productionSerialNumber;
@ApiModelProperty(name = "备注")
@ApiModelProperty(value = "备注")
private String remark;
public Integer getLen(){
......
......@@ -21,43 +21,43 @@ import java.util.List;
@Data
@ApiModel(value = "出库入库单据样式", description = "出库入库单据属性实体")
public class Documents {
@ApiModelProperty(name = "单据号")
@ApiModelProperty(value = "单据号")
private String number;
@ApiModelProperty(name = "单据标题")
@ApiModelProperty(value = "单据标题")
private String title;
@ApiModelProperty(name = "接收单位")
@ApiModelProperty(value = "接收单位")
private String receiveUnit;
@ApiModelProperty(name = "批复文号")
@ApiModelProperty(value = "批复文号")
private String replyNum;
@ApiModelProperty(name = "相关装备")
@ApiModelProperty(value = "相关装备")
private List<DocumentDevice> documentDevices;
@ApiModelProperty(name = "发件单位")
@ApiModelProperty(value = "发件单位")
private String senderUnit;
@ApiModelProperty(name = "签章数据")
@ApiModelProperty(value = "签章数据")
private String srcA;
@ApiModelProperty(name = "签章数据")
@ApiModelProperty(value = "签章数据")
private String srcB;
@ApiModelProperty(name = "发件方经办人")
@ApiModelProperty(value = "发件方经办人")
private String nameA;
@ApiModelProperty(name = "发件方经办人")
@ApiModelProperty(value = "发件方经办人")
private String nameA1;
@ApiModelProperty(name = "接收方人员")
@ApiModelProperty(value = "接收方人员")
private String nameB;
@ApiModelProperty(name = "接收方人员")
@ApiModelProperty(value = "接收方人员")
private String nameB1;
@ApiModelProperty(name = "后端转换使用")
@ApiModelProperty(value = "后端转换使用")
private List<ScriptSaveVo> scriptSaveVos;
public Documents(String number, String title, String receiveUnit, String replyNum, String senderUnit, String srcA, String srcB, String nameA, String nameA1, String nameB, String nameB1, List<ScriptSaveVo> scriptSaveVos) {
......
......@@ -16,32 +16,67 @@ import lombok.NoArgsConstructor;
@Data
public class WrodParameter {
/**
* 标题1
* 标题年度
*/
private String title1;
private Integer titleAnnual;
/**
* 标题单位
*/
private String titleUnitName;
/**
* 标题开始时间
*/
private String titleTimeStart;
/**
* 标题1
* 标题结束时间
*/
private String title2;
private String titleTimeEnd;
/**
* 总条数
*/
private String total;
private Integer total;
/**
* 自查
* 入库数量
*/
private String selfCheck;
private Integer storageNum;
/**
* 核查
* 维修数量
*/
private String comfirmCheck;
private Integer maintenanceNum;
/**
* 单位名称
* 配发数量
*/
private String unitsName;
private Integer withNum;
/**
* 清退数量
*/
private Integer repelNum;
/**
* 销毁数量
*/
private Integer destructionNum;
/**
* 列装数量
*/
private Integer fieldingNum;
/**
* 退装数量
*/
private Integer backPackNum;
/**
* 时间
* 时间 2021年4月12日
*/
private String time;
}
......@@ -34,16 +34,21 @@ public class UseReportFIleServiceImpl implements UseReportFIleService {
public void findToFileService(WrodParameter wrodParameter, HttpServletResponse response, HttpServletRequest httpServletRequest) throws IOException {
Map<String, Object> params = new HashMap<>();
// 渲染文本
params.put("title1",wrodParameter.getTitle1());
params.put("title2",wrodParameter.getTitle2());
params.put("total",wrodParameter.getTotal());
params.put("comfirm",wrodParameter.getComfirmCheck());
params.put("unitName",wrodParameter.getUnitsName());
params.put("time",wrodParameter.getTime());
params.put("total",wrodParameter.getTotal());
params.put("BackPackNum",wrodParameter.getBackPackNum());
params.put("DestructionNum",wrodParameter.getDestructionNum());
params.put("FieldingNum",wrodParameter.getFieldingNum());
String fileName = wrodParameter.getTitle1() + ".doc";
params.put("MaintenanceNum",wrodParameter.getMaintenanceNum());
params.put("RepelNum",wrodParameter.getRepelNum());
params.put("StorageNum",wrodParameter.getStorageNum());
params.put("TitleAnnual",wrodParameter.getTitleAnnual());
params.put("TitleTimeEnd",wrodParameter.getTitleTimeEnd());
params.put("TitleTimeStart",wrodParameter.getTitleTimeStart());
params.put("TitleUnitName",wrodParameter.getTitleUnitName());
params.put("WithNum",wrodParameter.getWithNum());
String fileName = wrodParameter.getTitleTimeStart()+"至"+wrodParameter.getTitleTimeEnd()+"使用报告" + ".doc";
String templatePath = ResourceUtils.getURL( "classpath:").getPath()+"docxModel.docx";
url=url+"report/";
String uuidName=UUID.randomUUID().toString().replace("-", "") + ".doc";
......
package com.tykj.dev.device.file.util;
/**
* @author zjm
* @version 1.0.0
* @ClassName ArrayUtil.java
* @Description TODO
* @createTime 2021年04月12日 13:28:00
*/
public class ArrayUtil {
public static String[] concat(String[] a, String[] b) {
String[] c= new String[a.length+b.length];
System.arraycopy(a, 0, c, 0, a.length);
System.arraycopy(b, 0, c, a.length, b.length);
return c;
}
}
......@@ -79,34 +79,33 @@ public interface DeviceLibraryDao extends JpaRepository<DeviceLibrary, Integer>,
@Transactional
@Modifying
@Query("update DeviceLibrary o set o.lifeStatus = :lifeStatus where o.id in :idList")
@Query("update DeviceLibrary o set o.lifeStatus = :lifeStatus ,o.updateTime=current_timestamp where o.id in :idList")
int upDateLeftStatus(Integer lifeStatus,@Param("idList") List<Integer> idList);
@Transactional
@Modifying
@Query("update DeviceLibrary o set o.lifeStatus = :lifeStatus where o.seqNumber in :seqNumbers")
@Query("update DeviceLibrary o set o.lifeStatus = :lifeStatus ,o.updateTime=current_timestamp where o.seqNumber in :seqNumbers")
int upDateSeqNumbersLeftStatus(Integer lifeStatus,@Param("seqNumbers") List<String> seqNumbers);
@Transactional
@Modifying
@Query("update DeviceLibrary o set o.lifeStatus = :lifeStatus ,o.lockStatus=:lock where o.id in :idList")
@Query("update DeviceLibrary o set o.lifeStatus = :lifeStatus ,o.lockStatus=:lock ,o.updateTime=current_timestamp where o.id in :idList")
int upDateLeftStatusAndLockStatus(Integer lifeStatus,Integer lock,@Param("idList") List<Integer> idList);
@Transactional
@Modifying
@Query("update DeviceLibrary o set o.lifeStatus = :lifeStatus ,o.locationUnit = :unitName,o.ownUnit = :unitName ,o.lockStatus=:lock where o.id in :idList")
@Query("update DeviceLibrary o set o.lifeStatus = :lifeStatus ,o.locationUnit = :unitName,o.ownUnit = :unitName ,o.lockStatus=:lock ,o.updateTime=current_timestamp where o.id in :idList")
int upDateLeftStatusAndUnitNameAndLockStatus(Integer lifeStatus,String unitName,Integer lock,@Param("idList") List<Integer> idList);
@Transactional
@Modifying
@Query("update DeviceLibrary o set o.lifeStatus = :lifeStatus ,o.locationUnit = :unitName,o.ownUnit = :unitName ,o.lockStatus=:lock where o.seqNumber in :seqNumbers")
@Query("update DeviceLibrary o set o.lifeStatus = :lifeStatus ,o.locationUnit = :unitName,o.ownUnit = :unitName,o.lockStatus=:lock ,o.updateTime=current_timestamp where o.seqNumber in :seqNumbers")
int upDateSeqNumbersLeftStatusAndUnitNameAndLockStatus(Integer lifeStatus,String unitName,Integer lock,@Param("seqNumbers") List<String> seqNumbers);
@Transactional
@Modifying
@Query("update DeviceLibrary o set o.lifeStatus = :lifeStatus ,o.ownUnit = :unitName ,o.locationUnit = :unitName where o.id in :idList")
@Query("update DeviceLibrary o set o.lifeStatus = :lifeStatus ,o.ownUnit = :unitName ,o.locationUnit = :unitName ,o.updateTime=current_timestamp where o.id in :idList")
int upDateLeftStatusAndOwnUnitName(Integer lifeStatus,String unitName,@Param("idList") List<Integer> idList);
List<DeviceLibrary> findAllByLifeStatus(Integer status);
}
......@@ -434,7 +434,7 @@ public class DeviceLibraryServiceImpl implements DeviceLibraryService {
public void isInStockOrWaitRetired(List<Integer> ids) {
ids.forEach(integer -> {
DeviceLibrary deviceLibrary = getOne(integer);
if (deviceLibrary.getLifeStatus()!=2 && deviceLibrary.getLifeStatus()!=15&&deviceLibrary.getLifeStatus()!=14&& !deviceLibrary.getLifeStatus().equals(DeviceLifeStatus.SEND_BACK.id)){
if (deviceLibrary.getLifeStatus()!=2 && deviceLibrary.getLifeStatus()!=15&&deviceLibrary.getLifeStatus()!=14 && !deviceLibrary.getLifeStatus().equals(DeviceLifeStatus.SEND_BACK.id)){
throw new ApiException(ResponseEntity.status(303).body("序列号"+deviceLibrary.getSeqNumber()+"的装备已被其他专管员操作"));
}
});
......
......@@ -54,7 +54,7 @@ public class ScrapBusinessController {
@ApiOperation(value = "出库把任务推送至盖章审核", notes = "出库把任务推送至盖章审核")
@PostMapping(value ="/sealOfAudit/{userId}/{taskId}")
public ResponseEntity sealOfAudit(@PathVariable Integer userId, @RequestBody ScrapOrderOutData scrapOrderOutData, @PathVariable Integer taskId){
scrapBusinessService.sealOfAudit(userId,taskId,scrapOrderOutData);
scrapBusinessService.sealOfAudit(taskId,userId,scrapOrderOutData);
return ResponseEntity.ok("退役任务保存草稿成功");
}
......
......@@ -16,6 +16,7 @@ import com.tykj.dev.device.scrap.subject.vo.ScrapOrderOutData;
import com.tykj.dev.device.scrap.subject.vo.StorageScrap;
import com.tykj.dev.device.task.service.TaskService;
import com.tykj.dev.device.task.subject.bto.TaskBto;
import com.tykj.dev.device.task.subject.domin.Task;
import com.tykj.dev.device.user.read.service.MessageService;
import com.tykj.dev.device.user.read.subject.bto.MessageBto;
import com.tykj.dev.device.user.subject.entity.Units;
......@@ -134,6 +135,7 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService {
scrap.setNum(scrap1.getNum());
taskService.moveToSpecial(taskBto,StatusEnum.SCRAP_2222,"country");
addMessage(new MessageBto(taskBto.getId(),taskBto.getBusinessType(),"发起报废任务,待上传回执单据",gainThisUser(user.getUserId(),user.getUnitsId())));
}else {
scrapService.saveScrap(scrap);
scrap.setNum("NO:第" + LocalDateTime.now().getYear() + "QT" + scrap.getId());
......@@ -147,7 +149,10 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService {
scrapService.saveScrap(scrap);
deviceLibraryDao.upDateSeqNumbersLeftStatus(DeviceLifeStatus.IN_THE_SCRAPPED.id,seqNumbers);
devLogAdd(seqNumbers,"发了报废任务,状态转化为报废中",userId);
if (scrapOrderOutData.getApplyId()!=null) {
Optional<Task> billIdAndBusinessTypeNotBillStatus = taskService.findBillIdAndBusinessTypeNotBillStatus(scrapOrderOutData.getApplyId(), BusinessEnum.APPLY.id);
taskService.moveToEnd(billIdAndBusinessTypeNotBillStatus.get().parse2Bto());
}
return scrap;
}
......@@ -192,7 +197,7 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService {
@Override
public void sealOfAudit(Integer taskId, Integer userId, ScrapOrderOutData scrapOrderOutData) {
Scrap scrap =new Scrap();
User user = userService.findByUser(userId);
User user = userService.findByUser(scrapOrderOutData.getSendUserbId());
Units units=unitsService.findById(user.getUnitsId());
if (taskId==null){
scrap = scrapOrderOutData.toScrap();
......@@ -209,7 +214,7 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService {
scrap.setScriptJson(JacksonUtil.toJSon(scrapOrderOutData.getScriptSaveVos()));
scrap.setScripts(scrapOrderOutData.getScriptSaveVos());
scrap.setSenderUserB(user.getName());
scrap.setSendUserbId(userId);
scrap.setSendUserbId(user.getUserId());
scrapService.saveScrap(scrap);
}
......@@ -263,8 +268,8 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService {
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));
// list.add(0);
return taskService.start(new TaskBto(StatusEnum.SCRAP_2223.id, "报废设备任务", null, ".", repelDetailId, BusinessEnum.SCRAP.id, unitId, 0, "", list));
}
......
......@@ -89,7 +89,7 @@ public class ScrapOrderOutData {
* 签发人
*/
@ApiModelProperty(value = "签发人(B岗位)")
private String sendUserbId;
private Integer sendUserbId;
/**
* 收件方 经办人
*/
......
package com.tykj.dev.device.sendback.entity.vo;
import com.tykj.dev.device.user.base.ret.LeftNavigation;
import com.tykj.dev.device.user.subject.entity.SecurityUser;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
......@@ -20,10 +21,12 @@ import java.util.List;
@NoArgsConstructor
@ApiModel("直属单位列表")
public class DirectlyUnderNavigation {
/**
* id
*/
private Integer id;
/**
* 名称
*/
......
......@@ -80,6 +80,12 @@ public interface RepelQueryService {
List<DirectlyUnderNavigation> directlyUnderUnitLeftNavigation(Integer taskId);
// /**
// * 查询直属单位
// */
// List<DirectlyUnderNavigation> directlyUnderUnitLeftNavigation(Integer taskId);
/**
*省直属任务装备已选择装备列表接口
*/
......
......@@ -334,7 +334,6 @@ public class RepelBusinessServiceImpl implements RepelBusinessService {
Units units=unitsService.findById(user.getUnitsId());
Area area=areaService.findByid(units.getAreaId());
Units unitsFather= unitsService.findByAreaId(units.getUnitId());
deviceRepel.setFielding(StringUtils.ListToString(deviceRepel.getFieldingIds()));
deviceRepel.setTaskScope(StringUtils.ListToString(deviceRepel.getTaskScopes()));
deviceRepel.setFiles(FilesUtil.stringFileToList(deviceRepel.getFileRets()));
......@@ -577,7 +576,7 @@ public class RepelBusinessServiceImpl implements RepelBusinessService {
deviceRepelDetail.setReceiveUserA(storageDeviceRepel.getUserAName());
deviceRepelDetail.setReceiveUseraId(storageDeviceRepel.getUserA());
deviceRepelDetailService.saveDeviceRepelDetail(deviceRepelDetail);
taskService.moveToSpecial(taskBto,StatusEnum.SEND_BACK_1218,storageDeviceRepel.getUserB());
taskService.moveToSpecial(taskBto,StatusEnum.SEND_BACK_1220,storageDeviceRepel.getUserB());
}
@Override
......@@ -598,7 +597,7 @@ public class RepelBusinessServiceImpl implements RepelBusinessService {
public void sendSealOfAuditEnd(Integer taskId, Integer reviewTheResults) {
TaskBto taskBto= taskService.get(taskId);
if (reviewTheResults==0){
taskService.moveToSpecial(taskBto,StatusEnum.SEND_BACK_1220,0);
taskService.moveToSpecial(taskBto,StatusEnum.SEND_BACK_1218,0);
}else {
DeviceRepelDetail deviceRepelDetail=deviceRepelDetailService.findDeviceRepelDetail(taskBto.getBillId());
deviceRepelDetail.setReceiveUserbId(null);
......@@ -635,14 +634,12 @@ public class RepelBusinessServiceImpl implements RepelBusinessService {
if (storageDeviceRepel.getSenderId()!=null) {
deviceRepelDetail.setSendUserbId(storageDeviceRepel.getSenderId());
}
if (storageDeviceRepel.getSenderName()!=null) {
if (storageDeviceRepel.getSenderName()!=null) {
deviceRepelDetail.setSenderUserB(storageDeviceRepel.getSenderName());
}
}
//判断是否为入库单据待补充 还是直接入库。
RepelTaskStatistical repelTaskStatistical = repelTaskStatisticalService.findRepelTaskStatistical(taskBto.getId(),deviceRepelDetail.getRepelId());
if (storageDeviceRepel.getFileRets()!=null&&storageDeviceRepel.getFileRets().size()!=0) {
RepelTaskStatistical repelTaskStatistical = repelTaskStatisticalService.findRepelTaskStatistical(taskBto.getId(),deviceRepelDetail.getRepelId());
if (storageDeviceRepel.getFileRets()!=null&&storageDeviceRepel.getFileRets().size()!=0) {
List<StatusEnum> enumList=new ArrayList<>();
enumList.add(StatusEnum.SEND_BACK_1209);
enumList.add(StatusEnum.SEND_BACK_1213);
......@@ -740,9 +737,9 @@ public class RepelBusinessServiceImpl implements RepelBusinessService {
long time=System.currentTimeMillis();
DeviceRepel deviceRepel= deviceRepelService.findDeviceRepel(deviceRepelDetail.getRepelId());
if (units.getLevel()==2){
deviceLibraryDao.upDateLeftStatusAndUnitNameAndLockStatus(DeviceLifeStatus.SEND_BACK.id, deviceRepelDetail.getReceiveUnit(), 0, StringUtils.stringToList(deviceRepelDetail.getDeviceIds()));
deviceLibraryDao.upDateLeftStatusAndUnitNameAndLockStatus(DeviceLifeStatus.SEND_BACK.id, deviceRepelDetail.getSendUnit(), 0, StringUtils.stringToList(deviceRepelDetail.getDeviceIds()));
}else {
deviceLibraryDao.upDateLeftStatusAndUnitNameAndLockStatus(filterTypeReturnLeftStatus(deviceRepel.getType()), deviceRepelDetail.getReceiveUnit(), 0, StringUtils.stringToList(deviceRepelDetail.getDeviceIds()));
deviceLibraryDao.upDateLeftStatusAndUnitNameAndLockStatus(filterTypeReturnLeftStatus(deviceRepel.getType()), deviceRepelDetail.getSendUnit(), 0, StringUtils.stringToList(deviceRepelDetail.getDeviceIds()));
log.info("更新数据装备以及所属单位{}", System.currentTimeMillis() - time);
}
RepelTaskStatistical repelTaskStatistical= repelTaskStatisticalService.findRepelTaskStatistical(taskBto.getId(),deviceRepelDetail.getRepelId());
......@@ -813,11 +810,15 @@ public class RepelBusinessServiceImpl implements RepelBusinessService {
if (storageDeviceRepel.getUserAName()!=null) {
deviceRepelDetail.setReceiveUserA(storageDeviceRepel.getUserAName());
}
deviceLibraryDao.upDateLeftStatusAndUnitNameAndLockStatus(DeviceLifeStatus.RETIRE.id,deviceRepelDetail.getReceiveUnit(),0,StringUtils.stringToList(deviceRepelDetail.getDeviceIds()));
TaskBto fatherTask=taskService.get(taskBto.getParentTaskId());
taskService.moveToEnd(fatherTask);
isEnd(fatherTask,deviceRepelDetailService.findDeviceRepelDetail(fatherTask.getBillId()).getRepelId());
deviceRepelDetailService.saveDeviceRepelDetail(deviceRepelDetail);
deviceLibraryDao.upDateLeftStatusAndUnitNameAndLockStatus(DeviceLifeStatus.RETIRE.id,deviceRepelDetail.getReceiveUnit(),0,StringUtils.stringToList(deviceRepelDetail.getDeviceIds()));
TaskBto fatherTask=taskService.get(taskBto.getParentTaskId());
taskService.moveToEnd(fatherTask);
DeviceRepelDetail deviceRepelDetailFather= deviceRepelDetailService.findDeviceRepelDetail(fatherTask.getBillId());
RepelTaskStatistical repelTaskStatistical = repelTaskStatisticalService.findRepelTaskStatistical(fatherTask.getId(),deviceRepelDetailFather.getRepelId());
repelTaskStatistical.setTaskStatus(1);
repelTaskStatisticalService.saveRepelTaskStatistical(repelTaskStatistical);
isEnd(fatherTask,deviceRepelDetailFather.getRepelId());
deviceRepelDetailService.saveDeviceRepelDetail(deviceRepelDetail);
}
......@@ -1026,7 +1027,7 @@ public class RepelBusinessServiceImpl implements RepelBusinessService {
* 判读是否可以办结任务
*/
private void isEnd(TaskBto taskBto,Integer repelId){
boolean flag= repelTaskStatisticalService.findAllRepelTaskStatistical(taskBto.getParentTaskId(),repelId).stream().allMatch(e->e.getTaskStatus()==1);
boolean flag = repelTaskStatisticalService.findAllRepelTaskStatistical(taskBto.getParentTaskId(),repelId).stream().allMatch(e->e.getTaskStatus()==1);
if (flag){
TaskBto parentTask= taskService.get(taskBto.getParentTaskId());
if (parentTask.getBillStatus()!=StatusEnum.END.id) {
......@@ -1055,6 +1056,10 @@ public class RepelBusinessServiceImpl implements RepelBusinessService {
}
/**
* 添加阅读
* @param messageBto
*/
private void addMessage(MessageBto messageBto){
messageService.add(messageBto);
}
......@@ -1077,5 +1082,4 @@ public class RepelBusinessServiceImpl implements RepelBusinessService {
private List<Integer> findUnitId(Integer unitId){
return userService.findAllByUnite(unitId).stream().map(User::getUserId).collect(Collectors.toList());
}
}
......@@ -93,7 +93,7 @@ public class RepelQueryServiceImpl implements RepelQueryService {
DeviceRepelDetail deviceRepelDetail= repelDetailService.findDeviceRepelDetail(taskService.get(taskId).getBillId());
DeviceRepel deviceRepel=deviceRepelService.findDeviceRepel(deviceRepelDetail.getRepelId());
if (deviceRepel.getType()==0) {
if (deviceRepel.getSeqNumbers()==null||deviceRepel.getSeqNumbers().equals("")) {
deviceLibraryDao.findAllByPackingIdInAndOwnUnit(fielding, units.getName()).stream()
.filter(deviceLibrary -> deviceLibrary.getLifeStatus().equals(DeviceLifeStatus.IN_LIBRARY.id)
|| deviceLibrary.getLifeStatus().equals(DeviceLifeStatus.REPEL.id)
......@@ -250,6 +250,9 @@ public class RepelQueryServiceImpl implements RepelQueryService {
return list;
}
@Override
public List<DeviceLibrary> provinceDirectlyUnderSelectedDev(Integer taskId, Integer unitId) {
Units units=unitsService.findById(unitId);
......
......@@ -174,10 +174,15 @@ public interface TaskService {
/**
* 根据业务id 以及 业务类型进行查询
* 根据业务id 以及 业务类型以及不为8888的业务状态 进行查询
*/
Optional<Task> findBillIdAndBusinessType(Integer billId, Integer businessType,Integer billStatus);
/**
* 根据业务id 以及 业务类型进行查询
*/
Optional<Task> findBillIdAndBusinessTypeNotBillStatus(Integer billId, Integer businessType);
/**
* 根据父id查询customInfo为shi的task
*/
......
......@@ -780,6 +780,11 @@ public class TaskServiceImpl implements TaskService {
return taskDao.findByBillIdAndBusinessTypeAndBillStatusNot(billId,businessType,billStatus);
}
@Override
public Optional<Task> findBillIdAndBusinessTypeNotBillStatus(Integer billId, Integer businessType) {
return taskDao.findByBillIdAndBusinessType(billId,businessType);
}
@Override
public TaskBto findFatherIdAndCustomInfo(Integer taskId) {
......@@ -789,7 +794,7 @@ public class TaskServiceImpl implements TaskService {
return taskBto;
}
}
throw new ApiException(ResponseEntity.status(500).body("[清退] id:"+taskId+"没有找到子类CustomInfo为shi的"));
throw new ApiException(ResponseEntity.status(500).body("[清退] id:"+taskId+"没有找到子类CustomInfo为shi的"));
}
@Override
......
......@@ -88,13 +88,25 @@ public class DeviceUseReportController {
Instant instant = deviceUseReportDetailVo.getCreateTime().toInstant();
ZoneId zone = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
wrodParameter.setTime(localDateTime.getYear()+"年"+localDateTime.getMonth()+"月"+localDateTime.getMonthValue()+"日");
wrodParameter.setUnitsName(deviceUseReportDetailVo.getUnit());
wrodParameter.setTitle1(localDateTime.getYear() + "年度" + deviceUseReportDetailVo.getUnit()+"装备使用情况报告");
wrodParameter.setTitle2("装备使用情况报告");
wrodParameter.setSelfCheck("列装库内列装总数:" + deviceUseReportDetailVo.getPackingNum().toString() + ",退装总数:" + deviceUseReportDetailVo.getRetiredNum().toString() + "。");
wrodParameter.setComfirmCheck(" ");
wrodParameter.setTotal("度本单位在库总装备数" + deviceUseReportDetailVo.getDeviceNumber() + ";其中入库总数" + deviceUseReportDetailVo.getInLibraryNum() + ";维修总数" + deviceUseReportDetailVo.getRepairNum() + ";配发总数" + deviceUseReportDetailVo.getAllotNum() + "清退总数" + deviceUseReportDetailVo.getSendBackNum() + ";销毁总数" + deviceUseReportDetailVo.getDestoryNum() + "。");
wrodParameter.setTime(localDateTime.getYear()+"年"+localDateTime.getMonth()+"月"+localDateTime.getDayOfMonth()+"日");
wrodParameter.setTitleUnitName(deviceUseReportDetailVo.getUnit());
Instant instant1 = deviceUseReportDetailVo.getStartTime().toInstant();
Instant instant2 = deviceUseReportDetailVo.getEndTime().toInstant();
LocalDateTime localDateTime1 = LocalDateTime.ofInstant(instant1, zone);
LocalDateTime localDateTime2 = LocalDateTime.ofInstant(instant2, zone);
String startTime= localDateTime1.getYear()+"年"+localDateTime1.getMonth()+"月"+localDateTime1.getDayOfMonth()+"日";
String endTime= localDateTime2.getYear()+"年"+localDateTime2.getMonth()+"月"+localDateTime2.getDayOfMonth()+"日";
wrodParameter.setTitleTimeStart(startTime);
wrodParameter.setTitleTimeEnd(endTime);
wrodParameter.setBackPackNum(deviceUseReportDetailVo.getRetiredNum());
wrodParameter.setTotal(deviceUseReportDetailVo.getDeviceNumber());
wrodParameter.setDestructionNum(deviceUseReportDetailVo.getDestoryNum());
wrodParameter.setFieldingNum(deviceUseReportDetailVo.getPackingNum());
wrodParameter.setStorageNum(deviceUseReportDetailVo.getInLibraryNum());
wrodParameter.setMaintenanceNum(deviceUseReportDetailVo.getRepairNum());
wrodParameter.setRepelNum(deviceUseReportDetailVo.getSendBackNum());
wrodParameter.setWithNum(deviceUseReportDetailVo.getAllotNum());
wrodParameter.setTitleAnnual(localDateTime.getYear());
useReportFIleService.findToFileService(wrodParameter, response, httpServletRequest);
return ResponseEntity.ok("下载成功");
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论