PublicAffairs/gather-app/src/main/java/com/ruoyi/business/controller/PublicBusinessTripControlle...

120 lines
4.7 KiB
Java

package com.ruoyi.business.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.database.domain.PublicBusinessTrip;
import com.ruoyi.database.service.PublicBusinessTripService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
/**
* @Description PublicBusinessTripController
* @Author lijingtong
* @Date 2025-05-28
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/business/publicBusinessTrip")
@Api(tags = "公务出差申请")
public class PublicBusinessTripController extends BaseController {
private final PublicBusinessTripService publicBusinessTripService;
@GetMapping("/getList")
@ApiOperation("查询公务出差申请")
public TableDataInfo getList(PublicBusinessTrip publicBusinessTrip) {
startPage();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
QueryWrapper<PublicBusinessTrip> queryWrapper = new QueryWrapper<>(publicBusinessTrip);
queryWrapper.orderByDesc("create_time");
String fTime = publicBusinessTrip.getFTime();
String eTime = publicBusinessTrip.getETime();
// 把时间转成LocalDateTime格式
LocalDateTime fromTime = LocalDateTime.parse(fTime, formatter);
LocalDateTime endTime = LocalDateTime.parse(eTime, formatter);
queryWrapper.orderByDesc("create_time");
if (fTime != null && fTime != null) {
queryWrapper.between("create_time", fromTime, endTime);
}
List<PublicBusinessTrip> list = publicBusinessTripService.list();
long size = list.size();
return getDataTableEnhance(list, size);
}
@ApiOperation("新增或修改公务出差申请 传id为修改 不传id为新增")
@PostMapping("/addOrUpdate")
public AjaxResult add(@RequestBody PublicBusinessTrip publicBusinessTrip) {
if (publicBusinessTrip.getId() == null) {
publicBusinessTrip.setCreateBy(getUsername());
publicBusinessTrip.setCreateTime(LocalDateTime.now());
publicBusinessTrip.setUpdateBy(getUsername());
publicBusinessTrip.setUpdateTime(LocalDateTime.now());
boolean result = publicBusinessTripService.save(publicBusinessTrip);
if (result) {
return AjaxResult.success("新增成功");
}
return AjaxResult.error("新增失败");
} else {
publicBusinessTrip.setUpdateBy(getUsername());
boolean result = publicBusinessTripService.updateById(publicBusinessTrip);
if (!result) {
return AjaxResult.error("修改公务出差申请失败");
}
return AjaxResult.success(result);
}
}
@ApiOperation("删除公务出差申请")
@DeleteMapping("/delete/{id}")
public AjaxResult delete(@PathVariable Long id) {
boolean result = publicBusinessTripService.removeById(id);
if (result) {
return AjaxResult.success("删除成功");
}
return AjaxResult.error("删除失败");
}
@ApiOperation("查询公务出差申请详情")
@GetMapping("/detail/{id}")
public AjaxResult detail(@PathVariable Long id) {
PublicBusinessTrip publicBusinessTrip = publicBusinessTripService.getById(id);
if (publicBusinessTrip == null) {
return AjaxResult.error("查询失败");
}
return AjaxResult.success(publicBusinessTrip);
}
@ApiOperation("审批公务出差申请")
@PostMapping("/approval")
public AjaxResult approval(@RequestBody PublicBusinessTrip publicBusinessTrip) {
Integer state = publicBusinessTrip.getState();
publicBusinessTrip.setState(state);
boolean result = publicBusinessTripService.updateById(publicBusinessTrip);
if (!result) {
return AjaxResult.error("审批公务出差申请失败");
}
return AjaxResult.success("审批公务出差申请成功");
}
@ApiOperation("批量删除公务出差申请")
@DeleteMapping("/batchDelete")
public AjaxResult batchDelete(@RequestBody List<Long> ids) {
boolean result = publicBusinessTripService.removeByIds(ids);
if (!result) {
return AjaxResult.error("批量删除公务出差申请失败");
}
return AjaxResult.success("批量删除公务出差申请成功");
}
}