Merge pull request 'demand: 新增筛选网点接口。筛选供应商接口返回nameEn.' (#67) from develop into master
Reviewed-on: http://git.xdadan.loc/tanex/emis-service/pulls/67
This commit is contained in:
commit
dab0bbeb29
@ -17,8 +17,11 @@ import java.util.stream.Collectors;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
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.utils.WaybillHelper;
|
||||
import jodd.util.StringUtil;
|
||||
import org.apache.commons.compress.utils.Lists;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
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
|
||||
*/
|
||||
List<EmisSite> selectSeaWaySiteList(EmisSite emisSite);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param emisSite
|
||||
* @return
|
||||
*/
|
||||
List<EmisSite> selectSiteByConditions(EmisSite emisSite);
|
||||
}
|
||||
|
||||
@ -84,4 +84,11 @@ public interface IEmisSiteService
|
||||
* @return 海运网点
|
||||
*/
|
||||
List<EmisSite> selectSeaWaySiteList(EmisSite emisSite);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param emisSite
|
||||
* @return
|
||||
*/
|
||||
List<EmisSite> selectSiteByConditions(EmisSite emisSite);
|
||||
}
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
|
||||
package com.xdadan.erp.emis.service.impl;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -193,4 +194,9 @@ public class EmisSiteServiceImpl extends EmisBaseService implements IEmisSiteSer
|
||||
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) {
|
||||
String code = supplier.getCode();
|
||||
String name = supplier.getName();
|
||||
String nameEn = supplier.getNameEn();
|
||||
|
||||
// 如果code或name包含逗号,说明有多个值需要拆分
|
||||
// 如果code、name或nameEn包含逗号,说明有多个值需要拆分
|
||||
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[] names = StringUtils.isNotBlank(name) ? name.split(",") : new String[0];
|
||||
String[] nameEns = StringUtils.isNotBlank(nameEn) ? nameEn.split(",") : new String[0];
|
||||
|
||||
// 取两个数组的最大长度,确保能处理code和name数量不一致的情况
|
||||
int maxLength = Math.max(codes.length, names.length);
|
||||
// 取三个数组的最大长度,确保能处理code、name和nameEn数量不一致的情况
|
||||
int maxLength = Math.max(Math.max(codes.length, names.length), nameEns.length);
|
||||
|
||||
for (int i = 0; i < maxLength; i++) {
|
||||
String currentCode = null;
|
||||
String currentName = null;
|
||||
String currentNameEn = null;
|
||||
|
||||
if (i < codes.length) {
|
||||
currentCode = codes[i].trim();
|
||||
@ -159,6 +163,9 @@ public class EmisSupplierServiceImpl implements IEmisSupplierService
|
||||
if (i < names.length) {
|
||||
currentName = names[i].trim();
|
||||
}
|
||||
if (i < nameEns.length) {
|
||||
currentNameEn = nameEns[i].trim();
|
||||
}
|
||||
|
||||
// 如果code为空或已存在,跳过
|
||||
if (StringUtils.isBlank(currentCode) || codeSet.contains(currentCode)) {
|
||||
@ -169,14 +176,15 @@ public class EmisSupplierServiceImpl implements IEmisSupplierService
|
||||
codeSet.add(currentCode);
|
||||
|
||||
EmisSupplier newSupplier = new EmisSupplier();
|
||||
// 设置拆分后的code和name
|
||||
// 设置拆分后的code、name和nameEn
|
||||
newSupplier.setCode(currentCode);
|
||||
newSupplier.setName(currentName);
|
||||
newSupplier.setNameEn(currentNameEn);
|
||||
|
||||
resultList.add(newSupplier);
|
||||
}
|
||||
} else {
|
||||
// 如果code和name都不包含逗号,检查是否已存在
|
||||
// 如果code、name和nameEn都不包含逗号,检查是否已存在
|
||||
if (StringUtils.isNotBlank(code) && !codeSet.contains(code)) {
|
||||
codeSet.add(code);
|
||||
resultList.add(supplier);
|
||||
|
||||
@ -761,4 +761,19 @@
|
||||
#{id}
|
||||
</foreach>
|
||||
</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>
|
||||
@ -263,7 +263,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
(SELECT GROUP_CONCAT(s.name)
|
||||
FROM emis_supplier s
|
||||
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
|
||||
<where>
|
||||
r.del_flag = '0'
|
||||
|
||||
Loading…
Reference in New Issue
Block a user