Commit 68c6fed4 authored by 韩桐桐's avatar 韩桐桐

feat(jg):改造告知作废

parent 57c368c2
package com.yeejoin.amos.boot.module.jg.api.dto;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import com.yeejoin.amos.boot.module.jg.api.common.BizCustomDateSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
......@@ -270,4 +268,14 @@ public class JgReformNoticeDto extends BaseDto {
*/
@ApiModelProperty (value = "工作流下一节点任务id")
private String nextTaskId;
@ApiModelProperty("作废原因")
private String cancelReason;
@ApiModelProperty("作废日期")
private Date cancelDate;
@ApiModelProperty("作废人员id")
private String cancelUserId;
}
......@@ -11,6 +11,7 @@ import lombok.experimental.Accessors;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 改造告知
......@@ -382,4 +383,28 @@ public class JgReformNotice extends BaseEntity {
*/
@TableField("receive_company_org_code")
private String receiveCompanyOrgCode;
/**
* 告知设备列表
*/
@TableField(exist = false)
private List<Map<String, Object>> deviceList;
/**
* 作废原因
*/
@TableField("cancel_reason")
private String cancelReason;
/**
* 作废日期
*/
@TableField("cancel_date")
private Date cancelDate;
/**
* 作废人员id
*/
@TableField("cancel_user_id")
private String cancelUserId;
}
......@@ -68,5 +68,5 @@ public interface IJgMaintainNoticeService extends IService<JgMaintainNotice> {
* @param cancelReason 作废原因
* @return JgInstallationNoticeDto
*/
JgMaintainNotice cancelApplication(Long sequenceNbr, String cancelReason, Map<String, Object> model);
JgMaintainNotice cancelApplication(Long sequenceNbr, String cancelReason);
}
......@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.jg.api.dto.JgReformNoticeDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgReformNotice;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
......@@ -67,4 +68,12 @@ public interface IJgReformNoticeService extends IService<JgReformNotice> {
* @return pdf文件路径
*/
void generateInstallationNoticeReport(Long sequenceNbr,HttpServletResponse response);
/**
* 作废申请
* @param sequenceNbr 业务唯一标识
* @param cancelReason 作废原因
* @return JgInstallationNoticeDto
*/
JgReformNotice cancelApplication(Long sequenceNbr, String cancelReason);
}
......@@ -34,6 +34,7 @@
isn.instance_status AS instanceStatus,
isn.inform_number AS informNumber,
isn.next_task_id as nextTaskId,
isn.cancel_reason as cancelReason,
DATE_FORMAT(isn.plan_date,'%Y-%m-%d') AS planDate,
DATE_FORMAT(isn.notice_date,'%Y-%m-%d') AS noticeDate,
DATE_FORMAT(isn.accept_date,'%Y-%m-%d') AS acceptDate,
......@@ -84,7 +85,7 @@
</if>
</if>
<if test="type == 'supervision'">
AND (isn.notice_status in ('6612', '6613', '6614', '6616') )
AND (isn.notice_status in ('6612', '6613', '6614', '6616','6617') )
AND (isn.receive_org_code = #{orgCode} or isn.transfer_to_user_ids LIKE concat ( '%', #{currentUserId}, '%' ))
AND isn.instance_id <![CDATA[<>]]> ''
</if>
......
......@@ -241,7 +241,7 @@ public class CommonController extends BaseController {
}
private Map<String, Object> mapPointTypeToMap(FlowStatusEnum e) {
if (FlowStatusEnum.TO_SUBMITTED.getCode() == e.getCode() || FlowStatusEnum.TO_BE_DISCARD.getCode() == e.getCode()) {
if (FlowStatusEnum.TO_SUBMITTED.getCode() == e.getCode()) {
return null;
}
Map<String, Object> record = new HashMap<>();
......
......@@ -148,8 +148,8 @@ public class JgMaintainNoticeController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "PUT", value = "维修告知单个作废", notes = "维修告知单个作废")
@PutMapping(value = "/cancel/application")
public ResponseModel<JgMaintainNotice> cancelApplication(@RequestBody Map<String, Object> model) {
JgMaintainNotice result = iJgMaintainNoticeService.cancelApplication(Long.parseLong((String) model.get("sequenceNbr")), (String) model.get("cancelReason"), model);
public ResponseModel<JgMaintainNotice> cancelApplication(@RequestBody JgMaintainNoticeDto dto) {
JgMaintainNotice result = iJgMaintainNoticeService.cancelApplication(dto.getSequenceNbr(), dto.getCancelReason());
return ResponseHelper.buildResponse(result);
}
}
......@@ -146,4 +146,12 @@ public class JgReformNoticeController extends BaseController {
public void generateReport(HttpServletResponse response, @RequestParam("sequenceNbr") Long sequenceNbr) {
jgReformNoticeService.generateInstallationNoticeReport(sequenceNbr,response);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "PUT", value = "改造告知单个作废", notes = "改造告知单个作废")
@PutMapping(value = "/cancel/application")
public ResponseModel<JgReformNotice> cancelApplication(@RequestBody JgReformNoticeDto dto) {
JgReformNotice result = jgReformNoticeService.cancelApplication(dto.getSequenceNbr(), dto.getCancelReason());
return ResponseHelper.buildResponse(result);
}
}
......@@ -434,6 +434,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
});
jgMaintainNoticeEqMapper.insertBatchSomeColumn(equipList);
// 更新历史表
notice.setDeviceList(deviceList);
commonService.saveOrUpdateHistory(BusinessTypeEnum.JG_MAINTENANCE_NOTIFICATION.getName(), JSON.parseObject(JSON.toJSONString(notice)), "", notice.getSequenceNbr().toString());
return noticeDto;
} catch (BadRequest | LocalBadRequest e) {
......@@ -1108,7 +1109,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
@Override
@Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public JgMaintainNotice cancelApplication(Long sequenceNbr, String cancelReason, Map<String, Object> model) {
public JgMaintainNotice cancelApplication(Long sequenceNbr, String cancelReason) {
// 1.更新为已作废
JgMaintainNotice maintainNotice = this.getById(sequenceNbr);
String oldNoticeStatus = maintainNotice.getNoticeStatus();
......@@ -1120,7 +1121,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
maintainNotice.setPromoter(null);
this.updateById(maintainNotice);
// 2.更新关联的业务
this.processElseDataByStatus(Objects.requireNonNull(FlowStatusEnum.getEumByCode(Integer.parseInt(oldNoticeStatus))), maintainNotice, model);
this.processElseDataByStatus(Objects.requireNonNull(FlowStatusEnum.getEumByCode(Integer.parseInt(oldNoticeStatus))), maintainNotice);
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
@Override
public void afterCommit() {
......@@ -1137,7 +1138,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
return jgInstallationNoticeEqs.stream().map(JgMaintainNoticeEq::getEquId).collect(Collectors.toList());
}
private void processElseDataByStatus(FlowStatusEnum oldNoticeStatus, JgMaintainNotice maintainNotice, Map<String, Object> model) {
private void processElseDataByStatus(FlowStatusEnum oldNoticeStatus, JgMaintainNotice maintainNotice) {
switch (oldNoticeStatus) {
case TO_BE_SUBMITTED: // 待提交
// 1.删除暂存时生成的待办
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment