package org.jeecg.modules.mdc.service.impl;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.sun.xml.bind.v2.TODO;
|
import org.apache.commons.lang3.StringUtils;
|
import org.jeecg.common.api.vo.Result;
|
import org.jeecg.modules.mdc.entity.MdcShift;
|
import org.jeecg.modules.mdc.mapper.MdcShiftMapper;
|
import org.jeecg.modules.mdc.service.IMdcShiftService;
|
import org.jeecg.modules.mdc.service.IMdcShiftSubService;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @Description: 班制表(主表)
|
* @Author: Sake
|
* @Date: 2023-04-03 11:56
|
*/
|
@Service
|
public class MdcShiftServiceImpl extends ServiceImpl<MdcShiftMapper, MdcShift> implements IMdcShiftService {
|
|
@Resource
|
private IMdcShiftSubService mdcShiftSubService;
|
|
@Resource
|
private MdcShiftMapper mdcShiftMapper;
|
|
@Override
|
public IPage<MdcShift> queryPageList(Page page, MdcShift mdcShift) {
|
LambdaQueryWrapper<MdcShift> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
//判断前端返回的值中shiftName是否不为空,不为空则将shiftName添加到模糊查询中
|
if(StringUtils.isNotBlank(mdcShift.getShiftName())){
|
lambdaQueryWrapper.like(MdcShift::getShiftName, mdcShift.getShiftName());
|
}
|
return this.page(page, lambdaQueryWrapper);
|
}
|
|
@Override
|
public Boolean addShift(MdcShift mdcShift) {
|
//状态默认为启用
|
if (StringUtils.isEmpty(mdcShift.getShiftStatus())){
|
mdcShift.setShiftStatus("1");
|
}
|
List<MdcShift> mdcShifts = listMdcName(mdcShift);
|
//查询有重复数据返回false
|
if (null != mdcShifts && !mdcShifts.isEmpty()){
|
return false;
|
}
|
return this.save(mdcShift);
|
}
|
|
@Override
|
public List<MdcShift> listMdcName(MdcShift mdcShift) {
|
return this.list(new LambdaQueryWrapper<MdcShift>().eq(MdcShift::getShiftName, mdcShift.getShiftName()));
|
}
|
|
@Override
|
public Boolean editShift(MdcShift mdcShift) {
|
return this.updateById(mdcShift);
|
}
|
|
@Override
|
public Boolean changeStatus(JSONObject jsonObject) {
|
String id = jsonObject.getString("id");
|
String status = jsonObject.getString("status");
|
MdcShift mdcShift = this.getById(id);
|
mdcShift.setShiftStatus(status);
|
return this.updateById(mdcShift);
|
}
|
|
@Override
|
public Result<MdcShift> deleteShift(String id) {
|
//返回true未查到数据
|
Boolean flag = mdcShiftSubService.selectMdcShiftSub(id);
|
if (flag){
|
if (removeById(id)){
|
return Result.OK("删除成功");
|
}
|
return Result.error("数据库无该数据,无法删除");
|
}
|
return Result.error("已经配置班次,无法直接删除");
|
}
|
|
@Override
|
public List<Map<String, String>> initShiftList() {
|
List<MdcShift> mdcShifts = this.baseMapper.selectList(new LambdaQueryWrapper<MdcShift>().eq(MdcShift::getShiftStatus, "1"));
|
List<Map<String, String>> result = new ArrayList<>();
|
for (MdcShift mdcShift : mdcShifts) {
|
Map<String, String> map = new HashMap<>();
|
map.put("label", mdcShift.getShiftName());
|
map.put("value", mdcShift.getId());
|
result.add(map);
|
}
|
return result;
|
}
|
}
|