package com.thhy.materials.modules.biz.mixmateria.service.impl; import com.alibaba.nacos.api.utils.StringUtils; import com.thhy.general.common.enums.ProListenType; import com.thhy.general.config.SysUserInfo; import com.thhy.general.utils.ScreenMqUtils; import com.thhy.general.utils.UserInfoUtils; import com.thhy.materials.modules.biz.materialsplan.entity.RsbMaterialDict; import com.thhy.materials.modules.biz.mixmateria.entity.MixDto; import com.thhy.materials.modules.biz.mixmateria.entity.MixMaterial; import com.thhy.materials.modules.biz.mixmateria.entity.MixMaterialInfo; import com.thhy.materials.modules.biz.mixmateria.mapper.MixMaterialInfoMapper; import com.thhy.materials.modules.biz.mixmateria.mapper.MixMaterialMapper; import com.thhy.materials.modules.biz.mixmateria.service.MixMaterialService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.io.Serializable; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; /** * 服务实现类 * @author zhang_xiao_bo * @since 2023-05-16 15:18:52 */ @Service public class MixMaterialServiceImpl implements MixMaterialService { @Autowired private MixMaterialMapper mixMaterialMapper; @Autowired private MixMaterialInfoMapper infoMapper; @Autowired private ScreenMqUtils screenMqUtils; public MixMaterial get(Serializable id){ return mixMaterialMapper.queryById(id); } public List> findList(MixDto mixDto){ SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo(); mixDto.setCompanyId(userInfo.getCompanyId()); List> mapList = mixMaterialMapper.findList(mixDto); mapList.forEach(ml -> { mixDto.setId(ml.get("id").toString()); List rsbMaterialDictList = mixMaterialMapper.infoWithId(mixDto); int i = 0; for(RsbMaterialDict rd : rsbMaterialDictList){ ml.put("field"+i,rd.getMaterialValue()); i++; } }); return mapList; } public List> findListForExport(MixDto mixDto,String token){ SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo(token); mixDto.setCompanyId(userInfo.getCompanyId()); List> mapList = mixMaterialMapper.findList(mixDto); mapList.forEach(ml -> { mixDto.setId(ml.get("id").toString()); List rsbMaterialDictList = mixMaterialMapper.infoWithId(mixDto); int i = 0; for(RsbMaterialDict rd : rsbMaterialDictList){ ml.put("field"+i,rd.getMaterialValue()); i++; } }); return mapList; } /** * 增加和修改 * @param mixMaterial */ @Transactional public void addMixMaterial(MixMaterial mixMaterial){ SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); if(mixMaterial.getId() == null){ //增加操作 mixMaterial.setCompanyId(sysUserInfo.getCompanyId()); mixMaterial.setCreateUser(sysUserInfo.getUserId()); mixMaterialMapper.insert(mixMaterial); }else{ //修改操作 mixMaterial.setUpdateUser(sysUserInfo.getUserId()); mixMaterial.setUpdateTime(new Date()); mixMaterialMapper.update(mixMaterial); infoMapper.deleteByMixId(mixMaterial.getId()); } List materialInfoList = mixMaterial.getMixMaterialInfoList(); materialInfoList.forEach(ml -> { ml.setMixMaterialId(mixMaterial.getId()); infoMapper.insert(ml); }); screenMqUtils.send(ProListenType.MATERIALWEEKANDMONTHS); } /** * 修改 * @param mixMaterial */ public void update(MixMaterial mixMaterial){ mixMaterialMapper.update(mixMaterial); } /** * 删除 * @param id */ public void delete(Serializable id){ mixMaterialMapper.deletelogic(id); } @Override public List info(MixDto mixDto) { if(mixDto==null|| StringUtils.isEmpty(mixDto.getId())){ return mixMaterialMapper.info(); }else{ return mixMaterialMapper.infoWithId(mixDto); } } @Override public List> tableHeader() { List> mapList = new ArrayList<>(); List materialDicts = mixMaterialMapper.info(); for(int i =0;i map = new HashMap<>(); map.put("title",materialDicts.get(i).getMaterialNameCn()); map.put("field","field"+i); mapList.add(map); } return mapList; } @Override public List mixTotalCount() { SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); List infoList = mixMaterialMapper.queryMixTotalCount(sysUserInfo.getCompanyId()); return infoList; } public static void main(String[] args) { Integer a = 526; Integer b = 526; System.out.println(a==b); } @Override public String queryGroup(String mixId) { return mixMaterialMapper.queryGroup(mixId); } }