Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
I
IMS
Project
Project
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
Graph
比较
统计图
议题
0
议题
0
列表
看板
标记
Milestones
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
刘涛
IMS
Commits
c9c4201f
提交
c9c4201f
authored
1月 14, 2022
作者:
许俊
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
微调
上级
670439fc
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
414 行增加
和
7 行删除
+414
-7
WebService.java
...ava/org/jeecg/modules/iost/ims/controller/WebService.java
+4
-0
ImsOtherOutstock.java
...a/org/jeecg/modules/iost/ims/entity/ImsOtherOutstock.java
+8
-0
ImsMtrlRejectApi.java
...g/jeecg/modules/iost/ims/kingdeeapi/ImsMtrlRejectApi.java
+0
-6
ImsOtherOutstockPushApi.java
.../modules/iost/ims/kingdeeapi/ImsOtherOutstockPushApi.java
+229
-0
IImsOtherOutstockService.java
...cg/modules/iost/ims/service/IImsOtherOutstockService.java
+1
-0
ImsOtherOutstockServiceImpl.java
...es/iost/ims/service/impl/ImsOtherOutstockServiceImpl.java
+172
-1
没有找到文件。
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/controller/WebService.java
浏览文件 @
c9c4201f
...
...
@@ -239,6 +239,10 @@ public class WebService {
}
else
if
(
request
.
getCode
().
equals
(
"R062-1"
))
{
result
=
iImsOutSupplyPickingService
.
synchronization
(
request
.
getData
(),
request
.
getCode
());
}
else
if
(
request
.
getCode
().
equals
(
"R100"
))
{
if
(!
ObjectUtils
.
isEmpty
(
request
.
getData
().
get
(
0
).
get
(
"AUDIT_ID"
)))
{
iImsOtherOutstockService
.
synchronizationPush
(
request
.
getData
(),
request
.
getCode
());
}
result
=
iImsOtherOutstockService
.
synchronization
(
request
.
getData
(),
request
.
getCode
());
}
else
if
(
request
.
getCode
().
equals
(
"R023"
))
{
result
=
iImsGainService
.
synchronization
(
request
.
getData
(),
request
.
getCode
());
...
...
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/entity/ImsOtherOutstock.java
浏览文件 @
c9c4201f
...
...
@@ -85,6 +85,14 @@ public class ImsOtherOutstock implements Serializable {
@Excel
(
name
=
"货主编码"
,
width
=
15
)
@ApiModelProperty
(
value
=
"货主编码"
)
private
java
.
lang
.
String
shipperId
;
/**出库单申请号*/
@Excel
(
name
=
"出库单申请号"
,
width
=
15
)
@ApiModelProperty
(
value
=
"出库单申请号"
)
private
java
.
lang
.
String
auditId
;
/**物料行号*/
@Excel
(
name
=
"物料行号"
,
width
=
15
)
@ApiModelProperty
(
value
=
"物料行号"
)
private
java
.
lang
.
String
mtrlSeq
;
/**单据编号(金蝶里面单据类型)*/
@Excel
(
name
=
"单据编号(金蝶里面单据类型)"
,
width
=
15
)
@ApiModelProperty
(
value
=
"单据编号(金蝶里面单据类型)"
)
...
...
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/kingdeeapi/ImsMtrlRejectApi.java
浏览文件 @
c9c4201f
...
...
@@ -72,12 +72,6 @@ public class ImsMtrlRejectApi implements web_api{
ModelMap
.
put
(
"FID"
,
maps
.
get
(
"FID"
));
ModelMap
.
put
(
"FMRTYPE"
,
"B"
);
//退料类型:默认库存退料
ModelMap
.
put
(
"FDate"
,
maps
.
get
(
"TRX_DATE"
));
//交易时间
ModelMap
.
put
(
"FSupplierID"
,
new
HashMap
<
String
,
Object
>()
{{
put
(
"FNumber"
,
maps
.
get
(
"SUP_ID"
));
}});
//供应商
ModelMap
.
put
(
"FPurchaseOrgId"
,
new
HashMap
<
String
,
Object
>()
{{
put
(
"FNumber"
,
maps
.
get
(
"ORG_ID"
));
}});
//采购组织
}
ModelMap
.
put
(
"FPURMRBENTRY"
,
list
);
return
ModelMap
;
...
...
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/kingdeeapi/ImsOtherOutstockPushApi.java
0 → 100644
浏览文件 @
c9c4201f
package
org
.
jeecg
.
modules
.
iost
.
ims
.
kingdeeapi
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.toolkit.ObjectUtils
;
import
org.jeecg.modules.iost.ims.Dao.CategoryDao
;
import
org.jeecg.modules.iost.ims.Util.ImsLogUtil
;
import
org.jeecg.modules.iost.ims.Util.JsonUtil
;
import
org.jeecg.modules.iost.ims.Util.KingdeeLogUtil
;
import
org.jeecg.modules.iost.ims.Util.KingdeeResultParseUtil
;
import
org.jeecg.modules.iost.ims.entity.ImsOtherOutstock
;
import
org.jeecg.modules.iost.ims.entity.KingdeeResultObject.AddResultObject.Result
;
import
org.jeecg.modules.iost.ims.kingdeeapi.Interface.web_api
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
@Component
public
class
ImsOtherOutstockPushApi
implements
web_api
{
@Autowired
private
CategoryDao
categoryDao
;
private
String
sFormId
;
private
String
Father_FEnrtyID
;
private
String
KingdeeLogPushName
;
private
String
KingdeeLogName
;
private
String
Father_sFormId
;
private
String
push_Rule
;
private
String
Son_FEnrtyID
;
private
String
SeqName
;
private
String
wipOrdeName
;
public
ImsOtherOutstockPushApi
()
{
sFormId
=
"STK_MisDelivery"
;
//子单据Formid
Father_sFormId
=
"STK_OutStockApply"
;
//父单据Formid
Son_FEnrtyID
=
"FEntity_FEntryID"
;
//子单据要查询的FEntryId
Father_FEnrtyID
=
"FEntity_FEntryID"
;
//父单据要查询的FEntryId
KingdeeLogPushName
=
"其他出库(出库申请单-其他出库单)"
;
//金蝶云下推操作日志名称
KingdeeLogName
=
"其他出库"
;
//金蝶云修改操作日志-name
push_Rule
=
"STK_OutStockApplyToSTK_MisDelivery"
;
//父单据下推子单据的规则
SeqName
=
"FSrcEntrySeq"
;
//子单据里面的源单行号(父单据行号);
wipOrdeName
=
"FEntity_Link_FSId"
;
//子单据里面的源单编号(父单据工单编号) 或者如果父单据没有工单编号条件改为源单行内码(源单分录内码)
}
@Override
public
String
add
(
Map
<
String
,
Object
>
maps
)
{
return
null
;
}
public
Result
addTwo
(
List
<
Map
<
String
,
Object
>>
lists
)
{
Map
<
String
,
Object
>
stringStringMap
=
ImsToKingdee
(
lists
);
Result
result
=
categoryDao
.
addAndWithFid
(
KingdeeLogName
,
sFormId
,
JsonUtil
.
Mapjson
(
stringStringMap
),
String
.
valueOf
(
lists
.
get
(
0
).
get
(
"FID"
)));
return
result
;
}
/*ims字段转换成金蝶云待添加(其实都是下推后修改)字段*/
public
Map
<
String
,
Object
>
ImsToKingdee
(
List
<
Map
<
String
,
Object
>>
lists
)
{
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<>();
Map
<
String
,
Object
>
ModelMap
=
new
HashMap
<>();
for
(
Map
<
String
,
Object
>
maps
:
lists
)
{
Object
SHIPPER_TYPE
=
new
Object
();
//转化货主类型字段
if
(
maps
.
get
(
"SHIPPER_TYPE"
).
toString
().
equals
(
"1"
))
{
SHIPPER_TYPE
=
"BD_OwnerOrg"
;
}
else
if
(
maps
.
get
(
"SHIPPER_TYPE"
).
toString
().
equals
(
"2"
))
{
SHIPPER_TYPE
=
"BD_Supplier"
;
}
else
if
(
maps
.
get
(
"SHIPPER_TYPE"
).
toString
().
equals
(
"3"
))
{
SHIPPER_TYPE
=
"BD_Customer"
;
}
Map
<
String
,
Object
>
FEntityMap
=
new
HashMap
<>();
//字段转化
FEntityMap
.
put
(
"FStockId"
,
new
HashMap
<
String
,
Object
>()
{{
put
(
"FNumber"
,
maps
.
get
(
"STORE_ID"
));
}});
//仓库编码
FEntityMap
.
put
(
"FMaterialId"
,
new
HashMap
<
String
,
Object
>()
{{
put
(
"FNumber"
,
maps
.
get
(
"MTRL_ID"
));
}});
//物料编码
FEntityMap
.
put
(
"FDeptId"
,
new
HashMap
<
String
,
Object
>()
{{
put
(
"FNumber"
,
maps
.
get
(
"DEPT_ID"
));
}});
//部门编码
FEntityMap
.
put
(
"FBaseQty"
,
maps
.
get
(
"QUANTITY"
));
//传入的数量为实发数量
FEntityMap
.
put
(
"FEntryNote"
,
maps
.
get
(
"REMARK"
));
//备注
FEntityMap
.
put
(
"FOwnerId"
,
new
HashMap
<
String
,
Object
>()
{{
put
(
"FNumber"
,
maps
.
get
(
"SHIPPER_ID"
));
}});
//货主编码
list
.
add
(
FEntityMap
);
//修改条件FID
ModelMap
.
put
(
"FBillTypeID"
,
new
HashMap
<
String
,
Object
>()
{{
put
(
"FNumber"
,
maps
.
get
(
"ERP_TRX_CODE"
));
}});
//单据类型
ModelMap
.
put
(
"FStockOrgId"
,
new
HashMap
<
String
,
Object
>()
{{
put
(
"FNumber"
,
maps
.
get
(
"ORG_ID"
));
}});
//库存组织
ModelMap
.
put
(
"F_ora_Assistant"
,
new
HashMap
<
String
,
Object
>()
{{
put
(
"FNumber"
,
maps
.
get
(
"ITEM_ID"
));
}});
//库存组织
Map
<
String
,
String
>
key
=
new
HashMap
<>();
Map
<
String
,
String
>
where
=
new
HashMap
<>();
key
.
put
(
"FStaffNumber"
,
"FStaffNumber"
);
where
.
put
(
"FNumber"
,
maps
.
get
(
"NEED_USER"
).
toString
());
List
<
List
<
Object
>>
bd_newstaff
=
categoryDao
.
select
(
"BD_NEWSTAFF"
,
key
,
where
);
if
(
ObjectUtils
.
isEmpty
(
bd_newstaff
))
{
throw
new
RuntimeException
(
"查询员工岗位为空!"
);
}
String
FStaffNumber
=
bd_newstaff
.
get
(
0
).
get
(
0
).
toString
();
ModelMap
.
put
(
"FPickerId"
,
new
HashMap
<
String
,
Object
>()
{{
put
(
"FStaffNumber"
,
FStaffNumber
);
}});
//库存组织 //领料人 ---Ims增加领料人
ModelMap
.
put
(
"FOwnerTypeIdHead"
,
SHIPPER_TYPE
);
//货主类型
ModelMap
.
put
(
"FDate"
,
maps
.
get
(
"TRX_DATE"
));
//交易时间
}
ModelMap
.
put
(
"FEntity"
,
list
);
return
ModelMap
;
}
@Override
public
List
<
Map
<
String
,
String
>>
select
(
Map
<
String
,
String
>
map
,
String
where
)
throws
ParseException
{
return
null
;
}
/*查询数据的子单据的FEntryID*/
public
String
querySonFEntryID
(
String
seq
,
String
FID
,
String
wipOrde
)
{
if
(
ObjectUtils
.
isEmpty
(
FID
))
{
FID
=
new
String
();
}
String
FEntity_FEntryId
=
categoryDao
.
select_Son_FentryId
(
SeqName
,
Son_FEnrtyID
,
Integer
.
valueOf
(
seq
),
FID
,
sFormId
,
KingdeeLogName
+
"子单据行内码查询"
,
wipOrde
,
wipOrdeName
);
return
FEntity_FEntryId
;
}
@Override
public
String
update
(
Object
object
)
{
return
null
;
}
/*查询needLists所有数据的父单据的FEntryID*/
public
List
<
String
>
queryFatherFEntryIDs
(
List
<
Map
<
String
,
Object
>>
needLists
,
List
<
Map
<
String
,
Object
>>
SelectFatherFentryIdFailLists
)
{
List
<
String
>
Father_FEntryIDs
=
new
ArrayList
<>();
//父单据FEntryID
for
(
Map
<
String
,
Object
>
maps
:
needLists
)
{
ImsOtherOutstock
ImsOtherOutstock
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
maps
),
ImsOtherOutstock
.
class
);
//map转为实体类对象
//查询是否有FEntryID传入,没有就其他方法查询出
if
(
ObjectUtils
.
isEmpty
(
maps
.
get
(
"SEQ_ENTRY_CODE"
)))
{
//根据父单据编码和行号(ERP工单行号)在数据库同步表查出父单据的FEntryID
List
<
List
<
Object
>>
FEntryIDlist
=
categoryDao
.
select_Father_FentryId
(
Father_FEnrtyID
,
maps
,
Father_sFormId
,
KingdeeLogName
+
"父单据行内码查询"
);
String
FEntryID
=
"0"
;
//过滤掉查询不到FEntryID的数据返回"0"
if
(!
ObjectUtils
.
isEmpty
(
FEntryIDlist
))
{
if
(
FEntryIDlist
.
size
()>=
Integer
.
valueOf
(
ImsOtherOutstock
.
getMtrlSeq
()))
{
FEntryID
=
FEntryIDlist
.
get
(
Integer
.
valueOf
(
ImsOtherOutstock
.
getMtrlSeq
())
-
1
).
get
(
0
).
toString
();
}
}
else
{
FEntryID
=
"1"
;
maps
.
put
(
"notExitFbillNo"
,
true
);
SelectFatherFentryIdFailLists
.
add
(
maps
);
}
//返回FEntryID默认值0说明查不到FEntryID
if
(
FEntryID
.
equals
(
"0"
))
{
//查询FEntryID失败后要返结果的lists
SelectFatherFentryIdFailLists
.
add
(
maps
);
}
else
{
Father_FEntryIDs
.
add
(
FEntryID
);
}
}
else
{
String
FEntryID
=
maps
.
get
(
"SEQ_ENTRY_CODE"
).
toString
();
Father_FEntryIDs
.
add
(
FEntryID
);
}
}
return
Father_FEntryIDs
;
}
/*父单据下推到子单据*/
public
Result
push
(
List
<
Map
<
String
,
Object
>>
needPushLists
,
List
<
String
>
Father_FEntryIDs
)
{
//目标单据为子单据Formid
String
TargetFormId
=
sFormId
;
//下推父单据的Fromid-EntryID-单据转换规则(写死,客户端查询)-目标单据FormId-
String
result
=
categoryDao
.
pushMore
(
KingdeeLogPushName
,
Father_sFormId
,
Father_FEntryIDs
,
push_Rule
,
TargetFormId
);
Result
pushResult
=
KingdeeResultParseUtil
.
parseAddResult
(
result
);
return
pushResult
;
}
/*父单据下推到子单据*/
public
List
<
Map
<
String
,
String
>>
pushMore
(
List
<
Map
<
String
,
Object
>>
lists
)
{
//目标单据为子单据Formid
String
TargetFormId
=
sFormId
;
//下推父单据的Fromid-EntryID-单据转换规则(写死,客户端查询)-目标单据FormId-
String
pushResult
=
categoryDao
.
pushMore
(
KingdeeLogPushName
,
Father_sFormId
,
null
,
push_Rule
,
TargetFormId
);
//解析信息,得到返回的本单据的单据编码FID和FBillNo
JSONObject
jsonObject
=
JSON
.
parseObject
(
pushResult
);
JSONObject
result1
=
(
JSONObject
)
jsonObject
.
get
(
"Result"
);
JSONObject
responseStatus
=
(
JSONObject
)
result1
.
get
(
"ResponseStatus"
);
List
<
JSONObject
>
successEntitys
=
(
List
<
JSONObject
>)
responseStatus
.
get
(
"SuccessEntitys"
);
Boolean
isSuccess
=
(
Boolean
)
responseStatus
.
get
(
"IsSuccess"
);
if
(
isSuccess
==
false
)
{
String
message
=
new
String
();
List
<
JSONObject
>
Errors
=
(
List
<
JSONObject
>)
responseStatus
.
get
(
"Errors"
);
for
(
JSONObject
error
:
Errors
)
{
JSONObject
messags
=
Errors
.
get
(
0
);
message
=
message
+
"---"
+
String
.
valueOf
(
messags
.
get
(
"Message"
));
}
List
<
Map
<
String
,
String
>>
list
=
new
ArrayList
<>();
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"messgae"
,
String
.
valueOf
(
message
));
list
.
add
(
map
);
return
list
;
}
else
{
List
<
Map
<
String
,
String
>>
list
=
new
ArrayList
<>();
for
(
JSONObject
successEntity
:
successEntitys
)
{
String
FID
=
successEntity
.
get
(
"Id"
).
toString
();
String
FBillNo
=
successEntity
.
get
(
"Number"
).
toString
();
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"FID"
,
FID
);
map
.
put
(
"FBILL_NO"
,
FBillNo
);
list
.
add
(
map
);
}
return
list
;
}
}
}
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/service/IImsOtherOutstockService.java
浏览文件 @
c9c4201f
...
...
@@ -14,4 +14,5 @@ import java.util.Map;
*/
public
interface
IImsOtherOutstockService
extends
IService
<
ImsOtherOutstock
>
{
public
String
synchronization
(
List
<
Map
<
String
,
Object
>>
needLists
,
String
code
);
public
String
synchronizationPush
(
List
<
Map
<
String
,
Object
>>
needLists
,
String
code
);
}
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/service/impl/ImsOtherOutstockServiceImpl.java
浏览文件 @
c9c4201f
...
...
@@ -9,6 +9,7 @@ import org.jeecg.modules.iost.ims.entity.ImsOtherOutstock;
import
org.jeecg.modules.iost.ims.entity.KingdeeResultObject.AddResultObject.ErrorsInside
;
import
org.jeecg.modules.iost.ims.entity.KingdeeResultObject.AddResultObject.Result
;
import
org.jeecg.modules.iost.ims.kingdeeapi.ImsOtherOutstockApi
;
import
org.jeecg.modules.iost.ims.kingdeeapi.ImsOtherOutstockPushApi
;
import
org.jeecg.modules.iost.ims.mapper.ImsOtherOutstockMapper
;
import
org.jeecg.modules.iost.ims.service.IImsOtherOutstockService
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -19,6 +20,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import
java.util.*
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.ObjectUtils
;
/**
* @Description: ims_other_outstock
...
...
@@ -30,9 +32,12 @@ import org.springframework.util.CollectionUtils;
public
class
ImsOtherOutstockServiceImpl
extends
ServiceImpl
<
ImsOtherOutstockMapper
,
ImsOtherOutstock
>
implements
IImsOtherOutstockService
{
@Autowired
ImsOtherOutstockApi
imsOtherOutstockApi
;
@Autowired
ImsOtherOutstockPushApi
imsOtherOutstockPushApi
;
private
String
imsLogName
;
private
String
DocType
;
private
String
SEQ
;
private
String
wipOrde
;
public
ImsOtherOutstockServiceImpl
()
{
this
.
imsLogName
=
"其它出库"
;
//ims日志-name
this
.
DocType
=
"R100"
;
//调用者传入的标识
...
...
@@ -126,4 +131,170 @@ public class ImsOtherOutstockServiceImpl extends ServiceImpl<ImsOtherOutstockMap
}
return
rustList
;
}
/*======================================================================================================*/
public
String
synchronizationPush
(
List
<
Map
<
String
,
Object
>>
needLists
,
String
code
)
{
this
.
imsLogName
=
"其它出库"
;
//ims日志-name
this
.
DocType
=
"R100"
;
//调用者传入的标识
this
.
SEQ
=
"MTRL_SEQ"
;
//父单据行号,一般默认是这个字符串(有些单据是AUDIT_SEQ)
this
.
wipOrde
=
"AUDIT_ID"
;
//父亲单据工单编号或者行内码
List
<
ImsOtherOutstock
>
ImsOtherOutstocks
=
new
ArrayList
<>();
//查询父单据失败的lists
List
<
Map
<
String
,
Object
>>
SelectFatherFentryIdFailLists
=
new
ArrayList
();
//查询父单据失败的返回结果
List
<
String
>
SelectFatherFentryIdFailResult
=
new
ArrayList
<>();
//拼接唯一序号重复的返回结果
List
<
String
>
queue_idRepeatResult
=
new
ArrayList
<>();
//请求参数的inputDTOXml里面json格式的参数传入ims同步日志(imslog)
ImsLogUtil
imsLogUtil
=
new
ImsLogUtil
();
imsLogUtil
.
ImsRequestLog
(
JSON
.
toJSONString
(
needLists
),
imsLogName
,
DocType
);
List
<
String
>
qidList
=
new
ArrayList
<>();
for
(
Map
<
String
,
Object
>
maps
:
needLists
)
{
qidList
.
add
(
maps
.
get
(
"QUEUE_ID"
).
toString
());
}
QueryWrapper
<
ImsOtherOutstock
>
qw
=
new
QueryWrapper
();
qw
.
in
(
"queue_id"
,
qidList
);
StringBuilder
builder
=
new
StringBuilder
();
int
length
=
qidList
.
size
();
for
(
int
i
=
0
;
i
<
length
;
i
++)
{
if
(
i
==
0
)
{
builder
.
append
(
qidList
.
get
(
i
));
}
else
{
builder
.
append
(
","
).
append
(
qidList
.
get
(
i
));
}
}
qw
.
orderByAsc
(
"FIELD(queue_id,"
+
builder
.
toString
()+
")"
);
List
<
ImsOtherOutstock
>
repeatLists
=
this
.
getBaseMapper
().
selectList
(
qw
);
if
(!
CollectionUtils
.
isEmpty
(
repeatLists
))
{
queue_idRepeatResult
=
ResultSplitOne
(
repeatLists
);
}
if
(!
CollectionUtils
.
isEmpty
(
queue_idRepeatResult
))
{
throw
new
KingdeeRepeatException
(
"操作失败!"
,
queue_idRepeatResult
.
get
(
0
),
code
);
}
//判断需要修改的needLists里面有没有元素,有元素说明有东西未修改过,没有说明添加进来的数据都已经修改过了
List
<
String
>
Father_FEntryIDs
=
new
ArrayList
<>();
if
(!
ObjectUtils
.
isEmpty
(
needLists
))
{
Father_FEntryIDs
=
imsOtherOutstockPushApi
.
queryFatherFEntryIDs
(
needLists
,
SelectFatherFentryIdFailLists
);
SelectFatherFentryIdFailResult
=
ResultSplitTwoPush
(
SelectFatherFentryIdFailLists
);
}
if
(!
CollectionUtils
.
isEmpty
(
SelectFatherFentryIdFailResult
))
{
throw
new
kingdeeException
(
"操作失败!"
,
SelectFatherFentryIdFailResult
,
code
);
}
//下推失败返回结果
List
<
String
>
pushResultLists
=
new
ArrayList
<>();
List
<
String
>
AddResultLists
=
new
ArrayList
();
org
.
jeecg
.
modules
.
iost
.
ims
.
entity
.
KingdeeResultObject
.
AddResultObject
.
Result
AddResult
=
new
org
.
jeecg
.
modules
.
iost
.
ims
.
entity
.
KingdeeResultObject
.
AddResultObject
.
Result
();
if
(!
ObjectUtils
.
isEmpty
(
needLists
))
{
org
.
jeecg
.
modules
.
iost
.
ims
.
entity
.
KingdeeResultObject
.
AddResultObject
.
Result
result
=
imsOtherOutstockPushApi
.
push
(
needLists
,
Father_FEntryIDs
);
pushResultLists
=
ResultSplitThreePush
(
result
);
if
(!
CollectionUtils
.
isEmpty
(
pushResultLists
))
{
throw
new
kingdeeException
(
"操作失败!下推失败!"
,
pushResultLists
,
code
);
}
//查询子单据行内码
for
(
Map
<
String
,
Object
>
needmap
:
needLists
)
{
String
Son_FEntry_ID
=
imsOtherOutstockPushApi
.
querySonFEntryID
(
needmap
.
get
(
SEQ
).
toString
(),
result
.
getResponseStatus
().
getSuccessEntitys
().
get
(
0
).
getId
(),
needmap
.
get
(
wipOrde
).
toString
());
needmap
.
put
(
"FID"
,
result
.
getResponseStatus
().
getSuccessEntitys
().
get
(
0
).
getId
());
needmap
.
put
(
"FEntry_ID"
,
Son_FEntry_ID
);
}
//修改成功下推后needPushLists的数据
AddResult
=
imsOtherOutstockPushApi
.
addTwo
(
needLists
);
if
(
AddResult
.
getResponseStatus
().
getIsSuccess
())
{
for
(
Map
<
String
,
Object
>
needmap
:
needLists
)
{
needmap
.
put
(
"FBILL_NO"
,
AddResult
.
getNumber
());
//Map传入参数大写字段转化为实体类字段
Map
<
String
,
Object
>
map
=
MapUtils
.
mapsChange
(
needmap
);
ImsOtherOutstock
ImsOtherOutstock
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
map
),
ImsOtherOutstock
.
class
);
//map转为实体类对象
ImsOtherOutstocks
.
add
(
ImsOtherOutstock
);
}
}
AddResultLists
=
ResultSplitFour
(
AddResult
);
if
(!
CollectionUtils
.
isEmpty
(
AddResultLists
))
{
throw
new
kingdeeException
(
"操作失败!修改失败!"
,
AddResultLists
,
code
);
}
}
//保存实体类
this
.
saveBatch
(
ImsOtherOutstocks
);
return
ImsOtherOutstocks
.
get
(
0
).
getFbillNo
();
}
public
List
<
String
>
ResultSplitFourPush
(
org
.
jeecg
.
modules
.
iost
.
ims
.
entity
.
KingdeeResultObject
.
AddResultObject
.
Result
AddResult
)
{
String
result
=
new
String
();
List
<
String
>
rustList
=
new
ArrayList
<>();
Boolean
isSuccess
=
AddResult
.
getResponseStatus
().
getIsSuccess
();
if
(!
isSuccess
)
{
List
<
ErrorsInside
>
errors
=
AddResult
.
getResponseStatus
().
getErrors
();
for
(
ErrorsInside
error
:
errors
)
{
rustList
.
add
(
error
.
getMessage
());
}
}
return
rustList
;
}
public
List
<
String
>
ResultSplitThreePush
(
org
.
jeecg
.
modules
.
iost
.
ims
.
entity
.
KingdeeResultObject
.
AddResultObject
.
Result
pushResult
)
{
String
result
=
new
String
();
List
<
String
>
rustList
=
new
ArrayList
<>();
Boolean
isSuccess
=
pushResult
.
getResponseStatus
().
getIsSuccess
();
if
(!
isSuccess
)
{
List
<
ErrorsInside
>
errors
=
pushResult
.
getResponseStatus
().
getErrors
();
for
(
ErrorsInside
error
:
errors
)
{
rustList
.
add
(
error
.
getMessage
());
}
}
return
rustList
;
}
public
List
<
String
>
ResultSplitTwoPush
(
List
<
Map
<
String
,
Object
>>
SelectFatherFentryIdFailLists
)
{
String
result
=
new
String
();
List
<
String
>
rustList
=
new
ArrayList
<>();
List
<
String
>
rustListAfter
=
new
ArrayList
<>();
for
(
Map
<
String
,
Object
>
queue_idRepeatResultMap
:
SelectFatherFentryIdFailLists
)
{
if
(!
ObjectUtils
.
isEmpty
(
queue_idRepeatResultMap
.
get
(
"notExitFbillNo"
))&&
Boolean
.
valueOf
(
queue_idRepeatResultMap
.
get
(
"notExitFbillNo"
).
toString
())==
true
)
{
String
queue_id
=
queue_idRepeatResultMap
.
get
(
"QUEUE_ID"
).
toString
();
result
=
"单据编号"
+
queue_idRepeatResultMap
.
get
(
wipOrde
)+
"不存在,无法进行下推修改!"
;
rustList
.
add
(
result
);
}
else
{
String
queue_id
=
queue_idRepeatResultMap
.
get
(
"QUEUE_ID"
).
toString
();
result
=
"唯一序号为("
+
queue_id
+
")且行号为("
+
queue_idRepeatResultMap
.
get
(
SEQ
)+
")的数据不存在,无法进行下推修改!"
;
rustList
.
add
(
result
);
}
}
HashSet
<
String
>
set
=
new
LinkedHashSet
();
for
(
String
s
:
rustList
)
{
set
.
add
(
s
);
}
for
(
String
s
:
set
)
{
rustListAfter
.
add
(
s
);
}
return
rustListAfter
;
}
public
List
<
String
>
ResultSplitOnePush
(
List
<
ImsOtherOutstock
>
repeatLists
)
{
String
result
=
new
String
();
LinkedHashSet
<
String
>
hashset
=
new
LinkedHashSet
<>();
for
(
ImsOtherOutstock
ImsOtherOutstock
:
repeatLists
)
{
String
queue_id
=
String
.
valueOf
(
ImsOtherOutstock
.
getQueueId
());
result
=
"QUEUE_ID为("
+
queue_id
+
")的数据已经提交过!"
;
hashset
.
add
(
result
);
}
List
<
String
>
rustList
=
new
ArrayList
<>();
String
result2
=
new
String
();
for
(
String
s
:
hashset
)
{
rustList
.
add
(
s
);
}
return
rustList
;
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论