package api.controller.scheduling; import api.entity.database.call.CallLog; import api.entity.database.sf.SfPlan; import api.entity.database.sf.SfPlanPatient; import api.entity.view.call.CallLogView; import api.entity.view.scheduling.SchedulingClassView; import api.mapper.system.UserMapper; import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import api.controller.BaseController; import api.entity.database.scheduling.SchedulingClass; import api.entity.input.PageInput; import api.model.AjaxResult; import api.service.scheduling.ISchedulingClassService; import api.util.annotation.Log; import api.util.enums.BusinessType; import api.util.helper.StringHelper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @Api(value = "班别管理",tags = "班别管理") @RestController @RequestMapping("/scheduling/schedulingClass") public class SchedulingClassController extends BaseController { @Autowired private ISchedulingClassService schedulingclassService; @Autowired private UserMapper userMapper; @ApiOperation("列表") @Log(title = "查询班别列表",businessType = BusinessType.QUERY) @GetMapping public AjaxResult getList(SchedulingClass input, PageInput pageInput) { LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); qw.eq(input.getSchedulingClassId() != null && input.getSchedulingClassId() > 0, SchedulingClass::getSchedulingClassId, input.getSchedulingClassId()); qw.like(!StringHelper.isEmpty(input.getClassName()), SchedulingClass::getClassName, input.getClassName()); qw.eq(input.getIsRest() != null && input.getIsRest() > 0, SchedulingClass::getIsRest, input.getIsRest()); qw.eq(input.getMinimumPeople() != null && input.getMinimumPeople() > 0, SchedulingClass::getMinimumPeople, input.getMinimumPeople()); qw.like(!StringHelper.isEmpty(input.getWorkStartTime()), SchedulingClass::getWorkStartTime, input.getWorkStartTime()); qw.like(!StringHelper.isEmpty(input.getWorkEndTime()), SchedulingClass::getWorkEndTime, input.getWorkEndTime()); qw.like(!StringHelper.isEmpty(input.getRestStartTime()), SchedulingClass::getRestStartTime, input.getRestStartTime()); qw.like(!StringHelper.isEmpty(input.getRestEndTime()), SchedulingClass::getRestEndTime, input.getRestEndTime()); qw.eq(input.getMaximumPeople() != null && input.getMaximumPeople() > 0, SchedulingClass::getMaximumPeople, input.getMaximumPeople()); qw.eq(input.getRestDuration() != null && input.getRestDuration() > 0, SchedulingClass::getRestDuration, input.getRestDuration()); qw.eq(input.getWorkDuration() != null && input.getWorkDuration() > 0, SchedulingClass::getWorkDuration, input.getWorkDuration()); qw.like(!StringHelper.isEmpty(input.getCreateUser()), SchedulingClass::getCreateUser, input.getCreateUser()); qw.eq(input.getCreateTime() != null , SchedulingClass::getCreateTime, input.getCreateTime()); qw.like(!StringHelper.isEmpty(input.getUpdateUser()), SchedulingClass::getUpdateUser, input.getUpdateUser()); qw.eq(input.getUpdateTime() != null , SchedulingClass::getUpdateTime, input.getUpdateTime()); qw.eq(input.getIsDelete() != null && input.getIsDelete() > 0, SchedulingClass::getIsDelete, input.getIsDelete()); qw.like(!StringHelper.isEmpty(input.getNotes()), SchedulingClass::getNotes, input.getNotes()); Page page = GetPage(pageInput); List list;Long total = null; if (page != null) { IPage iPage = schedulingclassService.getListPage(page, qw); list=iPage.getRecords();total=iPage.getTotal(); } else { list=schedulingclassService.getList(qw); } List schedulingClassViews= JSON.parseArray(JSON.toJSONString(list),SchedulingClassView.class); if (schedulingClassViews!=null && schedulingClassViews.size()>0) { for (SchedulingClassView item : schedulingClassViews) { if (StringHelper.isNotEmpty(item.getCreateUser()) ) { item.setCreateUserName(userMapper.selectName(item.getCreateUser())); } if (StringHelper.isNotEmpty(item.getUpdateUser()) ) { item.setUpdateUserName(userMapper.selectName(item.getUpdateUser())); } } } if (total!=null) { return Success("成功", schedulingClassViews, total); } else { return Success("成功", schedulingClassViews); } } @ApiOperation("详情") @Log(title = "查询班别详情",businessType = BusinessType.QUERY) @GetMapping("/{id}") public AjaxResult getInfo(@PathVariable long id) { return Success("成功", schedulingclassService.getEntity(id)); } @ApiOperation("新增") @Log(title = "新增班别",businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody SchedulingClass input) { if (StringHelper.isEmpty(input.getClassName())) { return Error("请输入班别名称"); } input.setCreateUser(CurrentUser().getUserName()); input=schedulingclassService.GetDuration(input); boolean result = schedulingclassService.insert(input); if (result) { return Success("成功"); } else { return Error("新增失败"); } } @ApiOperation("编辑") @Log(title = "编辑班别",businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody SchedulingClass input) { if (StringHelper.isEmpty(input.getClassName())) { return Error("请输入班别名称"); } input.setUpdateUser(CurrentUser().getUserName()); input=schedulingclassService.GetDuration(input); boolean result = schedulingclassService.update(input); if (result) { return Success("成功"); } else { return Error("修改失败"); } } @ApiOperation("删除") @Log(title = "删除班别",businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult delete(@PathVariable List ids) { LambdaUpdateWrapper qw = new LambdaUpdateWrapper<>(); qw.in(SchedulingClass::getSchedulingClassId, ids); qw.set(SchedulingClass::getIsDelete, 1); boolean result = schedulingclassService.updateBatch(qw); if(result){ return Success("成功"); } else { return Error("删除失败"); } } }