Pārlūkot izejas kodu

审核任务

master
zhaodengke pirms 1 gada
vecāks
revīzija
8406e3e6a3
15 mainītis faili ar 474 papildinājumiem un 111 dzēšanām
  1. +49
    -11
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/ManagerAgentTaskController.java
  2. +0
    -4
      ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/domain/TAgentTask.java
  3. +48
    -0
      ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/dto/AgentTaskNumGroup.java
  4. +0
    -33
      ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/dto/AgentTaskTownNumGroup.java
  5. +5
    -3
      ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/mapper/TAgentTaskMapper.java
  6. +11
    -6
      ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/ITAgentTaskService.java
  7. +95
    -27
      ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/TAgentTaskServiceImpl.java
  8. +1
    -1
      ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/vo/AgentTaskSummary.java
  9. +30
    -0
      ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/vo/TaskAllAudit.java
  10. +21
    -0
      ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/vo/TaskAudit.java
  11. +1
    -0
      ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/vo/TaskDistrib.java
  12. +2
    -0
      ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/vo/TaskRevoke.java
  13. +72
    -26
      ruoyi-agentcenter/src/main/resources/mapper/agentcenter/TAgentTaskMapper.xml
  14. +88
    -0
      ruoyi-common/src/main/java/com/ruoyi/common/utils/ARG.java
  15. +51
    -0
      ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java

+ 49
- 11
ruoyi-admin/src/main/java/com/ruoyi/web/controller/agentcenter/ManagerAgentTaskController.java Parādīt failu

@@ -1,6 +1,8 @@
package com.ruoyi.web.controller.agentcenter;

import com.ruoyi.agentcenter.dto.AgentTaskTownNumGroup;
import com.ruoyi.agentcenter.dto.AgentTaskNumGroup;
import com.ruoyi.agentcenter.vo.TaskAllAudit;
import com.ruoyi.agentcenter.vo.TaskAudit;
import com.ruoyi.agentcenter.vo.TaskDistrib;
import com.ruoyi.agentcenter.vo.TaskRevoke;
import com.ruoyi.common.core.domain.AjaxResult;
@@ -34,7 +36,7 @@ public class ManagerAgentTaskController extends BaseController
private ITAgentTaskService tAgentTaskService;

/**
* 全部任务列表
* 县级全部任务统计
*/
@PreAuthorize("@ss.hasPermi('agentcenter:task:list')")
@GetMapping(value = "/countyTaskSummary")
@@ -67,8 +69,8 @@ public class ManagerAgentTaskController extends BaseController
startPage();
task.setAgentCenter(getUserAgentCenter());
task.setAgentStatus(TAgentTask.AGENT_STATUS_READY);
AgentTaskTownNumGroup summary = new AgentTaskTownNumGroup();
List<AgentTaskTownNumGroup> undistribTaskList = tAgentTaskService.getUndistribTaskList(task, summary);
AgentTaskNumGroup summary = new AgentTaskNumGroup();
List<AgentTaskNumGroup> undistribTaskList = tAgentTaskService.getUndistribTaskList(task, summary);
TableDataInfo dataTable = getDataTable(undistribTaskList);
AjaxResult result = dataTable.toAjaxResult();
result.put("numVillage", summary.getNumVillage())
@@ -86,6 +88,7 @@ public class ManagerAgentTaskController extends BaseController
public AjaxResult distrib(@Validated @RequestBody TaskDistrib taskDistrib)
{
taskDistrib.setDistriUser(getUsername());
taskDistrib.setAgentCenter(getUserAgentCenter());
return toAjax(tAgentTaskService.distrib(taskDistrib));
}

@@ -96,6 +99,7 @@ public class ManagerAgentTaskController extends BaseController
@PostMapping(value = "/revoke")
public AjaxResult revoke(@Validated @RequestBody TaskRevoke taskRevoke)
{
taskRevoke.setAgentCenter(getUserAgentCenter());
return toAjax(tAgentTaskService.revoke(taskRevoke));
}

@@ -103,13 +107,24 @@ public class ManagerAgentTaskController extends BaseController
* 审核
*/
@PreAuthorize("@ss.hasPermi('manager:task:audit')")
@GetMapping(value = "/audit/{id}")
public AjaxResult audit(@PathVariable Long id)
@PostMapping(value = "/audit")
public AjaxResult audit(@Validated @RequestBody TaskAudit taskAudit)
{
taskAudit.setAuditUser(getUsername());
taskAudit.setAgentCenter(getUserAgentCenter());
return toAjax(tAgentTaskService.audit(taskAudit));
}

/**
* 全部审核
*/
@PreAuthorize("@ss.hasPermi('manager:task:audit')")
@PostMapping(value = "/auditAll")
public AjaxResult auditAll(@Validated @RequestBody TaskAllAudit taskAudit)
{
TAgentTask task = new TAgentTask();
task.setId(id);
task.setAuditUser(getUsername());
return toAjax(tAgentTaskService.audit(task));
taskAudit.setAuditUser(getUsername());
taskAudit.setAgentCenter(getUserAgentCenter());
return toAjax(tAgentTaskService.auditAll(taskAudit));
}

/**
@@ -125,7 +140,7 @@ public class ManagerAgentTaskController extends BaseController
}

/**
* 全部任务列表
* 县级处理中统计
*/
@PreAuthorize("@ss.hasPermi('agentcenter:task:list')")
@GetMapping(value = "/countyProcessingTaskSummary")
@@ -136,4 +151,27 @@ public class ManagerAgentTaskController extends BaseController
return AjaxResult.success(tAgentTaskService.countyProcessingTaskSummary(task));
}

/**
* 待审核任务列表
*/
@PreAuthorize("@ss.hasPermi('agentcenter:task:list')")
@GetMapping(value = "/auditingTaskList")
public TableDataInfo auditingTaskList(TAgentTask task)
{
startPage();
task.setAgentCenter(getUserAgentCenter());
return getDataTable(tAgentTaskService.getAuditingTaskList(task));
}

