Просмотр исходного кода

[审批流][添加][添加我的审批列表]

release_toaliyun_real
luozukai 7 лет назад
Родитель
Сommit
83ddf7cc91
8 измененных файлов: 91 добавлений и 2 удалений
  1. +17
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/WxFlowAbleController.java
  2. +5
    -0
      mallinkAdmin/src/main/resources/db/migration/V201904191333__ADD_FLOW.sql
  3. +24
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxFlowRecord.java
  4. +6
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxBillAllMapper.java
  5. +4
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxFlowRecordMapper.java
  6. +7
    -0
      mallinkService/src/main/java/com/iformall/service/WxFlowService.java
  7. +20
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java
  8. +8
    -1
      mallinkService/src/main/resources/mapper/WxFlowRecordMapper.xml

+ 17
- 0
mallinkAdmin/src/main/java/com/iformall/controller/WxFlowAbleController.java Просмотреть файл

@@ -81,6 +81,23 @@ public class WxFlowAbleController extends BaseController {
return new ResultData(wxFlowService.listAsPage(record,pageNum,pageSize));
}

/**
* 我的审批列表
*/
@ApiOperation("我的审批列表")
@GetMapping(value = "/myHandleList")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true),
})
@SystemControllerLog(description = "工作流-我的审批列表")
public ResultData myHandleList(@ModelAttribute WxFlowRecord record, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] FlowAbleController::myHandelList");
record.setUserId(super.getUser().getId());
record.setStatus(EnumFlowRecordStatus.NEW.getCode());
return new ResultData(wxFlowService.myHandelList(record,pageNum,pageSize));
}


/**
* 审批历史


+ 5
- 0
mallinkAdmin/src/main/resources/db/migration/V201904191333__ADD_FLOW.sql Просмотреть файл

@@ -0,0 +1,5 @@



ALTER TABLE `wx_flow_record`
ADD COLUMN `start_date` DATETIME COMMENT '发起时间';

+ 24
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxFlowRecord.java Просмотреть файл

@@ -39,6 +39,30 @@ public class WxFlowRecord implements Serializable {
//是否最后一个启动节点
@Transient
private Integer isLastStart;
//申请时间
private Date startDate;
@Transient
private Integer limit;

public Date getStartDate() {
return startDate;
}

public void setStartDate(Date startDate) {
this.startDate = startDate;
}

public Integer getLimit() {
return limit;
}

public void setLimit(Integer limit) {
this.limit = limit;
}

public static long getSerialVersionUID() {
return serialVersionUID;
}

public WxFlowRecord(){}
public WxFlowRecord(Long businessId){


+ 6
- 0
mallinkService/src/main/java/com/iformall/mapper/WxBillAllMapper.java Просмотреть файл

@@ -35,4 +35,10 @@ public interface WxBillAllMapper {
* @return
*/
List<Map<String, Object>> getWaitPayBillForEmail();

/**
* 欠缴商户分页列表
* @return
*/
List<Map<String, Object>> getOweBillAsPage(WxBillAll record);
}

+ 4
- 0
mallinkService/src/main/java/com/iformall/mapper/WxFlowRecordMapper.java Просмотреть файл

@@ -9,4 +9,8 @@ public interface WxFlowRecordMapper extends CommonMapper<WxFlowRecord, Long> {
List<WxFlowRecord> findList(WxFlowRecord flowRecord);
void updateCurrStatus(WxFlowRecord record);

List<WxFlowRecord> myHandelList(WxFlowRecord flowRecord);

Integer myHandelListTotal(WxFlowRecord flowRecord);
}

+ 7
- 0
mallinkService/src/main/java/com/iformall/service/WxFlowService.java Просмотреть файл

@@ -81,4 +81,11 @@ public interface WxFlowService {
* @return
*/
PageInfo<WxFlowRecord> listAsPage(WxFlowRecord record, Integer pageIndex, Integer pageSize);

/**
* 我的审批
* @param pageSize
* @return
*/
PageInfo<WxFlowRecord> myHandelList(WxFlowRecord record, Integer pageIndex, Integer pageSize);
}

+ 20
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java Просмотреть файл

