From cffc7b877759a1e716c9def427de347563eadfe4 Mon Sep 17 00:00:00 2001 From: jing's Date: Tue, 23 Jan 2024 23:04:07 +0800 Subject: [PATCH] =?UTF-8?q?sap=20=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bomnew/api/user/OptionalMbomApi.java | 2 +- .../master/OptionalMbomMaterialMapper.java | 2 +- .../bomnew/pojo/dto/sap/impart2/T1DTO.java | 2 +- .../service/OptionalMbomMaterialService.java | 45 ++++++++++++++++++- .../master/OptionalMbomMaterialMapper.xml | 11 +++++ 5 files changed, 57 insertions(+), 5 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OptionalMbomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OptionalMbomApi.java index c2d6bc27..b18fa057 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OptionalMbomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OptionalMbomApi.java @@ -149,7 +149,7 @@ public class OptionalMbomApi extends BaseApi { @GetMapping("importSap") - @ApiOperation("编辑的物料列表") + @ApiOperation("导入sap") public ResultVO importSap(@ApiParam("行Id") @RequestParam("rowId") Long rowId) { if(Objects.isNull(rowId)){ diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/OptionalMbomMaterialMapper.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/OptionalMbomMaterialMapper.java index ccb4baeb..ca5b8dcb 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/OptionalMbomMaterialMapper.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/OptionalMbomMaterialMapper.java @@ -46,7 +46,7 @@ public interface OptionalMbomMaterialMapper extends BaseMapper searchList(@Param("rowId") Long rowId ); - List getRecursionList(@Param("rowId") Long rowId ); + List getByRootIdList(@Param("rootRowId") Long rootRowId ); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/sap/impart2/T1DTO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/sap/impart2/T1DTO.java index 70f05ddf..218dda06 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/sap/impart2/T1DTO.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/sap/impart2/T1DTO.java @@ -17,7 +17,7 @@ public class T1DTO { private String ID=""; @ApiModelProperty("日期") - private String DATUM=""; + private String DATUM="99991231"; @ApiModelProperty("日期") private String UZEIT=""; diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalMbomMaterialService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalMbomMaterialService.java index 69a43bff..7ff360b7 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalMbomMaterialService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalMbomMaterialService.java @@ -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 list=this.baseMapper.getRecursionList(rowId); + OptionalMbomMaterialEntity entity= getById(rowId); + List 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 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; } diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalMbomMaterialMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalMbomMaterialMapper.xml index 6de061d1..07a4bba5 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalMbomMaterialMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalMbomMaterialMapper.xml @@ -104,6 +104,17 @@ row_id,parent_row_id,level_row_id,material_no,material_name,material_desc,drawin + + +