refactor(purchase): 重构采购公司编码匹配逻辑
- 在 ProxyPurchaseReturn、ProxyPurchaseWarehousOrder 和 ProxyPurchaseWarehousWarehouse 类中添加 QueryU8CEntityUtil 的自动注入 - 使用 queryU8CEntityUtil.queryBdDefDocByPkDefDocList 方法替换原有的公司编码匹配逻辑 - 优化了公司编码的查询和验证过程,提高了代码的可维护性和扩展性 - 修改了 application.yml 中的 profiles.active 配置,从 letsprod 改为 lets - 更新了测试类中的测试用例,调整了实施时间和订单编号
This commit is contained in:
parent
7e89ad620d
commit
cbaefcc1fb
|
@ -105,6 +105,9 @@ public class ProxyPurchaseReturn extends PluginBaseEntity {
|
||||||
@Autowired
|
@Autowired
|
||||||
private OffsetTimeTime offsetTimeTime;
|
private OffsetTimeTime offsetTimeTime;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private QueryU8CEntityUtil queryU8CEntityUtil;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initialize() {
|
public void initialize() {
|
||||||
logger.info(getPluginLabel() + "執行初始化方法initialize()");
|
logger.info(getPluginLabel() + "執行初始化方法initialize()");
|
||||||
|
@ -602,15 +605,18 @@ public class ProxyPurchaseReturn extends PluginBaseEntity {
|
||||||
//采购公司
|
//采购公司
|
||||||
String companyCode = header.getCompanyCode();
|
String companyCode = header.getCompanyCode();
|
||||||
Assert.notNull(companyCode, "O表头公司不能为空");
|
Assert.notNull(companyCode, "O表头公司不能为空");
|
||||||
|
String replaceCompanyCode = queryU8CEntityUtil.queryBdDefDocByPkDefDocList(companyCode.trim());
|
||||||
|
Assert.notNull(replaceCompanyCode, "replaceCompanyCode不能为空!");
|
||||||
|
|
||||||
BdCorpEntity bdCorpEntity = new BdCorpEntity();
|
BdCorpEntity bdCorpEntity = new BdCorpEntity();
|
||||||
bdCorpEntity.setDr(0);
|
bdCorpEntity.setDr(0);
|
||||||
bdCorpEntity.setDataSourceCode("lets_u8c");
|
bdCorpEntity.setDataSourceCode("lets_u8c");
|
||||||
bdCorpEntity.setUnitcode(companyCode);
|
bdCorpEntity.setUnitcode(replaceCompanyCode);
|
||||||
List<BdCorpEntity> bdCorpEntityList = iBdCorpDao.query(bdCorpEntity);
|
List<BdCorpEntity> bdCorpEntityList = iBdCorpDao.query(bdCorpEntity);
|
||||||
if (bdCorpEntityList.size() == 0) {
|
if (bdCorpEntityList.size() == 0) {
|
||||||
Assert.state(false, "根据O货主编码{},无法匹配到U8C销售公司", companyCode);
|
Assert.state(false, "根据O货主编码{},无法匹配到U8C销售公司", replaceCompanyCode);
|
||||||
} else if (bdCorpEntityList.size() >= 2) {
|
} else if (bdCorpEntityList.size() >= 2) {
|
||||||
Assert.state(false, "根据O货主编码{},匹配到U8C销售公司{}个", companyCode, bdCorpEntityList.size());
|
Assert.state(false, "根据O货主编码{},匹配到U8C销售公司{}个", replaceCompanyCode, bdCorpEntityList.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
//采购部门:业务部门
|
//采购部门:业务部门
|
||||||
|
|
|
@ -85,6 +85,9 @@ public class ProxyPurchaseWarehousOrder extends PluginBaseEntity {
|
||||||
@Autowired
|
@Autowired
|
||||||
private OfsStandardUtil ofsStandardUtil;
|
private OfsStandardUtil ofsStandardUtil;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private QueryU8CEntityUtil queryU8CEntityUtil;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private OnlyImplementProxyOrderUtil onlyImplementProxyOrder;
|
private OnlyImplementProxyOrderUtil onlyImplementProxyOrder;
|
||||||
|
|
||||||
|
@ -586,18 +589,22 @@ public class ProxyPurchaseWarehousOrder extends PluginBaseEntity {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
//采购公司
|
//先完成采购公司编码的转换逻辑
|
||||||
String companyCode = header.getCompanyCode();
|
String companyCode = header.getCompanyCode();
|
||||||
Assert.notNull(companyCode, "O表头公司不能为空");
|
Assert.notNull(companyCode, "O表头公司不能为空");
|
||||||
|
String replaceCompanyCode = queryU8CEntityUtil.queryBdDefDocByPkDefDocList(companyCode.trim());
|
||||||
|
Assert.notNull(replaceCompanyCode, "replaceCompanyCode不能为空!");
|
||||||
|
|
||||||
|
//采购公司
|
||||||
BdCorpEntity bdCorpEntity = new BdCorpEntity();
|
BdCorpEntity bdCorpEntity = new BdCorpEntity();
|
||||||
bdCorpEntity.setDr(0);
|
bdCorpEntity.setDr(0);
|
||||||
bdCorpEntity.setDataSourceCode("lets_u8c");
|
bdCorpEntity.setDataSourceCode("lets_u8c");
|
||||||
bdCorpEntity.setUnitcode(companyCode);
|
bdCorpEntity.setUnitcode(replaceCompanyCode);
|
||||||
List<BdCorpEntity> bdCorpEntityList = iBdCorpDao.query(bdCorpEntity);
|
List<BdCorpEntity> bdCorpEntityList = iBdCorpDao.query(bdCorpEntity);
|
||||||
if (bdCorpEntityList.size() == 0) {
|
if (bdCorpEntityList.size() == 0) {
|
||||||
Assert.state(false, "根据O货主编码{},无法匹配到U8C销售公司", companyCode);
|
Assert.state(false, "根据O货主编码{},无法匹配到U8C销售公司", replaceCompanyCode);
|
||||||
} else if (bdCorpEntityList.size() >= 2) {
|
} else if (bdCorpEntityList.size() >= 2) {
|
||||||
Assert.state(false, "根据O货主编码{},匹配到U8C销售公司{}个", companyCode, bdCorpEntityList.size());
|
Assert.state(false, "根据O货主编码{},匹配到U8C销售公司{}个", replaceCompanyCode, bdCorpEntityList.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
//采购部门:业务部门
|
//采购部门:业务部门
|
||||||
|
|
|
@ -70,6 +70,9 @@ public class ProxyPurchaseWarehousWarehouse extends PluginBaseEntity {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBdInvmandocDao iBdInvmandocDao;
|
private IBdInvmandocDao iBdInvmandocDao;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private QueryU8CEntityUtil queryU8CEntityUtil;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBdCalbodyDao iBdCalbodyDao;
|
private IBdCalbodyDao iBdCalbodyDao;
|
||||||
|
|
||||||
|
@ -606,15 +609,18 @@ public class ProxyPurchaseWarehousWarehouse extends PluginBaseEntity {
|
||||||
//采购公司
|
//采购公司
|
||||||
String companyCode = header.getCompanyCode();
|
String companyCode = header.getCompanyCode();
|
||||||
Assert.notNull(companyCode, "O表头公司不能为空");
|
Assert.notNull(companyCode, "O表头公司不能为空");
|
||||||
|
String replaceCompanyCode = queryU8CEntityUtil.queryBdDefDocByPkDefDocList(companyCode.trim());
|
||||||
|
Assert.notNull(replaceCompanyCode, "replaceCompanyCode不能为空!");
|
||||||
|
|
||||||
BdCorpEntity bdCorpEntity = new BdCorpEntity();
|
BdCorpEntity bdCorpEntity = new BdCorpEntity();
|
||||||
bdCorpEntity.setDr(0);
|
bdCorpEntity.setDr(0);
|
||||||
bdCorpEntity.setDataSourceCode("lets_u8c");
|
bdCorpEntity.setDataSourceCode("lets_u8c");
|
||||||
bdCorpEntity.setUnitcode(companyCode);
|
bdCorpEntity.setUnitcode(replaceCompanyCode);
|
||||||
List<BdCorpEntity> bdCorpEntityList = iBdCorpDao.query(bdCorpEntity);
|
List<BdCorpEntity> bdCorpEntityList = iBdCorpDao.query(bdCorpEntity);
|
||||||
if (bdCorpEntityList.size() == 0) {
|
if (bdCorpEntityList.size() == 0) {
|
||||||
Assert.state(false, "根据O货主编码{},无法匹配到U8C销售公司", companyCode);
|
Assert.state(false, "根据O货主编码{},无法匹配到U8C销售公司", replaceCompanyCode);
|
||||||
} else if (bdCorpEntityList.size() >= 2) {
|
} else if (bdCorpEntityList.size() >= 2) {
|
||||||
Assert.state(false, "根据O货主编码{},匹配到U8C销售公司{}个", companyCode, bdCorpEntityList.size());
|
Assert.state(false, "根据O货主编码{},匹配到U8C销售公司{}个", replaceCompanyCode, bdCorpEntityList.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
//采购部门:业务部门
|
//采购部门:业务部门
|
||||||
|
|
|
@ -303,20 +303,31 @@ public class QueryU8CEntityUtil {
|
||||||
bdDefdocEntity.setPkDefdoclist(OverallConstant.getOverAllValue("u8c自定义项档案-公司对照"));
|
bdDefdocEntity.setPkDefdoclist(OverallConstant.getOverAllValue("u8c自定义项档案-公司对照"));
|
||||||
bdDefdocEntity.setDr(0);
|
bdDefdocEntity.setDr(0);
|
||||||
bdDefdocEntity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE);
|
bdDefdocEntity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE);
|
||||||
|
bdDefdocEntity.setDoccode(corpCode.trim());
|
||||||
List<BdDefdocEntity> bdDefdocEntityList = iBdDefdocDao.query(bdDefdocEntity);
|
List<BdDefdocEntity> bdDefdocEntityList = iBdDefdocDao.query(bdDefdocEntity);
|
||||||
if (bdDefdocEntityList.size() == 0) {
|
if (bdDefdocEntityList != null && bdDefdocEntityList.size() == 1) {
|
||||||
Assert.state(false, "根据:自定义档案列表编码:GSDY,主键:[{}],未查询到自定义档案", OverallConstant.getOverAllValue("u8c自定义项档案-公司对照"));
|
// Assert.state(false, "根据:自定义档案列表编码:GSDY,主键:[{}],未查询到自定义档案", OverallConstant.getOverAllValue("u8c自定义项档案-公司对照"));
|
||||||
}
|
BdDefdocEntity bdDefdocEntity1 = bdDefdocEntityList.get(0);
|
||||||
List<String> corpCollect = bdDefdocEntityList.stream().map(BdDefdocEntity::getDoccode).collect(Collectors.toList());
|
String memo = bdDefdocEntity1.getMemo();
|
||||||
if (corpCollect.contains(corpCode)) {
|
if (memo != null && !"".equals(memo)) {
|
||||||
String memo = bdDefdocEntityList.get(0).getMemo();
|
String[] split = memo.split(",");
|
||||||
String[] split = memo.split(",");
|
if (split.length > 0) {
|
||||||
if (split.length > 0) {
|
return split[0];
|
||||||
corpCode = split[0];
|
}
|
||||||
}
|
}
|
||||||
|
} else if (bdDefdocEntityList != null && bdDefdocEntityList.size() >= 2) {
|
||||||
|
Assert.state(false, "存在歧义的匹配关系 公司编码:{}存在{}行对照关系!", corpCode);
|
||||||
}
|
}
|
||||||
return corpCode;
|
return corpCode;
|
||||||
|
// List<String> corpCollect = bdDefdocEntityList.stream().map(BdDefdocEntity::getDoccode).collect(Collectors.toList());
|
||||||
|
// if (corpCollect.contains(corpCode)) {
|
||||||
|
// String memo = bdDefdocEntityList.get(0).getMemo();
|
||||||
|
// String[] split = memo.split(",");
|
||||||
|
// if (split.length > 0) {
|
||||||
|
// corpCode = split[0];
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// return corpCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////公司自定义档案查询
|
////////////////////////////////////////////////////////////////////////////////////////公司自定义档案查询
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ spring:
|
||||||
# use-suffix-pattern: true
|
# use-suffix-pattern: true
|
||||||
profiles:
|
profiles:
|
||||||
# active: @profileActive@
|
# active: @profileActive@
|
||||||
active: letsprod
|
active: lets
|
||||||
# active: @profile.active@
|
# active: @profile.active@
|
||||||
# active: dev
|
# active: dev
|
||||||
servlet:
|
servlet:
|
||||||
|
|
|
@ -25,7 +25,7 @@ public class ProxyPurchaseReturnTest {
|
||||||
@Test
|
@Test
|
||||||
public void startImplement() {
|
public void startImplement() {
|
||||||
try {
|
try {
|
||||||
// proxyPurchaseReturn.startImplement("LETS-SH2024082700000005");
|
proxyPurchaseReturn.startImplement("LETS-SH2024091200027580");
|
||||||
|
|
||||||
|
|
||||||
// proxyPurchaseReturn.startImplement("2024-01-01 00:00:00", "2024-08-07 23:59:59");
|
// proxyPurchaseReturn.startImplement("2024-01-01 00:00:00", "2024-08-07 23:59:59");
|
||||||
|
@ -33,7 +33,7 @@ public class ProxyPurchaseReturnTest {
|
||||||
|
|
||||||
// proxyPurchaseReturn.u8cOperationFlow();
|
// proxyPurchaseReturn.u8cOperationFlow();
|
||||||
|
|
||||||
proxyPurchaseReturn.startImplement("2024-09-24 13:49:15", "2024-09-24 13:49:17");
|
// proxyPurchaseReturn.startImplement("2024-09-24 13:49:15", "2024-09-24 13:49:17");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,9 +27,9 @@ public class ProxyPurchaseWarehousOrderTest {
|
||||||
@Test
|
@Test
|
||||||
public void startImplementByCode() {
|
public void startImplementByCode() {
|
||||||
try {
|
try {
|
||||||
// proxyPurchaseWarehousOrder.startImplementByCode("LETS-PO2024091800000002");
|
proxyPurchaseWarehousOrder.startImplementByCode("LETS-PO2024100100000001");
|
||||||
|
|
||||||
proxyPurchaseWarehousOrder.startImplementByTime("2024-09-24 13:49:15", "2024-09-24 13:49:17");
|
// proxyPurchaseWarehousOrder.startImplementByTime("2024-09-24 13:49:15", "2024-09-24 13:49:17");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,6 @@ public class ProxyPurchaseWarehousWarehouseTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void startImplementByCode() {
|
public void startImplementByCode() {
|
||||||
proxyPurchaseWarehousWarehouse.startImplementByCode("LETS-RE2024091800000001");
|
proxyPurchaseWarehousWarehouse.startImplementByCode("LETS-RE2024080100000051");
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -56,7 +56,9 @@ public class QueryU8CEntityUtilTest {
|
||||||
System.out.println(JSON.toJSONString(bdCostsubjEntity));
|
System.out.println(JSON.toJSONString(bdCostsubjEntity));
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Test
|
@Test
|
||||||
// public void queryBdCostsubj() {
|
public void queryBdCostsubj() {
|
||||||
// }
|
String s = queryU8CEntityUtil.queryBdDefDocByPkDefDocList("KS");
|
||||||
|
System.out.println(s);
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue