guarantee-lsq 2 years ago
parent
commit
ca1a9ac69b

+ 1 - 0
platform-activiti/src/main/java/com/platform/activiti/dao/entity/ActAuditRequest.java

@@ -17,6 +17,7 @@ public class ActAuditRequest implements Serializable {
     private static final long serialVersionUID = 1L;
     /**
      * 审批目标ID:表单的单号id,或者设备的id。方便得task列表点击进行判定,跳转到不同表单
+     * 统一为customFieldTemplateData表的记录ID
      */
     private String id;
     /**

+ 1 - 1
platform-common/src/main/java/com/platform/common/constant/CommonConstants.java

@@ -258,6 +258,6 @@ public interface CommonConstants {
      */
     String SB_SCRAP_FORM = "sb_info_scrap"; // 设备报废单
     String SB_STOP_FORM = "sb_info_stop"; // 设备停用单
-
+    String SB_ALLOCATE_FORM = "sb_info_allocate"; // 设备调拨单
 
 }

+ 64 - 0
platform-dao/src/main/java/com/platform/dao/dto/activiti/SbAllocateFormActiviti.java

@@ -0,0 +1,64 @@
+package com.platform.dao.dto.activiti;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+@Data
+public class SbAllocateFormActiviti implements Serializable {
+    /**
+     * 标题
+     */
+    private String title;
+
+    /**
+     * 单号
+     */
+    private String no;
+
+    /**
+     * 调拨开始时间
+     */
+    private LocalDateTime startTime;
+
+    /**
+     * 调拨结束时间
+     */
+    private LocalDateTime endTime;
+
+    /**
+     * 目标部门名称
+     */
+    private String targetDeptName;
+
+    /**
+     * 目标部门ID
+     */
+    private String targetDept;
+
+    /**
+     * 调拨申请部门
+     */
+    private String currentDeptName;
+
+    /**
+     * 调拨设备集合
+     */
+    private String sbInfos;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 实例ID
+     */
+    private String processInstanceId;
+
+    /**
+     * 状态
+     */
+    private Integer status;
+
+}

File diff suppressed because it is too large
+ 6 - 0
platform-dao/src/main/java/com/platform/dao/dto/activiti/SbStopFormActiviti.java


+ 4 - 0
platform-dao/src/main/java/com/platform/dao/enums/ActivitiUserModelTypeEnum.java

