diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSiteController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSiteController.java index 94406b93a..e40f20fe5 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSiteController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSiteController.java @@ -13,6 +13,7 @@ package com.xdadan.erp.web.emis; import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; import com.xdadan.erp.common.annotation.filter.jackson.JacksonFilter; @@ -87,7 +88,7 @@ public class EmisSiteController extends EmisBaseController } } - List list = emisSiteService.selectEmisSiteList(emisSite); + List list = emisSiteService.selectEmisSiteList(emisSite).stream().filter(i->!"88888".equals(i.getSiteCode())).collect(Collectors.toList()); return getDataTable(list); } diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSupplierController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSupplierController.java index 3071f4993..f36f02cfc 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSupplierController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSupplierController.java @@ -17,6 +17,7 @@ import javax.servlet.http.HttpServletResponse; import com.xdadan.erp.common.annotation.filter.jackson.JacksonFilter; import com.xdadan.erp.common.core.domain.entity.SysUser; +import com.xdadan.erp.emis.domain.EmisTransPlanRule; import com.xdadan.erp.emis.utils.WaybillHelper; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -72,6 +73,13 @@ public class EmisSupplierController extends BaseController return getDataTable(list); } + @GetMapping("/chooseSupplier") + public TableDataInfo chooseSupplier(EmisSupplier emisSupplier) { + startPage(); + List list = emisSupplierService.selectSupplierInfoByConditions(emisSupplier); + return getDataTable(list); + } + /** * 查询公司供应商表列表 */ diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisSupplierMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisSupplierMapper.java index 1f46e739b..23b83f18b 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisSupplierMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisSupplierMapper.java @@ -91,4 +91,12 @@ public interface EmisSupplierMapper extends BaseMapper * @return 结果 */ public int deleteEmisSupplierByIds(Long[] ids); + + /** + * 根据条件筛选供应商 + * + * @param emisSupplier + * @return + */ + List selectSupplierInfoByConditions(EmisSupplier emisSupplier); } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java index 3a59bcda7..02db2e8c9 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java @@ -2844,7 +2844,7 @@ public class EmisBaseService { } } - if (StringUtil.isNotBlank(waybill.getVirtualRemark())) { + if ("002".equals(waybill.getTransLineType()) && StringUtil.isNotBlank(waybill.getVirtualRemark())) { // 取每个虚拟单号的后六位,用逗号拼接 String[] codes = waybill.getVirtualRemark().split(","); String shortCodes = Arrays.stream(codes) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSupplierService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSupplierService.java index 2987ade36..4837e4bb1 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSupplierService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSupplierService.java @@ -83,4 +83,12 @@ public interface IEmisSupplierService * @return 结果 */ public int deleteEmisSupplierById(Long id); + + /** + * 根据条件删选供应商 + * + * @param emisSupplier + * @return + */ + List selectSupplierInfoByConditions(EmisSupplier emisSupplier); } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSupplierServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSupplierServiceImpl.java index 6f4a103ee..96b6facc0 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSupplierServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSupplierServiceImpl.java @@ -10,7 +10,12 @@ package com.xdadan.erp.emis.service.impl; +import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; + +import com.xdadan.erp.common.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.xdadan.erp.emis.domain.EmisSupplier; @@ -124,4 +129,62 @@ public class EmisSupplierServiceImpl implements IEmisSupplierService return emisSupplierMapper.deleteEmisSupplierById(id); } + @Override + public List selectSupplierInfoByConditions(EmisSupplier emisSupplier) { + List originalList = emisSupplierMapper.selectSupplierInfoByConditions(emisSupplier); + List resultList = new ArrayList<>(); + Set codeSet = new HashSet<>(); + + for (EmisSupplier supplier : originalList) { + String code = supplier.getCode(); + String name = supplier.getName(); + + // 如果code或name包含逗号,说明有多个值需要拆分 + if (StringUtils.isNotBlank(code) && code.contains(",") || + StringUtils.isNotBlank(name) && name.contains(",")) { + + String[] codes = StringUtils.isNotBlank(code) ? code.split(",") : new String[0]; + String[] names = StringUtils.isNotBlank(name) ? name.split(",") : new String[0]; + + // 取两个数组的最大长度,确保能处理code和name数量不一致的情况 + int maxLength = Math.max(codes.length, names.length); + + for (int i = 0; i < maxLength; i++) { + String currentCode = null; + String currentName = null; + + if (i < codes.length) { + currentCode = codes[i].trim(); + } + if (i < names.length) { + currentName = names[i].trim(); + } + + // 如果code为空或已存在,跳过 + if (StringUtils.isBlank(currentCode) || codeSet.contains(currentCode)) { + continue; + } + + // 添加到去重Set中 + codeSet.add(currentCode); + + EmisSupplier newSupplier = new EmisSupplier(); + // 设置拆分后的code和name + newSupplier.setCode(currentCode); + newSupplier.setName(currentName); + + resultList.add(newSupplier); + } + } else { + // 如果code和name都不包含逗号,检查是否已存在 + if (StringUtils.isNotBlank(code) && !codeSet.contains(code)) { + codeSet.add(code); + resultList.add(supplier); + } + } + } + + return resultList; + } + } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java index 0fdeb703b..7f0c62c98 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java @@ -959,12 +959,18 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb if (empUser == null) { throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "操作员不正确"); } + if(!"1".equals(empUser.getBlOpen())){ + throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "操作员已停用"); + } emisWaybillSave.setOperateEmployeeCode(empUser.getEmpCode()); } else if ("2".equals(pickupMethod)) { SysUser empUser = getEmisStaffBySiteCodeAndEmpName(getCurrentUser().getOwnerSiteCode(), emisWaybillSave.getOperateEmployeeCode()); if (empUser == null) { throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "取件员不正确"); } + if(!"1".equals(empUser.getBlOpen())){ + throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "取件员已停用"); + } emisWaybillSave.setTakePieceEmployeeCode(empUser.getEmpCode()); } diff --git a/emis-biz/src/main/resources/mapper/EmisSupplierMapper.xml b/emis-biz/src/main/resources/mapper/EmisSupplierMapper.xml index 3bb7e385d..436c95cf4 100644 --- a/emis-biz/src/main/resources/mapper/EmisSupplierMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisSupplierMapper.xml @@ -257,4 +257,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + + \ No newline at end of file diff --git a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml index 36d700ee6..4c0a1e455 100644 --- a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml @@ -2017,6 +2017,7 @@ and cust_order_id=#{custOrderId} and bill_code_sub like concat('%', #{billCodeSub}, '%') and order_status=#{orderStatus} + and bl_virtual=#{blVirtual} and waybill_status=#{waybillStatus} and order_type like concat('%', #{orderType}, '%') and order_date = #{orderDate}