rsf-server/src/main/java/com/vincent/rsf/server/api/controller/ReceiveMsgController.java
@@ -5,12 +5,15 @@ import com.vincent.rsf.server.api.controller.params.OrderParams; import com.vincent.rsf.server.api.service.ReceiveMsgService; import com.vincent.rsf.server.common.utils.ExcelUtil; import com.vincent.rsf.server.manager.entity.Matnr; import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate; import com.vincent.rsf.server.manager.entity.excel.MatnrsTemplate; import com.vincent.rsf.server.manager.service.MatnrGroupService; import com.vincent.rsf.server.manager.service.MatnrService; import com.vincent.rsf.server.system.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -21,6 +24,7 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; import java.util.Objects; /** * @author Ryan @@ -38,6 +42,7 @@ private ReceiveMsgService receiveMsgService; @Autowired private MatnrService matnrService; /** * @author Ryan @@ -72,7 +77,7 @@ AsnOrderTemplate template = ExcelUtil.mockData(AsnOrderTemplate.class); List<AsnOrderTemplate> list = new ArrayList<>(); list.add(template); ExcelUtil.build(ExcelUtil.create(list, AsnOrderTemplate.class), response); ExcelUtil.build(ExcelUtil.create(list, AsnOrderTemplate.class), response); System.out.println(template); // return R.ok(); } @@ -80,8 +85,13 @@ @ApiOperation("基础物料信息同步") @PostMapping("/sync/base/matnrs") public R syncMatnrs(@RequestBody List<BaseMatParms> matnrs) { if (Objects.isNull(matnrs)) { return R.error("参数不能为空!1"); } receiveMsgService.syncMatnrs(matnrs); return R.ok(); } public R syc } rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java
@@ -1,6 +1,7 @@ package com.vincent.rsf.server.api.service; import com.vincent.rsf.server.api.controller.params.BaseMatParms; import com.vincent.rsf.server.api.controller.params.OrderParams; import com.vincent.rsf.server.api.entity.dto.PoItemsDto; @@ -22,4 +23,5 @@ */ boolean syncPurchasee(List<OrderParams> orders); void syncMatnrs(List<BaseMatParms> matnrs); } rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
@@ -3,10 +3,15 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.api.controller.params.BaseMatParms; import com.vincent.rsf.server.manager.entity.Matnr; import com.vincent.rsf.server.manager.entity.MatnrGroup; import com.vincent.rsf.server.manager.enums.OrderType; import com.vincent.rsf.server.manager.entity.PurchaseItem; import com.vincent.rsf.server.manager.service.MatnrGroupService; import com.vincent.rsf.server.manager.service.PurchaseItemService; import com.vincent.rsf.server.manager.service.PurchaseService; import com.vincent.rsf.server.manager.service.impl.MatnrServiceImpl; import com.vincent.rsf.server.system.constant.SerialRuleCode; import com.vincent.rsf.server.api.controller.params.OrderParams; import com.vincent.rsf.server.system.entity.Fields; @@ -42,6 +47,10 @@ private FieldsService fieldsService; @Autowired private FieldsItemService fieldsItemService; @Autowired private MatnrGroupService matnrGroupService; @Autowired private MatnrServiceImpl matnrService; @Override @Transactional(rollbackFor = Exception.class) @@ -86,6 +95,35 @@ return true; } /** * 物料信息同步 * @param matnrs */ @Override public void syncMatnrs(List<BaseMatParms> matnrs) { List<Matnr> syncMatnrs = new ArrayList<>(); if (!matnrs.isEmpty()) { matnrs.forEach(matnr -> { Matnr mat = new Matnr(); if (Objects.isNull(matnr.getMatnr())) { throw new RuntimeException("物料编码不能为空!!"); } BeanUtils.copyProperties(matnr, mat); mat.setCode(matnr.getMatnr()).setName(matnr.getMaktx()); if (!Objects.isNull(matnr.getGroupName())) { MatnrGroup matnrGroup = matnrGroupService.getOne(new LambdaQueryWrapper<MatnrGroup>().eq(MatnrGroup::getName, matnr.getGroupName()), false); if (Objects.isNull(matnrGroup)) { mat.setGroupCode(matnrGroup.getCode()).setGroupId(matnrGroup.getId()); } } syncMatnrs.add(mat); }); if (!matnrService.saveOrUpdateBatch(syncMatnrs)) { throw new CoolException("物料信息保存成功!!"); } } } }