Browse Source

周期档案接口完善,BUG修复

mssql
07 3 years ago
parent
commit
cb965a044b
  1. 40
      src/main/java/com/qs/serve/modules/tbs/controller/TbsScheduleController.java
  2. 1
      src/main/java/com/qs/serve/modules/tbs/controller/TbsScheduleItemBudgetController.java
  3. 4
      src/main/java/com/qs/serve/modules/tbs/entity/TbsSchedule.java
  4. 3
      src/main/java/com/qs/serve/modules/tbs/service/TbsScheduleItemService.java
  5. 10
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsScheduleItemServiceImpl.java

40
src/main/java/com/qs/serve/modules/tbs/controller/TbsScheduleController.java

@ -6,8 +6,14 @@ import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.Assert;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.modules.bms.entity.BmsSubject;
import com.qs.serve.modules.tbs.entity.TbsBudget;
import com.qs.serve.modules.tbs.entity.TbsScheduleItem;
import com.qs.serve.modules.tbs.service.TbsBudgetService;
import com.qs.serve.modules.tbs.service.TbsScheduleItemService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
@ -20,6 +26,7 @@ import com.qs.serve.modules.tbs.service.TbsScheduleService;
import javax.validation.Valid;
import java.util.List;
import java.util.stream.Collectors;
/**
* 预算 考核期
@ -33,7 +40,8 @@ import java.util.List;
public class TbsScheduleController {
private TbsScheduleService tbsScheduleService;
private TbsScheduleItemService tbsScheduleItemService;
private TbsBudgetService tbsBudgetService;
/**
* 列表
* @param param
@ -71,8 +79,9 @@ public class TbsScheduleController {
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.Budget, title = "考核期", biz = BizType.QUERY)
@PreAuthorize("hasRole('tbs:schedule:query')")
public R<TbsSchedule> getById(@PathVariable("id") String id){
public R<TbsSchedule> getById(@PathVariable("id") Long id){
TbsSchedule tbsSchedule = tbsScheduleService.getById(id);
tbsSchedule.setScheduleItemlist(tbsScheduleItemService.listByScheduleId(id));
return R.ok(tbsSchedule);
}
@ -86,9 +95,16 @@ public class TbsScheduleController {
@PostMapping("/updateById")
@SysLog(module = SystemModule.Budget, title = "考核期", biz = BizType.UPDATE)
@PreAuthorize("hasRole('tbs:schedule:update')")
public R<?> updateById(@RequestBody @Valid TbsScheduleBo param){
TbsSchedule entity = CopierUtil.copy(param,new TbsSchedule());
public R<?> updateById(@RequestBody @Valid TbsSchedule entity){
// TbsSchedule entity = CopierUtil.copy(param,new TbsSchedule());
boolean result = tbsScheduleService.updateById(entity);
List<TbsScheduleItem> scheduleItems = tbsScheduleItemService.listByScheduleId(entity.getId());
tbsScheduleItemService.removeBatchByIds(scheduleItems);
List<TbsScheduleItem> items = entity.getScheduleItemlist().stream().map(a->{
a.setScheduleId(entity.getId());
return a;
}).collect(Collectors.toList());
tbsScheduleItemService.saveBatch(items);
return R.isTrue(result);
}
@ -103,6 +119,17 @@ public class TbsScheduleController {
public R<?> save(@RequestBody @Valid TbsSchedule param){
TbsSchedule entity = CopierUtil.copy(param,new TbsSchedule());
boolean result = tbsScheduleService.save(entity);
if(!result){
Assert.throwEx("保存失败!");
}
for(TbsScheduleItem item:entity.getScheduleItemlist()){
if(item.getStartDate().isAfter(item.getEndDate())){
Assert.throwEx("开始时间不能大于结束时间");
}
item.setScheduleId(entity.getId());
}
tbsScheduleItemService.saveBatch(entity.getScheduleItemlist());
return R.isTrue(result);
}
@ -115,6 +142,11 @@ public class TbsScheduleController {
@SysLog(module = SystemModule.Budget, title = "考核期", biz = BizType.DELETE)
@PreAuthorize("hasRole('tbs:schedule:delete')")
public R<?> deleteById(@PathVariable("id") Long id){
LambdaQueryWrapper<TbsBudget> lqw = new LambdaQueryWrapper<>();
lqw.eq(TbsBudget::getScheduleId,id);
if(tbsBudgetService.count(lqw)>0){
Assert.throwEx("预算中已使用该周期模板,不能删除");
}
boolean result = tbsScheduleService.removeById(id);
return R.isTrue(result);
}

1
src/main/java/com/qs/serve/modules/tbs/controller/TbsScheduleItemBudgetController.java

@ -6,6 +6,7 @@ import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.Assert;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.CopierUtil;
import lombok.AllArgsConstructor;

4
src/main/java/com/qs/serve/modules/tbs/entity/TbsSchedule.java

@ -4,11 +4,13 @@ import java.time.LocalDate;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.qs.serve.modules.bms.entity.BmsRegionUser;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
@ -75,5 +77,7 @@ public class TbsSchedule implements Serializable {
@JsonProperty
private String delFlag;
@TableField(exist = false)
private List<TbsScheduleItem> scheduleItemlist;
}

3
src/main/java/com/qs/serve/modules/tbs/service/TbsScheduleItemService.java

@ -3,6 +3,8 @@ package com.qs.serve.modules.tbs.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.tbs.entity.TbsScheduleItem;
import java.util.List;
/**
* 考核时间项 服务接口
* @author YenHex
@ -10,5 +12,6 @@ import com.qs.serve.modules.tbs.entity.TbsScheduleItem;
*/
public interface TbsScheduleItemService extends IService<TbsScheduleItem> {
List<TbsScheduleItem> listByScheduleId(Long id);
}

10
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsScheduleItemServiceImpl.java

@ -1,6 +1,8 @@
package com.qs.serve.modules.tbs.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.modules.bms.entity.BmsSubject;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -8,6 +10,8 @@ import com.qs.serve.modules.tbs.entity.TbsScheduleItem;
import com.qs.serve.modules.tbs.service.TbsScheduleItemService;
import com.qs.serve.modules.tbs.mapper.TbsScheduleItemMapper;
import java.util.List;
/**
* 考核时间项 服务实现类
* @author YenHex
@ -18,5 +22,11 @@ import com.qs.serve.modules.tbs.mapper.TbsScheduleItemMapper;
@AllArgsConstructor
public class TbsScheduleItemServiceImpl extends ServiceImpl<TbsScheduleItemMapper,TbsScheduleItem> implements TbsScheduleItemService {
@Override
public List<TbsScheduleItem> listByScheduleId(Long id) {
LambdaQueryWrapper<TbsScheduleItem> lqw = new LambdaQueryWrapper<>();
lqw.eq(TbsScheduleItem::getScheduleId,id);
return this.list(lqw);
}
}

Loading…
Cancel
Save