Browse Source

海安自动发料指定账号

master
常熟吴彦祖 2 weeks ago
parent
commit
16bb8e691f
  1. 43
      src/main/java/com/gaotao/modules/api/service/impl/IfsApiIssueAndReturnServiceImpl.java
  2. 2
      src/main/java/com/gaotao/modules/autoWareHourceHaian/service/HaiAnAutoIssueService.java
  3. 1
      src/main/resources/application.yml

43
src/main/java/com/gaotao/modules/api/service/impl/IfsApiIssueAndReturnServiceImpl.java

@ -52,6 +52,12 @@ public class IfsApiIssueAndReturnServiceImpl implements IfsApiIssueAndReturnServ
@Value("${custom.ifs-domainUserID}")
private String domainUserID;
/**
* 海安自动发料无登录用户时的IFS工单发料账号,仅ShopOrderManualIssue在site以54开头时使用 - rqrq
*/
@Value("${custom.ifsIssueUser54:shuai_xu}")
private String ifsIssueUser;
@Value("${ldap-control.control-flag:false}")
private Boolean ldapFlag;
@ -80,6 +86,40 @@ public class IfsApiIssueAndReturnServiceImpl implements IfsApiIssueAndReturnServ
return domainUserID;
}
/**
* @author rqrq
* @Description 解析ShopOrderManualIssue的IFS账号:有登录先用当前用户;自动任务无登录且site以54开头时强制用配置ifsIssueUser;其它无登录仍回退原ifs-domainUserID。不改其它IFS接口取号。- rqrq
* @param site 工单发料工厂,来自IssueShopOrderDto.ifsSiteID,用于判断是否海安54 - rqrq
* @return 写入IFS domainUserID的账号;海安自动任务缺少ifsIssueUser时抛错,避免误用默认账号发料 - rqrq
*/
private String resolveShopOrderManualIssueUser(String site) {
SysUserEntity currentUser = null;
try {
// 先读登录主体:PDA/页面发料必须用当前登录账号,不能被自动任务兜底账号覆盖 - rqrq
Object principal = SecurityUtils.getSubject().getPrincipal();
if (principal instanceof SysUserEntity) {
currentUser = (SysUserEntity) principal;
}
} catch (Exception e) {
log.warn("ShopOrderManualIssue读取登录用户失败,按自动任务取号,site={} - rqrq", site, e);
}
if (currentUser != null) {
if (Boolean.TRUE.equals(ldapFlag) && StringUtils.isNotBlank(currentUser.getDomainAccount())) {
return currentUser.getDomainAccount().trim();
}
if (StringUtils.isNotBlank(currentUser.getUsername())) {
return currentUser.getUsername().trim();
}
}
if (StringUtils.isNotBlank(site) && site.trim().startsWith("54")) {
if (StringUtils.isBlank(ifsIssueUser)) {
throw new XJException("海安自动发料缺少配置custom.ifsIssueUser,无法调用ShopOrderManualIssue");
}
return ifsIssueUser.trim();
}
return domainUserID;
}
/**
* 获取当前用户信息
*/
@ -277,7 +317,8 @@ public class IfsApiIssueAndReturnServiceImpl implements IfsApiIssueAndReturnServ
try{
Map<String, Object> params = new HashMap<>();
params.put("ifsDBName",ifsDBName);
params.put("domainUserID",getCurrentDomainUserID());
// 工单发料账号:有登录用当前用户,海安自动任务无登录且site以54开头用配置ifsIssueUser - rqrq
params.put("domainUserID", resolveShopOrderManualIssueUser(issueShopOrderDto.getIfsSiteID()));
params.put("ifsOrderNo",issueShopOrderDto.getIfsOrderNo());
params.put("ifsReleaseNo",issueShopOrderDto.getIfsReleaseNo());
params.put("ifsSequenceNo",issueShopOrderDto.getIfsSequenceNo());

2
src/main/java/com/gaotao/modules/autoWareHourceHaian/service/HaiAnAutoIssueService.java

@ -7,7 +7,7 @@ import java.util.List;
/**
* @author rqrq
* @Description 海安自动发料服务:RFID命中后落任务并入移库队列,定时等待IFS完成后按工单分组调用同事 autoIssue,再解绑或去异常位 - rqrq
* @Description 海安 自动发料服务:RFID命中后落任务并入移库队列,定时等待IFS完成后按工单分组调用同事 autoIssue,再解绑或去异常位 - rqrq
*/
public interface HaiAnAutoIssueService {

1
src/main/resources/application.yml

@ -108,6 +108,7 @@ custom:
ifs-url: 'https://cclifswebservicehaiandev.ccldesign.com/api/v1/'
ifs-ifsDBName: 'IFST'
ifs-domainUserID: 'Mingo_zhang'
ifsIssueUser54: 'shuai_xu' # 海安自动发料无登录且site以54开头时,ShopOrderManualIssue的IFS账号 - rqrq
wcs-url: 'http://172.28.1.18:7002/api/wms/'
haianWcsUrl: 'http://172.28.1.18:7002/api/wms/' # 海安专用WCS地址,默认与wcs-url一致,可独立维护 - rqrq
haianWcsApi: 'http://172.28.1.18:7002/api/' # 海安专用WCS通用API地址,默认与wcs-api一致 - rqrq

Loading…
Cancel
Save