@@ -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)); | |||
} | |||
} |
@@ -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; | |||
@@ -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); | |||
} | |||
} |
@@ -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; | |||
} | |||
} |
@@ -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); | |||
} |
@@ -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); | |||
} |
@@ -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; | |||
} | |||
} |
@@ -5,7 +5,7 @@ import lombok.experimental.Accessors; | |||
@Data | |||
@Accessors(chain = true) | |||
public class CountyTaskSummary | |||
public class AgentTaskSummary | |||
{ | |||
private Long numTown; | |||
private Long numBook; |
@@ -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); | |||
} | |||
} |
@@ -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; | |||
} |
@@ -26,6 +26,7 @@ public class TaskDistrib | |||
private String orderMonth; | |||
private String distriUser; | |||
private String agentCenter; | |||
@Data | |||
@Accessors(chain = true) | |||
@@ -19,6 +19,8 @@ public class TaskRevoke | |||
@NotBlank(message = "村不能为空") | |||
private String orgCode; | |||
private String agentCenter; | |||
public TAgentTask toAgentTask() | |||
{ | |||
return BeanUtil.copyProperties(this, TAgentTask.class); | |||
@@ -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> |
@@ -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); | |||
} | |||
} |
@@ -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); | |||
} | |||
} |