diff --git a/pusong-admin/src/main/resources/application-dev.yml b/pusong-admin/src/main/resources/application-dev.yml index e4e6bb2..648c178 100644 --- a/pusong-admin/src/main/resources/application-dev.yml +++ b/pusong-admin/src/main/resources/application-dev.yml @@ -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@ diff --git a/pusong-common/pusong-common-core/src/main/java/com/pusong/common/core/utils/DateUtils.java b/pusong-common/pusong-common-core/src/main/java/com/pusong/common/core/utils/DateUtils.java index d43a81f..c56032b 100644 --- a/pusong-common/pusong-common-core/src/main/java/com/pusong/common/core/utils/DateUtils.java +++ b/pusong-common/pusong-common-core/src/main/java/com/pusong/common/core/utils/DateUtils.java @@ -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(); } } diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsTaskController.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsTaskController.java index ca7a106..b54146e 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsTaskController.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsTaskController.java @@ -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 mainFinish(@NotNull Long id, String firstFilingTime) { + public R 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(); } diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/bo/PsTaskQueryBo.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/bo/PsTaskQueryBo.java index 208c360..baee407 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/bo/PsTaskQueryBo.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/bo/PsTaskQueryBo.java @@ -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; + } diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsCompanyInfoVo.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsCompanyInfoVo.java index 4d0f486..edad40c 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsCompanyInfoVo.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsCompanyInfoVo.java @@ -280,6 +280,7 @@ public class PsCompanyInfoVo implements Serializable { /** * 首次申报时间 */ + @JsonFormat(pattern = "yyyy-MM") private Date firstFilingTime; private String taskRemark; diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/enums/TaskStatusEnum.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/enums/TaskStatusEnum.java index 0e5a19d..199b3fb 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/enums/TaskStatusEnum.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/enums/TaskStatusEnum.java @@ -16,6 +16,7 @@ public enum TaskStatusEnum { ING("20","进行中"), // OA("25","完成审批中"), FINISH("30","完成"), + BILL_FINISH("35","记账任务完成"),//进入服务企业档案 30包含35 PAUSE("40","暂停"), CANCEL("50","作废"), CANCELAPPO("55","作废审批中") diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/IPsTaskService.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/IPsTaskService.java index 5b63895..41bb68d 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/IPsTaskService.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/IPsTaskService.java @@ -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); /** * 子任务完成 * diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsCompanyInfoServiceImpl.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsCompanyInfoServiceImpl.java index c413e2d..fe0e91c 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsCompanyInfoServiceImpl.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsCompanyInfoServiceImpl.java @@ -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 "); diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsTaskServiceImpl.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsTaskServiceImpl.java index 3492674..da86b88 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsTaskServiceImpl.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsTaskServiceImpl.java @@ -454,25 +454,32 @@ 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("此任务无法执行此操作,请刷新页面后重新操作"); } - List list = appointMapper.selectList(Wrappers.lambdaQuery() - .eq(PsTaskAppoint::getDelFlag,"0").eq(PsTaskAppoint::getTaskId, id) - .notIn(PsTaskAppoint::getAppointStatus, AppointStatusEnum.getEndStauts())); - if(CollectionUtils.isNotEmpty(list)){ - throw new ServiceException("操作失败,子任务未完成"); + if (type == 0){ + List list = appointMapper.selectList(Wrappers.lambdaQuery() + .eq(PsTaskAppoint::getDelFlag,"0").eq(PsTaskAppoint::getTaskId, id) + .notIn(PsTaskAppoint::getAppointStatus, AppointStatusEnum.getEndStauts())); + if(CollectionUtils.isNotEmpty(list)){ + throw new ServiceException("操作失败,子任务未完成"); + } + main.setTaskStatus(TaskStatusEnum.FINISH.getCode()); + main.setFinishDate(new Date()); + + 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())); } - 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())); - - // QueryWrapper queryWrapper = new QueryWrapper(); // queryWrapper.eq("id", main.getServiceCompanyId()); PsCompanyInfo psContractCompany = new PsCompanyInfo(); @@ -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; } diff --git a/pusong-modules/pusong-system/src/main/java/com/pusong/system/domain/bo/SysNoticeBo.java b/pusong-modules/pusong-system/src/main/java/com/pusong/system/domain/bo/SysNoticeBo.java index 5c72a02..39becba 100644 --- a/pusong-modules/pusong-system/src/main/java/com/pusong/system/domain/bo/SysNoticeBo.java +++ b/pusong-modules/pusong-system/src/main/java/com/pusong/system/domain/bo/SysNoticeBo.java @@ -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");