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 2bbe3d24f..621e86440 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 @@ -3128,6 +3128,16 @@ public class EmisBaseService { return sysUserMapper.selectUserByEmpName(empName); } + /** + * 获取用户列表 + * + * @param sysUser + * @return 用户列表 + */ + public List getEmisStaffListByEmpName(SysUser sysUser) { + return sysUserMapper.selectUserList(sysUser); + } + public SysUser getEmisStaffBySiteCodeAndEmpName(String ownerSiteCode,String empName){ return sysUserMapper.selectUserBySiteCodeAndEmpName(ownerSiteCode,empName); } 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 448190c93..623b9b885 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 @@ -19,9 +19,6 @@ package com.xdadan.erp.emis.service.impl; import com.deepoove.poi.data.Pictures; import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy; import com.googlecode.aviator.AviatorEvaluator; - import com.xdadan.erp.common.annotation.audit.DataAuditLog; - import com.xdadan.erp.common.annotation.audit.OperateType; - import com.xdadan.erp.common.annotation.filter.jackson.JacksonFilter; import com.xdadan.erp.common.config.PayConfig; import com.xdadan.erp.common.core.domain.entity.SysUser; import com.xdadan.erp.common.core.redis.RedissonService; @@ -64,6 +61,7 @@ package com.xdadan.erp.emis.service.impl; import java.net.URLEncoder; import java.text.DecimalFormat; import java.util.*; + import java.util.stream.Collectors; /** * 运单列表Service业务层处理 @@ -932,6 +930,16 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb emisWaybillSave.setTakePieceEmployeeCode(empUser.getEmpCode()); } + // 收款人备注 + List payeeUsers = getSysUsers(emisWaybillSave.getPayee()); + if (CollectionUtil.isEmpty(payeeUsers)) { + throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "回款联系人不支持回款"); + } + List salesmenUsers = getSysUsers(emisWaybillSave.getSalesmen()); + if (CollectionUtil.isEmpty(salesmenUsers)) { + throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "销售联系人不支持回款"); + } + // 包装类型 String packTypeStr = emisWaybillSave.getPackType(); if(StringUtils.isEmpty(packTypeStr)){ @@ -1080,6 +1088,18 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb } + private List getSysUsers(String userName) { + SysUser sysUser = new SysUser(); + sysUser.setEmpName(userName); + List userList = getEmisStaffListByEmpName(sysUser); + List users = userList.stream() + .filter(i -> i.getEmpName() != null && + i.getEmpName().equals(userName) && + "1".equals(i.getBlPayeeRemark())) + .collect(Collectors.toList()); + return users; + } + private void cvtWaybillDraftToRealByOms(EmisWaybill emisWaybillSave) throws EmisBizError {