Commit a77bec9a authored by H2T's avatar H2T

fix(jg):维保合同

parent 33cddc31
package com.yeejoin.amos.boot.module.jg.api.dto; package com.yeejoin.amos.boot.module.jg.api.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto; import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -7,6 +8,7 @@ import lombok.Data; ...@@ -7,6 +8,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* @author system_generator * @author system_generator
...@@ -60,6 +62,13 @@ public class JgMaintenanceContractDto extends BaseDto { ...@@ -60,6 +62,13 @@ public class JgMaintenanceContractDto extends BaseDto {
@ApiModelProperty(value = "维保合同结束日期") @ApiModelProperty(value = "维保合同结束日期")
private Date informEnd; private Date informEnd;
@ApiModelProperty(value = "管理员id")
private String maintenanceManagerId;
@ApiModelProperty(value = "管理员姓名")
private String maintenanceManagerName;
@ApiModelProperty(value = "维保负责人一id") @ApiModelProperty(value = "维保负责人一id")
private String maintenanceManagerOneId; private String maintenanceManagerOneId;
...@@ -73,9 +82,6 @@ public class JgMaintenanceContractDto extends BaseDto { ...@@ -73,9 +82,6 @@ public class JgMaintenanceContractDto extends BaseDto {
@ApiModelProperty(value = "24小时维保电话") @ApiModelProperty(value = "24小时维保电话")
private String maintenance24Tel; private String maintenance24Tel;
@ApiModelProperty(value = "办理流程")
private String applyFlow;
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
private String remark; private String remark;
...@@ -101,4 +107,18 @@ public class JgMaintenanceContractDto extends BaseDto { ...@@ -101,4 +107,18 @@ public class JgMaintenanceContractDto extends BaseDto {
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
private Date createDate; private Date createDate;
@TableField("instance_status")
private String instanceStatus;
@TableField("next_execute_ids")
private String nextExecuteIds;
@TableField("promoter")
private String promoter;
@TableField("status")
private String status;
private List<String> roleIds;
} }
...@@ -101,6 +101,19 @@ public class JgMaintenanceContract extends BaseEntity { ...@@ -101,6 +101,19 @@ public class JgMaintenanceContract extends BaseEntity {
private Date informEnd; private Date informEnd;
/** /**
* 管理员id
*/
@TableField("maintenance_manager_id")
private String maintenanceManagerId;
/**
* 管理员id
*/
@TableField("maintenance_manager_name")
private String maintenanceManagerName;
/**
* 维保负责人一id * 维保负责人一id
*/ */
@TableField("maintenance_manager_one_id") @TableField("maintenance_manager_one_id")
...@@ -126,12 +139,6 @@ public class JgMaintenanceContract extends BaseEntity { ...@@ -126,12 +139,6 @@ public class JgMaintenanceContract extends BaseEntity {
private String maintenance24Tel; private String maintenance24Tel;
/** /**
* 办理流程
*/
@TableField("apply_flow")
private String applyFlow;
/**
* 备注 * 备注
*/ */
@TableField("remark") @TableField("remark")
...@@ -180,4 +187,19 @@ public class JgMaintenanceContract extends BaseEntity { ...@@ -180,4 +187,19 @@ public class JgMaintenanceContract extends BaseEntity {
@TableField("create_date") @TableField("create_date")
private Date createDate; private Date createDate;
@TableField("instance_status")
private String instanceStatus;
@TableField("next_execute_ids")
private String nextExecuteIds;
@TableField("promoter")
private String promoter;
/**
* 状态
*/
@TableField("status")
private String status;
} }
...@@ -8,7 +8,8 @@ import io.swagger.models.auth.In; ...@@ -8,7 +8,8 @@ import io.swagger.models.auth.In;
public enum MaintenanceEnum { public enum MaintenanceEnum {
SHIYONG(0,"使用单位"), SHIYONG(0,"使用单位"),
WEIBAO(1,"维保单位"), WEIBAO(1,"维保单位"),
JIANGUAN(2,"监管单位"); JIANGUAN(2,"监管单位"),
OVER(3,"维保结束");
private Integer code; private Integer code;
private String msg; private String msg;
......
package com.yeejoin.amos.boot.module.jg.api.mapper; package com.yeejoin.amos.boot.module.jg.api.mapper;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContractEq; import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContractEq;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* Mapper 接口 * Mapper 接口
...@@ -10,4 +13,6 @@ import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContractEq; ...@@ -10,4 +13,6 @@ import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContractEq;
*/ */
public interface JgMaintenanceContractEqMapper extends CustomBaseMapper<JgMaintenanceContractEq> { public interface JgMaintenanceContractEqMapper extends CustomBaseMapper<JgMaintenanceContractEq> {
Boolean deleteForBatch(@Param("ids") List<Long> ids);
} }
...@@ -24,4 +24,6 @@ public interface JgMaintenanceContractMapper extends BaseMapper<JgMaintenanceCon ...@@ -24,4 +24,6 @@ public interface JgMaintenanceContractMapper extends BaseMapper<JgMaintenanceCon
Boolean deleteForBatch(@Param("ids") List<Long> ids); Boolean deleteForBatch(@Param("ids") List<Long> ids);
void updatePromoter(@Param("id")Long id);
} }
package com.yeejoin.amos.boot.module.jg.api.vo; package com.yeejoin.amos.boot.module.jg.api.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
...@@ -20,6 +22,9 @@ public class JgMaintenanceContractVo { ...@@ -20,6 +22,9 @@ public class JgMaintenanceContractVo {
@TableField("维保单位-驳回-是否可操作") @TableField("维保单位-驳回-是否可操作")
private Boolean rejectedIsFlag; private Boolean rejectedIsFlag;
@TableField("使用:0,维保:1,监管:2")
private String phase;
@TableField("维保备案编号") @TableField("维保备案编号")
private String applyNo; private String applyNo;
...@@ -83,9 +88,6 @@ public class JgMaintenanceContractVo { ...@@ -83,9 +88,6 @@ public class JgMaintenanceContractVo {
@TableField("24小时维保电话") @TableField("24小时维保电话")
private String maintenance24Tel; private String maintenance24Tel;
@TableField("办理流程")
private String applyFlow;
@TableField("备注") @TableField("备注")
private String remark; private String remark;
...@@ -110,4 +112,37 @@ public class JgMaintenanceContractVo { ...@@ -110,4 +112,37 @@ public class JgMaintenanceContractVo {
@TableField("创建时间") @TableField("创建时间")
private Date createDate; private Date createDate;
@TableField("管理员id")
private String maintenanceManagerId;
@ApiModelProperty(value = "管理员姓名")
private String maintenanceManagerName;
@ApiModelProperty(value = "主键ID")
protected Long sequenceNbr;
@ApiModelProperty(value = "更新时间")
protected Date recDate;
@ApiModelProperty(value = "更新人id")
protected String recUserId;
@ApiModelProperty(value = "更新人")
protected String recUserName;
@ApiModelProperty(value = "是否删除")
private Boolean isDelete=false;
@ApiModelProperty("instance_status")
private String instanceStatus;
@ApiModelProperty("next_execute_ids")
private String nextExecuteIds;
@ApiModelProperty("promoter")
private String promoter;
@ApiModelProperty("status")
private String status;
} }
...@@ -2,4 +2,12 @@ ...@@ -2,4 +2,12 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintenanceContractEqMapper"> <mapper namespace="com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintenanceContractEqMapper">
<delete id="deleteForBatch">
UPDATE amos_tzs_biz.tzs_jg_maintenance_contract_eq tjmce
set tjmce.is_delete = 1
WHERE tjmce.sequence_nbr in
<foreach collection="ids" separator="," item="id" open="(" close=")">
#{id}
</foreach>
</delete>
</mapper> </mapper>
...@@ -40,6 +40,9 @@ ...@@ -40,6 +40,9 @@
<if test="dto.informEnd != null"> <if test="dto.informEnd != null">
inform_end = #{dto.informEnd}, inform_end = #{dto.informEnd},
</if> </if>
<if test="dto.maintenanceManagerId != null">
maintenance_manager_id = #{dto.maintenanceManagerId},
</if>
<if test="dto.maintenanceManagerOneId != null"> <if test="dto.maintenanceManagerOneId != null">
maintenance_manager_one_id = #{dto.maintenanceManagerOneId}, maintenance_manager_one_id = #{dto.maintenanceManagerOneId},
</if> </if>
...@@ -52,9 +55,6 @@ ...@@ -52,9 +55,6 @@
<if test="dto.maintenance24Tel != null"> <if test="dto.maintenance24Tel != null">
maintenance_24_tel = #{dto.maintenance24Tel}, maintenance_24_tel = #{dto.maintenance24Tel},
</if> </if>
<if test="dto.applyFlow != null">
apply_flow = #{dto.applyFlow},
</if>
<if test="dto.remark != null"> <if test="dto.remark != null">
remark = #{dto.remark}, remark = #{dto.remark},
</if> </if>
...@@ -79,12 +79,19 @@ ...@@ -79,12 +79,19 @@
<if test="dto.instanceId != null"> <if test="dto.instanceId != null">
instance_id = #{dto.instanceId}, instance_id = #{dto.instanceId},
</if> </if>
<if test="dto.promoter != null">
promoter = #{dto.promoter}
</if>
</set> </set>
WHERE sequence_nbr = #{dto.sequenceNbr} WHERE sequence_nbr = #{dto.sequenceNbr}
</update> </update>
<update id="updatePromoter">
UPDATE amos_tzs_biz.tzs_jg_maintenance_contract set promoter = null
where sequence_nbr = #{id}
</update>
<delete id="deleteForBatch"> <delete id="deleteForBatch">
delete from amos_tzs_biz.tzs_jg_maintenance_contract tjmc UPDATE amos_tzs_biz.tzs_jg_maintenance_contract tjmc
set tjmc.is_delete = 1
WHERE tjmc.sequence_nbr in WHERE tjmc.sequence_nbr in
<foreach collection="ids" separator="," item="id" open="(" close=")"> <foreach collection="ids" separator="," item="id" open="(" close=")">
#{id} #{id}
...@@ -110,7 +117,6 @@ ...@@ -110,7 +117,6 @@
maintenance_manager_two_id, maintenance_manager_two_id,
emergency_call, emergency_call,
maintenance_24_tel, maintenance_24_tel,
apply_flow,
remark, remark,
is_delete, is_delete,
input_unit_no, input_unit_no,
...@@ -126,6 +132,7 @@ ...@@ -126,6 +132,7 @@
FROM FROM
amos_tzs_biz.tzs_jg_maintenance_contract amos_tzs_biz.tzs_jg_maintenance_contract
<where> <where>
is_delete = 0
<if test="contractDto.applyNo != '' and contractDto.applyNo != null"> <if test="contractDto.applyNo != '' and contractDto.applyNo != null">
and apply_no like concat('%',#{contractDto.applyNo},'%') and apply_no like concat('%',#{contractDto.applyNo},'%')
</if> </if>
...@@ -138,9 +145,6 @@ ...@@ -138,9 +145,6 @@
<if test="contractDto.applyStatus != '' and contractDto.applyStatus != null"> <if test="contractDto.applyStatus != '' and contractDto.applyStatus != null">
and apply_status like concat('%',#{contractDto.applyStatus},'%') and apply_status like concat('%',#{contractDto.applyStatus},'%')
</if> </if>
<if test="contractDto.applyFlow != '' and contractDto.applyFlow != null">
and apply_flow like concat('%',#{contractDto.applyFlow},'%')
</if>
<if test="contractDto.useUnitCode != '' and contractDto.useUnitCode != null"> <if test="contractDto.useUnitCode != '' and contractDto.useUnitCode != null">
and use_unit_code = #{contractDto.useUnitCode} and use_unit_code = #{contractDto.useUnitCode}
</if> </if>
...@@ -150,6 +154,11 @@ ...@@ -150,6 +154,11 @@
<if test="contractDto.receiveOrgCode != '' and contractDto.receiveOrgCode != null"> <if test="contractDto.receiveOrgCode != '' and contractDto.receiveOrgCode != null">
and receive_org_code = #{contractDto.receiveOrgCode} and receive_org_code = #{contractDto.receiveOrgCode}
</if> </if>
<if test="contractDto.roleIds != null">
<foreach collection='roleIds' item='role' open='and (' close=')' separator='or'>
instance_status like concat('%',#{role},'%')
</foreach>
</if>
</where> </where>
</select> </select>
<select id="queryBySequenceNbr" <select id="queryBySequenceNbr"
......
package com.yeejoin.amos.boot.module.jg.biz.controller; package com.yeejoin.amos.boot.module.jg.biz.controller;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService; import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory; import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
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;
...@@ -117,7 +119,8 @@ public class CommonController extends BaseController { ...@@ -117,7 +119,8 @@ public class CommonController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getEnterpriseEmployee") @GetMapping(value = "/getEnterpriseEmployee")
@ApiOperation(httpMethod = "GET", value = "查询企业的下面的人员", notes = "查询企业的下面的人员") @ApiOperation(httpMethod = "GET", value = "查询企业的下面的人员", notes = "查询企业的下面的人员")
public ResponseModel<List<Map<String,Object>>> getEnterpriseEmployee(@RequestParam(value = "unitCode") String unitCode) { public ResponseModel<List<Map<String,Object>>> getEnterpriseEmployee(@RequestParam String unitCode) {
return ResponseHelper.buildResponse(commonService.getEnterpriseEmployee(unitCode)); String companyCode = unitCode.split("_")[0];
return ResponseHelper.buildResponse(commonService.getEnterpriseEmployee(companyCode));
} }
} }
package com.yeejoin.amos.boot.module.jg.biz.controller; package com.yeejoin.amos.boot.module.jg.biz.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
...@@ -16,8 +18,7 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation; ...@@ -16,8 +18,7 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.List; import java.util.*;
import java.util.Map;
/** /**
* 维保合同备案 * 维保合同备案
...@@ -55,9 +56,11 @@ public class JgMaintenanceContractController extends BaseController { ...@@ -55,9 +56,11 @@ public class JgMaintenanceContractController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/updateMaintenanceAndEquipment") @PostMapping(value = "/updateMaintenanceAndEquipment")
@ApiOperation(httpMethod = "POST", value = "更新维保合同和设备对应关系", notes = "更新维保合同和设备对应关系") @ApiOperation(httpMethod = "POST", value = "更新维保合同和设备对应关系", notes = "更新维保合同和设备对应关系")
public ResponseModel<Object> updateMaintenanceAndEquipment(@RequestBody JgMaintenanceContractDto model, public ResponseModel<Object> updateMaintenanceAndEquipment(@RequestBody Map<String , Object> model,
List<Integer> equipmentLists) { @RequestParam(value = "submit",required = false,defaultValue = "0") String submit) {
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.updateMaintenanceAndEquipment(model, equipmentLists)); JgMaintenanceContractDto dto = JSON.parseObject(JSON.toJSONString(model), JgMaintenanceContractDto.class);
List<Map<String, Object>> list = (List<Map<String, Object>>) model.get("equipmentLists");
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.updateMaintenanceAndEquipment(submit,dto,list));
} }
/** /**
...@@ -68,43 +71,40 @@ public class JgMaintenanceContractController extends BaseController { ...@@ -68,43 +71,40 @@ public class JgMaintenanceContractController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/submit") @PostMapping(value = "/submit")
@ApiOperation(httpMethod = "POST", value = "维保合同提交", notes = "维保合同提交") @ApiOperation(httpMethod = "POST", value = "维保合同提交", notes = "维保合同提交")
public ResponseModel<Object> submit(@RequestBody JgMaintenanceContractDto model) { public ResponseModel<Object> submit(@RequestBody Map<String , Object> model) {
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.submit(model)); JgMaintenanceContractDto dto = JSON.parseObject(JSON.toJSONString(model), JgMaintenanceContractDto.class);
String comment = String.valueOf(model.get("comment"));
String operate = String.valueOf(model.get("operate"));
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.submit(dto,comment,operate));
} }
/** /**
* 撤回 * 审批
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/revocation")
@ApiOperation(httpMethod = "POST", value = "维保合同撤回", notes = "维保合同撤回")
public ResponseModel<Object> revocation(@RequestBody JgMaintenanceContractDto model) {
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.revocation(model));
}
/**
* 维保合同驳回
* *
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/rejected") @PostMapping(value = "/approval")
@ApiOperation(httpMethod = "POST", value = "维保合同驳回", notes = "维保合同驳回") @ApiOperation(httpMethod = "POST", value = "审批", notes = "审批")
public ResponseModel<Object> rejected(@RequestBody JgMaintenanceContractDto model) { public ResponseModel<Object> approval(@RequestBody Map<String , Object> model) {
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.rejected(model)); JgMaintenanceContractDto dto = JSON.parseObject(JSON.toJSONString(model.get("formData")), JgMaintenanceContractDto.class);
String comment = String.valueOf(model.get("comment"));
String operate = String.valueOf(model.get("operate"));
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.approval(dto,comment,operate));
} }
/** /**
* 维保合同受理 * 撤回
* *
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/accepted") @PostMapping(value = "/revocation")
@ApiOperation(httpMethod = "POST", value = "维保合同受理", notes = "维保合同受理") @ApiOperation(httpMethod = "POST", value = "维保合同撤回", notes = "维保合同撤回")
public ResponseModel<Object> accepted(@RequestBody JgMaintenanceContractDto model) { public ResponseModel<Object> revocation(@RequestBody JSONObject map) {
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.accepted(model)); jgMaintenanceContractServiceImpl.revocation(String.valueOf(map.get("instanceId")));
return ResponseHelper.buildResponse("ok");
} }
/** /**
...@@ -163,6 +163,14 @@ public class JgMaintenanceContractController extends BaseController { ...@@ -163,6 +163,14 @@ public class JgMaintenanceContractController extends BaseController {
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.queryBySequenceNbr(sequenceNbr)); return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.queryBySequenceNbr(sequenceNbr));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/flowExecute")
@ApiOperation(httpMethod = "POST", value = "执行流程", notes = "执行流程")
public ResponseModel<Object> flowExecute(@RequestBody JSONObject map) {
jgMaintenanceContractServiceImpl.flowExecute(Long.valueOf(String.valueOf(map.get("sequenceNbr"))),String.valueOf(map.get("instanceId")), String.valueOf(map.get("operate")), String.valueOf(map.get("comment")), true);
return ResponseHelper.buildResponse("ok");
}
/** /**
* 列表分页查询 * 列表分页查询
* *
...@@ -185,16 +193,4 @@ public class JgMaintenanceContractController extends BaseController { ...@@ -185,16 +193,4 @@ public class JgMaintenanceContractController extends BaseController {
return ResponseHelper.buildResponse(contractDtoPage); return ResponseHelper.buildResponse(contractDtoPage);
} }
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "列表全部数据查询维保合同备案", notes = "列表全部数据查询维保合同备案")
@GetMapping(value = "/list")
public ResponseModel<List<JgMaintenanceContractDto>> selectForList() {
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.queryForJgMaintenanceContractList());
}
} }
package com.yeejoin.amos.boot.module.jg.biz.controller; package com.yeejoin.amos.boot.module.jg.biz.controller;
import com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractEqDto;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -13,7 +14,6 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -13,7 +14,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractEqDto;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
......
...@@ -163,7 +163,7 @@ public class CommonServiceImpl implements ICommonService { ...@@ -163,7 +163,7 @@ public class CommonServiceImpl implements ICommonService {
if (type.equals("use")) { if (type.equals("use")) {
type = "使用单位"; type = "使用单位";
} else if (type.equals("maintenance")) { } else if (type.equals("maintenance")) {
type = "维保单位"; type = "安装改造维修单位";
} else if (type.equals("inspection")) { } else if (type.equals("inspection")) {
type = "检验检测机构"; type = "检验检测机构";
} }
...@@ -190,7 +190,7 @@ public class CommonServiceImpl implements ICommonService { ...@@ -190,7 +190,7 @@ public class CommonServiceImpl implements ICommonService {
@Override @Override
public Map<String, Object> getUserInfo(String sequenceNbr) { public Map<String, Object> getUserInfo(String sequenceNbr) {
return commonMapper.getUserInfo(sequenceNbr); return commonMapper.getUserInfo(sequenceNbr.split("_")[0]);
} }
@Override @Override
......
package com.yeejoin.amos.boot.module.jg.biz.service.impl; package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractEqDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContractEq; import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContractEq;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintenanceContractEqMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintenanceContractEqMapper;
import com.yeejoin.amos.boot.module.jg.api.service.IJgMaintenanceContractEqService; import com.yeejoin.amos.boot.module.jg.api.service.IJgMaintenanceContractEqService;
import com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractEqDto;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......
package com.yeejoin.amos.boot.module.jg.biz.service.impl; package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary; import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl; import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract; import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContractEq; import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContractEq;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.FlowStatusEnum; import com.yeejoin.amos.boot.module.jg.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.MaintenanceEnum; import com.yeejoin.amos.boot.module.jg.api.enums.MaintenanceEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.UseStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintenanceContractEqMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintenanceContractMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintenanceContractMapper;
import com.yeejoin.amos.boot.module.jg.api.service.IJgMaintenanceContractService; import com.yeejoin.amos.boot.module.jg.api.service.IJgMaintenanceContractService;
import com.yeejoin.amos.boot.module.jg.api.vo.JgMaintenanceContractVo; import com.yeejoin.amos.boot.module.jg.api.vo.JgMaintenanceContractVo;
...@@ -30,6 +37,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -30,6 +37,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.*; import java.util.*;
...@@ -57,43 +65,36 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -57,43 +65,36 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
@Autowired @Autowired
private JgMaintenanceContractMapper maintenanceContractMapper; private JgMaintenanceContractMapper maintenanceContractMapper;
@Autowired @Autowired
private JgMaintenanceContractEqMapper maintenanceContractEqMapper;
@Autowired
private JgMaintenanceContractEqServiceImpl jgMaintenanceContractEqService; private JgMaintenanceContractEqServiceImpl jgMaintenanceContractEqService;
@Autowired @Autowired
private DataDictionaryServiceImpl iDataDictionaryService; private DataDictionaryServiceImpl iDataDictionaryService;
@Autowired
/** RedisUtils redisUtils;
* 监管-根据字典type,code获取字典值
*/
private DataDictionary getDict(String dictType, String dictCode) {
HashMap<String, String> dictMap = new HashMap<>();
LambdaQueryWrapper<DataDictionary> queryWrapper = new LambdaQueryWrapper<DataDictionary>()
.eq(DataDictionary::getType, dictType)
.eq(DataDictionary::getCode, dictCode);
return iDataDictionaryService.getOne(queryWrapper);
}
/** /**
* 分页查询 * 分页查询
*/ */
public Page<JgMaintenanceContractVo> queryForPage(Page<JgMaintenanceContract> page, public Page<JgMaintenanceContractVo> queryForPage(Page<JgMaintenanceContract> page,
int phase, JgMaintenanceContractDto dto, ReginParams reginParams) { int phase,
JgMaintenanceContractDto dto,
ReginParams reginParams) {
Page<JgMaintenanceContractDto> contractList = new Page<>(); Page<JgMaintenanceContractDto> contractList = new Page<>();
Page<JgMaintenanceContractVo> result = new Page<>(); Page<JgMaintenanceContractVo> result = new Page<>();
CompanyBo company = reginParams.getCompany(); CompanyBo company = reginParams.getCompany();
if (MaintenanceEnum.SHIYONG.getCode().equals(phase)) { if (MaintenanceEnum.SHIYONG.getCode().equals(phase)) {
//使用单位用"使用单位统一信用代码"匹配数据 //使用单位用"使用单位统一信用代码"匹配数据
dto.setUseUnitCode(company.getCompanyCode()); dto.setUseUnitCode(company.getCompanyCode());
dto.setApplyFlow(MaintenanceEnum.SHIYONG.getMsg()); dto.setRoleIds(null);
contractList = maintenanceContractMapper.getContractList(page, dto); contractList = maintenanceContractMapper.getContractList(page, dto);
} else if (MaintenanceEnum.WEIBAO.getCode().equals(phase)) { } else if (MaintenanceEnum.WEIBAO.getCode().equals(phase)) {
//维保单位用"维保单位统一信用代码"匹配数据 //维保单位用"维保单位统一信用代码"匹配数据
dto.setMaintenanceUnitCode(company.getCompanyCode()); dto.setMaintenanceUnitCode(company.getCompanyCode()+"_"+company.getCompanyName());
dto.setApplyFlow(MaintenanceEnum.WEIBAO.getMsg());
contractList = maintenanceContractMapper.getContractList(page, dto); contractList = maintenanceContractMapper.getContractList(page, dto);
} else if (MaintenanceEnum.JIANGUAN.getCode().equals(phase)) { } else if (MaintenanceEnum.JIANGUAN.getCode().equals(phase)) {
//监管单位用"接收机构统一使用代码"匹配 //监管单位用"接收机构统一使用代码"匹配
dto.setReceiveOrgCode(company.getOrgCode()); dto.setReceiveOrgCode(company.getOrgCode());
dto.setApplyFlow(MaintenanceEnum.JIANGUAN.getMsg());
contractList = maintenanceContractMapper.getContractList(page, dto); contractList = maintenanceContractMapper.getContractList(page, dto);
} }
BeanUtils.copyProperties(contractList, result); BeanUtils.copyProperties(contractList, result);
...@@ -108,6 +109,8 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -108,6 +109,8 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
JgMaintenanceContractVo vo = new JgMaintenanceContractVo(); JgMaintenanceContractVo vo = new JgMaintenanceContractVo();
BeanUtils.copyProperties(dto, vo); BeanUtils.copyProperties(dto, vo);
vo.setMaintenanceContract(ObjectUtils.isEmpty(dto.getMaintenanceContract()) ? null : JSON.parseArray(dto.getMaintenanceContract())); vo.setMaintenanceContract(ObjectUtils.isEmpty(dto.getMaintenanceContract()) ? null : JSON.parseArray(dto.getMaintenanceContract()));
vo.setMaintenanceManagerOneName(ObjectUtils.isEmpty(dto.getMaintenanceManagerOneId()) ? null : dto.getMaintenanceManagerOneId().split("_")[1]);
vo.setMaintenanceManagerTwoName(ObjectUtils.isEmpty(dto.getMaintenanceManagerTwoId()) ? null : dto.getMaintenanceManagerTwoId().split("_")[1]);
return vo; return vo;
} }
...@@ -121,28 +124,124 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -121,28 +124,124 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
return maintenanceContractMapper.updateBySequenceNbr(dto); return maintenanceContractMapper.updateBySequenceNbr(dto);
} }
public String flowExecute(Long id,String instanceId, String operate, String comment, Boolean update) {
String role = "";
String taskName = "流程结束";
ArrayList<String> roleList = new ArrayList<>();
try {
JSONObject task = workFlowFeginService.getTaskNoAuth(instanceId);
JSONObject taskMessage = JSON.parseObject(JSON.toJSONString(task.get("data")));
String taskId = taskMessage.getString("id");
//组装信息
TaskResultDTO dto = new TaskResultDTO();
dto.setResultCode("approvalStatus");
dto.setTaskId(taskId);
dto.setComment(comment);
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", operate);
dto.setVariable(map);
//执行流程
Workflow.taskClient.completeByTask(taskId, dto);
// 查询下节点任务
JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId);
if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) {
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data")));
String nextTaskId = nextTask.getString("id");
taskName = nextTask.getString("name");
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId);
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
for (Object datum : data) {
if (((Map) datum).containsKey("groupId")) {
roleList.add(((Map) datum).get("groupId").toString());
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
role= String.join(",", roleList);
if (update) {
Boolean rollBack = "1".equals(operate) ? true : false;
updateStatus(id, taskName, role, rollBack);
}
return role;
}
public void updateStatus(Long id , String taskName, String role, Boolean rollBack) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
LambdaQueryWrapper<JgMaintenanceContract> lambda = new QueryWrapper<JgMaintenanceContract>().lambda();
lambda.eq(JgMaintenanceContract::getSequenceNbr, id);
JgMaintenanceContract jgMaintenanceContract = this.getBaseMapper().selectOne(lambda);
if ("流程结束".equals(taskName)) {
jgMaintenanceContract.setStatus(taskName);
jgMaintenanceContract.setApplyStatus("已完成");
} else {
jgMaintenanceContract.setNextExecuteIds(role);
jgMaintenanceContract.setPromoter(reginParams.getUserModel().getUserId());
if (!ObjectUtils.isEmpty(jgMaintenanceContract.getInstanceStatus())) {
jgMaintenanceContract.setInstanceStatus(jgMaintenanceContract.getInstanceStatus() + "," + role);
} else {
jgMaintenanceContract.setInstanceStatus(role);
}
UseStatusEnum message = UseStatusEnum.getMessage(taskName);
jgMaintenanceContract.setStatus(message.getPass());
}
if (rollBack){
this.getBaseMapper().update(jgMaintenanceContract, lambda);
this.getBaseMapper().updatePromoter(jgMaintenanceContract.getSequenceNbr());
}else {
this.getBaseMapper().update(jgMaintenanceContract, lambda);
}
}
/** /**
* 批量删除 * 批量删除
*/ */
@Transactional
public Boolean deleteForBatch(Long[] ids) { public Boolean deleteForBatch(Long[] ids) {
return maintenanceContractMapper.deleteForBatch(Arrays.asList(ids)); List<Long> list = Arrays.asList(ids);
list.forEach(x->{
QueryWrapper<JgMaintenanceContract> wrapper = new QueryWrapper<>();
wrapper.eq("sequence_nbr", x);
JgMaintenanceContract jgMaintenanceContract = maintenanceContractMapper.selectOne(wrapper);
LambdaQueryWrapper<JgMaintenanceContractEq> queryWrapper = new LambdaQueryWrapper<JgMaintenanceContractEq>()
.eq(JgMaintenanceContractEq::getEquipTransferId,jgMaintenanceContract.getApplyNo())
.eq(JgMaintenanceContractEq::getIsDelete, false);
List<Long> listSeq = jgMaintenanceContractEqService.list(queryWrapper).stream()
.map(JgMaintenanceContractEq::getSequenceNbr).collect(Collectors.toList());
maintenanceContractEqMapper.deleteForBatch(listSeq);
});
maintenanceContractMapper.deleteForBatch(list);
return true;
}
public String startByVariable() {
String instanceId = "";
//启动流程
try {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey("maintenanceContract");
dto.setBusinessKey("submit");
AjaxResult ajaxResult = Workflow.taskClient.startByVariable(dto);
instanceId = ((Map<?, ?>) ajaxResult.get("data")).get("id").toString();
} catch (Exception e) {
e.printStackTrace();
}
return instanceId;
} }
/** /**
* 维保合同提交 * 维保合同提交
*/ */
@Transactional @Transactional
public Boolean submit(JgMaintenanceContractDto dto) { public Boolean submit(JgMaintenanceContractDto dto,String comment,String operate) {
String instanceId = ""; String instanceId = "";
//启动流程
try { try {
AjaxResult ajaxResult;
ActWorkflowStartDTO flowDto = new ActWorkflowStartDTO(); ActWorkflowStartDTO flowDto = new ActWorkflowStartDTO();
flowDto.setProcessDefinitionKey(WB_PROCESS_DEFINITION_KEY); flowDto.setProcessDefinitionKey(WB_PROCESS_DEFINITION_KEY);
flowDto.setBusinessKey("1"); flowDto.setBusinessKey("1");
HashMap<String, Object> dtoMap = new HashMap<>(); ajaxResult = Workflow.taskClient.startByVariable(flowDto);
dtoMap.put("condition", "ces");
flowDto.setVariables(dtoMap);
AjaxResult ajaxResult = Workflow.taskClient.startByVariable(flowDto);
instanceId = ((Map<?, ?>) ajaxResult.get("data")).get("id").toString(); instanceId = ((Map<?, ?>) ajaxResult.get("data")).get("id").toString();
ajaxResult = Workflow.taskClient.getTask(instanceId); ajaxResult = Workflow.taskClient.getTask(instanceId);
// 执行一步 // 执行一步
...@@ -152,65 +251,110 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -152,65 +251,110 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
TaskResultDTO taskResultDTO = new TaskResultDTO(); TaskResultDTO taskResultDTO = new TaskResultDTO();
taskResultDTO.setResultCode("approvalStatus"); taskResultDTO.setResultCode("approvalStatus");
taskResultDTO.setTaskId(taskId); taskResultDTO.setTaskId(taskId);
taskResultDTO.setComment("提交流程"); taskResultDTO.setComment(comment);
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", "1"); map.put("approvalStatus", operate);
taskResultDTO.setVariable(map); taskResultDTO.setVariable(map);
//执行流程 //执行流程
Workflow.taskClient.completeByTask(taskId, taskResultDTO); Workflow.taskClient.completeByTask(taskId, taskResultDTO);
Workflow.taskClient.completeByTask(taskId, taskResultDTO);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
String[] split = dto.getApplyFlow().split("-");
String lastFlowName = split[split.length - 1];
String applyFlow = dto.getApplyFlow() + "-" +
MaintenanceEnum.getMsgByCode(Objects.requireNonNull(MaintenanceEnum.getEnumByMsg(lastFlowName)).getCode() + 1);
dto.setApplyFlow(applyFlow);
dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName()); dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
dto.setInstanceId(instanceId); dto.setInstanceId(instanceId);
dto.setReceiveOrgCode(null);
return this.updateBySequenceNbr(dto); return this.updateBySequenceNbr(dto);
} }
/**
* 维保合同撤回
*/
@Transactional @Transactional
public Boolean revocation(JgMaintenanceContractDto dto) { public Boolean approval(JgMaintenanceContractDto dto,String comment,String operate) {
String[] split = dto.getApplyFlow().split("-"); String instanceId = dto.getInstanceId();
String lastFlowName = split[split.length - 1]; try {
String applyFlow = dto.getApplyFlow() + "-" + AjaxResult ajaxResult;
MaintenanceEnum.getMsgByCode(Objects.requireNonNull(MaintenanceEnum.getEnumByMsg(lastFlowName)).getCode() - 1); ajaxResult = Workflow.taskClient.getTask(instanceId);
dto.setApplyFlow(applyFlow); JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
dto.setApplyStatus(FlowStatusEnum.TO_BE_SUBMITTED.getName()); String taskId = dataObject.getString("id");
workFlowFeginService.rollBack(dto.getInstanceId()); //组装信息
return this.updateBySequenceNbr(dto); TaskResultDTO taskResultDTO = new TaskResultDTO();
} taskResultDTO.setResultCode("approvalStatus");
taskResultDTO.setTaskId(taskId);
taskResultDTO.setComment(comment);
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", operate);
taskResultDTO.setVariable(map);
//执行流程
Workflow.taskClient.completeByTask(taskId, taskResultDTO);
} catch (Exception e) {
e.printStackTrace();
}
/** // if("tongguo"){
* 维保合同驳回 // if("weibao"){
*/ // dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
@Transactional // }else {
public Boolean rejected(JgMaintenanceContractDto dto) { // dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
String[] split = dto.getApplyFlow().split("-"); // }
String lastFlowName = split[split.length - 1]; // }else {
String applyFlow = dto.getApplyFlow() + "-" + MaintenanceEnum.getMsgByCode(Objects.requireNonNull(MaintenanceEnum.getEnumByMsg(lastFlowName)).getCode() - 1); // if("weibao"){
dto.setApplyFlow(applyFlow); // dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
dto.setApplyStatus(FlowStatusEnum.REJECTED.getName()); // }else {
// dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
// }
// }
if ("1".equals(operate)){
}
//审批通过
if ("0".equals(operate)){
}
dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
dto.setInstanceId(instanceId);
dto.setReceiveOrgCode(null);
return this.updateBySequenceNbr(dto); return this.updateBySequenceNbr(dto);
} }
/** /**
* 维保合同受理 * 维保合同撤回
*/ */
@Transactional @Transactional
public Boolean accepted(JgMaintenanceContractDto dto) { public void revocation(String instanceId) {
String[] split = dto.getApplyFlow().split("-"); String taskName = "";
String lastFlowName = split[split.length - 1]; JgMaintenanceContract jgMaintenanceContract = new JgMaintenanceContract();
String applyFlow = dto.getApplyFlow() + "-" + MaintenanceEnum.getMsgByCode(Objects.requireNonNull(MaintenanceEnum.getEnumByMsg(lastFlowName)).getCode() + 1); LambdaQueryWrapper<JgMaintenanceContract> lambda = new QueryWrapper<JgMaintenanceContract>().lambda();
dto.setApplyFlow(applyFlow); lambda.eq(JgMaintenanceContract::getInstanceId, instanceId);
dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName()); ArrayList<String> roleList = new ArrayList<>();
return this.updateBySequenceNbr(dto); try {
workFlowFeginService.rollBack(instanceId);
JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId);
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data")));
taskName = nextTask.getString("name");
if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) {
String nextTaskId = nextTask.getString("id");
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId);
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
for (Object datum : data) {
if (((Map<?, ?>) datum).containsKey("groupId")) {
roleList.add(((Map<?, ?>) datum).get("groupId").toString());
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
if (!ObjectUtils.isEmpty(taskName)) {
UseStatusEnum message = UseStatusEnum.getMessage(taskName);
jgMaintenanceContract.setStatus(message.getPass());
}
String join = String.join(",", roleList);
JgMaintenanceContract jgMaintenanceContract1 = this.getBaseMapper().selectOne(lambda);
this.updateStatus(jgMaintenanceContract1.getSequenceNbr(), taskName, join, true);
} }
/** /**
...@@ -218,24 +362,49 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -218,24 +362,49 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
*/ */
@Transactional @Transactional
public Boolean saveOrSubmit(String submit, Map<String, Object> map, ReginParams reginParams) { public Boolean saveOrSubmit(String submit, Map<String, Object> map, ReginParams reginParams) {
// 判断当前是否为提交
String instanceId = null; String instanceId = null;
JgMaintenanceContractDto dto = JSON.parseObject(JSON.toJSONString(map), JgMaintenanceContractDto.class);
List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) map.get("equipmentLists");
CompanyBo company = reginParams.getCompany();
JgMaintenanceContract contract = new JgMaintenanceContract();
BeanUtils.copyProperties(dto, contract);
//获取维保备案编号
String wbApplyNo = iCreateCodeService.createApplicationFormCode(ApplicationFormTypeEnum.WBBA.getCode(), 1).get(0);
contract.setApplyNo(wbApplyNo);
contract.setInstanceId(instanceId);
contract.setUseUnitCode(company.getCompanyCode());
contract.setUseUnitName(company.getCompanyName());
//管理员信息
String[] MaintenanceManager = dto.getMaintenanceManagerId().split("_");
contract.setMaintenanceManagerId(dto.getMaintenanceManagerId());
contract.setMaintenanceManagerName(MaintenanceManager[1]);
//接收机构信息
String[] splitReceiveOrgCode = dto.getReceiveOrgCode().split("_");
contract.setReceiveOrgCode(splitReceiveOrgCode[0]);
contract.setReceiveOrgName(splitReceiveOrgCode[1]);
//维保单位信息
String[] splitMaintenanceUnitCode = dto.getMaintenanceUnitCode().split("_");
contract.setMaintenanceUnitCode(dto.getMaintenanceUnitCode());
contract.setMaintenanceUnitName(splitMaintenanceUnitCode[1]);
contract.setApplyStatus(FlowStatusEnum.TO_BE_SUBMITTED.getName());
contract.setEquNum(equipmentLists.size());
contract.setInstanceId(instanceId);
// 判断当前是否为提交
if (SUBMIT_TYPE_FLOW.equals(submit)) { if (SUBMIT_TYPE_FLOW.equals(submit)) {
// 发起流程 // 发起流程
try { try {
ArrayList<String> roleList = new ArrayList<>();
ActWorkflowStartDTO flowDto = new ActWorkflowStartDTO(); ActWorkflowStartDTO flowDto = new ActWorkflowStartDTO();
flowDto.setProcessDefinitionKey(WB_PROCESS_DEFINITION_KEY); flowDto.setProcessDefinitionKey(WB_PROCESS_DEFINITION_KEY);
flowDto.setBusinessKey("1");
HashMap<String, Object> dtoMap = new HashMap<>();
dtoMap.put("condition", "ces");
flowDto.setVariables(dtoMap);
AjaxResult ajaxResult = Workflow.taskClient.startByVariable(flowDto); AjaxResult ajaxResult = Workflow.taskClient.startByVariable(flowDto);
instanceId = ((Map<?, ?>) ajaxResult.get("data")).get("id").toString(); instanceId = ((Map<?, ?>) ajaxResult.get("data")).get("id").toString();
ajaxResult = Workflow.taskClient.getTask(instanceId); ajaxResult = Workflow.taskClient.getTask(instanceId);
// 查询下节点任务
extracted(instanceId, roleList, contract);
// 执行一步 // 执行一步
JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data"))); JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
String taskId = dataObject.getString("id"); String taskId = dataObject.getString("id");
//组装信息
TaskResultDTO taskResultDTO = new TaskResultDTO(); TaskResultDTO taskResultDTO = new TaskResultDTO();
taskResultDTO.setResultCode("approvalStatus"); taskResultDTO.setResultCode("approvalStatus");
taskResultDTO.setTaskId(taskId); taskResultDTO.setTaskId(taskId);
...@@ -245,71 +414,109 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -245,71 +414,109 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
taskResultDTO.setVariable(hashMap); taskResultDTO.setVariable(hashMap);
//执行流程 //执行流程
Workflow.taskClient.completeByTask(taskId, taskResultDTO); Workflow.taskClient.completeByTask(taskId, taskResultDTO);
extracted(instanceId, roleList, contract);
contract.setInstanceId(instanceId);
contract.setApplyStatus(FlowStatusEnum.SUBMITTED.getName());
contract.setStatus(FlowStatusEnum.SUBMITTED.getName());
} catch (Exception e) { } catch (Exception e) {
log.error("维保使用单位提交流程启动失败:{}", e); log.error("维保使用单位提交流程启动失败:{}", e);
} }
} }
JgMaintenanceContractDto dto = JSON.parseObject(JSON.toJSONString(map), JgMaintenanceContractDto.class);
Object o = map.get("equipmentLists");
List<Object> equipmentLists = Collections.singletonList(o);
CompanyBo company = reginParams.getCompany();
JgMaintenanceContract contract = new JgMaintenanceContract();
BeanUtils.copyProperties(dto, contract);
//获取维保备案编号
String wbApplyNo = iCreateCodeService.createApplicationFormCode(ApplicationFormTypeEnum.WBBA.getCode(), 1).get(0);
contract.setApplyNo(wbApplyNo);
contract.setInstanceId(instanceId);
contract.setUseUnitCode(company.getCompanyCode());
contract.setUseUnitName(company.getCompanyName());
contract.setApplyFlow(MaintenanceEnum.SHIYONG.getMsg());
contract.setApplyStatus(FlowStatusEnum.TO_BE_SUBMITTED.getName());
contract.setEquNum(equipmentLists.size());
contract.setInstanceId(instanceId);
this.save(contract); this.save(contract);
//关联设备
List<JgMaintenanceContractEq> equipList = new ArrayList<>(); List<JgMaintenanceContractEq> equipList = new ArrayList<>();
equipmentLists.forEach(x -> { equipmentLists.forEach(x -> {
JgMaintenanceContractEq equip = new JgMaintenanceContractEq(); JgMaintenanceContractEq equip = new JgMaintenanceContractEq();
equip.setEquId(String.valueOf(x)); equip.setEquId(String.valueOf(x.get("SEQUENCE_NBR")));
equip.setEquipTransferId(wbApplyNo);
equipList.add(equip); equipList.add(equip);
}); });
return jgMaintenanceContractEqService.saveBatch(equipList); return jgMaintenanceContractEqService.saveBatch(equipList);
} }
private void extracted(String instanceId, ArrayList<String> roleList, JgMaintenanceContract contract) {
JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId);
if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) {
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data")));
String nextTaskId = nextTask.getString("id");
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId);
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
for (Object datum : data) {
if (((Map<?, ?>) datum).containsKey("groupId")) {
roleList.add(((Map<?, ?>) datum).get("groupId").toString());
}
}
}
contract.setInstanceStatus(String.join(",", roleList));
}
/** /**
* 更新维保合同和设备对应关系 * 更新维保合同和设备对应关系
*/ */
@Transactional @Transactional
public Boolean updateMaintenanceAndEquipment(JgMaintenanceContractDto dto, List<Integer> EquipmentLists) { public Boolean updateMaintenanceAndEquipment(String submit,JgMaintenanceContractDto dto, List<Map<String, Object>> list) {
String instanceId = null;
//更新维保合同表 //更新维保合同表
this.updateBySequenceNbr(dto); String[] MaintenanceManager = dto.getMaintenanceManagerId().split("_");
dto.setMaintenanceManagerId(dto.getMaintenanceManagerId());
dto.setMaintenanceManagerName(MaintenanceManager[1]);
String[] splitReceiveOrgCode = dto.getReceiveOrgCode().split("_");
dto.setReceiveOrgCode(splitReceiveOrgCode[0]);
dto.setReceiveOrgName(splitReceiveOrgCode[1]);
List<Integer> collect = EquipmentLists.stream().filter(Objects::nonNull).collect(Collectors.toList()); String[] splitMaintenanceUnitCode = dto.getMaintenanceUnitCode().split("_");
if (!collect.isEmpty()) { dto.setMaintenanceUnitCode(dto.getMaintenanceUnitCode());
dto.setMaintenanceUnitName(splitMaintenanceUnitCode[1]);
// 判断当前是否为提交
if (SUBMIT_TYPE_FLOW.equals(submit)) {
// 发起流程
try {
ActWorkflowStartDTO flowDto = new ActWorkflowStartDTO();
flowDto.setProcessDefinitionKey(WB_PROCESS_DEFINITION_KEY);
flowDto.setBusinessKey("1");
AjaxResult ajaxResult = Workflow.taskClient.startByVariable(flowDto);
instanceId = ((Map<?, ?>) ajaxResult.get("data")).get("id").toString();
ajaxResult = Workflow.taskClient.getTask(instanceId);
// 执行一步
JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
String taskId = dataObject.getString("id");
TaskResultDTO taskResultDTO = new TaskResultDTO();
taskResultDTO.setResultCode("approvalStatus");
taskResultDTO.setTaskId(taskId);
taskResultDTO.setComment("提交流程");
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("approvalStatus", "0");
taskResultDTO.setVariable(hashMap);
//执行流程
Workflow.taskClient.completeByTask(taskId, taskResultDTO);
// dto.setApplyFlow(MaintenanceEnum.SHIYONG.getMsg()+","+MaintenanceEnum.WEIBAO.getMsg());
dto.setInstanceId(instanceId);
} catch (Exception e) {
log.error("维保使用单位提交流程启动失败:{}", e);
}
}
this.updateBySequenceNbr(dto);
//更新对应设备表
if (!list.isEmpty()) {
//先删除原先设备对应关系 //先删除原先设备对应关系
LambdaQueryWrapper<JgMaintenanceContractEq> queryWrapper = new LambdaQueryWrapper<JgMaintenanceContractEq>() LambdaQueryWrapper<JgMaintenanceContractEq> queryWrapper = new LambdaQueryWrapper<JgMaintenanceContractEq>()
.eq(JgMaintenanceContractEq::getEquId,list.get(0).get("SEQUENCE_NBR"))
.eq(JgMaintenanceContractEq::getIsDelete, false); .eq(JgMaintenanceContractEq::getIsDelete, false);
List<Long> list = jgMaintenanceContractEqService.list(queryWrapper).stream().map(JgMaintenanceContractEq::getSequenceNbr).collect(Collectors.toList()); List<Long> listSeq = jgMaintenanceContractEqService.list(queryWrapper).stream()
jgMaintenanceContractEqService.deleteBatchSeq(list); .map(JgMaintenanceContractEq::getSequenceNbr).collect(Collectors.toList());
jgMaintenanceContractEqService.deleteBatchSeq(listSeq);
//重新生成关系表 //重新生成关系表
List<JgMaintenanceContractEq> equipList = new ArrayList<>(); List<JgMaintenanceContractEq> equipList = new ArrayList<>();
collect.forEach(x -> { list.forEach(x -> {
JgMaintenanceContractEq equip = new JgMaintenanceContractEq(); JgMaintenanceContractEq equip = new JgMaintenanceContractEq();
// equip.setBusinessId(dto.getApplyNo()); equip.setEquId(String.valueOf(x.get("SEQUENCE_NBR")));
// equip.setEquipId(String.valueOf(x)); equip.setEquipTransferId(dto.getApplyNo());
// equip.setBusinessType(BusinessTypeEnum.MAINTENANCE_RECORD.getName());
equipList.add(equip); equipList.add(equip);
}); });
return jgMaintenanceContractEqService.saveBatch(equipList); return jgMaintenanceContractEqService.saveBatch(equipList);
} }
return true; return true;
} }
/**
* 列表查询 示例
*/
public List<JgMaintenanceContractDto> queryForJgMaintenanceContractList() {
return this.queryForList("", false);
}
} }
\ No newline at end of file
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