新增记账完成时间和任务时间搜索

This commit is contained in:
mx 2025-01-02 16:17:25 +08:00
parent 66bd0f7991
commit 91315492f3
10 changed files with 70 additions and 22 deletions

View File

@ -47,9 +47,6 @@ spring:
username: root
password: rwWhYfCe3Tzhatep
# url: jdbc:mysql://192.168.18.119:3308/pusongplus?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
# username: root
# password: Ps123456
# url: jdbc:mysql://47.95.38.123:3306/pusongplus?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
# username: root
# password: Ps123456@

View File

@ -318,6 +318,22 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
calendar.set(Calendar.SECOND, 59);
calendar.set(Calendar.MILLISECOND, 999);
return calendar.getTime();
}
public static Date endTime(Date date) {
if (date == null){
return null;
}
// 获取当前日期的Calendar对象
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
// 将时间设置为0点0分0秒
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
calendar.set(Calendar.MILLISECOND, 999);
return calendar.getTime();
}
}

View File

@ -110,15 +110,16 @@ public class PsTaskController extends BaseController {
/**
* 主任务完成
* @param id 主任务id
* @param type 0全部完成 1仅记账任务完成
* @return
*/
@RepeatSubmit()
@Log(title = "主任务完成")
@SaCheckPermission("business:task:list")
@GetMapping("/mainFinish")
public R<Void> mainFinish(@NotNull Long id, String firstFilingTime) {
public R<Void> mainFinish(@NotNull Long id, String firstFilingTime, int type) {
Date date = DateUtils.parseDate(firstFilingTime);
contractInfoService.finish(psTaskMainService.finishMain(id, date));
contractInfoService.finish(psTaskMainService.finishMain(id, date, type));
return R.ok();
}

View File

@ -5,7 +5,9 @@ import com.pusong.common.mybatis.core.domain.BaseEntity;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.List;
/**
@ -128,4 +130,17 @@ public class PsTaskQueryBo extends BaseEntity {
*/
private String appKeyWord;
/**
* 开始时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date startDate;
/**
* 结束时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date endDate;
}

View File

@ -280,6 +280,7 @@ public class PsCompanyInfoVo implements Serializable {
/**
* 首次申报时间
*/
@JsonFormat(pattern = "yyyy-MM")
private Date firstFilingTime;
private String taskRemark;

View File

@ -16,6 +16,7 @@ public enum TaskStatusEnum {
ING("20","进行中"),
// OA("25","完成审批中"),
FINISH("30","完成"),
BILL_FINISH("35","记账任务完成"),//进入服务企业档案 30包含35
PAUSE("40","暂停"),
CANCEL("50","作废"),
CANCELAPPO("55","作废审批中")

View File

@ -105,7 +105,7 @@ public interface IPsTaskService {
* @param id 任务主键id
* @return
*/
String finishMain(Long id, Date firstFilingTime);
String finishMain(Long id, Date firstFilingTime, int type);
/**
* 子任务完成
*

View File

@ -177,9 +177,9 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
//合同未作废有回款的续费合同 合同未作废有完成主任务的
lqw.and( wrapper -> wrapper
.exists("select 1 FROM ps_contract_company cc inner join ps_contract_pay pay on pay.contract_code = cc.contract_code inner join ps_contract_info con on con.contract_code = cc.contract_code where \t\tcc.company_id = com.id and con.is_due = '1' and con.is_cancel != '03'")
.exists("select 1 FROM ps_contract_company cc inner join ps_contract_pay pay on pay.contract_code = cc.contract_code inner join ps_contract_info con on con.contract_code = cc.contract_code where cc.company_id = com.id and con.is_due = '1' and con.is_cancel != '03'")
.or()
.exists("select 1 FROM ps_task_main task inner join ps_contract_info con on con.contract_code = task.contract_code where task.service_company_id = com.id and task.del_flag = 0 and task.\t\t\t \t task_status = '30' and con.is_cancel != '03'")
.exists("select 1 FROM ps_task_main task inner join ps_contract_info con on con.contract_code = task.contract_code where task.service_company_id = com.id and task.del_flag = 0 and (task.task_status = '30' or task.task_status = '35') and con.is_cancel != '03'")
);
StringBuilder sql = new StringBuilder("select 1 from ps_contract_business cb where cb.company_id = com.id ");

View File

@ -454,11 +454,12 @@ public class PsTaskServiceImpl implements IPsTaskService {
* @param id 任务主键id
* @return
*/
public String finishMain(Long id, Date firstFilingTime){
public String finishMain(Long id, Date firstFilingTime, int type){
PsTaskMain main = baseMapper.selectById(id);
if(!TaskStatusEnum.canFinish(main.getTaskStatus())){
throw new ServiceException("此任务无法执行此操作,请刷新页面后重新操作");
}
if (type == 0){
List<PsTaskAppoint> list = appointMapper.selectList(Wrappers.<PsTaskAppoint>lambdaQuery()
.eq(PsTaskAppoint::getDelFlag,"0").eq(PsTaskAppoint::getTaskId, id)
.notIn(PsTaskAppoint::getAppointStatus, AppointStatusEnum.getEndStauts()));
@ -467,11 +468,17 @@ public class PsTaskServiceImpl implements IPsTaskService {
}
main.setTaskStatus(TaskStatusEnum.FINISH.getCode());
main.setFinishDate(new Date());
baseMapper.updateById(main);
PsContractInfoVo contract = contractInfoService.queryContractByCode(main.getContractCode());
noticeService.sendNotice(SysNoticeBo.getTaskFinishInstance(contract.getCustomManager(), contract.getPsCustomInfoVo().getCustomName()));
}else{
main.setTaskStatus(TaskStatusEnum.BILL_FINISH.getCode());
PsContractInfoVo contract = contractInfoService.queryContractByCode(main.getContractCode());
noticeService.sendNotice(SysNoticeBo.getTaskBillFinishInstance(contract.getCustomManager(), contract.getPsCustomInfoVo().getCustomName()));
}
baseMapper.updateById(main);
// QueryWrapper<PsContractCompany> queryWrapper = new QueryWrapper();
// queryWrapper.eq("id", main.getServiceCompanyId());
@ -701,8 +708,8 @@ public class PsTaskServiceImpl implements IPsTaskService {
.or()
.like("scom.company_name", bo.getAppKeyWord())
);
lqw.between(bo.getParams().get("beginTime") != null && bo.getParams().get("endTime") != null,
"main.create_time", bo.getParams().get("beginTime"), bo.getParams().get("endTime"));
lqw.between(bo.getStartDate() != null && bo.getEndDate() != null,
"main.create_time", bo.getStartDate(), DateUtils.endTime(bo.getEndDate()));
return lqw;
}

View File

@ -330,6 +330,16 @@ public class SysNoticeBo extends BaseEntity {
noticeBo.setJumpType(0);
return noticeBo;
}
public static SysNoticeBo getTaskBillFinishInstance(long uid, String coustomName){
SysNoticeBo noticeBo = new SysNoticeBo();
noticeBo.setNoticeType("1");
noticeBo.setNoticeTitle("通知");
noticeBo.setStatus("0");
noticeBo.setNoticeContent(""+ coustomName +"】的合同记账任务已完成,请确认回款是否全部完成,回传合同是否上传,冲刺收官,共创佳绩!");
noticeBo.setRecUid(uid);
noticeBo.setJumpType(0);
return noticeBo;
}
public static SysNoticeBo getFreeTaskInstance(long uid, String serviceCompanyName){
SysNoticeBo noticeBo = new SysNoticeBo();
noticeBo.setNoticeType("1");