Commit 684979bc by fudahua

待办-待办任务

parent 3297d312
...@@ -59,6 +59,10 @@ public class PendingTaskDetailDTO implements Serializable { ...@@ -59,6 +59,10 @@ public class PendingTaskDetailDTO implements Serializable {
*/ */
private Integer statusFlag; private Integer statusFlag;
private Integer finishFlag;
private Integer overdueFlag;
/** /**
* 创建时间 * 创建时间
*/ */
...@@ -69,6 +73,22 @@ public class PendingTaskDetailDTO implements Serializable { ...@@ -69,6 +73,22 @@ public class PendingTaskDetailDTO implements Serializable {
*/ */
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public Integer getFinishFlag() {
return finishFlag;
}
public void setFinishFlag(Integer finishFlag) {
this.finishFlag = finishFlag;
}
public Integer getOverdueFlag() {
return overdueFlag;
}
public void setOverdueFlag(Integer overdueFlag) {
this.overdueFlag = overdueFlag;
}
public String getEnterpriseId() { public String getEnterpriseId() {
return enterpriseId; return enterpriseId;
} }
......
package com.gic.haoban.manage.api.enums;
/**
* Created by hua on 2021/12/16.
*/
public enum PendingStatusFlagEnum {
NORMAL(1, "正常"),
OVERDUE(2, "逾期"),
INVALID(3, "逾期失效");
private int type;
private String name;
PendingStatusFlagEnum(int type, String name) {
this.type = type;
this.name = name;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
...@@ -40,4 +40,38 @@ public interface PendingTaskApiService { ...@@ -40,4 +40,38 @@ public interface PendingTaskApiService {
*/ */
public ServiceResponse<List<PendingTaskDetailDTO>> listPendingTaskToday(String enterpriseId, String storeId, String clerkId, boolean seeSelf); public ServiceResponse<List<PendingTaskDetailDTO>> listPendingTaskToday(String enterpriseId, String storeId, String clerkId, boolean seeSelf);
/**
* 完成任务
*
* @param relationId
* @return
*/
public ServiceResponse<Boolean> finishPending(String relationId);
/**
* 变更执行人
*
* @param relationId
* @param newExeutiveClerkId
* @return
*/
public ServiceResponse<Boolean> changeExecutiveClerkId(String relationId, String newExeutiveClerkId);
/**
* 在完成的同时更新执行人
*
* @param relationId
* @param newExeutiveClerkId
* @return
*/
public ServiceResponse<Boolean> changeExecutiveClerkAndFinishStatus(String relationId, String newExeutiveClerkId);
/**
* 删除执行人
*
* @param relationIds
* @return
*/
public ServiceResponse<Boolean> deletePendingTask(List<String> relationIds);
} }
...@@ -66,4 +66,16 @@ public interface PendingTaskMapper { ...@@ -66,4 +66,16 @@ public interface PendingTaskMapper {
public List<TabPendingTask> listPendingTaskByCreateTime(@Param("enterpriseId") String enterpriseId, @Param("storeId") String storeId, @Param("clerkId") String clerkId, public List<TabPendingTask> listPendingTaskByCreateTime(@Param("enterpriseId") String enterpriseId, @Param("storeId") String storeId, @Param("clerkId") String clerkId,
@Param("startDate") String startDate, @Param("endDate") String endDate); @Param("startDate") String startDate, @Param("endDate") String endDate);
/**
* 分页查询待办任务表
*
* @param enterpriseId 企业id
* @param storeId 门店id
* @param clerkId 导购id
* @param startDate
* @param endDate
* @return
*/
public int deleteByRelationIds(@Param("enterpriseId") String enterpriseId, @Param("relationIds") List<String> relationIds);
} }
\ No newline at end of file
...@@ -46,5 +46,13 @@ public interface PendingTaskService { ...@@ -46,5 +46,13 @@ public interface PendingTaskService {
*/ */
public List<PendingTaskBO> listPendingTaskByCreateTime(String enterpriseId, String storeId, String clerkId, String startDate, String endDate); public List<PendingTaskBO> listPendingTaskByCreateTime(String enterpriseId, String storeId, String clerkId, String startDate, String endDate);
/**
* 删除执行人列表
*
* @param relationIds
* @return
*/
public boolean deletePendingTask(List<String> relationIds);
} }
...@@ -9,6 +9,7 @@ import com.gic.haoban.manage.service.entity.TabPendingTask; ...@@ -9,6 +9,7 @@ import com.gic.haoban.manage.service.entity.TabPendingTask;
import com.gic.haoban.manage.service.pojo.BO.PendingTaskBO; import com.gic.haoban.manage.service.pojo.BO.PendingTaskBO;
import com.gic.haoban.manage.service.service.notify.PendingTaskService; import com.gic.haoban.manage.service.service.notify.PendingTaskService;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -54,4 +55,12 @@ public class PendingTaskServiceImpl implements PendingTaskService { ...@@ -54,4 +55,12 @@ public class PendingTaskServiceImpl implements PendingTaskService {
return EntityUtil.changeEntityListByJSON(PendingTaskBO.class, tabPendingTasks); return EntityUtil.changeEntityListByJSON(PendingTaskBO.class, tabPendingTasks);
} }
@Override
public boolean deletePendingTask(List<String> relationIds) {
if (CollectionUtils.isEmpty(relationIds)) {
return true;
}
pendingTaskMapper.deleteByRelationIds(null, relationIds);
return true;
}
} }
...@@ -9,6 +9,7 @@ import com.gic.haoban.manage.api.dto.notify.dto.PendingTaskDTO; ...@@ -9,6 +9,7 @@ import com.gic.haoban.manage.api.dto.notify.dto.PendingTaskDTO;
import com.gic.haoban.manage.api.dto.notify.dto.PendingTaskDetailDTO; import com.gic.haoban.manage.api.dto.notify.dto.PendingTaskDetailDTO;
import com.gic.haoban.manage.api.dto.notify.qdto.PendingListQDTO; import com.gic.haoban.manage.api.dto.notify.qdto.PendingListQDTO;
import com.gic.haoban.manage.api.dto.notify.qdto.PendingTaskQDTO; import com.gic.haoban.manage.api.dto.notify.qdto.PendingTaskQDTO;
import com.gic.haoban.manage.api.enums.PendingStatusFlagEnum;
import com.gic.haoban.manage.api.enums.PendingTaskTypeEnum; import com.gic.haoban.manage.api.enums.PendingTaskTypeEnum;
import com.gic.haoban.manage.api.service.notify.PendingTaskApiService; import com.gic.haoban.manage.api.service.notify.PendingTaskApiService;
import com.gic.haoban.manage.service.pojo.BO.PendingTaskBO; import com.gic.haoban.manage.service.pojo.BO.PendingTaskBO;
...@@ -34,7 +35,7 @@ public class PendingTaskApiServiceImpl implements PendingTaskApiService { ...@@ -34,7 +35,7 @@ public class PendingTaskApiServiceImpl implements PendingTaskApiService {
@Override @Override
public void addPendingTask(PendingTaskQDTO qdto) { public void addPendingTask(PendingTaskQDTO qdto) {
//新增待办 //新增待办 todo 后续优化以及完善
pendingTaskService.addOrUpdatePendingTask(EntityUtil.changeEntityByOrika(PendingTaskBO.class, qdto)); pendingTaskService.addOrUpdatePendingTask(EntityUtil.changeEntityByOrika(PendingTaskBO.class, qdto));
} }
...@@ -48,13 +49,21 @@ public class PendingTaskApiServiceImpl implements PendingTaskApiService { ...@@ -48,13 +49,21 @@ public class PendingTaskApiServiceImpl implements PendingTaskApiService {
if (CollectionUtils.isEmpty(retPage.getResult())) { if (CollectionUtils.isEmpty(retPage.getResult())) {
return ServiceResponse.success(retPage); return ServiceResponse.success(retPage);
} }
retPage.getResult().forEach(dto -> { buildPending(retPage.getResult());
return ServiceResponse.success(retPage);
}
private void buildPending(List<PendingTaskDetailDTO> list) {
list.forEach(dto -> {
String title = dto.getTitle(); String title = dto.getTitle();
PendingTaskTypeEnum taskTypeEnum = PendingTaskTypeEnum.getByType(dto.getTaskType()); PendingTaskTypeEnum taskTypeEnum = PendingTaskTypeEnum.getByType(dto.getTaskType());
if (null == taskTypeEnum) {
return;
}
dto.setDescription(taskTypeEnum.getDescription().replace("{}", title)); dto.setDescription(taskTypeEnum.getDescription().replace("{}", title));
dto.setStatusFlag(dto.getOverdueFlag() == 1 ? PendingStatusFlagEnum.OVERDUE.getType() : PendingStatusFlagEnum.NORMAL.getType());
dto.setTitle(taskTypeEnum.getName()); dto.setTitle(taskTypeEnum.getName());
}); });
return ServiceResponse.success(retPage);
} }
@Override @Override
...@@ -67,12 +76,41 @@ public class PendingTaskApiServiceImpl implements PendingTaskApiService { ...@@ -67,12 +76,41 @@ public class PendingTaskApiServiceImpl implements PendingTaskApiService {
if (CollectionUtils.isEmpty(retList)) { if (CollectionUtils.isEmpty(retList)) {
return ServiceResponse.success(retList); return ServiceResponse.success(retList);
} }
retList.forEach(dto -> { buildPending(retList);
String title = dto.getTitle();
PendingTaskTypeEnum taskTypeEnum = PendingTaskTypeEnum.getByType(dto.getTaskType());
dto.setDescription(taskTypeEnum.getDescription().replace("{}", title));
dto.setTitle(taskTypeEnum.getName());
});
return ServiceResponse.success(retList); return ServiceResponse.success(retList);
} }
@Override
public ServiceResponse<Boolean> finishPending(String relationId) {
PendingTaskBO pendingTaskBO = new PendingTaskBO();
pendingTaskBO.setRelationId(relationId);
pendingTaskBO.setFinishFlag(1);
boolean b = pendingTaskService.addOrUpdatePendingTask(pendingTaskBO);
return ServiceResponse.success(b);
}
@Override
public ServiceResponse<Boolean> changeExecutiveClerkId(String relationId, String newExeutiveClerkId) {
PendingTaskBO pendingTaskBO = new PendingTaskBO();
pendingTaskBO.setRelationId(relationId);
pendingTaskBO.setClerkId(newExeutiveClerkId);
boolean b = pendingTaskService.addOrUpdatePendingTask(pendingTaskBO);
return ServiceResponse.success(b);
}
@Override
public ServiceResponse<Boolean> changeExecutiveClerkAndFinishStatus(String relationId, String newExeutiveClerkId) {
PendingTaskBO pendingTaskBO = new PendingTaskBO();
pendingTaskBO.setRelationId(relationId);
pendingTaskBO.setClerkId(newExeutiveClerkId);
pendingTaskBO.setFinishFlag(1);
boolean b = pendingTaskService.addOrUpdatePendingTask(pendingTaskBO);
return ServiceResponse.success(b);
}
@Override
public ServiceResponse<Boolean> deletePendingTask(List<String> relationIds) {
boolean b = pendingTaskService.deletePendingTask(relationIds);
return ServiceResponse.success(b);
}
} }
...@@ -274,4 +274,15 @@ ...@@ -274,4 +274,15 @@
</if> </if>
order by create_time desc limit 20 order by create_time desc limit 20
</select> </select>
<update id="deleteByRelationIds">
update tab_haoban_pending_task
set
delete_flag = 1,
update_time = now()
where relation_id in
<foreach collection="relationIds" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</update>
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment