package com.aps.core.service.impl;
|
|
import com.alibaba.fastjson2.JSONArray;
|
import com.alibaba.fastjson2.JSONObject;
|
import com.aps.common.core.utils.DateUtils;
|
import com.aps.core.domain.ApsBomHeader;
|
import com.aps.core.mapper.ApsBomHeaderMapper;
|
import com.aps.core.service.IApsBomHeaderService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.data.redis.core.RedisTemplate;
|
import org.springframework.stereotype.Service;
|
|
import java.util.List;
|
|
/**
|
* BOM Header 数据管理Service业务层处理
|
*
|
* @author zhl
|
* @date 2025-05-06
|
*/
|
@Service
|
public class ApsBomHeaderServiceImpl implements IApsBomHeaderService
|
{
|
@Autowired
|
private ApsBomHeaderMapper apsBomHeaderMapper;
|
|
@Autowired
|
public RedisTemplate redisTemplate;
|
|
/**
|
* 查询BOM Header 数据管理
|
*
|
* @param id BOM Header 数据管理主键
|
* @return BOM Header 数据管理
|
*/
|
@Override
|
public ApsBomHeader selectApsBomHeaderById(Long id)
|
{
|
return apsBomHeaderMapper.selectApsBomHeaderById(id);
|
}
|
|
/**
|
* 查询BOM Header 数据管理列表
|
*
|
* @param apsBomHeader BOM Header 数据管理
|
* @return BOM Header 数据管理
|
*/
|
@Override
|
public List<ApsBomHeader> selectApsBomHeaderList(ApsBomHeader apsBomHeader)
|
{
|
return apsBomHeaderMapper.selectApsBomHeaderList(apsBomHeader);
|
}
|
|
/**
|
* 新增BOM Header 数据管理
|
*
|
* @param apsBomHeader BOM Header 数据管理
|
* @return 结果
|
*/
|
@Override
|
public int insertApsBomHeader(ApsBomHeader apsBomHeader)
|
{
|
apsBomHeader.setCreateTime(DateUtils.getNowDate());
|
return apsBomHeaderMapper.insertApsBomHeader(apsBomHeader);
|
}
|
|
/**
|
* 修改BOM Header 数据管理
|
*
|
* @param apsBomHeader BOM Header 数据管理
|
* @return 结果
|
*/
|
@Override
|
public int updateApsBomHeader(ApsBomHeader apsBomHeader)
|
{
|
apsBomHeader.setUpdateTime(DateUtils.getNowDate());
|
return apsBomHeaderMapper.updateApsBomHeader(apsBomHeader);
|
}
|
|
/**
|
* 批量删除BOM Header 数据管理
|
*
|
* @param ids 需要删除的BOM Header 数据管理主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteApsBomHeaderByIds(Long[] ids)
|
{
|
return apsBomHeaderMapper.deleteApsBomHeaderByIds(ids);
|
}
|
|
/**
|
* 删除BOM Header 数据管理信息
|
*
|
* @param id BOM Header 数据管理主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteApsBomHeaderById(Long id)
|
{
|
return apsBomHeaderMapper.deleteApsBomHeaderById(id);
|
}
|
|
/**
|
* 设置BOM数据到Redis
|
* @return
|
*/
|
@Override
|
public boolean setBomDataToRedis(String orgCode) {
|
try {
|
List<JSONObject> bomRedisData = apsBomHeaderMapper.selectBomRedisData(orgCode);
|
String nowMainItemCode = "";
|
JSONArray bomLine = new JSONArray();
|
for (int i=0,size=bomRedisData.size();i<size;i++) {
|
JSONObject jsonObject = bomRedisData.get(i);
|
if("".equals(nowMainItemCode)){
|
nowMainItemCode = jsonObject.getString("mainitemcode");
|
}
|
if(!nowMainItemCode.equals(jsonObject.getString("mainitemcode"))){
|
redisTemplate.opsForValue().set("BOM:BOM_"+orgCode+"_"+nowMainItemCode, bomLine);
|
bomLine = new JSONArray();
|
}
|
bomLine.add(jsonObject);
|
nowMainItemCode = jsonObject.getString("mainitemcode");
|
if(i==size-1){
|
redisTemplate.opsForValue().set("BOM:BOM_"+orgCode+"_"+nowMainItemCode, bomLine);
|
}
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
return false;
|
}
|
return true;
|
}
|
}
|