@@ -40,6 +40,10 @@ public enum ActivitiUserModelTypeEnum {
      * 指定部门角色,某个部门下面的某些角色
      */
     DEPT_ROLES(7),
+    /**
+     * 不指定部门,选择角色
+     */
+    NO_DEPT_ROLES(8),
     /**
      * 表单变量
      */

+ 21 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/customize/CustomFieldTemplateDataVO.java

@@ -100,5 +100,26 @@ public class CustomFieldTemplateDataVO extends BaseVO implements Serializable {
      */
     private LocalDateTime stopDate;
 
+    /**
+     * 调拨单标题
+     */
+    private String title;
+
+    /**
+     * 调拨单开始日期
+     */
+    private LocalDateTime startTime;
 
+    /**
+     * 调拨结束日期
+     */
+    private LocalDateTime endTime;
+    /**
+     * 调拨目标部门
+     */
+    private String targetDeptName;
+    /**
+     * 调拨申请部门
+     */
+    private String currentDeptName;
 }

+ 6 - 0
platform-dao/src/main/resources/mapper/upms/SysUserMapper.xml

@@ -108,6 +108,12 @@
         <if test="roleId !=null and roleId !=''">
             and r.role_id = #{roleId}
         </if>
+        <if test="roleIds != null  and roleIds.size >0">
+            AND r.role_id in
+            <foreach item="item" index="index" collection="roleIds" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="roleCode !=null and roleCode !=''">
             and r.role_code = #{roleCode}
         </if>

+ 69 - 0
platform-service/src/main/java/com/platform/service/activiti/strategy/ActivitiAssignStrategyAllocateRole.java

@@ -0,0 +1,69 @@
+package com.platform.service.activiti.strategy;
+
+import com.platform.common.exception.BusinessException;
+import com.platform.dao.dto.upms.SysUserDTO;
+import com.platform.dao.entity.activiti.ActivitiUserModel;
+import com.platform.dao.enums.ActivitiUserModelTypeEnum;
+import com.platform.dao.mapper.upms.SysUserMapper;
+import com.platform.dao.vo.SysUserVO;
+import com.platform.service.activiti.ActivitiAssignStrategy;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.activiti.engine.TaskService;
+import org.activiti.engine.task.Task;
+import org.dom4j.Element;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 调拨的目标部门的角色处理
+ */
+@Service("activitiAssignStrategyAllocateRole")
+@AllArgsConstructor
+@Slf4j
+public class ActivitiAssignStrategyAllocateRole implements ActivitiAssignStrategy<String> {
+    private final TaskService taskService;
+    private final SysUserMapper sysUserMapper;
+
+    @Override
+    public Integer getType() {
+        return ActivitiUserModelTypeEnum.NO_DEPT_ROLES.getValue();
+    }
+
+    @Override
+    public void handleAssign(Element element, Map<String, String> map, ActivitiUserModel activitiUserModel) {
+
+    }
+
+    @Override
+    public void handleAssign(Task task, Map<String, String> map, ActivitiUserModel activitiUserModel) {
+        List<String> ids = getIds(map.get("targetDept"), activitiUserModel);
+        if(ids.size() == 1){ // 一个人就不走待签收流程了,直接发给他
+            task.setAssignee(ids.get(0));
+            taskService.saveTask(task);
+        }else{
+            for(String id: ids){
+                taskService.addCandidateUser(task.getId(), id);
+            }
+        }
+    }
+
+    public List<String> getIds(String deptId, ActivitiUserModel activitiUserModel){
+        String roleId = activitiUserModel.getRoleIdList();
+        SysUserDTO sysUserDTO = new SysUserDTO();
+        sysUserDTO.setRoleIds(Arrays.asList(roleId));
+        // 找到和发起人部门一致的
+        sysUserDTO.setDeptIds(Arrays.asList(deptId));
+        List<SysUserVO> sysUserVOList = sysUserMapper.selectDeptRoleUser(sysUserDTO);
+        if(CollectionUtils.isEmpty(sysUserVOList)){
+            throw new BusinessException("目标部门,该角色名下,并无相关人员:请配置或联系技术配置");
+        }
+        List<String> ids = sysUserVOList.stream().map(SysUserVO::getUserId).collect(Collectors.toList());
+        return ids;
+    }
+}

+ 24 - 0
platform-service/src/main/java/com/platform/service/customize/BaseFormCheckService.java

@@ -79,4 +79,28 @@ public interface BaseFormCheckService {
      * @return
      */
     boolean doCheckLast(ActAuditRequest actAuditRequest);
+
+    /**
+     * 审核中的数据更新
+     * @param actAuditRequest
+     */
+    String doUpdate(ActAuditRequest actAuditRequest);
+
+    /**
+     * 审核拒绝的数据更新
+     * @param actAuditRequest
+     */
+    void doRefuse(ActAuditRequest actAuditRequest);
+
+    /**
+     * 审核完成的数据更新
+     * @param actAuditRequest
+     */
+    String doFinish(ActAuditRequest actAuditRequest);
+
+    /**
+     * 终止审核的数据更新
+     * @param actAuditRequest
+     */
+    String doStop(ActAuditRequest actAuditRequest);
 }

+ 72 - 32
platform-service/src/main/java/com/platform/service/customize/BaseFormCheckServiceAbstract.java

@@ -1,20 +1,23 @@
 package com.platform.service.customize;
 
 import cn.hutool.core.collection.CollectionUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.platform.activiti.dao.entity.ActApplyInfo;
 import com.platform.activiti.dao.entity.ActAuditRecord;
 import com.platform.activiti.dao.entity.ActAuditRequest;
-import com.platform.common.bean.AbstractPageResultBean;
 import com.platform.common.constant.CommonConstants;
 import com.platform.common.exception.BusinessException;
 import com.platform.common.model.UserInfo;
+import com.platform.common.util.JsonUtils;
 import com.platform.common.util.SecurityUtils;
+import com.platform.dao.dto.activiti.SbAllocateFormActiviti;
 import com.platform.dao.entity.activiti.ActivitiUserModel;
 import com.platform.dao.entity.customize.CustomFieldTemplateData;
 import com.platform.dao.entity.upms.SysUser;
+import com.platform.dao.enums.ActivitiFormStatusEnum;
 import com.platform.dao.mapper.customize.CustomFieldTemplateDataMapper;
 import com.platform.dao.mapper.sb.SbInfoMapper;
-import com.platform.dao.vo.query.customize.CustomFieldTemplateDataVO;
 import com.platform.service.activiti.ActivitiAssignStrategy;
 import com.platform.service.activiti.ActivitiUserModelService;
 import com.platform.service.upms.SysUserService;
@@ -64,21 +67,6 @@ public abstract class BaseFormCheckServiceAbstract implements BaseFormCheckServi
 
     protected BaseFormCheckServiceAbstract(){}
 
-    @Override
-    public String checkPrepare(String data) {
-        return null;
-    }
-
-    @Override
-    public String packageData(String data, String no) {
-        return null;
-    }
-
-    @Override
-    public void resultWrite(AbstractPageResultBean<CustomFieldTemplateDataVO> pageInfos) {
-
-    }
-
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void start(ActAuditRequest actAuditRequest) {
@@ -89,7 +77,20 @@ public abstract class BaseFormCheckServiceAbstract implements BaseFormCheckServi
 
     protected abstract void doCheck(ActAuditRequest actAuditRequest);
 
-    protected abstract void doUpdate(ActAuditRequest actAuditRequest);
+    protected abstract void doStartUpdate(ActAuditRequest actAuditRequest);
+
+    /**
+     * 根据需要插入值
+     * @param maps
+     * @param dataId
+     */
+    private void insertNecessaryValue(Map<String, String> maps,String dataId){
+        CustomFieldTemplateData data = getById(dataId);
+        if(CommonConstants.SB_ALLOCATE_FORM.equals(data.getRemark())){
+            SbAllocateFormActiviti activiti = JsonUtils.jsonToModel(data.getData(),SbAllocateFormActiviti.class);
+            maps.put("targetDept",activiti.getTargetDept());
+        }
+    }
 
     /**
      * @see com.platform.activiti.controller.ActivitiController#showTaskListStart
@@ -115,21 +116,18 @@ public abstract class BaseFormCheckServiceAbstract implements BaseFormCheckServi
             instance = runtimeService.startProcessInstanceByKey(actAuditRequest.getAuditModelKey(), actAuditRequest.getId(), map);
             actAuditRequest.setProcessInstanceId(instance.getId());
         } else { // 再次提交审批的,之前被拒绝的
-            ProcessInstance instanceExsit = runtimeService.createProcessInstanceQuery()
+            ProcessInstance instanceExist = runtimeService.createProcessInstanceQuery()
                     .processInstanceId(actAuditRequest.getProcessInstanceId()).singleResult();
-            if (instanceExsit == null) {
+            if (instanceExist == null) {
                 instance = runtimeService.startProcessInstanceByKey(actAuditRequest.getAuditModelKey(), actAuditRequest.getId(), map);
                 actAuditRequest.setProcessInstanceId(instance.getId());
             } else {
-                instance = runtimeService.startProcessInstanceById(actAuditRequest.getProcessInstanceId(), actAuditRequest.getId(), map);
+                runtimeService.startProcessInstanceById(actAuditRequest.getProcessInstanceId(), actAuditRequest.getId(), map);
             }
         }
-
-
         // 第一个审批人为发起人,为自动审批。557501
         // 设置审批对象,保存到task实例中,每次审核都要更新追加这个对象
         Task task = taskService.createTaskQuery().processInstanceId(actAuditRequest.getProcessInstanceId()).orderByTaskCreateTime().desc().singleResult();
-
         List<ActAuditRecord> records = new ArrayList<>();
         records.add(new ActAuditRecord(user.getUserId(), user.getRealName(), "提交",
                 LocalDateTime.now(), true, task.getId(), task.getName()));
@@ -150,6 +148,7 @@ public abstract class BaseFormCheckServiceAbstract implements BaseFormCheckServi
         Map<String, String> maps = new HashMap<>();
         maps.put("userId", user.getUserId());
         modifyTaskAssign(model.getId(), maps, nextTask, list);
+        doStartUpdate(actAuditRequest);
     }
 
     /**
@@ -173,6 +172,7 @@ public abstract class BaseFormCheckServiceAbstract implements BaseFormCheckServi
                 Map<String, String> maps = new HashMap<>();
                 maps.put("userId", user.getUserId());
                 Task nextTask = taskService.createTaskQuery().processInstanceId(actAuditRequest.getProcessInstanceId()).orderByTaskCreateTime().desc().singleResult();
+                insertNecessaryValue(maps,actAuditRequest.getId());
                 modifyTaskAssign(model.getId(), maps, nextTask, list);
             } else {
                 doFinish(actAuditRequest);
@@ -182,10 +182,6 @@ public abstract class BaseFormCheckServiceAbstract implements BaseFormCheckServi
         }
     }
 
-    protected abstract void doRefuse(ActAuditRequest actAuditRequest);
-
-    protected abstract void doFinish(ActAuditRequest actAuditRequest);
-
     @Transactional(rollbackFor = Exception.class)
     protected boolean doAudit(ActAuditRequest actAuditRequest) {
         UserInfo user = SecurityUtils.getUserInfo();
@@ -245,8 +241,6 @@ public abstract class BaseFormCheckServiceAbstract implements BaseFormCheckServi
         doStop(actAuditRequest);
     }
 
-    protected abstract void doStop(ActAuditRequest actAuditRequest);
-
     /**
      * 签收
      * 审批设置对象:ActApplyInfo
@@ -360,11 +354,57 @@ public abstract class BaseFormCheckServiceAbstract implements BaseFormCheckServi
         ActivitiAssignStrategy activitiAssignStrategy =
                 activitiAssignStrategyList.stream().filter(strategy -> strategy.getType().equals(type)).collect(Collectors.toList()).get(0);
         activitiAssignStrategy.handleAssign(task, map, userTaskModel);
-        userTaskModel.setDeploymentId(model.getDeploymentId());
-        // activitiUserModelService.updateBatch(list);
+        //userTaskModel.setDeploymentId(model.getDeploymentId());
     }
 
     protected CustomFieldTemplateData getById(String id){
         return customFieldTemplateDataMapper.selectByPrimaryKey(id);
     }
+
+    @Override
+    public String doUpdate(ActAuditRequest actAuditRequest) {
+        CustomFieldTemplateData updInfo = getById(actAuditRequest.getId());
+        updInfo.setId(actAuditRequest.getId());
+        updInfo.setStatus(ActivitiFormStatusEnum.EXECUTING.getValue());
+        JSONObject jsonObject = JSON.parseObject(updInfo.getData());
+        jsonObject.put("status",ActivitiFormStatusEnum.EXECUTING.getValue());
+        jsonObject.put("processInstanceId",actAuditRequest.getProcessInstanceId());
+        updInfo.setData(JsonUtils.objectToJson(jsonObject));
+        customFieldTemplateDataMapper.updateByPrimaryKeySelective(updInfo);
+        return updInfo.getObjId();
+    }
+
+    @Override
+    public void doRefuse(ActAuditRequest actAuditRequest) {
+        CustomFieldTemplateData updInfo = getById(actAuditRequest.getId());
+        updInfo.setStatus(ActivitiFormStatusEnum.REFUSE.getValue());
+        JSONObject jsonObject = JSON.parseObject(updInfo.getData());
+        jsonObject.put("status",ActivitiFormStatusEnum.REFUSE.getValue());
+        updInfo.setData(JsonUtils.objectToJson(jsonObject));
+        customFieldTemplateDataMapper.updateByPrimaryKeySelective(updInfo);
+    }
+
+    @Override
+    public String doFinish(ActAuditRequest actAuditRequest) {
+        CustomFieldTemplateData updInfo = getById(actAuditRequest.getId());
+        updInfo.setStatus(ActivitiFormStatusEnum.FINISH.getValue());
+        JSONObject jsonObject = JSON.parseObject(updInfo.getData());
+        jsonObject.put("status",ActivitiFormStatusEnum.FINISH.getValue());
+        updInfo.setData(JsonUtils.objectToJson(jsonObject));
+        customFieldTemplateDataMapper.updateByPrimaryKeySelective(updInfo);
+        return updInfo.getObjId();
+    }
+
+    @Override
+    public String doStop(ActAuditRequest actAuditRequest) {
+        CustomFieldTemplateData updInfo = getById(actAuditRequest.getId());
+        updInfo.setId(actAuditRequest.getId());
+        JSONObject jsonObject = JSON.parseObject(updInfo.getData());
+        jsonObject.put("status",ActivitiFormStatusEnum.NOT_EXECUTE.getValue());
+        jsonObject.put("processInstanceId",null);
+        updInfo.setData(JsonUtils.objectToJson(jsonObject));
+        updInfo.setStatus(ActivitiFormStatusEnum.NOT_EXECUTE.getValue());
+        customFieldTemplateDataMapper.updateByPrimaryKeySelective(updInfo);
+        return updInfo.getObjId();
+    }
 }

+ 4 - 0
platform-service/src/main/java/com/platform/service/customize/BaseFormCheckServiceFactory.java

@@ -15,6 +15,10 @@ public class BaseFormCheckServiceFactory {
                     .SB_STOP_FORM:
                 checkService = (BaseFormCheckService)BeanUtils.getBean("sbStopCheckServiceImpl");
                 break;
+            case CommonConstants
+                    .SB_ALLOCATE_FORM:
+                checkService = (BaseFormCheckService)BeanUtils.getBean("sbAllocateCheckServiceImpl");
+                break;
         }
         return checkService;
     }

+ 117 - 0
platform-service/src/main/java/com/platform/service/customize/impl/SbAllocateCheckServiceImpl.java

@@ -0,0 +1,117 @@
+package com.platform.service.customize.impl;
+
+import com.platform.activiti.dao.entity.ActAuditRequest;
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.common.constant.CommonConstants;
+import com.platform.common.exception.DeniedException;
+import com.platform.common.util.IdGeneratorUtils;
+import com.platform.common.util.JsonUtils;
+import com.platform.common.util.SecurityUtils;
+import com.platform.common.util.StringUtils;
+import com.platform.dao.dto.activiti.SbAllocateFormActiviti;
+import com.platform.dao.dto.upms.SysUserDeptDTO;
+import com.platform.dao.entity.customize.CustomFieldTemplateData;
+import com.platform.dao.enums.CustomFieldTemplateDataStatusEnum;
+import com.platform.dao.enums.CustomFieldTemplateDataTypeEnum;
+import com.platform.dao.mapper.upms.SysDeptMapper;
+import com.platform.dao.mapper.upms.SysUserDeptMapper;
+import com.platform.dao.vo.SysUserDeptVO;
+import com.platform.dao.vo.query.customize.CustomFieldTemplateDataVO;
+import com.platform.service.customize.BaseFormCheckServiceAbstract;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Service("sbAllocateCheckServiceImpl")
+public class SbAllocateCheckServiceImpl extends BaseFormCheckServiceAbstract {
+    @Resource
+    private SysDeptMapper sysDeptMapper;
+    @Resource
+    private SysUserDeptMapper sysUserDeptMapper;
+
+    @Override
+    protected void doCheck(ActAuditRequest actAuditRequest) {
+
+    }
+
+    @Override
+    public String doUpdate(ActAuditRequest actAuditRequest) {
+        return super.doUpdate(actAuditRequest);
+    }
+
+    @Override
+    protected void doStartUpdate(ActAuditRequest actAuditRequest) {
+        // 调拨开始时间
+        CustomFieldTemplateData updInfo = getById(actAuditRequest.getId());
+        SbAllocateFormActiviti activiti = JsonUtils.jsonToModel(updInfo.getData(),SbAllocateFormActiviti.class);
+        activiti.setStartTime(LocalDateTime.now());
+        updInfo.setData(JsonUtils.objectToJson(activiti));
+        customFieldTemplateDataMapper.updateByPrimaryKeySelective(updInfo);
+    }
+
+    @Override
+    public void doRefuse(ActAuditRequest actAuditRequest) {
+        super.doRefuse(actAuditRequest);
+    }
+
+    @Override
+    public String doFinish(ActAuditRequest actAuditRequest) {
+        super.doFinish(actAuditRequest);
+        // 调拨结束时间
+        CustomFieldTemplateData updInfo = getById(actAuditRequest.getId());
+        SbAllocateFormActiviti activiti = JsonUtils.jsonToModel(updInfo.getData(),SbAllocateFormActiviti.class);
+        activiti.setEndTime(LocalDateTime.now());
+        updInfo.setData(JsonUtils.objectToJson(activiti));
+        customFieldTemplateDataMapper.updateByPrimaryKeySelective(updInfo);
+        return null;
+    }
+
+    @Override
+    public String doStop(ActAuditRequest actAuditRequest) {
+        return super.doStop(actAuditRequest);
+    }
+
+    @Override
+    public String checkPrepare(String data) {
+        SbAllocateFormActiviti sbForm = JsonUtils.jsonToModel(data, SbAllocateFormActiviti.class);
+        if (StringUtils.isBlank(sbForm.getSbInfos())) {
+            throw new DeniedException("调拨单名下尚无设备");
+        }
+        CustomFieldTemplateData dataQuery = new CustomFieldTemplateData();
+        dataQuery.setType(CustomFieldTemplateDataTypeEnum.ACTIVITY_FORM.getValue());
+        dataQuery.setRemark(CommonConstants.SB_ALLOCATE_FORM);
+        int historyCount = customFieldTemplateDataMapper.selectCount(dataQuery);
+        return IdGeneratorUtils.getSbScrapFormNo("DBD",++historyCount);
+    }
+
+    @Override
+    public String packageData(String data, String no) {
+        SbAllocateFormActiviti activiti = JsonUtils.jsonToModel(data, SbAllocateFormActiviti.class);
+        activiti.setStatus(CustomFieldTemplateDataStatusEnum.APPLY.getValue());
+        activiti.setNo(no);
+        activiti.setTargetDeptName(sysDeptMapper.selectByPrimaryKey(activiti.getTargetDept()).getName());
+        SysUserDeptDTO dto = new SysUserDeptDTO();
+        dto.setUserId(SecurityUtils.getUserInfo().getUserId());
+        List<SysUserDeptVO> voList = sysUserDeptMapper.selectVOByUserId(dto);
+        if(voList != null && voList.size() > 0){
+            activiti.setCurrentDeptName(voList.get(0).getDeptName());
+        }
+        return JsonUtils.objectToJson(activiti);
+    }
+
+    @Override
+    public void resultWrite(AbstractPageResultBean<CustomFieldTemplateDataVO> pageInfos) {
+        for(CustomFieldTemplateDataVO vo : pageInfos.getRows()){
+            SbAllocateFormActiviti activiti = JsonUtils.jsonToModel(vo.getData(),SbAllocateFormActiviti.class);
+            vo.setDataRemark(activiti.getRemark());
+            vo.setNo(activiti.getNo());
+            vo.setTitle(activiti.getTitle());
+            vo.setStartTime(activiti.getStartTime());
+            vo.setEndTime(activiti.getEndTime());
+            vo.setCurrentDeptName(activiti.getCurrentDeptName());
+            vo.setTargetDeptName(activiti.getTargetDeptName());
+        }
+    }
+}

+ 18 - 39
platform-service/src/main/java/com/platform/service/customize/impl/SbScrapCheckServiceImpl.java

@@ -11,7 +11,6 @@ import com.platform.common.util.SecurityUtils;
 import com.platform.dao.dto.activiti.SbScrapFormActiviti;
 import com.platform.dao.entity.customize.CustomFieldTemplateData;
 import com.platform.dao.entity.sb.SbInfo;
-import com.platform.dao.enums.ActivitiFormStatusEnum;
 import com.platform.dao.enums.CustomFieldTemplateDataStatusEnum;
 import com.platform.dao.enums.CustomFieldTemplateDataTypeEnum;
 import com.platform.dao.enums.SbInfoStatusEnum;
@@ -98,20 +97,17 @@ public class SbScrapCheckServiceImpl extends BaseFormCheckServiceAbstract {
      * @param actAuditRequest
      */
     @Override
-    protected void doUpdate(ActAuditRequest actAuditRequest) {
-        CustomFieldTemplateData updInfo = getById(actAuditRequest.getId());
-        updInfo.setId(actAuditRequest.getId());
-        updInfo.setStatus(ActivitiFormStatusEnum.EXECUTING.getValue());
-        SbScrapFormActiviti activiti = JsonUtils.jsonToModel(updInfo.getData(),SbScrapFormActiviti.class);
-        activiti.setStatus(ActivitiFormStatusEnum.EXECUTING.getValue());
-        activiti.setProcessInstanceId(actAuditRequest.getProcessInstanceId());
-        updInfo.setData(JsonUtils.objectToJson(activiti));
-        customFieldTemplateDataMapper.updateByPrimaryKeySelective(updInfo);
-
+    public String doUpdate(ActAuditRequest actAuditRequest) {
+        String sbId = super.doUpdate(actAuditRequest);
         SbInfo sbInfo = new SbInfo();
         sbInfo.setStatus(SbInfoStatusEnum.IN_SCRAP.getValue());
-        sbInfo.setId(updInfo.getObjId());
+        sbInfo.setId(sbId);
         sbInfoMapper.updateByPrimaryKeySelective(sbInfo);
+        return sbId;
+    }
+
+    @Override
+    protected void doStartUpdate(ActAuditRequest actAuditRequest) {
     }
 
     /**
@@ -120,13 +116,8 @@ public class SbScrapCheckServiceImpl extends BaseFormCheckServiceAbstract {
      * @param actAuditRequest
      */
     @Override
-    protected void doRefuse(ActAuditRequest actAuditRequest) {
-        CustomFieldTemplateData updInfo = getById(actAuditRequest.getId());
-        updInfo.setStatus(ActivitiFormStatusEnum.REFUSE.getValue());
-        SbScrapFormActiviti activiti = JsonUtils.jsonToModel(updInfo.getData(),SbScrapFormActiviti.class);
-        activiti.setStatus(ActivitiFormStatusEnum.REFUSE.getValue());
-        updInfo.setData(JsonUtils.objectToJson(activiti));
-        customFieldTemplateDataMapper.updateByPrimaryKeySelective(updInfo);
+    public void doRefuse(ActAuditRequest actAuditRequest) {
+        super.doRefuse(actAuditRequest);
     }
 
     /**
@@ -135,18 +126,13 @@ public class SbScrapCheckServiceImpl extends BaseFormCheckServiceAbstract {
      * @param actAuditRequest
      */
     @Override
-    protected void doFinish(ActAuditRequest actAuditRequest) {
-        CustomFieldTemplateData updInfo = getById(actAuditRequest.getId());
-        updInfo.setStatus(ActivitiFormStatusEnum.FINISH.getValue());
-        SbScrapFormActiviti activiti = JsonUtils.jsonToModel(updInfo.getData(),SbScrapFormActiviti.class);
-        activiti.setStatus(ActivitiFormStatusEnum.FINISH.getValue());
-        updInfo.setData(JsonUtils.objectToJson(activiti));
-        customFieldTemplateDataMapper.updateByPrimaryKeySelective(updInfo);
-
+    public String doFinish(ActAuditRequest actAuditRequest) {
+        String sbId = super.doFinish(actAuditRequest);
         SbInfo sbInfo = new SbInfo();
         sbInfo.setStatus(SbInfoStatusEnum.SCRAPED.getValue());
-        sbInfo.setId(updInfo.getObjId());
+        sbInfo.setId(sbId);
         sbInfoMapper.updateByPrimaryKeySelective(sbInfo);
+        return sbId;
     }
 
     /**
@@ -155,20 +141,13 @@ public class SbScrapCheckServiceImpl extends BaseFormCheckServiceAbstract {
      * @param actAuditRequest
      */
     @Override
-    protected void doStop(ActAuditRequest actAuditRequest) {
-        CustomFieldTemplateData updInfo = getById(actAuditRequest.getId());
-        updInfo.setId(actAuditRequest.getId());
-        SbScrapFormActiviti activiti = JsonUtils.jsonToModel(updInfo.getData(),SbScrapFormActiviti.class);
-        activiti.setStatus(ActivitiFormStatusEnum.NOT_EXECUTE.getValue());
-        activiti.setProcessInstanceId(null);
-        updInfo.setData(JsonUtils.objectToJson(activiti));
-        updInfo.setStatus(ActivitiFormStatusEnum.NOT_EXECUTE.getValue());
-        customFieldTemplateDataMapper.updateByPrimaryKeySelective(updInfo);
-
+    public String doStop(ActAuditRequest actAuditRequest) {
+        String sbId = super.doStop(actAuditRequest);
         SbInfo sbInfo = new SbInfo();
         sbInfo.setStatus(SbInfoStatusEnum.IN_STORE.getValue());
-        sbInfo.setId(updInfo.getObjId());
+        sbInfo.setId(sbId);
         sbInfoMapper.updateByPrimaryKeySelective(sbInfo);
+        return sbId;
     }
 
 }

+ 16 - 36
platform-service/src/main/java/com/platform/service/customize/impl/SbStopCheckServiceImpl.java

@@ -11,7 +11,6 @@ import com.platform.common.util.SecurityUtils;
 import com.platform.dao.dto.activiti.SbStopFormActiviti;
 import com.platform.dao.entity.customize.CustomFieldTemplateData;
 import com.platform.dao.entity.sb.SbInfo;
-import com.platform.dao.enums.ActivitiFormStatusEnum;
 import com.platform.dao.enums.CustomFieldTemplateDataStatusEnum;
 import com.platform.dao.enums.CustomFieldTemplateDataTypeEnum;
 import com.platform.dao.enums.SbInfoStatusEnum;
@@ -95,56 +94,37 @@ public class SbStopCheckServiceImpl extends BaseFormCheckServiceAbstract {
     }
 
     @Override
-    protected void doUpdate(ActAuditRequest actAuditRequest) {
-        CustomFieldTemplateData updInfo = getById(actAuditRequest.getId());
-        updInfo.setId(actAuditRequest.getId());
-        updInfo.setStatus(ActivitiFormStatusEnum.EXECUTING.getValue());
-        SbStopFormActiviti activiti = JsonUtils.jsonToModel(updInfo.getData(),SbStopFormActiviti.class);
-        activiti.setStatus(ActivitiFormStatusEnum.EXECUTING.getValue());
-        activiti.setProcessInstanceId(actAuditRequest.getProcessInstanceId());
-        updInfo.setData(JsonUtils.objectToJson(activiti));
-        customFieldTemplateDataMapper.updateByPrimaryKeySelective(updInfo);
+    public String doUpdate(ActAuditRequest actAuditRequest) {
+        return super.doUpdate(actAuditRequest);
     }
 
     @Override
-    protected void doRefuse(ActAuditRequest actAuditRequest) {
-        CustomFieldTemplateData updInfo = getById(actAuditRequest.getId());
-        updInfo.setStatus(ActivitiFormStatusEnum.REFUSE.getValue());
-        SbStopFormActiviti activiti = JsonUtils.jsonToModel(updInfo.getData(),SbStopFormActiviti.class);
-        activiti.setStatus(ActivitiFormStatusEnum.REFUSE.getValue());
-        updInfo.setData(JsonUtils.objectToJson(activiti));
-        customFieldTemplateDataMapper.updateByPrimaryKeySelective(updInfo);
+    protected void doStartUpdate(ActAuditRequest actAuditRequest) {
+
     }
 
     @Override
-    protected void doFinish(ActAuditRequest actAuditRequest) {
-        CustomFieldTemplateData updInfo = getById(actAuditRequest.getId());
-        updInfo.setStatus(ActivitiFormStatusEnum.FINISH.getValue());
-        SbStopFormActiviti activiti = JsonUtils.jsonToModel(updInfo.getData(),SbStopFormActiviti.class);
-        activiti.setStatus(ActivitiFormStatusEnum.FINISH.getValue());
-        updInfo.setData(JsonUtils.objectToJson(activiti));
-        customFieldTemplateDataMapper.updateByPrimaryKeySelective(updInfo);
+    public void doRefuse(ActAuditRequest actAuditRequest) {
+        super.doRefuse(actAuditRequest);
+    }
 
+    @Override
+    public String doFinish(ActAuditRequest actAuditRequest) {
+        String sbId = super.doFinish(actAuditRequest);
         SbInfo sbInfo = new SbInfo();
         sbInfo.setStatus(SbInfoStatusEnum.IN_STOP.getValue());
-        sbInfo.setId(updInfo.getObjId());
+        sbInfo.setId(sbId);
         sbInfoMapper.updateByPrimaryKeySelective(sbInfo);
+        return sbId;
     }
 
     @Override
-    protected void doStop(ActAuditRequest actAuditRequest) {
-        CustomFieldTemplateData updInfo = getById(actAuditRequest.getId());
-        updInfo.setId(actAuditRequest.getId());
-        SbStopFormActiviti activiti = JsonUtils.jsonToModel(updInfo.getData(),SbStopFormActiviti.class);
-        activiti.setStatus(ActivitiFormStatusEnum.NOT_EXECUTE.getValue());
-        activiti.setProcessInstanceId(null);
-        updInfo.setData(JsonUtils.objectToJson(activiti));
-        updInfo.setStatus(ActivitiFormStatusEnum.NOT_EXECUTE.getValue());
-        customFieldTemplateDataMapper.updateByPrimaryKeySelective(updInfo);
-
+    public String doStop(ActAuditRequest actAuditRequest) {
+        String sbId = super.doStop(actAuditRequest);
         SbInfo sbInfo = new SbInfo();
         sbInfo.setStatus(SbInfoStatusEnum.IN_USE.getValue());
-        sbInfo.setId(updInfo.getObjId());
+        sbInfo.setId(sbId);
         sbInfoMapper.updateByPrimaryKeySelective(sbInfo);
+        return sbId;
     }
 }

Some files were not shown because too many files changed in this diff