bug
This commit is contained in:
parent
4832ff9e54
commit
aba87556be
@ -196,6 +196,16 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
|
|||||||
// 使用formatter转换LocalDate到字符串
|
// 使用formatter转换LocalDate到字符串
|
||||||
return date.format(formatter);
|
return date.format(formatter);
|
||||||
}
|
}
|
||||||
|
public static String toString(Date date, String from){
|
||||||
|
if (date == null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
// 创建一个DateTimeFormatter实例来定义日期格式
|
||||||
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(from);
|
||||||
|
|
||||||
|
// 使用formatter转换LocalDate到字符串
|
||||||
|
return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().format(formatter);
|
||||||
|
}
|
||||||
|
|
||||||
public static String toString(LocalDate date){
|
public static String toString(LocalDate date){
|
||||||
return toString(date,"yyyy-MM-dd");
|
return toString(date,"yyyy-MM-dd");
|
||||||
|
@ -18,7 +18,7 @@ public class AppointBo {
|
|||||||
* 任务主表id
|
* 任务主表id
|
||||||
*/
|
*/
|
||||||
@NotNull
|
@NotNull
|
||||||
private Long id;
|
private List<Long> id;
|
||||||
/**
|
/**
|
||||||
* 执行者用户id
|
* 执行者用户id
|
||||||
*/
|
*/
|
||||||
|
@ -271,4 +271,9 @@ public class PsCompanyInfoVo implements Serializable {
|
|||||||
private String contractCode;
|
private String contractCode;
|
||||||
|
|
||||||
private PsApproverRecordVo psApproverRecordVo;
|
private PsApproverRecordVo psApproverRecordVo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 公司类型
|
||||||
|
*/
|
||||||
|
private String companyType;
|
||||||
}
|
}
|
||||||
|
@ -183,7 +183,10 @@ public class PsCustomInfoVo implements Serializable {
|
|||||||
* 公司信息DTO
|
* 公司信息DTO
|
||||||
*/
|
*/
|
||||||
private List<PsCompanyInfoVo> psCompanyInfoVos;
|
private List<PsCompanyInfoVo> psCompanyInfoVos;
|
||||||
|
/**
|
||||||
|
* 服务公司信息DTO
|
||||||
|
*/
|
||||||
|
private List<PsCompanyInfoVo> psCompanySerivceVo;
|
||||||
/**
|
/**
|
||||||
* 服务类别
|
* 服务类别
|
||||||
*/
|
*/
|
||||||
|
@ -173,5 +173,10 @@ public class PsTaskMainVo implements Serializable {
|
|||||||
* 服务项目
|
* 服务项目
|
||||||
*/
|
*/
|
||||||
List<PsContractBusinessDetailVo> psContractBusinesses;
|
List<PsContractBusinessDetailVo> psContractBusinesses;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工单时间
|
||||||
|
*/
|
||||||
|
private Date createTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -186,7 +186,7 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
|||||||
sql.append("and business_type = '2' and is_proxy = '2'");
|
sql.append("and business_type = '2' and is_proxy = '2'");
|
||||||
}
|
}
|
||||||
lqw.exists(bo.getType() != 1, sql.toString());
|
lqw.exists(bo.getType() != 1, sql.toString());
|
||||||
lqw.orderByAsc("bus.min_end_date");
|
lqw.orderByAsc("CASE WHEN bus.min_end_date IS NULL THEN 1 ELSE 0 END");
|
||||||
lqw.orderByDesc("finish_date");
|
lqw.orderByDesc("finish_date");
|
||||||
// lqw.groupBy("com.id");
|
// lqw.groupBy("com.id");
|
||||||
Page<PsCompanyInfoVo> result = baseMapper.selectPageList2(pageQuery.build(), lqw);
|
Page<PsCompanyInfoVo> result = baseMapper.selectPageList2(pageQuery.build(), lqw);
|
||||||
@ -208,14 +208,21 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
|||||||
}
|
}
|
||||||
for (PsCompanyInfoVo record : result.getRecords()) {
|
for (PsCompanyInfoVo record : result.getRecords()) {
|
||||||
record.setFollowUsers(userMap.get(record.getId()));
|
record.setFollowUsers(userMap.get(record.getId()));
|
||||||
record.setBusinessVoList(contractBusinessVoMap.get(record.getId()));
|
|
||||||
if (record.getBusinessVoList() == null){
|
if (record.getBusinessVoList() == null){
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
boolean hasDate = false;
|
||||||
for (PsContractBusinessVo psContractBusinessVo : record.getBusinessVoList()) {
|
for (PsContractBusinessVo psContractBusinessVo : record.getBusinessVoList()) {
|
||||||
|
if (psContractBusinessVo.getEndDate() != null){
|
||||||
|
hasDate = true;
|
||||||
|
}
|
||||||
int diffDay = DateUtils.diffDay(new Date(), psContractBusinessVo.getEndDate());
|
int diffDay = DateUtils.diffDay(new Date(), psContractBusinessVo.getEndDate());
|
||||||
psContractBusinessVo.setRemainingDay(diffDay);
|
psContractBusinessVo.setRemainingDay(diffDay);
|
||||||
}
|
}
|
||||||
|
if (hasDate){
|
||||||
|
record.setBusinessVoList(contractBusinessVoMap.get(record.getId()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -908,6 +908,10 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
|||||||
//派单者
|
//派单者
|
||||||
if (task != null){
|
if (task != null){
|
||||||
serviceScheduleVo.setAppoint(new ServiceScheduleVo.UserAndStatus(task.getOperateUser(), task.getCreateTime()));
|
serviceScheduleVo.setAppoint(new ServiceScheduleVo.UserAndStatus(task.getOperateUser(), task.getCreateTime()));
|
||||||
|
}else{
|
||||||
|
if ("1".equals(contractInfo.getIsDue())){
|
||||||
|
serviceScheduleVo.setAppoint(new ServiceScheduleVo.UserAndStatus(0l, 1, null));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(CollectionUtils.isNotEmpty(appointList)){
|
if(CollectionUtils.isNotEmpty(appointList)){
|
||||||
appointList.forEach(item->{
|
appointList.forEach(item->{
|
||||||
@ -925,6 +929,16 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
|||||||
if (rollPdfUid != null) {
|
if (rollPdfUid != null) {
|
||||||
PsApproverRecordVo psApproverRecordVo = approverRecordService.queryLast(contractInfo.getContractCode(), ApproverTypeEnum.ROLBACK.getCode());
|
PsApproverRecordVo psApproverRecordVo = approverRecordService.queryLast(contractInfo.getContractCode(), ApproverTypeEnum.ROLBACK.getCode());
|
||||||
serviceScheduleVo.setRollBack(new ServiceScheduleVo.UserAndStatus(rollPdfUid, psApproverRecordVo != null ? psApproverRecordVo.getApplyDate() : null));
|
serviceScheduleVo.setRollBack(new ServiceScheduleVo.UserAndStatus(rollPdfUid, psApproverRecordVo != null ? psApproverRecordVo.getApplyDate() : null));
|
||||||
|
}else{
|
||||||
|
PsContractInfoVo info = this.queryContractByCode(contractCode);
|
||||||
|
if (!CommonStatusEnum.SUCCESS.getCode().equals(info.getSignStatus())){
|
||||||
|
if (info.getContractAmount().doubleValue() < 8000) {
|
||||||
|
if (!info.isTuoguanService() || info.getIsDue().equals("1")) {
|
||||||
|
//status = 1客户端显示无需回传合同
|
||||||
|
serviceScheduleVo.setRollBack(new ServiceScheduleVo.UserAndStatus(0l, 1, null));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(vo.getResidualMoney().compareTo(BigDecimal.ZERO) <= 0 && CollectionUtils.isNotEmpty(payVoList)){
|
if(vo.getResidualMoney().compareTo(BigDecimal.ZERO) <= 0 && CollectionUtils.isNotEmpty(payVoList)){
|
||||||
|
@ -75,7 +75,7 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
|
|||||||
public List<Map<String,Object>> listByLoginUser(String name) {
|
public List<Map<String,Object>> listByLoginUser(String name) {
|
||||||
|
|
||||||
//查询客户基本信息
|
//查询客户基本信息
|
||||||
List<PsCustomInfo> list = baseMapper.selectList(new QueryWrapper<PsCustomInfo>().select("id", "custom_name","custom_mobile")
|
List<PsCustomInfo> list = baseMapper.selectList(new QueryWrapper<PsCustomInfo>().select("id", "custom_name","custom_mobile","create_time","custom_source")
|
||||||
.lambda().eq(PsCustomInfo::getDelFlag, 0).isNotNull(PsCustomInfo::getCustomName).ne(PsCustomInfo::getCustomName,"").ne(PsCustomInfo::getCustomName,"无")
|
.lambda().eq(PsCustomInfo::getDelFlag, 0).isNotNull(PsCustomInfo::getCustomName).ne(PsCustomInfo::getCustomName,"").ne(PsCustomInfo::getCustomName,"无")
|
||||||
.and(StringUtils.isNotBlank(name),wq->wq.like(PsCustomInfo::getCustomName,name).or().like(PsCustomInfo::getCustomMobile,name)));
|
.and(StringUtils.isNotBlank(name),wq->wq.like(PsCustomInfo::getCustomName,name).or().like(PsCustomInfo::getCustomMobile,name)));
|
||||||
List<Map<String,Object>> listmap = new ArrayList<>();
|
List<Map<String,Object>> listmap = new ArrayList<>();
|
||||||
@ -84,6 +84,8 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
|
|||||||
map.put("id", item.getId());
|
map.put("id", item.getId());
|
||||||
map.put("customName", item.getCustomName());
|
map.put("customName", item.getCustomName());
|
||||||
map.put("custom_mobile", item.getCustomMobile());
|
map.put("custom_mobile", item.getCustomMobile());
|
||||||
|
map.put("createTime", DateUtils.toString(item.getCreateTime(),"yyyy-MM-dd"));
|
||||||
|
map.put("customSource", item.getCustomSource());
|
||||||
listmap.add(map);
|
listmap.add(map);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -154,7 +156,8 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
|
|||||||
List<PsCompanyInfoVo> companyInfoVos = companyInfoMapper.selectVoList(Wrappers.<PsCompanyInfo>lambdaQuery()
|
List<PsCompanyInfoVo> companyInfoVos = companyInfoMapper.selectVoList(Wrappers.<PsCompanyInfo>lambdaQuery()
|
||||||
.in(PsCompanyInfo::getCustomId, ids)
|
.in(PsCompanyInfo::getCustomId, ids)
|
||||||
.eq(PsCompanyInfo::getDelFlag, 0)
|
.eq(PsCompanyInfo::getDelFlag, 0)
|
||||||
.eq(PsCompanyInfo::getCompanyType, "1"));
|
// .eq(PsCompanyInfo::getCompanyType, "1")
|
||||||
|
);
|
||||||
Map<Long, List<PsCompanyInfoVo>> id_companyMap = new HashMap<>();
|
Map<Long, List<PsCompanyInfoVo>> id_companyMap = new HashMap<>();
|
||||||
if(CollectionUtils.isNotEmpty(companyInfoVos)){
|
if(CollectionUtils.isNotEmpty(companyInfoVos)){
|
||||||
//分组
|
//分组
|
||||||
@ -171,7 +174,21 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
|
|||||||
//装填报价金额vo
|
//装填报价金额vo
|
||||||
info.setPsCustomPriceVo(id_piceMap.get(info.getId()));
|
info.setPsCustomPriceVo(id_piceMap.get(info.getId()));
|
||||||
//装填公司信息vo
|
//装填公司信息vo
|
||||||
info.setPsCompanyInfoVos(id_companyMap.get(info.getId()));
|
List<PsCompanyInfoVo> allPsCompanyInfoVos = id_companyMap.get(info.getId());
|
||||||
|
if (allPsCompanyInfoVos != null){
|
||||||
|
List<PsCompanyInfoVo> psCompanyInfoVos = new ArrayList<>();
|
||||||
|
List<PsCompanyInfoVo> psServiceCompanyInfoVos = new ArrayList<>();
|
||||||
|
for (PsCompanyInfoVo psCompanyInfoVo : allPsCompanyInfoVos) {
|
||||||
|
if ("1".equals(psCompanyInfoVo.getCompanyType())){
|
||||||
|
psCompanyInfoVos.add(psCompanyInfoVo);
|
||||||
|
}else if ("2".equals(psCompanyInfoVo.getCompanyType())){
|
||||||
|
psServiceCompanyInfoVos.add(psCompanyInfoVo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
info.setPsCompanyInfoVos(psCompanyInfoVos);
|
||||||
|
info.setPsCompanySerivceVo(psServiceCompanyInfoVos);
|
||||||
|
}
|
||||||
|
|
||||||
//报价金额
|
//报价金额
|
||||||
if(CollectionUtils.isNotEmpty(info.getPsCustomPriceVo())){
|
if(CollectionUtils.isNotEmpty(info.getPsCustomPriceVo())){
|
||||||
info.setPrice(info.getPsCustomPriceVo().stream().map(PsCustomPriceVo::getServicePrice).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
info.setPrice(info.getPsCustomPriceVo().stream().map(PsCustomPriceVo::getServicePrice).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||||
|
@ -152,7 +152,7 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
|||||||
|
|
||||||
for (PsTaskMainVo vo : page.getRecords()) {
|
for (PsTaskMainVo vo : page.getRecords()) {
|
||||||
if(vo.getStartDate() != null){
|
if(vo.getStartDate() != null){
|
||||||
vo.setNumOfDat(DateUtils.calWorkDate(vo.getStartDate(),new Date()));
|
vo.setNumOfDat(DateUtils.calWorkDate(vo.getCreateTime(), new Date()));
|
||||||
}
|
}
|
||||||
//任务作废审批
|
//任务作废审批
|
||||||
vo.setTaskStatusDesc(approverRecordService.getLastFail(vo.getId() + "",null,List.of(ApproverTypeEnum.TASKCANCE.getCode())));
|
vo.setTaskStatusDesc(approverRecordService.getLastFail(vo.getId() + "",null,List.of(ApproverTypeEnum.TASKCANCE.getCode())));
|
||||||
@ -317,8 +317,8 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
|||||||
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))
|
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))
|
||||||
.entrySet().stream().anyMatch(e -> e.getValue() > 1);
|
.entrySet().stream().anyMatch(e -> e.getValue() > 1);
|
||||||
if(repetition){
|
if(repetition){
|
||||||
log.error("请求的任务类型重复");
|
// log.error("请求的任务类型重复");
|
||||||
throw new ServiceException("请求的任务类型重复,请刷新页面重试");
|
// throw new ServiceException("请求的任务类型重复,请刷新页面重试");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -363,8 +363,9 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
|||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public void appoint(AppointBo bo){
|
public void appoint(AppointBo bo){
|
||||||
|
for (Long taskId : bo.getId()) {
|
||||||
//前置校验
|
//前置校验
|
||||||
PsTaskMain mainTask = baseMapper.selectById(bo.getId());
|
PsTaskMain mainTask = baseMapper.selectById(taskId);
|
||||||
if(!TaskStatusEnum.canAppoint(mainTask.getTaskStatus())){
|
if(!TaskStatusEnum.canAppoint(mainTask.getTaskStatus())){
|
||||||
throw new ServiceException("任务已完成,无法继续派单");
|
throw new ServiceException("任务已完成,无法继续派单");
|
||||||
}
|
}
|
||||||
@ -421,6 +422,7 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 主任务完成
|
* 主任务完成
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user