Merge remote-tracking branch 'origin/feature/DM/nflg-bom' into feature/DM/nflg-bom

This commit is contained in:
luoliming 2024-01-23 23:38:01 +08:00
commit 5821052b77
5 changed files with 57 additions and 5 deletions

View File

@ -149,7 +149,7 @@ public class OptionalMbomApi extends BaseApi {
@GetMapping("importSap")
@ApiOperation("编辑的物料列表")
@ApiOperation("导入sap")
public ResultVO<Boolean > importSap(@ApiParam("行Id") @RequestParam("rowId") Long rowId) {
if(Objects.isNull(rowId)){

View File

@ -46,7 +46,7 @@ public interface OptionalMbomMaterialMapper extends BaseMapper<OptionalMbomMater
List<OptionalMbomMaterialListVO> searchList(@Param("rowId") Long rowId );
List<OptionalMbomMaterialListVO> getRecursionList(@Param("rowId") Long rowId );
List<OptionalMbomMaterialListVO> getByRootIdList(@Param("rootRowId") Long rootRowId );
}

View File

@ -17,7 +17,7 @@ public class T1DTO {
private String ID="";
@ApiModelProperty("日期")
private String DATUM="";
private String DATUM="99991231";
@ApiModelProperty("日期")
private String UZEIT="";

View File

@ -6,8 +6,11 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.TypeReference;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.util.TypeUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -18,10 +21,14 @@ import com.google.common.collect.ImmutableList;
import com.nflg.product.base.core.conmon.util.SessionUtil;
import com.nflg.product.base.core.exception.NflgBusinessException;
import com.nflg.product.base.core.vo.PageVO;
import com.nflg.product.bomnew.constant.BomConstant;
import com.nflg.product.bomnew.constant.EBomConstant;
import com.nflg.product.bomnew.constant.OptionalBomConstant;
import com.nflg.product.bomnew.mapper.master.OptionalMbomMaterialMapper;
import com.nflg.product.bomnew.pojo.dto.OptionalMbomMaterialAddDTO;
import com.nflg.product.bomnew.pojo.dto.sap.impart2.ImportSapParamDTO;
import com.nflg.product.bomnew.pojo.dto.sap.impart2.T1DTO;
import com.nflg.product.bomnew.pojo.entity.MaterialMainEntity;
import com.nflg.product.bomnew.pojo.entity.OptionalMbomMaterialEntity;
@ -125,12 +132,46 @@ public class OptionalMbomMaterialService extends ServiceImpl<OptionalMbomMateria
public Boolean importSap(Long rowId){
List<OptionalMbomMaterialListVO> list=this.baseMapper.getRecursionList(rowId);
OptionalMbomMaterialEntity entity= getById(rowId);
List<OptionalMbomMaterialListVO> list=this.baseMapper.getByRootIdList(entity.getRootRowId());
OptionalMbomMaterialListVO parent=listToTree(rowId,list);
materialMainService.intiMaterialInfo(list);
ImportSapParamDTO result=new ImportSapParamDTO();
result.setT1(new ArrayList<>());
//
result.setZID(RandomUtil.randomNumbers(8));
result.setI_WERKS("1");
result.setI_STLAN(BomConstant.SAP_YDBOM);
String dateYMD=DateUtil.format(new Date(),"yyyyMMdd");
for (OptionalMbomMaterialListVO parent:
list ) {
List<OptionalMbomMaterialListVO> childList= list.stream().filter(u -> u.getParentRowId().equals(parent.getRowId())).collect(Collectors.toList());
if(CollectionUtil.isEmpty(childList)){
continue;
}
for (OptionalMbomMaterialListVO child:
childList) {
T1DTO t1=new T1DTO();
t1.setID(RandomUtil.randomNumbers(8));
t1.setMATNR(parent.getMaterialNo());
t1.setIDNRK(child.getMaterialNo());
t1.setMEINS(child.getMaterialUnit());
t1.setMENGE(child.getExistStatus().toString());
t1.setPOSTP("L");
t1.setDATUM(dateYMD);
t1.setMAKTX(parent.getMaterialDesc());
t1.setMAKTX1(child.getMaterialDesc());
result.getT1().add(t1);
}
}
System.out.println(JSON.toJSONString(result));
return true;
}

View File

@ -104,6 +104,17 @@ row_id,parent_row_id,level_row_id,material_no,material_name,material_desc,drawin
</select>
<select id="getByRootIdList" resultType="com.nflg.product.bomnew.pojo.vo.OptionalMbomMaterialListVO" >
select
*
from t_optional_mbom_material
where root_row_id=#{rootRowId}
order by created_time asc
</select>
<select id="indexListPage" resultType="com.nflg.product.bomnew.pojo.vo.OptionalMbomMaterialListVO">
SELECT max(t1.row_id) as row_id ,t1.root_row_id from t_optional_mbom_material t1