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<HashMap<String,Object>> findList(MixDto mixDto){
|
SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo();
|
mixDto.setCompanyId(userInfo.getCompanyId());
|
List<HashMap<String,Object>> mapList = mixMaterialMapper.findList(mixDto);
|
mapList.forEach(ml -> {
|
mixDto.setId(ml.get("id").toString());
|
List<RsbMaterialDict> rsbMaterialDictList = mixMaterialMapper.infoWithId(mixDto);
|
int i = 0;
|
for(RsbMaterialDict rd : rsbMaterialDictList){
|
ml.put("field"+i,rd.getMaterialValue());
|
i++;
|
}
|
});
|
return mapList;
|
}
|
|
public List<HashMap<String,Object>> findListForExport(MixDto mixDto,String token){
|
SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo(token);
|
mixDto.setCompanyId(userInfo.getCompanyId());
|
List<HashMap<String,Object>> mapList = mixMaterialMapper.findList(mixDto);
|
mapList.forEach(ml -> {
|
mixDto.setId(ml.get("id").toString());
|
List<RsbMaterialDict> 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<MixMaterialInfo> 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<RsbMaterialDict> info(MixDto mixDto) {
|
if(mixDto==null|| StringUtils.isEmpty(mixDto.getId())){
|
return mixMaterialMapper.info();
|
}else{
|
return mixMaterialMapper.infoWithId(mixDto);
|
}
|
}
|
|
@Override
|
public List<HashMap<String,Object>> tableHeader() {
|
List<HashMap<String,Object>> mapList = new ArrayList<>();
|
List<RsbMaterialDict> materialDicts = mixMaterialMapper.info();
|
|
for(int i =0;i<materialDicts.size();i++){
|
HashMap<String,Object> map = new HashMap<>();
|
map.put("title",materialDicts.get(i).getMaterialNameCn());
|
map.put("field","field"+i);
|
mapList.add(map);
|
}
|
return mapList;
|
}
|
|
@Override
|
public List<MixMaterialInfo> mixTotalCount() {
|
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
|
List<MixMaterialInfo> 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);
|
}
|
}
|