测试url,sply改为erp
This commit is contained in:
@@ -30,7 +30,7 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "管理后台 - ERP资产卡片")
|
||||
@RestController
|
||||
@RequestMapping("/sply/erp-asset")
|
||||
@RequestMapping("/erp/erp-asset")
|
||||
@Validated
|
||||
public class ErpAssetController {
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "管理后台 - ERP物料清单(BOM)")
|
||||
@RestController
|
||||
@RequestMapping("/sply/erp-bom")
|
||||
@RequestMapping("/erp/erp-bom")
|
||||
@Validated
|
||||
public class ErpBomController {
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "管理后台 - ERP物料清单(BOM)明细")
|
||||
@RestController
|
||||
@RequestMapping("/sply/erp-bom-detail")
|
||||
@RequestMapping("/erp/erp-bom-detail")
|
||||
@Validated
|
||||
public class ErpBomDetailController {
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "管理后台 - ERP公司")
|
||||
@RestController
|
||||
@RequestMapping("/sply/erp-company")
|
||||
@RequestMapping("/erp/erp-company")
|
||||
@Validated
|
||||
public class ErpCompanyController {
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "管理后台 - ERP成本中心")
|
||||
@RestController
|
||||
@RequestMapping("/sply/erp-costcenter")
|
||||
@RequestMapping("/erp/erp-costcenter")
|
||||
@Validated
|
||||
public class ErpCostcenterController {
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "管理后台 - ERP客商信息")
|
||||
@RestController
|
||||
@RequestMapping("/sply/erp-customer")
|
||||
@RequestMapping("/erp/erp-customer")
|
||||
@Validated
|
||||
public class ErpCustomerController {
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "管理后台 - ERP工厂")
|
||||
@RestController
|
||||
@RequestMapping("/sply/erp-factory")
|
||||
@RequestMapping("/erp/erp-factory")
|
||||
@Validated
|
||||
public class ErpFactoryController {
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "管理后台 - ERP内部订单")
|
||||
@RestController
|
||||
@RequestMapping("/sply/erp-internal-order")
|
||||
@RequestMapping("/erp/erp-internal-order")
|
||||
@Validated
|
||||
public class ErpInternalOrderController {
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "管理后台 - ERP物料信息")
|
||||
@RestController
|
||||
@RequestMapping("/sply/erp-material")
|
||||
@RequestMapping("/erp/erp-material")
|
||||
@Validated
|
||||
public class ErpMaterialController {
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "管理后台 - ERP工艺路线")
|
||||
@RestController
|
||||
@RequestMapping("/sply/erp-process")
|
||||
@RequestMapping("/erp/erp-process")
|
||||
@Validated
|
||||
public class ErpProcessController {
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "管理后台 - ERP工艺路线明细")
|
||||
@RestController
|
||||
@RequestMapping("/sply/erp-process-detail")
|
||||
@RequestMapping("/erp/erp-process-detail")
|
||||
@Validated
|
||||
public class ErpProcessDetailController {
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "管理后台 - ERP生产订单")
|
||||
@RestController
|
||||
@RequestMapping("/sply/erp-productive-order")
|
||||
@RequestMapping("/erp/erp-productive-order")
|
||||
@Validated
|
||||
public class ErpProductiveOrderController {
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "管理后台 - ERP生产版本")
|
||||
@RestController
|
||||
@RequestMapping("/sply/erp-productive-version")
|
||||
@RequestMapping("/erp/erp-productive-version")
|
||||
@Validated
|
||||
public class ErpProductiveVersionController {
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "管理后台 - ERP采购组织")
|
||||
@RestController
|
||||
@RequestMapping("/sply/erp-purchase-organization")
|
||||
@RequestMapping("/erp/erp-purchase-organization")
|
||||
@Validated
|
||||
public class ErpPurchaseOrganizationController {
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "管理后台 - ERP销售组织")
|
||||
@RestController
|
||||
@RequestMapping("/sply/erp-sales-organization")
|
||||
@RequestMapping("/erp/erp-sales-organization")
|
||||
@Validated
|
||||
public class ErpSalesOrganizationController {
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "管理后台 - ERP库位")
|
||||
@RestController
|
||||
@RequestMapping("/sply/erp-warehouse")
|
||||
@RequestMapping("/erp/erp-warehouse")
|
||||
@Validated
|
||||
public class ErpWarehouseController {
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ public class ErpBomDetailPageReqVO extends PageParam {
|
||||
private String childMaterialNumber;
|
||||
|
||||
@Schema(description = "子项物料描述")
|
||||
private BigDecimal childMaterialDescription;
|
||||
private String childMaterialDescription;
|
||||
|
||||
@Schema(description = "子项类别")
|
||||
private String category;
|
||||
|
||||
@@ -30,7 +30,7 @@ public class ErpBomDetailRespVO {
|
||||
|
||||
@Schema(description = "子项物料描述", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("子项物料描述")
|
||||
private BigDecimal childMaterialDescription;
|
||||
private String childMaterialDescription;
|
||||
|
||||
@Schema(description = "子项类别", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("子项类别")
|
||||
|
||||
@@ -28,7 +28,7 @@ public class ErpBomDetailSaveReqVO {
|
||||
|
||||
@Schema(description = "子项物料描述", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "子项物料描述不能为空")
|
||||
private BigDecimal childMaterialDescription;
|
||||
private String childMaterialDescription;
|
||||
|
||||
@Schema(description = "子项类别", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "子项类别不能为空")
|
||||
|
||||
@@ -60,8 +60,4 @@ public class ErpBomDO {
|
||||
*/
|
||||
@TableField("UNT")
|
||||
private String unit;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private List<ErpBomDetailDO> erpBomDetailDOList;
|
||||
|
||||
}
|
||||
@@ -49,7 +49,7 @@ public class ErpBomDetailDO {
|
||||
* 子项物料描述
|
||||
*/
|
||||
@TableField("CHD_MTRL_DSP")
|
||||
private BigDecimal childMaterialDescription;
|
||||
private String childMaterialDescription;
|
||||
/**
|
||||
* 子项类别
|
||||
*/
|
||||
|
||||
@@ -26,4 +26,5 @@ public interface ErpBomMapper extends BaseMapperX<ErpBomDO> {
|
||||
.orderByDesc(ErpBomDO::getId));
|
||||
}
|
||||
|
||||
Long insertGetId(ErpBomDO aDo);
|
||||
}
|
||||
@@ -61,4 +61,5 @@ public interface ErpBomDetailService {
|
||||
*/
|
||||
PageResult<ErpBomDetailDO> getErpBomDetailPage(ErpBomDetailPageReqVO pageReqVO);
|
||||
|
||||
void saveOrUpdateErpBomDetail(List<ErpBomDetailDO> updateReqVO);
|
||||
}
|
||||
@@ -3,16 +3,23 @@ package com.zt.plat.module.erp.service.erp;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.zt.plat.framework.common.pojo.PageResult;
|
||||
import com.zt.plat.framework.common.util.object.BeanUtils;
|
||||
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.zt.plat.module.erp.common.conf.ErpConfig;
|
||||
import com.zt.plat.module.erp.common.enums.OftenEnum;
|
||||
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpBomDetailPageReqVO;
|
||||
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpBomDetailRespVO;
|
||||
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpBomDetailSaveReqVO;
|
||||
import com.zt.plat.module.erp.dal.dataobject.erp.ErpBomDO;
|
||||
import com.zt.plat.module.erp.dal.dataobject.erp.ErpBomDetailDO;
|
||||
import com.zt.plat.module.erp.dal.mysql.erp.ErpBomDetailMapper;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static com.zt.plat.module.erp.enums.ErrorCodeConstants.ERP_BOM_DETAIL_NOT_EXISTS;
|
||||
@@ -29,6 +36,9 @@ public class ErpBomDetailServiceImpl implements ErpBomDetailService {
|
||||
@Resource
|
||||
private ErpBomDetailMapper erpBomDetailMapper;
|
||||
|
||||
@Resource
|
||||
private ErpConfig erpConfig;
|
||||
|
||||
@Override
|
||||
public ErpBomDetailRespVO createErpBomDetail(ErpBomDetailSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
@@ -56,12 +66,12 @@ public class ErpBomDetailServiceImpl implements ErpBomDetailService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteErpBomDetailListByIds(List<Long> ids) {
|
||||
public void deleteErpBomDetailListByIds(List<Long> ids) {
|
||||
// 校验存在
|
||||
validateErpBomDetailExists(ids);
|
||||
// 删除
|
||||
erpBomDetailMapper.deleteByIds(ids);
|
||||
}
|
||||
}
|
||||
|
||||
private void validateErpBomDetailExists(List<Long> ids) {
|
||||
List<ErpBomDetailDO> list = erpBomDetailMapper.selectByIds(ids);
|
||||
@@ -86,4 +96,35 @@ public class ErpBomDetailServiceImpl implements ErpBomDetailService {
|
||||
return erpBomDetailMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveOrUpdateErpBomDetail(List<ErpBomDetailDO> updateReqVO) {
|
||||
String key = "erpMap" + OftenEnum.FuncnrEnum.BOM清单.getFuncnr()+ "Detail";
|
||||
if (erpConfig.getRedisCacheMap(key).isEmpty()) {
|
||||
initializeMap(key);
|
||||
}
|
||||
List<ErpBomDetailDO> toUpdate = new ArrayList<>();
|
||||
List<ErpBomDetailDO> toInsert = new ArrayList<>();
|
||||
|
||||
Map<String, Long> existingNumbers = erpConfig.getRedisCacheMap(key);
|
||||
// for (ErpBomDetailDO updateReqVO : updateReqVO){
|
||||
// String mapKey = updateReqVO.getBomId() + "-" + updateReqVO.getErpBomId();
|
||||
// if (existingNumbers.get(mapKey)!=null) {
|
||||
//
|
||||
// updateReqVO.setId(existingNumbers.get(mapKey));
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
// erpBomDetailMapper.saveOrUpdateErpBomDetail(updateReqVO);
|
||||
}
|
||||
|
||||
private void initializeMap(String key) {
|
||||
List<ErpBomDetailDO> assets = erpBomDetailMapper.selectList(new LambdaQueryWrapperX<ErpBomDetailDO>());
|
||||
Map<String, Long> existingNumbers = new HashMap<>();
|
||||
for (ErpBomDetailDO asset : assets) {
|
||||
String mapKey = asset.getBomId() + "-" + asset.getErpBomId();
|
||||
existingNumbers.put(mapKey, asset.getId());
|
||||
}
|
||||
erpConfig.addRedisCacheMap(key, existingNumbers);
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package com.zt.plat.module.erp.service.erp;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.zt.plat.framework.common.pojo.PageResult;
|
||||
import com.zt.plat.framework.common.util.object.BeanUtils;
|
||||
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.zt.plat.module.erp.api.ErpExternalApi;
|
||||
import com.zt.plat.module.erp.api.dto.ErpSubmitReqDTO;
|
||||
import com.zt.plat.module.erp.common.conf.ErpConfig;
|
||||
@@ -10,6 +11,7 @@ import com.zt.plat.module.erp.common.enums.OftenEnum;
|
||||
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpBomPageReqVO;
|
||||
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpBomRespVO;
|
||||
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpBomSaveReqVO;
|
||||
import com.zt.plat.module.erp.dal.dataobject.erp.ErpAssetDO;
|
||||
import com.zt.plat.module.erp.dal.dataobject.erp.ErpBomDO;
|
||||
import com.zt.plat.module.erp.dal.dataobject.erp.ErpBomDO;
|
||||
import com.zt.plat.module.erp.dal.dataobject.erp.ErpBomDetailDO;
|
||||
@@ -48,6 +50,9 @@ public class ErpBomServiceImpl implements ErpBomService {
|
||||
@Resource
|
||||
public ErpExternalApi erpExternalApi;
|
||||
|
||||
@Resource
|
||||
private ErpBomDetailServiceImpl bomDetailService;
|
||||
|
||||
@Override
|
||||
public ErpBomRespVO createErpBom(ErpBomSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
@@ -112,13 +117,18 @@ public class ErpBomServiceImpl implements ErpBomService {
|
||||
try {
|
||||
OftenEnum.FuncnrEnum funcnrEnum = OftenEnum.FuncnrEnum.BOM清单;
|
||||
String funcnr = funcnrEnum.getFuncnr();
|
||||
String key = "erpMap" + funcnr;
|
||||
if (erpConfig.getRedisCacheMap(key).isEmpty()) {
|
||||
initializeMap(key);
|
||||
}
|
||||
Map<String, Object> req = new HashMap<>();
|
||||
JSONArray dataArrayALL = new JSONArray();
|
||||
List<String> redisCache = erpConfig.getRedisCache(OftenEnum.FuncnrEnum.工厂信息.getFuncnr());
|
||||
String factKey = "erpMap" + OftenEnum.FuncnrEnum.工厂信息.getFuncnr();
|
||||
Map<String, Long> redisCache = erpConfig.getRedisCacheMap(factKey);
|
||||
if (CollUtil.isEmpty(redisCache)) {
|
||||
return;
|
||||
}
|
||||
for (String factoryNumber : redisCache) {
|
||||
for (String factoryNumber : redisCache.keySet()) {
|
||||
req.put("WERKS", factoryNumber);
|
||||
// 1. 调用ERP接口获取数据
|
||||
JSONArray dataArray = erpConfig.fetchDataFromERP(funcnr, req);
|
||||
@@ -143,14 +153,13 @@ public class ErpBomServiceImpl implements ErpBomService {
|
||||
/**
|
||||
* 处理数据,区分新增和更新
|
||||
*/
|
||||
private ProcessingResult processData(JSONArray dataArray, OftenEnum.FuncnrEnum funcnr) {
|
||||
String key = "erp" + funcnr.getFuncnr();
|
||||
private ProcessingResult processData(JSONArray dataArray, OftenEnum.FuncnrEnum funcnrEnum) {
|
||||
String key = "erpMap" + funcnrEnum.getFuncnr();
|
||||
Map<String, Long> numbers = erpConfig.getRedisCacheMap(key);
|
||||
Map<String, Long> numberDetails = erpConfig.getRedisCacheMap(key+"details");
|
||||
List<ErpBomDO> toUpdate = new ArrayList<>();
|
||||
List<ErpBomDO> toInsert = new ArrayList<>();
|
||||
|
||||
List<String> allnumbers = new ArrayList<>();
|
||||
List<ErpBomDetailDO> erpBomDetailDOList = new ArrayList<>();
|
||||
for (int i = 0; i < dataArray.size(); i++) {
|
||||
JSONObject dataJson = dataArray.getJSONObject(i);
|
||||
if (dataJson != null) {
|
||||
@@ -162,42 +171,37 @@ public class ErpBomServiceImpl implements ErpBomService {
|
||||
DO.setMaterialDescription(dataJson.getString("MAKTX"));
|
||||
DO.setQuantity(dataJson.getBigDecimal("BMENG"));
|
||||
DO.setUnit(dataJson.getString("BMEIN"));
|
||||
String number =DO.getUpMaterial()+"-"+DO.getUseItem()+"-"+DO.getFactoryNumber();
|
||||
if (numbers.get(number)!=null) {
|
||||
String number = DO.getFactoryNumber() + "-" + DO.getUpMaterial() + "-" + DO.getUseItem();
|
||||
if (numbers.get(number) != null) {
|
||||
// 更新
|
||||
DO.setId(numbers.get(number));
|
||||
toUpdate.add(DO);
|
||||
} else {
|
||||
// 新增
|
||||
toInsert.add(DO);
|
||||
// 为了避免数据重复,先将主表数据插入数据库,再获取主表ID,再插入子表数据
|
||||
erpBomMapper.insert(DO);
|
||||
numbers.put(number, DO.getId());
|
||||
}
|
||||
|
||||
JSONArray dataJsonItem = dataJson.getJSONArray("ITEM");
|
||||
if (dataJsonItem != null) {
|
||||
List<ErpBomDetailDO> erpBomDetailDOList =new ArrayList<>();
|
||||
for (int j = 0; j < dataJsonItem.size(); j++){
|
||||
for (int j = 0; j < dataJsonItem.size(); j++) {
|
||||
JSONObject dataJsonItemJson = dataJsonItem.getJSONObject(j);
|
||||
ErpBomDetailDO detailDO = new ErpBomDetailDO();
|
||||
String numberDel = number+dataJsonItemJson.getString("STVKN");
|
||||
if (numberDetails.get( numberDel) != null){
|
||||
detailDO.setId(Long.valueOf(numberDetails.get( numberDel)));
|
||||
}
|
||||
detailDO.setBomId(String.valueOf(numbers.get(number)));
|
||||
detailDO.setBomId(String.valueOf(DO.getId()));
|
||||
detailDO.setErpBomId(dataJsonItemJson.getString("STVKN"));
|
||||
detailDO.setErpBomId(dataJsonItemJson.getString("IDNRK"));
|
||||
detailDO.setErpBomId(dataJsonItemJson.getString("OJTXP"));
|
||||
detailDO.setErpBomId(dataJsonItemJson.getString("POSTP"));
|
||||
detailDO.setErpBomId(dataJsonItemJson.getString("MENGE"));
|
||||
detailDO.setErpBomId(dataJsonItemJson.getString("MEINS"));
|
||||
detailDO.setErpBomId(dataJsonItemJson.getString("WLCAT"));
|
||||
detailDO.setChildMaterialNumber(dataJsonItemJson.getString("IDNRK"));
|
||||
detailDO.setChildMaterialDescription(dataJsonItemJson.getString("OJTXP"));
|
||||
detailDO.setCategory(dataJsonItemJson.getString("POSTP"));
|
||||
detailDO.setQuantity(dataJsonItemJson.getBigDecimal("MENGE"));
|
||||
detailDO.setUnit(dataJsonItemJson.getString("MEINS"));
|
||||
detailDO.setIdentificationType(dataJsonItemJson.getString("WLCAT"));
|
||||
erpBomDetailDOList.add(detailDO);
|
||||
}
|
||||
DO.setErpBomDetailDOList(erpBomDetailDOList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return new ProcessingResult(toUpdate, toInsert, key, allnumbers);
|
||||
return new ProcessingResult(toUpdate, erpBomDetailDOList,key, allnumbers);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -205,13 +209,12 @@ public class ErpBomServiceImpl implements ErpBomService {
|
||||
*/
|
||||
private void saveData(ProcessingResult result) {
|
||||
// 批量新增和更新
|
||||
if (!result.toInsert.isEmpty()) {
|
||||
erpBomMapper.insertBatch(result.toInsert);
|
||||
}
|
||||
if (!result.toUpdate.isEmpty()) {
|
||||
erpBomMapper.updateBatch(result.toUpdate);
|
||||
}
|
||||
erpConfig.updateRedisCache(result.key, result.allnumbers);
|
||||
if (!result.erpBomDetailDOList.isEmpty()) {
|
||||
bomDetailService.saveOrUpdateErpBomDetail(result.erpBomDetailDOList);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -219,34 +222,44 @@ public class ErpBomServiceImpl implements ErpBomService {
|
||||
*/
|
||||
private static class ProcessingResult {
|
||||
private final List<ErpBomDO> toUpdate;
|
||||
private final List<ErpBomDO> toInsert;
|
||||
private final List<ErpBomDetailDO> erpBomDetailDOList;
|
||||
private final String key;
|
||||
private final List<String> allnumbers;
|
||||
|
||||
public ProcessingResult(List<ErpBomDO> toUpdate, List<ErpBomDO> toInsert, String key, List<String> allnumbers) {
|
||||
public ProcessingResult(List<ErpBomDO> toUpdate, List<ErpBomDetailDO> erpBomDetailDOList, String key, List<String> allnumbers) {
|
||||
this.toUpdate = toUpdate;
|
||||
this.toInsert = toInsert;
|
||||
this.erpBomDetailDOList = erpBomDetailDOList;
|
||||
this.key = key;
|
||||
this.allnumbers = allnumbers;
|
||||
}
|
||||
}
|
||||
|
||||
private void initializeMap(String key) {
|
||||
List<ErpBomDO> assets = erpBomMapper.selectList(new LambdaQueryWrapperX<ErpBomDO>());
|
||||
Map<String, Long> existingNumbers = new HashMap<>();
|
||||
for (ErpBomDO asset : assets) {
|
||||
String mapKey = asset.getFactoryNumber() + "-" + asset.getUpMaterial() + "-" + asset.getUseItem();
|
||||
existingNumbers.put(mapKey, asset.getId());
|
||||
}
|
||||
erpConfig.addRedisCacheMap(key, existingNumbers);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void submitDataToErp() {
|
||||
ErpSubmitReqDTO reqDTO = new ErpSubmitReqDTO();
|
||||
ErpSubmitReqDTO reqDTO = new ErpSubmitReqDTO();
|
||||
reqDTO.setSrcsys("MOM");
|
||||
reqDTO.setFuncnr("061");
|
||||
reqDTO.setBskey("POTEST011");
|
||||
reqDTO.setUsrid("cuibin");
|
||||
reqDTO.setUsrnm("崔斌");
|
||||
|
||||
|
||||
Map<String, Object> req = new HashMap<>();
|
||||
|
||||
|
||||
Map<String, String> exte = new HashMap<>();
|
||||
exte.put("zzhth", "成品采购合同0406-1-xt");
|
||||
req.put("exte", exte);
|
||||
|
||||
|
||||
Map<String, Object> head = new HashMap<>();
|
||||
head.put("pur_group", "120");
|
||||
head.put("purch_org", "3017");
|
||||
@@ -258,7 +271,7 @@ public class ErpBomServiceImpl implements ErpBomService {
|
||||
head.put("doc_type", "PO01");
|
||||
head.put("zzhth", "成品采购合同0406-1-xt");
|
||||
req.put("head", head);
|
||||
|
||||
|
||||
List<Map<String, Object>> items = new ArrayList<>();
|
||||
Map<String, Object> item = new HashMap<>();
|
||||
item.put("material", "000000000000226986");
|
||||
@@ -275,7 +288,7 @@ public class ErpBomServiceImpl implements ErpBomService {
|
||||
req.put("item", items);
|
||||
reqDTO.setReq(req);
|
||||
ResponseEntity<String> response = erpExternalApi.submitDataToErp(reqDTO);
|
||||
if (response.getStatusCode() == HttpStatus.OK){
|
||||
if (response.getStatusCode() == HttpStatus.OK) {
|
||||
log.info("ERP数据提交成功");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
<insert id="insertGetId">
|
||||
|
||||
</insert>
|
||||
|
||||
<update id="updateBatch">
|
||||
<foreach collection="toUpdate" item="item" separator=";">
|
||||
UPDATE sply_erp_fact
|
||||
|
||||
Reference in New Issue
Block a user