package doumeemes.service.business.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import doumeemes.biz.system.SystemDictDataBiz;
|
import doumeemes.core.model.ApiResponse;
|
import doumeemes.core.model.LoginUserInfo;
|
import doumeemes.core.model.PageData;
|
import doumeemes.core.model.PageWrap;
|
import doumeemes.core.utils.Constants;
|
import doumeemes.core.utils.Utils;
|
import doumeemes.dao.business.RouteCardMapper;
|
import doumeemes.dao.business.model.RouteCard;
|
import doumeemes.dao.ext.BomVersionExtMapper;
|
import doumeemes.dao.ext.dto.QueryBomVersionExtDTO;
|
import doumeemes.dao.ext.vo.BomVersionExtListVO;
|
import doumeemes.service.business.RouteCardService;
|
import org.apache.shiro.SecurityUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.CollectionUtils;
|
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* 工艺卡信息表Service实现
|
* @author 江蹄蹄
|
* @date 2022/06/27 13:58
|
*/
|
@Service
|
public class RouteCardServiceImpl implements RouteCardService {
|
|
@Autowired
|
private RouteCardMapper routeCardMapper;
|
@Autowired
|
private BomVersionExtMapper bomVersionExtMapper;
|
|
@Autowired
|
public SystemDictDataBiz systemDictDataBiz;
|
|
@Override
|
public ApiResponse create(RouteCard routeCard) {
|
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
|
|
QueryBomVersionExtDTO bb=new QueryBomVersionExtDTO();
|
bb.setBomId(routeCard.getBomId());
|
BomVersionExtListVO bve= bomVersionExtMapper.selectListByOne(bb);
|
if(bve==null){
|
return ApiResponse.failed("bom历史信息不存在");
|
}
|
routeCard.setDeleted(Constants.ZERO);
|
routeCard.setRootDepartId(user.getRootDepartment().getId());
|
routeCard.setDepartId(user.getCurComDepartment().getId());
|
routeCard.setCreateTime(new Date());
|
routeCard.setCreateUser(user.getId());
|
routeCard.setBomId(bve.getId());
|
|
RouteCard find=new RouteCard();
|
find.setDeleted(Constants.ZERO);
|
find.setRootDepartId(user.getRootDepartment().getId());
|
find.setDepartId(user.getCurComDepartment().getId());
|
find.setBomId(bve.getId());
|
find.setRouteProcedureId(routeCard.getRouteProcedureId());
|
RouteCard finddata= this.findOne(find);
|
if(finddata!=null){
|
return ApiResponse.failed("工序已存在,不允许添加");
|
}
|
|
|
routeCardMapper.insert(routeCard);
|
return ApiResponse.success(routeCard.getId());
|
}
|
|
@Override
|
public void deleteById(Integer id) {
|
// LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
|
RouteCard routeCard = this.findById(Integer.valueOf(id));
|
routeCard.setDeleted(Constants.ONE);
|
routeCardMapper.updateById(routeCard);
|
// routeCardMapper.deleteById(id);
|
}
|
|
@Override
|
public void delete(RouteCard routeCard) {
|
UpdateWrapper<RouteCard> deleteWrapper = new UpdateWrapper<>(routeCard);
|
routeCardMapper.delete(deleteWrapper);
|
}
|
|
@Override
|
public void deleteByIdInBatch(List<Integer> ids) {
|
if (CollectionUtils.isEmpty(ids)) {
|
return;
|
}
|
routeCardMapper.deleteBatchIds(ids);
|
}
|
|
@Override
|
public ApiResponse updateById(RouteCard routeCard) {
|
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
|
|
QueryBomVersionExtDTO bb=new QueryBomVersionExtDTO();
|
bb.setBomId(routeCard.getBomId());
|
BomVersionExtListVO bve= bomVersionExtMapper.selectListByOne(bb);
|
if(bve==null){
|
return ApiResponse.failed("bom历史信息不存在");
|
}
|
|
RouteCard find=new RouteCard();
|
find.setDeleted(Constants.ZERO);
|
find.setRouteProcedureId(user.getRootDepartment().getId());
|
find.setDepartId(user.getCurComDepartment().getId());
|
find.setBomId(bve.getId());
|
find.setRouteProcedureId(routeCard.getRouteProcedureId());
|
RouteCard finddata= this.findOne(find);
|
if(finddata!=null){
|
if(!Constants.equalsInteger(finddata.getId(),routeCard.getId())){
|
return ApiResponse.failed("工序已存在,不允许添加");
|
}
|
}
|
find.setId(routeCard.getId());
|
find.setUpdateTime(new Date());
|
find.setUpdateUser(user.getId());
|
find.setTips(routeCard.getTips());
|
find.setFileurl(routeCard.getFileurl());
|
find.setRemark(routeCard.getRemark());
|
routeCardMapper.updateById(find);
|
return ApiResponse.success(null);
|
}
|
|
@Override
|
public void updateByIdInBatch(List<RouteCard> routeCards) {
|
if (CollectionUtils.isEmpty(routeCards)) {
|
return;
|
}
|
for (RouteCard routeCard: routeCards) {
|
routeCardMapper.updateById(routeCard);
|
}
|
}
|
|
@Override
|
public RouteCard findById(Integer id) {
|
|
String resourcePath= systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode();
|
RouteCard routeCard= routeCardMapper.selectById(id);
|
routeCard.setResourcePath(resourcePath);
|
return routeCard;
|
}
|
|
@Override
|
public RouteCard findOne(RouteCard routeCard) {
|
QueryWrapper<RouteCard> wrapper = new QueryWrapper<>(routeCard);
|
return routeCardMapper.selectOne(wrapper);
|
}
|
|
@Override
|
public List<RouteCard> findList(RouteCard routeCard) {
|
QueryWrapper<RouteCard> wrapper = new QueryWrapper<>(routeCard);
|
return routeCardMapper.selectList(wrapper);
|
}
|
|
@Override
|
public PageData<RouteCard> findPage(PageWrap<RouteCard> pageWrap) {
|
IPage<RouteCard> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
|
QueryWrapper<RouteCard> queryWrapper = new QueryWrapper<>();
|
Utils.MP.blankToNull(pageWrap.getModel());
|
if (pageWrap.getModel().getId() != null) {
|
queryWrapper.lambda().eq(RouteCard::getId, pageWrap.getModel().getId());
|
}
|
if (pageWrap.getModel().getDeleted() != null) {
|
queryWrapper.lambda().eq(RouteCard::getDeleted, pageWrap.getModel().getDeleted());
|
}
|
if (pageWrap.getModel().getCreateUser() != null) {
|
queryWrapper.lambda().eq(RouteCard::getCreateUser, pageWrap.getModel().getCreateUser());
|
}
|
if (pageWrap.getModel().getCreateTime() != null) {
|
queryWrapper.lambda().ge(RouteCard::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateTime()));
|
queryWrapper.lambda().le(RouteCard::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateTime()));
|
}
|
if (pageWrap.getModel().getUpdateUser() != null) {
|
queryWrapper.lambda().eq(RouteCard::getUpdateUser, pageWrap.getModel().getUpdateUser());
|
}
|
if (pageWrap.getModel().getUpdateTime() != null) {
|
queryWrapper.lambda().ge(RouteCard::getUpdateTime, Utils.Date.getStart(pageWrap.getModel().getUpdateTime()));
|
queryWrapper.lambda().le(RouteCard::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime()));
|
}
|
if (pageWrap.getModel().getRemark() != null) {
|
queryWrapper.lambda().eq(RouteCard::getRemark, pageWrap.getModel().getRemark());
|
}
|
if (pageWrap.getModel().getDepartId() != null) {
|
queryWrapper.lambda().eq(RouteCard::getDepartId, pageWrap.getModel().getDepartId());
|
}
|
if (pageWrap.getModel().getRootDepartId() != null) {
|
queryWrapper.lambda().eq(RouteCard::getRootDepartId, pageWrap.getModel().getRootDepartId());
|
}
|
if (pageWrap.getModel().getBomId() != null) {
|
queryWrapper.lambda().eq(RouteCard::getBomId, pageWrap.getModel().getBomId());
|
}
|
if (pageWrap.getModel().getRouteProcedureId() != null) {
|
queryWrapper.lambda().eq(RouteCard::getRouteProcedureId, pageWrap.getModel().getRouteProcedureId());
|
}
|
if (pageWrap.getModel().getTips() != null) {
|
queryWrapper.lambda().eq(RouteCard::getTips, pageWrap.getModel().getTips());
|
}
|
if (pageWrap.getModel().getFileurl() != null) {
|
queryWrapper.lambda().eq(RouteCard::getFileurl, pageWrap.getModel().getFileurl());
|
}
|
for(PageWrap.SortData sortData: pageWrap.getSorts()) {
|
if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
|
queryWrapper.orderByDesc(sortData.getProperty());
|
} else {
|
queryWrapper.orderByAsc(sortData.getProperty());
|
}
|
}
|
return PageData.from(routeCardMapper.selectPage(page, queryWrapper));
|
}
|
|
@Override
|
public long count(RouteCard routeCard) {
|
QueryWrapper<RouteCard> wrapper = new QueryWrapper<>(routeCard);
|
return routeCardMapper.selectCount(wrapper);
|
}
|
}
|