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 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 bomRedisData = apsBomHeaderMapper.selectBomRedisData(orgCode); String nowMainItemCode = ""; JSONArray bomLine = new JSONArray(); for (int i=0,size=bomRedisData.size();i