Merge pull request 'demand: 运单批量录入回款/销售联系人校验bug修复' (#12) from develop into master

Reviewed-on: http://git.xdadan.loc/tanex/emis-service/pulls/12
This commit is contained in:
smshen 2025-05-06 13:36:11 +08:00
commit d55610ebd0
2 changed files with 32 additions and 11 deletions

View File

@ -3129,13 +3129,23 @@ public class EmisBaseService {
}
/**
* 获取用户列表
* 获取回款联系人列表
*
* @param sysUser
* @return 用户列表
* @return 回款联系人列表
*/
public List<SysUser> getEmisStaffListByEmpName(SysUser sysUser) {
return sysUserMapper.selectUserList(sysUser);
public List<SysUser> getPayeeListByEmpName(SysUser sysUser) {
return sysUserMapper.selectPayeeList(sysUser);
}
/**
* 获取销售联系人列表
*
* @param sysUser
* @return 销售联系人列表
*/
public List<SysUser> getSalesmenListByEmpName(SysUser sysUser) {
return sysUserMapper.selectSalesmenList(sysUser);
}
public SysUser getEmisStaffBySiteCodeAndEmpName(String ownerSiteCode,String empName){

View File

@ -930,12 +930,13 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
emisWaybillSave.setTakePieceEmployeeCode(empUser.getEmpCode());
}
// 收款人备注
List<SysUser> payeeUsers = getSysUsers(emisWaybillSave.getPayee());
// 回款联系人校验
List<SysUser> payeeUsers = getPayeeList(emisWaybillSave.getPayee());
if (CollectionUtil.isEmpty(payeeUsers)) {
throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "回款联系人不支持回款");
}
List<SysUser> salesmenUsers = getSysUsers(emisWaybillSave.getSalesmen());
// 销售联系人校验
List<SysUser> salesmenUsers = getSalesmenList(emisWaybillSave.getSalesmen());
if (CollectionUtil.isEmpty(salesmenUsers)) {
throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "销售联系人不支持回款");
}
@ -1088,14 +1089,24 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
}
private List<SysUser> getSysUsers(String userName) {
private List<SysUser> getPayeeList(String userName) {
SysUser sysUser = new SysUser();
sysUser.setEmpName(userName);
List<SysUser> userList = getEmisStaffListByEmpName(sysUser);
List<SysUser> userList = getPayeeListByEmpName(sysUser);
List<SysUser> users = userList.stream()
.filter(i -> i.getEmpName() != null &&
i.getEmpName().equals(userName) &&
"1".equals(i.getBlPayeeRemark()))
i.getEmpName().equals(userName))
.collect(Collectors.toList());
return users;
}
private List<SysUser> getSalesmenList(String userName) {
SysUser sysUser = new SysUser();
sysUser.setEmpName(userName);
List<SysUser> userList = getSalesmenListByEmpName(sysUser);
List<SysUser> users = userList.stream()
.filter(i -> i.getEmpName() != null &&
i.getEmpName().equals(userName))
.collect(Collectors.toList());
return users;
}