BOM明细查询修改
This commit is contained in:
parent
a39a6a1c64
commit
3e0c9de015
@ -67,11 +67,7 @@ public interface ProcessBomDetailMapper extends BaseMapperX<ProcessBomDetailDO>
|
||||
List<ProcessBomDetailDO> selectStandardListByBomId(@Param("bomId") Long bomId);
|
||||
|
||||
|
||||
@Select("SELECT p.*, IFNULL(SUM(s.storage_ok_qty), 0) AS storage_ok_qty " +
|
||||
"FROM pro_process_bom_detail p " +
|
||||
"LEFT JOIN v_storage_material_now s ON p.material_name = s.mat_name " +
|
||||
"WHERE p.bom_id = #{bomId} and p.type = 1 AND p.deleted IN (0, 1) " +
|
||||
"GROUP BY p.material_name")
|
||||
@Select("SELECT p.* FROM pro_process_bom_detail p WHERE p.bom_id = #{bomId} and p.type = 1 AND p.deleted IN (0, 1) ")
|
||||
//2025 0601 因为bom明细页查询到结果 由 group by materialcode转换为 group by id
|
||||
List<ProcessBomDetailDO> selectStandardListByBomId20250609(@Param("bomId") Long bomId);
|
||||
default Long getBomDetailByBluePrintNoAndBomId(String bomCode,String bluePrintNo){
|
||||
|
@ -16,6 +16,7 @@ import org.apache.poi.hpsf.Decimal;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@ -106,7 +107,7 @@ public interface StorageLogNowMapper extends BaseMapperX<StorageLogNowDO> {
|
||||
|
||||
List<StorageLogNowDO> selectNowList(StorageNowAllReqVO reqVO);
|
||||
|
||||
|
||||
List<StorageLogNowDO> selectAllByMatNames(@Param("matNames") List<String> matNames);
|
||||
List<StorageLogNowDO> selectNowByMatPnId(@Param("matId")Long matId,@Param("pnId")Long pnId);
|
||||
|
||||
default PageResult<StorageLogNowDO> getStorageNowPricePage(StorageLogPageReqVO reqVO) {
|
||||
|
@ -33,6 +33,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.shenhe.ShenheDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.attentiontodo.AttentiontodoMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplan.MaterialPlanMapper;
|
||||
@ -42,6 +43,7 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.plantask.PlanTaskMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomDetailMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.shenhe.ShenheMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog.StorageLogNowMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.enums.ProcessBomStatusEnum;
|
||||
import com.chanko.yunxi.mes.module.heli.service.attentiontodo.AttentiontodoService;
|
||||
import com.chanko.yunxi.mes.module.heli.service.composition.CompositionService;
|
||||
@ -123,6 +125,8 @@ public class ProcessBomServiceImpl implements ProcessBomService {
|
||||
private MaterialPlanMapper materialPlanMapper;
|
||||
@Resource
|
||||
private MaterialPlanBoomMapper materialPlanBoomMapper;
|
||||
@Resource
|
||||
private StorageLogNowMapper storageLogNowMapper;
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Long createProcessBom(ProcessBomSaveReqVO createReqVO) {
|
||||
@ -808,6 +812,29 @@ public class ProcessBomServiceImpl implements ProcessBomService {
|
||||
list.addAll(processBomDetailMapper.selectStandardListByBomId20250609(bomId));
|
||||
// Map<Long, List<ProcessBomDetailDO>> standardGroupByMatId = processBomDetailDOS.stream().collect(Collectors.groupingBy(vo -> vo.getMaterialId() == null ? -1 : vo.getMaterialId()));
|
||||
//查非标准件的
|
||||
if (CollUtil.isNotEmpty(list)){
|
||||
HashSet<String> materialNameSet = new HashSet<>();
|
||||
for (ProcessBomDetailDO processBomDetailDO : list) {
|
||||
processBomDetailDO.setStorageOkQty(BigDecimal.ZERO);
|
||||
if (processBomDetailDO.getMaterialName() != null) {
|
||||
materialNameSet.add(processBomDetailDO.getMaterialName());
|
||||
}
|
||||
|
||||
}
|
||||
if (CollUtil.isNotEmpty(materialNameSet)){
|
||||
List<StorageLogNowDO> storageLogNowDOS = storageLogNowMapper.selectAllByMatNames(new ArrayList<>(materialNameSet));
|
||||
for (ProcessBomDetailDO processBomDetailDO : list) {
|
||||
for (StorageLogNowDO storageLogNowDO : storageLogNowDOS) {
|
||||
if (processBomDetailDO.getMaterialName()!= null && storageLogNowDO.getMatName().equals(processBomDetailDO.getMaterialName())) {
|
||||
processBomDetailDO.setStorageOkQty(storageLogNowDO.getStorageOkQty());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
List<ProcessBomDetailDO> processBomDetailNoStandardDOS = processBomDetailMapper.selectListNoStandardList(bomId);
|
||||
List<ProcessBomDetailDO> noStandardList = processBomDetailNoStandardDOS.stream()
|
||||
|
@ -71,10 +71,16 @@
|
||||
</where>
|
||||
order by t.mat_code
|
||||
</select>
|
||||
|
||||
<select id="selectNowByMatPnId" resultType="com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO">
|
||||
select * from v_storage_material_now where id=#{matId} and pn_id=#{pnId} order by mat_code
|
||||
</select>
|
||||
<select id="selectAllByMatNames" resultType="com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO">
|
||||
select mat_name as matName,IFNULL(SUM(storage_ok_qty), 0) AS storage_ok_qty from v_storage_material_now where mat_name in
|
||||
<foreach collection="matNames" open="(" close=")" separator="," item="name">
|
||||
#{name}
|
||||
</foreach>
|
||||
group by mat_name
|
||||
</select>
|
||||
<select id="selectMaterialWithNow"
|
||||
parameterType="com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.StorageNowAllReqVO"
|
||||
resultType="com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO">
|
||||
|
Loading…
Reference in New Issue
Block a user