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.jeecgframework.poi.excel.annotation.Excel; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; 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 implements IMdcShiftService { @Resource private IMdcShiftSubService mdcShiftSubService; @Override public IPage queryPageList(Page page, MdcShift mdcShift) { LambdaQueryWrapper 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"); } mdcShift.setDefaultShift("false"); List mdcShifts = listMdcName(mdcShift); //查询有重复数据返回false if (null != mdcShifts && !mdcShifts.isEmpty()) { return false; } return this.save(mdcShift); } @Override public List listMdcName(MdcShift mdcShift) { return this.list(new LambdaQueryWrapper().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 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> initShiftList() { List mdcShifts = this.baseMapper.selectList(new LambdaQueryWrapper().eq(MdcShift::getShiftStatus, "1")); List> result = new ArrayList<>(); for (MdcShift mdcShift : mdcShifts) { Map map = new HashMap<>(); map.put("label", mdcShift.getShiftName()); map.put("value", mdcShift.getId()); result.add(map); } return result; } /** * 设置默认班制 * * @param id * @return */ @Override @Transactional(rollbackFor = Exception.class) public boolean changeDefaultShift(String id) { MdcShift mdcShift = this.baseMapper.selectOne(new LambdaQueryWrapper().eq(MdcShift::getDefaultShift, "true")); mdcShift.setDefaultShift("false"); this.baseMapper.updateById(mdcShift); MdcShift defaultShift = this.baseMapper.selectById(id); defaultShift.setDefaultShift("true"); this.baseMapper.updateById(defaultShift); return true; } }