|
@@ -18,6 +18,7 @@ import kd.bos.openapi.common.result.CustomApiResult;
|
|
import kd.bos.orm.query.QCP;
|
|
import kd.bos.orm.query.QCP;
|
|
import kd.bos.orm.query.QFilter;
|
|
import kd.bos.orm.query.QFilter;
|
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
|
|
|
+import kd.bos.servicehelper.QueryServiceHelper;
|
|
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
|
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
|
import nckd.base.helper.CommonHelperUtils;
|
|
import nckd.base.helper.CommonHelperUtils;
|
|
import javax.validation.Valid;
|
|
import javax.validation.Valid;
|
|
@@ -148,6 +149,13 @@ public class SRMSynPayApiPlugin implements Serializable {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //根据srm单据编号,校验在星瀚中是否已存在单据
|
|
|
|
+ String xhBillNO = queryBillInfoBySRMBillNo(ENTITY_PUBLICPAY, srmBillNo);
|
|
|
|
+ if(!StringUtils.isEmpty(xhBillNO)){
|
|
|
|
+ returnMessage = "此SRM单号在星瀚系统已存在,对公报销单编号:" + xhBillNO;
|
|
|
|
+ return buildReturnData(code, srmBillNo, returnMessage, null, null, null);
|
|
|
|
+ }
|
|
|
|
+
|
|
// DynamicObject projectInfo = CommonHelperUtils.queryDynamicObject("bd_project", "number", project);
|
|
// DynamicObject projectInfo = CommonHelperUtils.queryDynamicObject("bd_project", "number", project);
|
|
// if(projectInfo == null){
|
|
// if(projectInfo == null){
|
|
// returnMessage = "项目(" + project + ")在星瀚系统中未匹配到数据!";
|
|
// returnMessage = "项目(" + project + ")在星瀚系统中未匹配到数据!";
|
|
@@ -484,13 +492,19 @@ public class SRMSynPayApiPlugin implements Serializable {
|
|
String position = inputData.getString("position");//职位
|
|
String position = inputData.getString("position");//职位
|
|
String biller = inputData.getString("biller");//制单人工号
|
|
String biller = inputData.getString("biller");//制单人工号
|
|
|
|
|
|
-
|
|
|
|
if(StringUtils.isEmpty(srmBillNo) || StringUtils.isEmpty(srmUrl) || StringUtils.isEmpty(cause) || StringUtils.isEmpty(contract)
|
|
if(StringUtils.isEmpty(srmBillNo) || StringUtils.isEmpty(srmUrl) || StringUtils.isEmpty(cause) || StringUtils.isEmpty(contract)
|
|
|| StringUtils.isEmpty(orgUnit) || StringUtils.isEmpty(position) || StringUtils.isEmpty(biller) || StringUtils.isEmpty(applier)){
|
|
|| StringUtils.isEmpty(orgUnit) || StringUtils.isEmpty(position) || StringUtils.isEmpty(biller) || StringUtils.isEmpty(applier)){
|
|
returnMessage = "请检查以下参数 SRM单号、srmUrl、合同编码、事由、申请部门、申请人职位、制单人、经办人 是否为空!";
|
|
returnMessage = "请检查以下参数 SRM单号、srmUrl、合同编码、事由、申请部门、申请人职位、制单人、经办人 是否为空!";
|
|
return buildReturnData(code, srmBillNo, returnMessage, null, null, null);
|
|
return buildReturnData(code, srmBillNo, returnMessage, null, null, null);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //根据srm单据编号,校验在星瀚中是否已存在单据
|
|
|
|
+ String xhBillNO = queryBillInfoBySRMBillNo(ENTITY_PREPAY, srmBillNo);
|
|
|
|
+ if(!StringUtils.isEmpty(xhBillNO)){
|
|
|
|
+ returnMessage = "此SRM单号在星瀚系统已存在,预付单编号:" + xhBillNO;
|
|
|
|
+ return buildReturnData(code, srmBillNo, returnMessage, null, null, null);
|
|
|
|
+ }
|
|
|
|
+
|
|
DynamicObject creatorInfo = CommonHelperUtils.queryBaseDynamicObject("bos_user", "number", biller);
|
|
DynamicObject creatorInfo = CommonHelperUtils.queryBaseDynamicObject("bos_user", "number", biller);
|
|
if(creatorInfo == null){
|
|
if(creatorInfo == null){
|
|
returnMessage = "制单人(" + biller + ")在星瀚系统中未匹配到数据!";
|
|
returnMessage = "制单人(" + biller + ")在星瀚系统中未匹配到数据!";
|
|
@@ -747,4 +761,22 @@ public class SRMSynPayApiPlugin implements Serializable {
|
|
|
|
|
|
return CustomApiResult.success(reslutData);
|
|
return CustomApiResult.success(reslutData);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 根据srm单据号检测星瀚系统是否已存在
|
|
|
|
+ * @param srmBillNo
|
|
|
|
+ * @param entityName
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ private String queryBillInfoBySRMBillNo(String srmBillNo, String entityName){
|
|
|
|
+ String billNO = "";
|
|
|
|
+
|
|
|
|
+ QFilter qFilter = new QFilter("nckd_srmbillno", QCP.equals, srmBillNo);
|
|
|
|
+ DynamicObject info = BusinessDataServiceHelper.loadSingle(entityName, qFilter.toArray());
|
|
|
|
+
|
|
|
|
+ if(info != null){
|
|
|
|
+ billNO = info.getString("billno");
|
|
|
|
+ }
|
|
|
|
+ return billNO;
|
|
|
|
+ }
|
|
}
|
|
}
|