demand: 新增筛选网点接口。筛选供应商接口返回nameEn.
committer: heyu
This commit is contained in:
parent
1fc7fb52c5
commit
c54ef63b78
@ -17,8 +17,11 @@ import java.util.stream.Collectors;
|
|||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import com.xdadan.erp.common.annotation.filter.jackson.JacksonFilter;
|
import com.xdadan.erp.common.annotation.filter.jackson.JacksonFilter;
|
||||||
|
import com.xdadan.erp.emis.domain.EmisSupplier;
|
||||||
import com.xdadan.erp.emis.service.EmisBaseService;
|
import com.xdadan.erp.emis.service.EmisBaseService;
|
||||||
import com.xdadan.erp.emis.utils.WaybillHelper;
|
import com.xdadan.erp.emis.utils.WaybillHelper;
|
||||||
|
import jodd.util.StringUtil;
|
||||||
|
import org.apache.commons.compress.utils.Lists;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
@ -70,6 +73,14 @@ public class EmisSiteController extends EmisBaseController
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping("/chooseSite")
|
||||||
|
public TableDataInfo chooseSite(EmisSite emisSite) {
|
||||||
|
startPage();
|
||||||
|
List<EmisSite> list = emisSiteService.selectSiteByConditions(emisSite);
|
||||||
|
return getDataTable(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询网点-精简
|
* 查询网点-精简
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -93,4 +93,11 @@ public interface EmisSiteMapper extends BaseMapper<EmisSite>
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<EmisSite> selectSeaWaySiteList(EmisSite emisSite);
|
List<EmisSite> selectSeaWaySiteList(EmisSite emisSite);
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param emisSite
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<EmisSite> selectSiteByConditions(EmisSite emisSite);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -84,4 +84,11 @@ public interface IEmisSiteService
|
|||||||
* @return 海运网点
|
* @return 海运网点
|
||||||
*/
|
*/
|
||||||
List<EmisSite> selectSeaWaySiteList(EmisSite emisSite);
|
List<EmisSite> selectSeaWaySiteList(EmisSite emisSite);
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param emisSite
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<EmisSite> selectSiteByConditions(EmisSite emisSite);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,6 +10,7 @@
|
|||||||
|
|
||||||
package com.xdadan.erp.emis.service.impl;
|
package com.xdadan.erp.emis.service.impl;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -193,4 +194,9 @@ public class EmisSiteServiceImpl extends EmisBaseService implements IEmisSiteSer
|
|||||||
return emisSiteMapper.selectSeaWaySiteList(emisSite);
|
return emisSiteMapper.selectSeaWaySiteList(emisSite);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<EmisSite> selectSiteByConditions(EmisSite emisSite) {
|
||||||
|
return emisSiteMapper.selectSiteByConditions(emisSite);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -138,20 +138,24 @@ public class EmisSupplierServiceImpl implements IEmisSupplierService
|
|||||||
for (EmisSupplier supplier : originalList) {
|
for (EmisSupplier supplier : originalList) {
|
||||||
String code = supplier.getCode();
|
String code = supplier.getCode();
|
||||||
String name = supplier.getName();
|
String name = supplier.getName();
|
||||||
|
String nameEn = supplier.getNameEn();
|
||||||
|
|
||||||
// 如果code或name包含逗号,说明有多个值需要拆分
|
// 如果code、name或nameEn包含逗号,说明有多个值需要拆分
|
||||||
if (StringUtils.isNotBlank(code) && code.contains(",") ||
|
if (StringUtils.isNotBlank(code) && code.contains(",") ||
|
||||||
StringUtils.isNotBlank(name) && name.contains(",")) {
|
StringUtils.isNotBlank(name) && name.contains(",") ||
|
||||||
|
StringUtils.isNotBlank(nameEn) && nameEn.contains(",")) {
|
||||||
|
|
||||||
String[] codes = StringUtils.isNotBlank(code) ? code.split(",") : new String[0];
|
String[] codes = StringUtils.isNotBlank(code) ? code.split(",") : new String[0];
|
||||||
String[] names = StringUtils.isNotBlank(name) ? name.split(",") : new String[0];
|
String[] names = StringUtils.isNotBlank(name) ? name.split(",") : new String[0];
|
||||||
|
String[] nameEns = StringUtils.isNotBlank(nameEn) ? nameEn.split(",") : new String[0];
|
||||||
|
|
||||||
// 取两个数组的最大长度,确保能处理code和name数量不一致的情况
|
// 取三个数组的最大长度,确保能处理code、name和nameEn数量不一致的情况
|
||||||
int maxLength = Math.max(codes.length, names.length);
|
int maxLength = Math.max(Math.max(codes.length, names.length), nameEns.length);
|
||||||
|
|
||||||
for (int i = 0; i < maxLength; i++) {
|
for (int i = 0; i < maxLength; i++) {
|
||||||
String currentCode = null;
|
String currentCode = null;
|
||||||
String currentName = null;
|
String currentName = null;
|
||||||
|
String currentNameEn = null;
|
||||||
|
|
||||||
if (i < codes.length) {
|
if (i < codes.length) {
|
||||||
currentCode = codes[i].trim();
|
currentCode = codes[i].trim();
|
||||||
@ -159,6 +163,9 @@ public class EmisSupplierServiceImpl implements IEmisSupplierService
|
|||||||
if (i < names.length) {
|
if (i < names.length) {
|
||||||
currentName = names[i].trim();
|
currentName = names[i].trim();
|
||||||
}
|
}
|
||||||
|
if (i < nameEns.length) {
|
||||||
|
currentNameEn = nameEns[i].trim();
|
||||||
|
}
|
||||||
|
|
||||||
// 如果code为空或已存在,跳过
|
// 如果code为空或已存在,跳过
|
||||||
if (StringUtils.isBlank(currentCode) || codeSet.contains(currentCode)) {
|
if (StringUtils.isBlank(currentCode) || codeSet.contains(currentCode)) {
|
||||||
@ -169,14 +176,15 @@ public class EmisSupplierServiceImpl implements IEmisSupplierService
|
|||||||
codeSet.add(currentCode);
|
codeSet.add(currentCode);
|
||||||
|
|
||||||
EmisSupplier newSupplier = new EmisSupplier();
|
EmisSupplier newSupplier = new EmisSupplier();
|
||||||
// 设置拆分后的code和name
|
// 设置拆分后的code、name和nameEn
|
||||||
newSupplier.setCode(currentCode);
|
newSupplier.setCode(currentCode);
|
||||||
newSupplier.setName(currentName);
|
newSupplier.setName(currentName);
|
||||||
|
newSupplier.setNameEn(currentNameEn);
|
||||||
|
|
||||||
resultList.add(newSupplier);
|
resultList.add(newSupplier);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 如果code和name都不包含逗号,检查是否已存在
|
// 如果code、name和nameEn都不包含逗号,检查是否已存在
|
||||||
if (StringUtils.isNotBlank(code) && !codeSet.contains(code)) {
|
if (StringUtils.isNotBlank(code) && !codeSet.contains(code)) {
|
||||||
codeSet.add(code);
|
codeSet.add(code);
|
||||||
resultList.add(supplier);
|
resultList.add(supplier);
|
||||||
|
|||||||
@ -761,4 +761,19 @@
|
|||||||
#{id}
|
#{id}
|
||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="selectSiteByConditions" parameterType="EmisSite" resultMap="EmisSiteResult">
|
||||||
|
select DISTINCT r.next_site_code as site_code, s.site_name, s.site_name_en, s.parent_site_code,province, size_code2,
|
||||||
|
size_code3
|
||||||
|
from emis_trans_plan_rule r
|
||||||
|
left join emis_site s on r.next_site_code = s.site_code and s.del_flag='0'
|
||||||
|
<where>
|
||||||
|
r.del_flag = '0'
|
||||||
|
<if test="params.startSiteCode != null and params.startSiteCode != ''">and r.start_site_code =
|
||||||
|
#{params.startSiteCode}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
order by r.id desc
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@ -263,7 +263,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
(SELECT GROUP_CONCAT(s.name)
|
(SELECT GROUP_CONCAT(s.name)
|
||||||
FROM emis_supplier s
|
FROM emis_supplier s
|
||||||
WHERE FIND_IN_SET(s.code, r.supplier_code)
|
WHERE FIND_IN_SET(s.code, r.supplier_code)
|
||||||
AND s.del_flag = '0') as name
|
AND s.del_flag = '0') as name,
|
||||||
|
(SELECT GROUP_CONCAT(s.name_en)
|
||||||
|
FROM emis_supplier s
|
||||||
|
WHERE FIND_IN_SET(s.code, r.supplier_code)
|
||||||
|
AND s.del_flag = '0') as name_en
|
||||||
from emis_trans_plan_rule r
|
from emis_trans_plan_rule r
|
||||||
<where>
|
<where>
|
||||||
r.del_flag = '0'
|
r.del_flag = '0'
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user