/**
* 镇级待审核统计
*/
@PreAuthorize("@ss.hasPermi('agentcenter:task:list')")
@GetMapping(value = "/auditTaskSummary")
public AjaxResult auditTaskSummary(TAgentTask task)
{
task.setAgentCenter(getUserAgentCenter());
return AjaxResult.success(tAgentTaskService.auditTaskSummary(task));
}

}

+ 0
- 4
ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/domain/TAgentTask.java Parādīt failu

@@ -161,10 +161,6 @@ public class TAgentTask extends BaseEntity
@Excel(name = "评价备注")
private String appraiseRemark;

/** 是否审核 */
@Excel(name = "是否审核", dictType = "sys_yes_no")
private String isAudit;

/** 是否评价 */
@Excel(name = "是否评价", dictType = "sys_yes_no")
private String isAppraise;


+ 48
- 0
ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/dto/AgentTaskNumGroup.java Parādīt failu

@@ -0,0 +1,48 @@
package com.ruoyi.agentcenter.dto;

import cn.hutool.core.date.DateUtil;
import com.ruoyi.agentcenter.domain.TAgentTask;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;

@Data
@Accessors(chain = true)
public class AgentTaskNumGroup
{
private Long numVillage;
private Long numBook;
private Long voucherCount;
private Long contracCount;
private Long otherCount;
private Long allCount;
private Long assetCount;
private String townName;
private String townCode;
private String orgName;
private String orgCode;
private String endAt;
private String handleDate;
private String distriDate;
private String handleNick;

private String handleUser;
private Boolean overdueFinish;

private List<AgentTaskNumGroup> villageList;
private List<TAgentTask> taskList;

public void setupOverdueFinish()
{
if(StringUtils.isEmpty(endAt) || StringUtils.isEmpty(handleDate))
return;
Date endAtDate = DateUtils.yyyy_MM_dd(endAt);
Date handleDateDate = DateUtils.yyyy_MM_dd(handleDate);

overdueFinish = handleDateDate.after(endAtDate);
}
}

+ 0
- 33
ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/dto/AgentTaskTownNumGroup.java Parādīt failu

@@ -1,33 +0,0 @@
package com.ruoyi.agentcenter.dto;

import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

@Data
@Accessors(chain = true)
public class AgentTaskTownNumGroup
{
private Long numVillage;
private Long numBook;
private Long voucherCount;
private Long contracCount;
private Long otherCount;
private Long allCount;
private Long assetCount;
private String townName;
private String townCode;
private String orgName;
private String orgCode;
private String endAt;

private String handleUser;

private List<AgentTaskTownNumGroup> villageList;

public void calcOtherCount()
{
otherCount = allCount - voucherCount - contracCount - assetCount;
}
}

+ 5
- 3
ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/mapper/TAgentTaskMapper.java Parādīt failu

@@ -3,7 +3,7 @@ package com.ruoyi.agentcenter.mapper;
import java.util.List;
import com.ruoyi.agentcenter.domain.TAgentTask;
import com.ruoyi.agentcenter.dto.AgentTaskTownGroup;
import com.ruoyi.agentcenter.dto.AgentTaskTownNumGroup;
import com.ruoyi.agentcenter.dto.AgentTaskNumGroup;
import com.ruoyi.agentcenter.dto.AgentTaskVillageGroup;

/**
@@ -106,14 +106,16 @@ public interface TAgentTaskMapper
public int updateTAgentTaskCount(TAgentTask tAgentTask);

public List<AgentTaskTownGroup> getAgentTaskGroupByTown(TAgentTask tAgentTask);
public AgentTaskTownGroup getAgentTaskTownSummary(TAgentTask tAgentTask);
public List<AgentTaskVillageGroup> getAgentTaskGroupByVillage(TAgentTask tAgentTask);
public AgentTaskVillageGroup getAgentTaskVillageSummary(TAgentTask tAgentTask);
public List<AgentTaskVillageGroup> getProcessedAgentTaskGroupByVillage(TAgentTask tAgentTask);
public Long getAgentTaskOverdueFinishVillageCount(TAgentTask tAgentTask);
public List<TAgentTask> getTAgentTaskProcessedList(TAgentTask tAgentTask);
public List<TAgentTask> getTaskHandleUserListGroup(TAgentTask tAgentTask);
public List<AgentTaskTownNumGroup> getAgentTaskNumTownGroup(TAgentTask tAgentTask);
public List<AgentTaskTownNumGroup> getAgentTaskNumVillageGroup(TAgentTask tAgentTask);
public List<AgentTaskNumGroup> getAgentTaskNumTownGroup(TAgentTask tAgentTask);
public List<AgentTaskNumGroup> getAgentTaskNumVillageGroup(TAgentTask tAgentTask);

public int revokeAgentTaskByOrgCode(TAgentTask task);
public int auditAgentTask(TAgentTask task);
}

+ 11
- 6
ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/ITAgentTaskService.java Parādīt failu

@@ -5,10 +5,12 @@ import java.util.function.Consumer;

import com.ruoyi.agentcenter.domain.TAgentTask;
import com.ruoyi.agentcenter.dto.AgentTaskTownGroup;
import com.ruoyi.agentcenter.dto.AgentTaskTownNumGroup;
import com.ruoyi.agentcenter.dto.AgentTaskNumGroup;
import com.ruoyi.agentcenter.dto.AgentTaskVillageGroup;
import com.ruoyi.agentcenter.vo.AgentTaskUser;
import com.ruoyi.agentcenter.vo.CountyTaskSummary;
import com.ruoyi.agentcenter.vo.AgentTaskSummary;
import com.ruoyi.agentcenter.vo.TaskAllAudit;
import com.ruoyi.agentcenter.vo.TaskAudit;
import com.ruoyi.agentcenter.vo.TaskDistrib;
import com.ruoyi.agentcenter.vo.TaskFinish;
import com.ruoyi.agentcenter.vo.TaskRevoke;
@@ -122,6 +124,7 @@ public interface ITAgentTaskService

public List<AgentTaskTownGroup> getTownTaskList(TAgentTask tAgentTask);
public List<AgentTaskTownGroup> getProcessingTaskList(TAgentTask tAgentTask);
public List<AgentTaskNumGroup> getAuditingTaskList(TAgentTask tAgentTask);

public List<TAgentTask> getTodoTaskList(TAgentTask tAgentTask);
public List<AgentTaskVillageGroup> getProcessedTaskList(TAgentTask tAgentTask);
@@ -129,11 +132,13 @@ public interface ITAgentTaskService

public int distrib(TaskDistrib task);
public int revoke(TaskRevoke task);
public int audit(TAgentTask task);
public int audit(TaskAudit task);
public int finish(TaskFinish task);
public int auditAll(TaskAllAudit task);
public List<AgentTaskUser> userList(AgentTaskUser user);

public List<AgentTaskTownNumGroup> getUndistribTaskList(TAgentTask tAgentTask, AgentTaskTownNumGroup summary);
public CountyTaskSummary countyTaskSummary(TAgentTask task);
public CountyTaskSummary countyProcessingTaskSummary(TAgentTask task);
public List<AgentTaskNumGroup> getUndistribTaskList(TAgentTask tAgentTask, AgentTaskNumGroup summary);
public AgentTaskSummary countyTaskSummary(TAgentTask task);
public AgentTaskSummary countyProcessingTaskSummary(TAgentTask task);
public AgentTaskSummary auditTaskSummary(TAgentTask task);
}

+ 95
- 27
ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/service/impl/TAgentTaskServiceImpl.java Parādīt failu

@@ -14,10 +14,12 @@ import cn.hutool.core.lang.Assert;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;
import com.ruoyi.agentcenter.dto.AgentTaskTownGroup;
import com.ruoyi.agentcenter.dto.AgentTaskTownNumGroup;
import com.ruoyi.agentcenter.dto.AgentTaskNumGroup;
import com.ruoyi.agentcenter.dto.AgentTaskVillageGroup;
import com.ruoyi.agentcenter.vo.AgentTaskUser;
import com.ruoyi.agentcenter.vo.CountyTaskSummary;
import com.ruoyi.agentcenter.vo.AgentTaskSummary;
import com.ruoyi.agentcenter.vo.TaskAllAudit;
import com.ruoyi.agentcenter.vo.TaskAudit;
import com.ruoyi.agentcenter.vo.TaskDistrib;
import com.ruoyi.agentcenter.vo.TaskFinish;
import com.ruoyi.agentcenter.vo.TaskRevoke;
@@ -28,6 +30,7 @@ import com.ruoyi.common.utils.ContainerUtils;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DeptUtils;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.mapper.SysDeptMapper;
import com.ruoyi.system.mapper.SysUserMapper;
import org.springframework.beans.factory.annotation.Autowired;
@@ -381,6 +384,7 @@ public class TAgentTaskServiceImpl implements ITAgentTaskService
TAgentTask cond = new TAgentTask();
cond.setOrderYear(task.getOrderYear())
.setOrderMonth(task.getOrderMonth())
.setAgentCenter(task.getAgentCenter())
.setAgentStatus(TAgentTask.AGENT_STATUS_READY)
.putParam("orgCodeList", orgCodeList)
;
@@ -408,25 +412,40 @@ public class TAgentTaskServiceImpl implements ITAgentTaskService
public int revoke(TaskRevoke taskRevoke)
{
TAgentTask task = taskRevoke.toAgentTask();
tAgentTaskMapper.revokeAgentTaskByOrgCode(task);
return 1;
return tAgentTaskMapper.revokeAgentTaskByOrgCode(task);
}

@Override
public int audit(TAgentTask task)
public int audit(TaskAudit task)
{
TAgentTask dbTask = tAgentTaskMapper.selectTAgentTaskById(task.getId());
TAgentTask cond = new TAgentTask();
cond.setAgentCenter(task.getAgentCenter());
cond.putParam("idList", task.getTaskIds());
List<TAgentTask> dbTasks = tAgentTaskMapper.selectTAgentTaskList(cond);

ASSERT.EXP(TAgentTask.AGENT_STATUS_FINISHED.equals(dbTask.getAgentStatus()));
if(CollectionUtil.isEmpty(dbTasks))
return 1;

dbTask.setAgentStatus(TAgentTask.AGENT_STATUS_AUDITED)
.setIsAudit("Y")
.setAuditDate(DateUtils.getNowDate())
.setAuditUser(task.getAuditUser())
.setAuditNick(sysUserMapper.selectUserByUserName(task.getAuditUser()).getNickName())
;
ASSERT.EXP(dbTasks.stream().allMatch((x) -> TAgentTask.AGENT_STATUS_FINISHED.equals(x.getAgentStatus())), "存在不是已完成的任务");

return tAgentTaskMapper.updateTAgentTask(dbTask);
dbTasks.forEach((x) -> {
x.setAgentStatus(TAgentTask.AGENT_STATUS_AUDITED)
.setAuditDate(DateUtils.getNowDate())
.setAuditUser(task.getAuditUser())
.setAuditNick(sysUserMapper.selectUserByUserName(task.getAuditUser()).getNickName())
;
});

return tAgentTaskMapper.updateTAgentTaskBatch(dbTasks);
}

@Override
public int auditAll(TaskAllAudit taskAllAudit)
{
TAgentTask task = taskAllAudit.toAgentTask();
task.setAuditDate(DateUtils.getNowDate());
task.setAuditNick(sysUserMapper.selectUserByUserName(task.getAuditUser()).getNickName());
return tAgentTaskMapper.auditAgentTask(task);
}

@Override
@@ -440,6 +459,7 @@ public class TAgentTaskServiceImpl implements ITAgentTaskService
dbTask.setHandleRemark(task.getHandleRemark())
.setAgentStatus(TAgentTask.AGENT_STATUS_FINISHED)
.setHandleDate(DateUtils.getNowDate())
.setAuditNick(sysUserMapper.selectUserByUserName(task.getHandleUser()).getNickName())
;

return tAgentTaskMapper.updateTAgentTask(dbTask);
@@ -479,9 +499,9 @@ public class TAgentTaskServiceImpl implements ITAgentTaskService
}

@Override
public List<AgentTaskTownNumGroup> getUndistribTaskList(TAgentTask tAgentTask, AgentTaskTownNumGroup summary)
public List<AgentTaskNumGroup> getUndistribTaskList(TAgentTask tAgentTask, AgentTaskNumGroup summary)
{
List<AgentTaskTownNumGroup> agentTaskNumTownGroup = tAgentTaskMapper.getAgentTaskNumTownGroup(tAgentTask);
List<AgentTaskNumGroup> agentTaskNumTownGroup = tAgentTaskMapper.getAgentTaskNumTownGroup(tAgentTask);

summary.setNumVillage(0L)
.setNumBook(0L)
@@ -490,17 +510,19 @@ public class TAgentTaskServiceImpl implements ITAgentTaskService

if(CollectionUtil.isNotEmpty(agentTaskNumTownGroup))
{
summary.setNumBook(agentTaskNumTownGroup.stream().map(AgentTaskTownNumGroup::getNumBook).reduce(0L, Long::sum));
summary.setNumVillage(agentTaskNumTownGroup.stream().map(AgentTaskTownNumGroup::getNumVillage).reduce(0L, Long::sum));
summary.setAllCount(agentTaskNumTownGroup.stream().map(AgentTaskTownNumGroup::getAllCount).reduce(0L, Long::sum));
summary.setNumBook(agentTaskNumTownGroup.stream().map(AgentTaskNumGroup::getNumBook).reduce(0L, Long::sum));
summary.setNumVillage(agentTaskNumTownGroup.stream().map(AgentTaskNumGroup::getNumVillage).reduce(0L, Long::sum));
summary.setAllCount(agentTaskNumTownGroup.stream().map(AgentTaskNumGroup::getAllCount).reduce(0L, Long::sum));

List<AgentTaskTownNumGroup> agentTaskNumVillageGroup = tAgentTaskMapper.getAgentTaskNumVillageGroup(tAgentTask);
Map<String, List<AgentTaskTownNumGroup>> group = ContainerUtils.groupingBy(agentTaskNumVillageGroup, AgentTaskTownNumGroup::getTownCode);
List<AgentTaskNumGroup> agentTaskNumVillageGroup = tAgentTaskMapper.getAgentTaskNumVillageGroup(tAgentTask);
Map<String, List<AgentTaskNumGroup>> group = ContainerUtils.groupingBy(agentTaskNumVillageGroup, AgentTaskNumGroup::getTownCode);

agentTaskNumTownGroup.forEach((x) -> {
x.calcOtherCount();
x.setOtherCount(x.getAllCount() - x.getAssetCount() - x.getContracCount() - x.getVoucherCount());
x.setVillageList(group.getOrDefault(x.getTownCode(), new ArrayList<>()));
x.getVillageList().forEach(AgentTaskTownNumGroup::calcOtherCount);
x.getVillageList().forEach((y) -> {
y.setOtherCount(y.getAllCount() - y.getAssetCount() - y.getContracCount() - y.getVoucherCount());
});
});
}

@@ -508,9 +530,9 @@ public class TAgentTaskServiceImpl implements ITAgentTaskService
}

@Override
public CountyTaskSummary countyTaskSummary(TAgentTask task)
public AgentTaskSummary countyTaskSummary(TAgentTask task)
{
CountyTaskSummary res = new CountyTaskSummary();
AgentTaskSummary res = new AgentTaskSummary();

List<AgentTaskTownGroup> agentTaskNumTownGroup = tAgentTaskMapper.getAgentTaskGroupByTown(task);
res.setNumTown((long)agentTaskNumTownGroup.size());
@@ -566,9 +588,9 @@ public class TAgentTaskServiceImpl implements ITAgentTaskService
}

@Override
public CountyTaskSummary countyProcessingTaskSummary(TAgentTask task)
public AgentTaskSummary countyProcessingTaskSummary(TAgentTask task)
{
CountyTaskSummary res = new CountyTaskSummary();
AgentTaskSummary res = new AgentTaskSummary();

task.setAgentStatus(TAgentTask.AGENT_STATUS_PROCESSING);
List<AgentTaskTownGroup> agentTaskNumTownGroup = tAgentTaskMapper.getAgentTaskGroupByTown(task);
@@ -581,4 +603,50 @@ public class TAgentTaskServiceImpl implements ITAgentTaskService

return res;
}

@Override
public List<AgentTaskNumGroup> getAuditingTaskList(TAgentTask tAgentTask)
{
tAgentTask.setAgentStatus(TAgentTask.AGENT_STATUS_FINISHED);
List<AgentTaskNumGroup> villageGroups = tAgentTaskMapper.getAgentTaskNumVillageGroup(tAgentTask);

if(CollectionUtil.isNotEmpty(villageGroups))
{
List<String> orgCodeList = ContainerUtils.mapToList(villageGroups, AgentTaskNumGroup::getOrgCode);

TAgentTask agentTaskCond = new TAgentTask();
agentTaskCond.setAgentStatus(TAgentTask.AGENT_STATUS_FINISHED);
agentTaskCond.putParam("orgCodeList", orgCodeList);
List<TAgentTask> tAgentTasks = tAgentTaskMapper.selectTAgentTaskList(agentTaskCond);
Map<String, List<TAgentTask>> bookGroup = ContainerUtils.groupingBy(tAgentTasks, TAgentTask::getOrgCode);

villageGroups.forEach((village) -> {
if(StringUtils.isNotEmpty(village.getHandleDate()))
village.setHandleDate(DateUtils.date(village.getHandleDate(), "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd"));
if(StringUtils.isNotEmpty(village.getDistriDate()))
village.setDistriDate(DateUtils.date(village.getDistriDate(), "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd"));
village.setupOverdueFinish();
village.setOtherCount(village.getAllCount() - village.getContracCount() - village.getVoucherCount());
village.setTaskList(bookGroup.getOrDefault(village.getOrgCode(), new ArrayList<>()));
village.getTaskList().forEach((x) -> {
x.setOtherCount(x.getAllCount() - x.getVoucherCount() - x.getContracCount());
});
});
}
return villageGroups;
}

@Override
public AgentTaskSummary auditTaskSummary(TAgentTask task)
{
AgentTaskSummary res = new AgentTaskSummary();

task.setAgentStatus(TAgentTask.AGENT_STATUS_FINISHED);
AgentTaskTownGroup summary = tAgentTaskMapper.getAgentTaskTownSummary(task);
res.setNumVillage(summary.getNumVillage())
.setNumBook(summary.getNum())
;

return res;
}
}

ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/vo/CountyTaskSummary.java → ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/vo/AgentTaskSummary.java Parādīt failu

@@ -5,7 +5,7 @@ import lombok.experimental.Accessors;

@Data
@Accessors(chain = true)
public class CountyTaskSummary
public class AgentTaskSummary
{
private Long numTown;
private Long numBook;

+ 30
- 0
ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/vo/TaskAllAudit.java Parādīt failu

@@ -0,0 +1,30 @@
package com.ruoyi.agentcenter.vo;

import cn.hutool.core.bean.BeanUtil;
import com.ruoyi.agentcenter.domain.TAgentTask;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;

@Data
@Accessors(chain = true)
public class TaskAllAudit
{
@NotEmpty(message = "年不能为空")
private String orderYear;
@NotEmpty(message = "月不能为空")
private String orderMonth;
@NotBlank(message = "县地区不能为空")
private String countyCode;
private String townCode;

private String auditUser;
private String agentCenter;

public TAgentTask toAgentTask()
{
return BeanUtil.copyProperties(this, TAgentTask.class);
}
}

+ 21
- 0
ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/vo/TaskAudit.java Parādīt failu

@@ -0,0 +1,21 @@
package com.ruoyi.agentcenter.vo;

import cn.hutool.core.bean.BeanUtil;
import com.ruoyi.agentcenter.domain.TAgentTask;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Date;

@Data
@Accessors(chain = true)
public class TaskAudit
{
@NotEmpty(message = "任务ID不能为空")
private Long[] taskIds;

private String auditUser;
private String agentCenter;
}

+ 1
- 0
ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/vo/TaskDistrib.java Parādīt failu

@@ -26,6 +26,7 @@ public class TaskDistrib
private String orderMonth;

private String distriUser;
private String agentCenter;

@Data
@Accessors(chain = true)


+ 2
- 0
ruoyi-agentcenter/src/main/java/com/ruoyi/agentcenter/vo/TaskRevoke.java Parādīt failu

@@ -19,6 +19,8 @@ public class TaskRevoke
@NotBlank(message = "村不能为空")
private String orgCode;

private String agentCenter;

public TAgentTask toAgentTask()
{
return BeanUtil.copyProperties(this, TAgentTask.class);


+ 72
- 26
ruoyi-agentcenter/src/main/resources/mapper/agentcenter/TAgentTaskMapper.xml Parādīt failu

@@ -34,7 +34,6 @@
<result property="auditUser" column="audit_user" />
<result property="auditNick" column="audit_nick" />
<result property="auditDate" column="audit_date" />
<result property="isAudit" column="is_audit" />
<result property="appraiseUser" column="appraise_user" />
<result property="appraiseNick" column="appraise_nick" />
<result property="appraiseScore" column="appraise_score" />
@@ -50,7 +49,7 @@
</resultMap>

<sql id="selectTAgentTaskVo">
select id, agent_center, county_code, county_name, town_code, town_name, org_code, org_name, book_id, book_name, order_year, order_month, voucher_count, contrac_count, asset_count, all_count, finish_count, agent_status, distri_user, distri_nick, distri_date, end_at, handle_user, handle_nick, handle_remark, handle_date, audit_user, audit_nick, audit_date, is_audit, appraise_user, appraise_nick, appraise_score, appraise_remark, is_appraise, create_by, create_time, update_by, update_time, abnormal_count from t_agent_task
select id, agent_center, county_code, county_name, town_code, town_name, org_code, org_name, book_id, book_name, order_year, order_month, voucher_count, contrac_count, asset_count, all_count, finish_count, agent_status, distri_user, distri_nick, distri_date, end_at, handle_user, handle_nick, handle_remark, handle_date, audit_user, audit_nick, audit_date, appraise_user, appraise_nick, appraise_score, appraise_remark, is_appraise, create_by, create_time, update_by, update_time, abnormal_count from t_agent_task
</sql>

<select id="selectTAgentTaskList" parameterType="TAgentTask" resultMap="TAgentTaskResult">
@@ -84,7 +83,6 @@
<if test="auditUser != null and auditUser != ''"> and audit_user = #{auditUser}</if>
<if test="auditNick != null and auditNick != ''"> and audit_nick = #{auditNick}</if>
<if test="auditDate != null "> and audit_date = #{auditDate}</if>
<if test="isAudit != null and isAudit != ''"> and is_audit = #{isAudit}</if>
<if test="appraiseUser != null and appraiseUser != ''"> and appraise_user = #{appraiseUser}</if>
<if test="appraiseNick != null and appraiseNick != ''"> and appraise_nick = #{appraiseNick}</if>
<if test="appraiseScore != null "> and appraise_score = #{appraiseScore}</if>
@@ -97,6 +95,9 @@
<if test="params.agentStatusList != null">
AND agent_status IN (null <foreach collection="params.agentStatusList" item="i">,#{i}</foreach> )
</if>
<if test="params.idList != null">
AND id IN (null <foreach collection="params.idList" item="i">,#{i}</foreach> )
</if>
</if>
</where>
</select>
@@ -137,7 +138,6 @@
<if test="auditUser != null">audit_user,</if>
<if test="auditNick != null">audit_nick,</if>
<if test="auditDate != null">audit_date,</if>
<if test="isAudit != null">is_audit,</if>
<if test="appraiseUser != null">appraise_user,</if>
<if test="appraiseNick != null">appraise_nick,</if>
<if test="appraiseScore != null">appraise_score,</if>
@@ -178,7 +178,6 @@
<if test="auditUser != null">#{auditUser},</if>
<if test="auditNick != null">#{auditNick},</if>
<if test="auditDate != null">#{auditDate},</if>
<if test="isAudit != null">#{isAudit},</if>
<if test="appraiseUser != null">#{appraiseUser},</if>
<if test="appraiseNick != null">#{appraiseNick},</if>
<if test="appraiseScore != null">#{appraiseScore},</if>
@@ -224,7 +223,6 @@
audit_user,
audit_nick,
audit_date,
is_audit,
appraise_user,
appraise_nick,
appraise_score,
@@ -267,7 +265,6 @@
#{item.auditUser},
#{item.auditNick},
#{item.auditDate},
#{item.isAudit},
#{item.appraiseUser},
#{item.appraiseNick},
#{item.appraiseScore},
@@ -313,7 +310,6 @@
<if test="auditUser != null">audit_user = #{auditUser},</if>
<if test="auditNick != null">audit_nick = #{auditNick},</if>
<if test="auditDate != null">audit_date = #{auditDate},</if>
<if test="isAudit != null">is_audit = #{isAudit},</if>
<if test="appraiseUser != null">appraise_user = #{appraiseUser},</if>
<if test="appraiseNick != null">appraise_nick = #{appraiseNick},</if>
<if test="appraiseScore != null">appraise_score = #{appraiseScore},</if>
@@ -361,7 +357,6 @@
<if test="item.auditUser != null">audit_user = #{item.auditUser},</if>
<if test="item.auditNick != null">audit_nick = #{item.auditNick},</if>
<if test="item.auditDate != null">audit_date = #{item.auditDate},</if>
<if test="item.isAudit != null">is_audit = #{item.isAudit},</if>
<if test="item.appraiseUser != null">appraise_user = #{item.appraiseUser},</if>
<if test="item.appraiseNick != null">appraise_nick = #{item.appraiseNick},</if>
<if test="item.appraiseScore != null">appraise_score = #{item.appraiseScore},</if>
@@ -420,7 +415,6 @@
<if test="auditUser != null and auditUser != ''"> and audit_user = #{auditUser}</if>
<if test="auditNick != null and auditNick != ''"> and audit_nick = #{auditNick}</if>
<if test="auditDate != null "> and audit_date = #{auditDate}</if>
<if test="isAudit != null and isAudit != ''"> and is_audit = #{isAudit}</if>
<if test="appraiseUser != null and appraiseUser != ''"> and appraise_user = #{appraiseUser}</if>
<if test="appraiseNick != null and appraiseNick != ''"> and appraise_nick = #{appraiseNick}</if>
<if test="appraiseScore != null "> and appraise_score = #{appraiseScore}</if>
@@ -462,7 +456,6 @@
<if test="auditUser != null and auditUser != ''"> and audit_user = #{auditUser}</if>
<if test="auditNick != null and auditNick != ''"> and audit_nick = #{auditNick}</if>
<if test="auditDate != null "> and audit_date = #{auditDate}</if>
<if test="isAudit != null and isAudit != ''"> and is_audit = #{isAudit}</if>
<if test="appraiseUser != null and appraiseUser != ''"> and appraise_user = #{appraiseUser}</if>
<if test="appraiseNick != null and appraiseNick != ''"> and appraise_nick = #{appraiseNick}</if>
<if test="appraiseScore != null "> and appraise_score = #{appraiseScore}</if>
@@ -504,7 +497,6 @@
<if test="auditUser != null and auditUser != ''"> and audit_user = #{auditUser}</if>
<if test="auditNick != null and auditNick != ''"> and audit_nick = #{auditNick}</if>
<if test="auditDate != null "> and audit_date = #{auditDate}</if>
<if test="isAudit != null and isAudit != ''"> and is_audit = #{isAudit}</if>
<if test="appraiseUser != null and appraiseUser != ''"> and appraise_user = #{appraiseUser}</if>
<if test="appraiseNick != null and appraiseNick != ''"> and appraise_nick = #{appraiseNick}</if>
<if test="appraiseScore != null "> and appraise_score = #{appraiseScore}</if>
@@ -551,7 +543,7 @@
COUNT(*) as num,
COUNT(DISTINCT org_code) as num_village,
COUNT(*) = SUM(IF(agent_status = '3' OR agent_status = '4', 1, 0)) as num_process_finish,
COUNT(*) = SUM(IF(is_audit = 'Y', 1, 0)) as num_approval_finish,
COUNT(*) = SUM(IF(agent_status = '4', 1, 0)) as num_approval_finish,
town_name, town_code,
order_year, order_month,
IFNULL(SUM(IF(abnormal_count > 0, 1, 0)), 0) as num_except
@@ -569,6 +561,24 @@
ORDER BY town_code
</select>

<select id="getAgentTaskTownSummary" parameterType="TAgentTask" resultMap="AgentTaskTownGroupResultMap">
SELECT
COUNT(*) as num,
COUNT(DISTINCT org_code) as num_village,
town_name, town_code,
order_year, order_month
FROM
t_agent_task
<where>
<if test="agentCenter != null and agentCenter != ''"> and agent_center = #{agentCenter}</if>
<if test="countyCode != null and countyCode != ''"> and county_code = #{countyCode}</if>
<if test="townCode != null and townCode != ''"> and town_code = #{townCode}</if>
<if test="orderYear != null and orderYear != ''"> and order_year = #{orderYear}</if>
<if test="orderMonth != null and orderMonth != ''"> and order_month = #{orderMonth}</if>
<if test="agentStatus != null and agentStatus != ''"> and agent_status = #{agentStatus}</if>
</where>
</select>

<resultMap id="AgentTaskVillageGroupResultMap" type="com.ruoyi.agentcenter.dto.AgentTaskVillageGroup">
<result property="num" column="num"/>
<result property="numProcessFinish" column="num_process_finish"/>
@@ -594,7 +604,7 @@
SELECT
COUNT(*) as num,
IFNULL(SUM(IF(agent_status = '3' OR agent_status = '4', 1, 0)), 0) as num_process_finish,
IFNULL(SUM(IF(is_audit = 'Y', 1, 0)), 0) as num_approval_finish,
IFNULL(SUM(IF(agent_status = '4', 1, 0)), 0) as num_approval_finish,
org_name, org_code, town_code,
MAX(end_at) as end_at, MAX(handle_date) as handle_date, MAX(distri_date) as distri_date, handle_nick,
IFNULL(SUM(abnormal_count), 0) as num_except,
@@ -623,7 +633,7 @@
SELECT
COUNT(*) as num,
IFNULL(SUM(IF(agent_status = '3' OR agent_status = '4', 1, 0)), 0) as num_process_finish,
IFNULL(SUM(IF(is_audit = 'Y', 1, 0)), 0) as num_approval_finish,
IFNULL(SUM(IF(agent_status = '4', 1, 0)), 0) as num_approval_finish,
org_name, org_code, town_code,
IFNULL(SUM(abnormal_count), 0) as num_except
FROM
@@ -646,8 +656,8 @@
<select id="getProcessedAgentTaskGroupByVillage" parameterType="TAgentTask" resultMap="AgentTaskVillageGroupResultMap">
SELECT
COUNT(*) as num,
IFNULL(SUM(IF(is_audit != 'Y', 1, 0)), 0) as num_not_approval,
IFNULL(SUM(IF(is_audit = 'Y', 1, 0)), 0) as num_approval_finish,
IFNULL(SUM(IF(agent_status = '3', 1, 0)), 0) as num_not_approval,
IFNULL(SUM(IF(agent_status = '4', 1, 0)), 0) as num_approval_finish,
org_name, org_code, town_code,
MAX(end_at) as end_at, MAX(handle_date) as handle_date, MAX(distri_date) as distri_date, GROUP_CONCAT(DISTINCT audit_nick) as handle_nick
FROM
@@ -692,7 +702,7 @@
</select>

<select id="getTAgentTaskProcessedList" parameterType="TAgentTask" resultMap="TAgentTaskResult">
select id, agent_center, county_code, county_name, town_code, town_name, org_code, org_name, book_id, book_name, order_year, order_month, voucher_count, contrac_count, asset_count, all_count, finish_count, agent_status, distri_user, distri_nick, distri_date, end_at, handle_user, handle_nick, handle_remark, handle_date, audit_user, audit_nick, audit_date, is_audit, appraise_user, appraise_nick, appraise_score, appraise_remark, is_appraise, create_by, create_time, update_by, update_time
select id, agent_center, county_code, county_name, town_code, town_name, org_code, org_name, book_id, book_name, order_year, order_month, voucher_count, contrac_count, asset_count, all_count, finish_count, agent_status, distri_user, distri_nick, distri_date, end_at, handle_user, handle_nick, handle_remark, handle_date, audit_user, audit_nick, audit_date, appraise_user, appraise_nick, appraise_score, appraise_remark, is_appraise, create_by, create_time, update_by, update_time
, IF(LEFT(handle_date, 10) > end_at, 1, 0) as overdue
from t_agent_task
<where>
@@ -703,7 +713,6 @@
<if test="orgCode != null and orgCode != ''"> and org_code = #{orgCode}</if>
<if test="orderYear != null and orderYear != ''"> and order_year = #{orderYear}</if>
<if test="orderMonth != null and orderMonth != ''"> and order_month = #{orderMonth}</if>
<if test="isAudit != null and isAudit != ''"> and is_audit = #{isAudit}</if>
<if test="isAppraise != null and isAppraise != ''"> and is_appraise = #{isAppraise}</if>
<if test="params != null">
<if test="params.orgCodeList != null">
@@ -734,7 +743,7 @@
GROUP BY handle_user
</select>

<resultMap id="AgentTaskTownNumGroupResultMap" type="com.ruoyi.agentcenter.dto.AgentTaskTownNumGroup">
<resultMap id="AgentTaskNumGroupResultMap" type="com.ruoyi.agentcenter.dto.AgentTaskNumGroup">
<result property="numVillage" column="num_village"/>
<result property="numBook" column="num_book"/>
<result property="voucherCount" column="voucher_count"/>
@@ -747,9 +756,12 @@
<result property="orgName" column="org_name"/>
<result property="orgCode" column="org_code"/>
<result property="endAt" column="end_at"/>
<result property="distriDate" column="distri_date"/>
<result property="handleDate" column="handle_date"/>
<result property="handleNick" column="handle_nick"/>
</resultMap>

<select id="getAgentTaskNumTownGroup" parameterType="TAgentTask" resultMap="AgentTaskTownNumGroupResultMap">
<select id="getAgentTaskNumTownGroup" parameterType="TAgentTask" resultMap="AgentTaskNumGroupResultMap">
SELECT
COUNT(*) as num_book,
COUNT(DISTINCT org_code) as num_village,
@@ -772,7 +784,7 @@
ORDER BY town_code
</select>

<select id="getAgentTaskNumVillageGroup" parameterType="TAgentTask" resultMap="AgentTaskTownNumGroupResultMap">
<select id="getAgentTaskNumVillageGroup" parameterType="TAgentTask" resultMap="AgentTaskNumGroupResultMap">
SELECT
COUNT(*) as num_book,
COUNT(DISTINCT org_code) as num_village,
@@ -780,7 +792,7 @@
IFNULL(SUM(contrac_count), 0) as contrac_count,
IFNULL(SUM(all_count), 0) as all_count,
IFNULL(SUM(asset_count), 0) as asset_count,
MAX(end_at) as end_at,
MAX(end_at) as end_at, MAX(distri_date) as distri_date, MAX(handle_date) as handle_date, GROUP_CONCAT(DISTINCT handle_nick) as handle_nick,
org_name, org_code,
town_name, town_code
FROM
@@ -794,7 +806,7 @@
<if test="orderMonth != null and orderMonth != ''"> and order_month = #{orderMonth}</if>
</where>
GROUP BY org_code
ORDER BY org_code
ORDER BY town_code, org_code
</select>

<update id="revokeAgentTaskByOrgCode" parameterType="TAgentTask">
@@ -812,11 +824,45 @@
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where
org_code = #{orgCode}
<where>
<if test="agentCenter != null and agentCenter != ''"> and agent_center = #{agentCenter}</if>
and org_code = #{orgCode}
and order_year = #{orderYear}
and order_month = #{orderMonth}
and agent_status = '2'
</where>
</update>

<update id="auditAgentTask" parameterType="TAgentTask">
update t_agent_task
<trim prefix="SET" suffixOverrides=",">
agent_status = '4',
audit_user = #{auditUser},
audit_nick = #{auditNick},
audit_date = #{auditDate},
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
<where>
<if test="agentCenter != null and agentCenter != ''"> and agent_center = #{agentCenter}</if>
<choose>
<when test="countyCode != null and countyCode != ''">
AND county_code = #{countyCode}
</when>
<when test="orgCode != null and orgCode != ''">
AND org_code = #{orgCode}
</when>
<when test="townCode != null and townCode != ''">
AND town_code = #{townCode}
</when>
<otherwise>
1 = 2
</otherwise>
</choose>
and order_year = #{orderYear}
and order_month = #{orderMonth}
and agent_status = '3'
</where>
</update>

</mapper>

+ 88
- 0
ruoyi-common/src/main/java/com/ruoyi/common/utils/ARG.java Parādīt failu

@@ -0,0 +1,88 @@
package com.ruoyi.common.utils;

import java.util.stream.Stream;

public final class ARG<T>
{
private T[] args;
public ARG(T...args)
{
this.args = args;
}

public int argc()
{
return Argc((Object[]) args);
}

@SuppressWarnings("unchecked")
public T argv(int i, T...defValue)
{
return (T)Argv(i, (T)First((Object[]) defValue));
}

public Stream<T> stream(T...args)
{
return Stream.of(args);
}

public static int Argc(Object...args)
{
return null != args ? args.length : 0;
}

public static Object Argv(int i, Object...args)
{
return Argv_def(i, null, args);
}

public static Object Argv_def(int i, Object defValue, Object...args)
{
int argc = Argc(args);
int index = i < 0 ? argc + i : i;
if(index >= argc)
throw new RuntimeException(String.format("Argv: index(%d) >= argc(%d)", index, argc));
Object ret = args[index];
return null != ret ? ret : defValue;
}

public static Object First(Object...args)
{
return Argv(0, args);
}

public static Object First_def(Object defValue, Object...args)
{
return Argv_def(0, null, args);
}

public static Stream<Object> Stream(Object...args)
{
return Stream.of(args);
}

public static <T> T ArgvT_def(int i, T defValue, T...args)
{
int argc = Argc((Object[]) args);
int index = i < 0 ? argc + i : i;
if(index >= argc)
throw new RuntimeException(String.format("Argv: index(%d) >= argc(%d)", index, argc));
T ret = args[index];
return null != ret ? ret : defValue;
}

public static <T> T FirstT(T...args)
{
return ArgvT_def(0, null, args);
}

public static <T> T FirstT_def(T defValue, T...args)
{
return ArgvT_def(0, defValue, args);
}

public static <T> Stream<T> StreamT(T...args)
{
return Stream.of(args);
}
}

+ 51
- 0
ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java Parādīt failu

@@ -9,6 +9,8 @@ import java.time.LocalTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.Date;

import cn.hutool.core.date.DateUtil;
import org.apache.commons.lang3.time.DateFormatUtils;

/**
@@ -188,4 +190,53 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
return Date.from(zdt.toInstant());
}

public static String yyyy(Date...date)
{
Date d = ARG.FirstT_def(new Date(), date);
return DateUtil.format(d, "yyyy");
}

public static String yyyy_MM(Date...date)
{
Date d = ARG.FirstT_def(new Date(), date);
return DateUtil.format(d, "yyyy-MM");
}

public static String yyyy_MM_dd(Date...date)
{
Date d = ARG.FirstT_def(new Date(), date);
return DateUtil.format(d, "yyyy-MM-dd");
}

public static String yyyy_MM_dd_HH_mm_ss(Date...date)
{
Date d = ARG.FirstT_def(new Date(), date);
return DateUtil.format(d, "yyyy-MM-dd HH:mm:ss");
}

public static Date yyyy(String str)
{
return DateUtil.parse(str, "yyyy");
}

public static Date yyyy_MM(String str)
{
return DateUtil.parse(str, "yyyy-MM");
}

public static Date yyyy_MM_dd(String str)
{
return DateUtil.parse(str, "yyyy-MM-dd");
}

public static Date yyyy_MM_dd_HH_mm_ss(String str)
{
return DateUtil.parse(str, "yyyy-MM-dd HH:mm:ss");
}

public static String date(String src, String srcFormat, String dstFormat)
{
return DateUtil.format(DateUtil.parse(src, srcFormat), dstFormat);
}
}

Notiek ielāde…
Atcelt
Saglabāt