@@ -321,9 +321,11 @@ public class WxFlowServiceImpl implements WxFlowService {
map.put(taskAssigneeMap.get("taskKey"), taskAssigneeMap.get("assignee"));
}
// map info,设置发起人等信息
Date startDate = new Date();
MallUserInfo starterInfo = this.mallUserInfoService.getById(userId);
map.put("starter", mallUserInfoToMap(starterInfo));
map.put("startTime", System.currentTimeMillis());
map.put("startTime", startDate.getTime());
map.put("startDate", startDate);
map.put("businessId",businessId+"");
map.put("flowType",flowType);
map.put("taskAssignee",taskAssignee);
@@ -348,6 +350,7 @@ public class WxFlowServiceImpl implements WxFlowService {
wxFlowRecord.setTaskName("发起");
wxFlowRecord.setCurrStatus(EnumRentContractAppStatus.APPLYING.getCode());
wxFlowRecord.setVariables(variablesToJson(variables));
wxFlowRecord.setStartDate(startDate);
wxFlowRecordService.saveOrUpdate(wxFlowRecord);

// 给审批人发送代办通知短信
@@ -605,6 +608,8 @@ public class WxFlowServiceImpl implements WxFlowService {
Map<String,Object> mapInfo = taskService.getVariables(task.getId());
Long businessId = Long.parseLong(mapInfo.get("businessId").toString());
Integer flowType = (Integer)mapInfo.get("flowType");
List<Map<String,Object>> variables = (List)mapInfo.get("variables");
Date startDate = (Date)mapInfo.get("startDate");
taskService.complete(taskId);

//保存wx_flow_record表审批记录
@@ -619,6 +624,8 @@ public class WxFlowServiceImpl implements WxFlowService {
wxFlowRecord.setUserName(userName);
wxFlowRecord.setTaskName(taskName);
wxFlowRecord.setTaskKey(taskKey);
wxFlowRecord.setVariables(variablesToJson(variables));
wxFlowRecord.setStartDate(startDate);
wxFlowRecordService.saveOrUpdate(wxFlowRecord);

// 判断流程是否结束,并发送短信通知
@@ -762,6 +769,7 @@ public class WxFlowServiceImpl implements WxFlowService {
Map<String,Object> userMap = (Map<String,Object>)mapInfo.get("starter");
String email = (String) userMap.get("email");
List<Map<String,Object>> variables = (List)mapInfo.get("variables");
Date startDate = (Date)mapInfo.get("startDate");

String taskName;
String taskKey;
@@ -789,6 +797,8 @@ public class WxFlowServiceImpl implements WxFlowService {
wxFlowRecord.setUserName(userName);
wxFlowRecord.setTaskKey(taskKey);
wxFlowRecord.setTaskName(taskName);
wxFlowRecord.setVariables(variablesToJson(variables));
wxFlowRecord.setStartDate(startDate);
wxFlowRecordService.saveOrUpdate(wxFlowRecord);
//修改记录表当前状态
wxFlowRecordMapper.updateCurrStatus(new WxFlowRecord(processInstanceId,EnumRentContractAppStatus.REJECT.getCode()));
@@ -839,6 +849,8 @@ public class WxFlowServiceImpl implements WxFlowService {
Map<String,Object> mapInfo = taskService.getVariables(task.getId());
Long businessId = Long.parseLong(mapInfo.get("businessId").toString());
Integer flowType = (Integer)mapInfo.get("flowType");
List<Map<String,Object>> variables = (List)mapInfo.get("variables");
Date startDate = (Date)mapInfo.get("startDate");

String taskName;
String taskKey;
@@ -866,6 +878,8 @@ public class WxFlowServiceImpl implements WxFlowService {
wxFlowRecord.setUserName(userName);
wxFlowRecord.setTaskKey(taskKey);
wxFlowRecord.setTaskName(taskName);
wxFlowRecord.setVariables(variablesToJson(variables));
wxFlowRecord.setStartDate(startDate);
wxFlowRecordService.saveOrUpdate(wxFlowRecord);
//修改记录表当前状态
wxFlowRecordMapper.updateCurrStatus(new WxFlowRecord(processInstanceId,EnumRentContractAppStatus.SETBACK.getCode()));
@@ -941,6 +955,11 @@ public class WxFlowServiceImpl implements WxFlowService {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxFlowRecordMapper.findList(record));
}

@Override
public PageInfo<WxFlowRecord> myHandelList(WxFlowRecord record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxFlowRecordMapper.myHandelList(record));
}

@Override
public void genProcessDiagram(HttpServletResponse httpServletResponse,String businessId) throws Exception {
List<WxFlowRecord> result = wxFlowRecordService.findList(new WxFlowRecord(Long.parseLong(businessId)));


+ 8
- 1
mallinkService/src/main/resources/mapper/WxFlowRecordMapper.xml Просмотреть файл

@@ -20,6 +20,7 @@
<result column="curr_status" property="currStatus" />
<result column="variables" property="variables" />

<result column="start_date" property="startDate" />
<result column="contractType" property="contractType" />
<result column="contractNumber" property="contractNumber" />
<result column="endProperty" property="endProperty" />
@@ -29,7 +30,8 @@
`id`,`business_id`,`business_type`,`user_id`,`remark`,`status`,`task_id`,`process_instance_id`,`create_date`,`update_date`,`tenant_id`,`user_name`,task_key,task_name,curr_status,variables,
REPLACE (JSON_EXTRACT(variables,'$.contractType'),'"','') contractType,
REPLACE (JSON_EXTRACT(variables,'$.endProperty'),'"','') endProperty,
REPLACE (JSON_EXTRACT(variables,'$.contractNumber'),'"','') contractNumber
REPLACE (JSON_EXTRACT(variables,'$.contractNumber'),'"','') contractNumber,
start_date
</sql>

<sql id="dynamicWhereConditions">
@@ -63,6 +65,11 @@
<include refid="dynamicWhereConditions" />
</select>

<select id="myHandelList" parameterType="com.iformall.domain.po.WxFlowRecord" resultMap="BaseResultMap">
select f.* from wx_flow_record f
where f.user_id = #{userId} and f.status not in(1,4)
order by create_date desc
</select>

<update id="updateCurrStatus" parameterType="com.iformall.domain.po.WxFlowRecord">
update wx_flow_record set curr_status=#{currStatus} where process_instance_id=#{processInstanceId}


Загрузка…
Отмена
Сохранить