From 00a44859a673b388e1dca5f54c4ecaffc5fee30e Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期四, 19 三月 2026 10:21:08 +0800
Subject: [PATCH] lsh#0:新增、更新、解禁(只要调用了更新,就代表非禁用了) 1:禁用
---
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/WarehouseParams.java | 3 +
rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/phyz/ERPController.java | 2
rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Warehouse.java | 4 +
rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Customer.java | 2
rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Supplier.java | 4 +
rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Material.java | 4 +
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/CompaniesParam.java | 3 +
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/BaseMatParms.java | 3 +
rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/phyz/impl/ErpReportServiceImpl.java | 6 +
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java | 126 ++++++++++++++++++++++++++++++++++--------
10 files changed, 127 insertions(+), 30 deletions(-)
diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/phyz/ERPController.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/phyz/ERPController.java
index 1c01de7..8ca9934 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/phyz/ERPController.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/phyz/ERPController.java
@@ -123,7 +123,7 @@
if ("200".equals(resultMsg)){
return CommonResponse.ok(resultMsg);
}
- return CommonResponse.ok();
+ return CommonResponse.error(resultMsg);
}
@ApiOperation("鍏�/鍑哄簱浠诲姟閫氱煡鍗�")
diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Customer.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Customer.java
index 10efefb..07ef78c 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Customer.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Customer.java
@@ -34,7 +34,7 @@
private String email;
// 鍦板潃
private String address;
- // 鎿嶄綔绫诲瀷锛�1 鏂板锛�2 淇敼锛�3绂佺敤锛�4 鍙嶇鐢紱
+ // 鎿嶄綔绫诲瀷锛�0锛氭柊澧炪�佹洿鏂般�佽В绂侊紙鍙璋冪敤浜嗘洿鏂帮紝灏变唬琛ㄩ潪绂佺敤浜嗭級 1锛氱鐢�
@JsonProperty("operateType")
private Integer operateType;
}
diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Material.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Material.java
index cdd5b2d..e1e6d35 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Material.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Material.java
@@ -1,5 +1,6 @@
package com.vincent.rsf.openApi.entity.phyz;
+import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
@@ -49,7 +50,8 @@
private String useOrgName;
// 鐗╂枡灞炴�э紝澶栬喘绛�
private String erpClsID;
- // 鎿嶄綔绫诲瀷锛�1 鏂板锛�2 淇敼锛�3绂佺敤锛�4 鍙嶇鐢紱
+ // 鎿嶄綔绫诲瀷锛�0锛氭柊澧炪�佹洿鏂般�佽В绂侊紙鍙璋冪敤浜嗘洿鏂帮紝灏变唬琛ㄩ潪绂佺敤浜嗭級 1锛氱鐢�
+ @JSONField(name = "OperateType", alternateNames = {"operateType"})
@JsonProperty("operateType")
private Integer operateType;
}
diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Supplier.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Supplier.java
index 5e11910..2301a4d 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Supplier.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Supplier.java
@@ -1,5 +1,6 @@
package com.vincent.rsf.openApi.entity.phyz;
+import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
@@ -34,7 +35,8 @@
private String email;
// 鍦板潃
private String address;
- // 鎿嶄綔绫诲瀷锛�1 鏂板锛�2 淇敼锛�3绂佺敤锛�4 鍙嶇鐢紱
+ // 鎿嶄綔绫诲瀷锛�0锛氭柊澧炪�佹洿鏂般�佽В绂侊紙鍙璋冪敤浜嗘洿鏂帮紝灏变唬琛ㄩ潪绂佺敤浜嗭級 1锛氱鐢�
+ @JSONField(name = "OperateType", alternateNames = {"operateType"})
@JsonProperty("operateType")
private Integer operateType;
}
diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Warehouse.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Warehouse.java
index 36e9e02..91a8167 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Warehouse.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Warehouse.java
@@ -1,5 +1,6 @@
package com.vincent.rsf.openApi.entity.phyz;
+import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
@@ -27,7 +28,8 @@
private String useOrgId;
// 浣跨敤缁勭粐鍚嶇О
private String useOrgName;
- // 鎿嶄綔绫诲瀷锛�1 鏂板锛�2 淇敼锛�3绂佺敤锛�4 鍙嶇鐢紱
+ // 鎿嶄綔绫诲瀷锛�0锛氭柊澧炪�佹洿鏂般�佽В绂侊紙鍙璋冪敤浜嗘洿鏂帮紝灏变唬琛ㄩ潪绂佺敤浜嗭級 1锛氱鐢�
+ @JSONField(name = "OperateType", alternateNames = {"operateType"})
@JsonProperty("operateType")
private Integer operateType;
}
diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/phyz/impl/ErpReportServiceImpl.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/phyz/impl/ErpReportServiceImpl.java
index 24f913e..a7dc524 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/phyz/impl/ErpReportServiceImpl.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/phyz/impl/ErpReportServiceImpl.java
@@ -126,6 +126,7 @@
map.put("spec", material.getSpec());
map.put("describle", material.getDescribe());
map.put("unit", material.getUnit());
+ map.put("operateType", material.getOperateType());
mappedList.add(map);
}
return mappedList;
@@ -250,6 +251,7 @@
map.put("type", null);
map.put("longitude", null);
map.put("latitude", null);
+ map.put("operateType", warehouse.getOperateType());
mappedList.add(map);
}
return mappedList;
@@ -277,7 +279,7 @@
map.put("nameEn", null);
map.put("breifCode", customer.getCustomerNickName());
// server 绔被鍨嬭浆鎹娇鐢ㄤ腑鏂囨弿杩�
- map.put("type", customer.getType());
+ map.put("type", "瀹㈡埛");
map.put("contact", customer.getContact());
map.put("tel", customer.getTelephone());
map.put("email", customer.getEmail());
@@ -286,6 +288,7 @@
map.put("province", null);
map.put("address", customer.getAddress());
map.put("code", customer.getCustomerId());
+ map.put("operateType", customer.getOperateType());
mappedList.add(map);
}
return mappedList;
@@ -314,6 +317,7 @@
map.put("province", null);
map.put("address", supplier.getAddress());
map.put("code", supplier.getSupplierId());
+ map.put("operateType", supplier.getOperateType());
mappedList.add(map);
}
return mappedList;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/BaseMatParms.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/BaseMatParms.java
index 3418282..cccf9bc 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/BaseMatParms.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/BaseMatParms.java
@@ -51,6 +51,9 @@
@ApiModelProperty("鏉″舰鐮�")
private String barcode;
+ @ApiModelProperty("鎿嶄綔绫诲瀷锛�0鏂板/鏇存柊/瑙g(鍚敤)锛�1绂佺敤")
+ private Integer operateType;
+
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/CompaniesParam.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/CompaniesParam.java
index 733651e..2ca9325 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/CompaniesParam.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/CompaniesParam.java
@@ -50,5 +50,8 @@
@ApiModelProperty("浼佷笟缂栫爜")
private String code;
+ @ApiModelProperty("鎿嶄綔绫诲瀷锛�0鏂板/鏇存柊/瑙g(鍚敤)锛�1绂佺敤")
+ private Integer operateType;
+
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/WarehouseParams.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/WarehouseParams.java
index fef5d8d..71db348 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/WarehouseParams.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/WarehouseParams.java
@@ -33,5 +33,8 @@
@ApiModelProperty("绾害")
private String latitude;
+ @ApiModelProperty("鎿嶄綔绫诲瀷锛�0鏂板/鏇存柊/瑙g(鍚敤)锛�1绂佺敤")
+ private Integer operateType;
+
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
index 68ce40f..2f739e4 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
@@ -207,7 +207,6 @@
@Override
@Transactional(timeout = 60, rollbackFor = Exception.class)
public void syncMatnrs(List<BaseMatParms> matnrs) {
- List<Matnr> syncMatnrs = new ArrayList<>();
if (!matnrs.isEmpty()) {
matnrs.forEach(matnr -> {
Matnr mat = new Matnr();
@@ -222,12 +221,23 @@
mat.setGroupCode(matnrGroup.getCode()).setGroupId(matnrGroup.getId());
}
}
- syncMatnrs.add(mat);
- });
+ Matnr exist = matnrService.getOne(new LambdaQueryWrapper<Matnr>()
+ .eq(Matnr::getCode, matnr.getMatnr())
+ .last("limit 1"));
- if (!matnrService.saveOrUpdateBatch(syncMatnrs)) {
- throw new CoolException("鐗╂枡淇℃伅淇濆瓨鎴愬姛锛侊紒");
- }
+ mat.setStatus(Objects.isNull(matnr.getOperateType()) ? 1 : (matnr.getOperateType() == 1 ? 0 : 1));
+ if (!Objects.isNull(exist)) {
+ mat.setId(exist.getId());
+ if (!matnrService.saveOrUpdate(mat)) {
+ throw new CoolException("鐗╂枡淇℃伅鏇存柊澶辫触锛侊紒");
+ }
+ } else {
+ mat.setId(null);
+ if (!matnrService.save(mat)) {
+ throw new CoolException("鐗╂枡淇℃伅淇濆瓨澶辫触锛侊紒");
+ }
+ }
+ });
}
}
@@ -307,7 +317,8 @@
@Override
@Transactional(timeout = 60, rollbackFor = Exception.class)
public R syncMatGroups(List<SyncMatGroupsParams> matGroupsParams) {
- List<MatnrGroup> syncMatGroups = new ArrayList<>();
+ final int[] insertCount = {0};
+ final int[] updateCount = {0};
matGroupsParams.forEach(matGroupsParam -> {
MatnrGroup matnrGroup = new MatnrGroup();
BeanUtils.copyProperties(matGroupsParam, matnrGroup);
@@ -320,12 +331,36 @@
if (Objects.isNull(matGroupsParam.getParCode())) {
throw new CoolException("涓婄骇鐗╂枡鍒嗙粍缂栫爜涓嶈兘涓虹┖锛侊紒");
}
- syncMatGroups.add(matnrGroup);
+
+ // 骞傜瓑鍚屾锛氫紭鍏堟寜缂栫爜鍖归厤锛屾壘涓嶅埌鍐嶆寜鍚嶇О鍖归厤
+ MatnrGroup one = matnrGroupService.getOne(new LambdaQueryWrapper<MatnrGroup>()
+ .eq(MatnrGroup::getCode, matGroupsParam.getCode())
+ .last("limit 1"));
+ if (Objects.isNull(one)) {
+ one = matnrGroupService.getOne(new LambdaQueryWrapper<MatnrGroup>()
+ .eq(MatnrGroup::getName, matGroupsParam.getName())
+ .last("limit 1"));
+ }
+
+ if (!Objects.isNull(one)) {
+ matnrGroup.setId(one.getId());
+ if (!matnrGroupService.saveOrUpdate(matnrGroup)) {
+ throw new CoolException("鐗╂枡鍒嗙粍鏇存柊澶辫触锛侊紒");
+ }
+ updateCount[0]++;
+ } else {
+ matnrGroup.setId(null);
+ if (!matnrGroupService.save(matnrGroup)) {
+ throw new CoolException("鐗╂枡鍒嗙粍淇濆瓨澶辫触锛侊紒");
+ }
+ insertCount[0]++;
+ }
});
- if (!matnrGroupService.saveBatch(syncMatGroups)) {
- throw new CoolException("鐗╂枡鍒嗙粍淇濆瓨澶辫触锛侊紒");
- }
- return R.ok();
+ Map<String, Object> result = new HashMap<>();
+ result.put("total", matGroupsParams.size());
+ result.put("insertCount", insertCount[0]);
+ result.put("updateCount", updateCount[0]);
+ return R.ok(result);
}
/**
@@ -337,23 +372,45 @@
@Override
@Transactional(timeout = 60, rollbackFor = Exception.class)
public R syncWarehouseAreas(List<LocAreasParams> areasParams) {
+ final int[] insertCount = {0};
+ final int[] updateCount = {0};
areasParams.forEach(param -> {
WarehouseAreas locArea = new WarehouseAreas();
BeanUtils.copyProperties(param, locArea);
- WarehouseAreas warehouseAreas = warehouseAreasService
- .getOne(new LambdaQueryWrapper<WarehouseAreas>()
- .eq(WarehouseAreas::getName, param.getName()));
+ // 骞傜瓑鍚屾锛氫紭鍏堟寜缂栫爜鍖归厤锛屾壘涓嶅埌鍐嶆寜鍚嶇О鍖归厤
+ WarehouseAreas warehouseAreas = warehouseAreasService.getOne(new LambdaQueryWrapper<WarehouseAreas>()
+ .eq(WarehouseAreas::getCode, param.getCode())
+ .last("limit 1"));
+ if (Objects.isNull(warehouseAreas)) {
+ warehouseAreas = warehouseAreasService.getOne(new LambdaQueryWrapper<WarehouseAreas>()
+ .eq(WarehouseAreas::getName, param.getName())
+ .last("limit 1"));
+ }
if (!Objects.isNull(warehouseAreas)) {
locArea.setWarehouseId(warehouseAreas.getId());
}
locArea.setName(param.getName())
- .setCode(param.getCode())
- .setId(null);
- if (!warehouseAreasService.save(locArea)) {
- throw new CoolException("搴撳尯淇濆瓨澶辫触锛侊紒");
+ .setCode(param.getCode());
+
+ if (!Objects.isNull(warehouseAreas)) {
+ locArea.setId(warehouseAreas.getId());
+ if (!warehouseAreasService.saveOrUpdate(locArea)) {
+ throw new CoolException("搴撳尯鏇存柊澶辫触锛侊紒");
+ }
+ updateCount[0]++;
+ } else {
+ locArea.setId(null);
+ if (!warehouseAreasService.save(locArea)) {
+ throw new CoolException("搴撳尯淇濆瓨澶辫触锛侊紒");
+ }
+ insertCount[0]++;
}
});
- return R.ok();
+ Map<String, Object> result = new HashMap<>();
+ result.put("total", areasParams.size());
+ result.put("insertCount", insertCount[0]);
+ result.put("updateCount", updateCount[0]);
+ return R.ok(result);
}
/**
@@ -365,15 +422,35 @@
@Override
@Transactional(timeout = 60, rollbackFor = Exception.class)
public R syncWarehouse(List<WarehouseParams> warehouses) {
+ final int[] insertCount = {0};
+ final int[] updateCount = {0};
warehouses.forEach(warehouse -> {
Warehouse ware = new Warehouse();
BeanUtils.copyProperties(warehouse, ware);
- ware.setId(null);
- if (!warehouseService.save(ware)) {
- throw new CoolException("浠撳簱鍚屾淇濆瓨澶辫触锛侊紒");
+ // 骞傜瓑鍚屾锛氭寜浠撳簱鍚嶇О鍖归厤
+ Warehouse one = warehouseService.getOne(new LambdaQueryWrapper<Warehouse>()
+ .eq(Warehouse::getName, warehouse.getName())
+ .last("limit 1"));
+ ware.setStatus(Objects.isNull(warehouse.getOperateType()) ? 1 : (warehouse.getOperateType() == 1 ? 0 : 1));
+ if (!Objects.isNull(one)) {
+ ware.setId(one.getId());
+ if (!warehouseService.saveOrUpdate(ware)) {
+ throw new CoolException("浠撳簱鍚屾鏇存柊澶辫触锛侊紒");
+ }
+ updateCount[0]++;
+ } else {
+ ware.setId(null);
+ if (!warehouseService.save(ware)) {
+ throw new CoolException("浠撳簱鍚屾淇濆瓨澶辫触锛侊紒");
+ }
+ insertCount[0]++;
}
});
- return R.ok();
+ Map<String, Object> result = new HashMap<>();
+ result.put("total", warehouses.size());
+ result.put("insertCount", insertCount[0]);
+ result.put("updateCount", updateCount[0]);
+ return R.ok(result);
}
/**
@@ -406,6 +483,7 @@
}
companys.setType(CompanysType.getCustomVal(param.getType()));
+ companys.setStatus(Objects.isNull(param.getOperateType()) ? 1 : (param.getOperateType() == 1 ? 0 : 1));
if (!Objects.isNull(one)) {
companys.setId(one.getId());
// 宸插瓨鍦ㄥ垯鏇存柊锛屼笉閲嶅鎶ラ敊
--
Gitblit v1.9.1