Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
O
OZT-Integration
Project
Project
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
Graph
比较
统计图
议题
0
议题
0
列表
看板
标记
Milestones
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
许俊
OZT-Integration
Commits
64e32bc1
提交
64e32bc1
authored
10月 11, 2022
作者:
inroi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
微调
上级
92b06a0f
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
70 行增加
和
29 行删除
+70
-29
CategoryDao.java
...main/java/org/jeecg/modules/iost/ims/Dao/CategoryDao.java
+6
-11
KingdeeLogUtil.java
.../java/org/jeecg/modules/iost/ims/Util/KingdeeLogUtil.java
+33
-0
BillOfMaterialKingDeeApi.java
...modules/iost/ims/kingdeeapi/BillOfMaterialKingDeeApi.java
+18
-12
BillOfMaterialServerImpl.java
...dules/iost/ims/service/impl/BillOfMaterialServerImpl.java
+13
-6
没有找到文件。
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/Dao/CategoryDao.java
浏览文件 @
64e32bc1
...
...
@@ -867,30 +867,25 @@ public class CategoryDao {
return
result2
;
}
public
String
addReturnResult02
(
String
KingdeeLogName
,
String
sFormId
,
String
json
)
{
public
String
addReturnResult02
(
String
KingdeeLogName
,
Map
<
String
,
Object
>
data
)
{
String
result2
=
null
;
JSONObject
responseStatus
=
null
;
try
{
if
(
result
)
{
String
content
=
"{\"IsDeleteEntry\":false,\"IsAutoSubmitAndAudit\":"
+
IsAutoSubmit
+
",\"Model\":"
+
json
+
"}"
;
result2
=
client
.
execute
(
"LQKJ.PushAndSaveWebApi.Stub.CustomWebApiService.PushAndSave,LQKJ.PushAndSaveWebApi.Stub"
,
new
Object
[]{
content
},
String
.
class
);
result2
=
client
.
execute
(
"LQKJ.ERPWebApi.Stub.CustomWebApiService.PushAndSave,LQKJ.ERPWebApi.Stub"
,
new
Object
[]{
data
},
String
.
class
);
Result
saveResult
=
KingdeeResultParseUtil
.
parseAddResult
(
result2
);
S
tring
Fid
=
saveResult
.
getId
(
);
System
.
out
.
println
(
JsonUtil
.
toString
(
data
)
);
S
ystem
.
out
.
println
(
result2
);
//记录修改金蝶云数据的请求和响应信息
KingdeeLogUtil
kingdeeLogUtil
=
new
KingdeeLogUtil
();
kingdeeLogUtil
.
KingdeeLog2
(
content
,
result2
,
KingdeeLogName
);
//根据手动设置的方式决定提交审核是否和修改分开进行
if
(
IsAutoSubmit
==
false
&&
saveResult
.
getResponseStatus
().
getIsSuccess
()
==
true
)
{
String
AutoSubmitResult
=
AutoSubmit
(
sFormId
,
Fid
,
KingdeeLogName
);
result2
=
AutoSubmitResult
;
}
kingdeeLogUtil
.
KingdeeLog3
(
JsonUtil
.
toString
(
data
),
result2
,
KingdeeLogName
);
}
else
{
throw
new
KingdeeConnectException
(
loginResult
);
}
}
catch
(
KingdeeConnectException
e
)
{
throw
new
KingdeeConnectException
(
loginResult
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
throw
new
KingdeeConnectException
(
KingDeeConstant
.
URL
,
baseCommonService
);
}
return
result2
;
...
...
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/Util/KingdeeLogUtil.java
浏览文件 @
64e32bc1
...
...
@@ -10,6 +10,7 @@ import org.jeecg.modules.iost.ims.entity.Kingdeelog;
import
org.jeecg.modules.iost.ims.service.IKingdeelogService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.CollectionUtils
;
import
javax.annotation.PostConstruct
;
import
java.text.SimpleDateFormat
;
...
...
@@ -116,6 +117,38 @@ public class KingdeeLogUtil {
}
public
void
KingdeeLog3
(
String
request
,
String
result
,
String
name
)
{
//获取该线程的存入的变量,在接口开头添加追加的参数
Map
map
=
ThreadLocalConfig
.
get
();
Kingdeelog
kingdeelog
=
new
Kingdeelog
();
if
(!
ObjectUtils
.
isEmpty
(
map
))
{
long
costime
=
Long
.
valueOf
(
map
.
get
(
"Costime"
).
toString
());
kingdeelog
.
setCostTime
(
costime
);
}
//设置金蝶云请求日志
kingdeelog
.
setRequest
(
request
);
//设置金蝶云响应日志
kingdeelog
.
setResponse
(
result
);
//获取result的返回信息的成功状态
kingdeelog
.
setName
(
name
);
kingdeelog
.
setOztName
(
map
.
get
(
"KingdeeLogOZTName"
)
!=
null
?
map
.
get
(
"KingdeeLogOZTName"
).
toString
()
:
""
);
kingdeelog
.
setCreatetime
(
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
).
format
(
new
Date
()));
Map
<
String
,
Object
>
temp
=
JsonUtil
.
toMap
(
result
,
String
.
class
,
Object
.
class
);
if
(!
CollectionUtils
.
isEmpty
(
temp
))
{
if
(
map
.
containsKey
(
"resultCode"
)
&&
"0000"
.
equals
(
map
.
get
(
"resultCode"
)))
{
kingdeelog
.
setSynchronization
(
"true"
);
}
else
{
kingdeelog
.
setSynchronization
(
"false"
);
kingdeelog
.
setFailReason
(
String
.
valueOf
(
map
.
get
(
"resultMsg"
)));
}
}
else
{
kingdeelog
.
setSynchronization
(
"false"
);
kingdeelog
.
setFailReason
(
result
);
}
KingdeeLogUtil
.
uploadRooms
.
kingdeelogService
.
save
(
kingdeelog
);
}
public
void
synLog
(
String
logName
,
String
errorMessage
)
{
Kingdeelog
kingdeelog
=
new
Kingdeelog
();
kingdeelog
.
setName
(
logName
);
...
...
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/kingdeeapi/BillOfMaterialKingDeeApi.java
浏览文件 @
64e32bc1
package
org
.
jeecg
.
modules
.
iost
.
ims
.
kingdeeapi
;
import
org.jeecg.modules.iost.ims.Dao.CategoryDao
;
import
org.jeecg.modules.iost.ims.Util.JsonUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.CollectionUtils
;
...
...
@@ -22,9 +21,12 @@ public class BillOfMaterialKingDeeApi {
private
static
final
String
KING_DEE_LOG_NAME
=
"生产用料清单"
;
public
String
addTwo
(
List
<
Map
<
String
,
Object
>>
lists
)
{
Map
<
String
,
Object
>
stringStringMap
=
imsToKingDee
(
lists
);
System
.
out
.
println
(
JsonUtil
.
toString
(
stringStringMap
));
return
categoryDao
.
addReturnResult
(
KING_DEE_LOG_NAME
,
FORM_ID
,
JsonUtil
.
Mapjson
(
stringStringMap
));
Map
<
String
,
Object
>
data
=
new
LinkedHashMap
<>(
3
);
data
.
put
(
"FormId"
,
FORM_ID
);
data
.
put
(
"IsInTransaction"
,
true
);
data
.
put
(
"isAutoSubmit"
,
"save"
);
data
.
put
(
"Model"
,
imsToKingDee
(
lists
));
return
categoryDao
.
addReturnResult02
(
KING_DEE_LOG_NAME
,
data
);
}
/**
...
...
@@ -51,13 +53,15 @@ public class BillOfMaterialKingDeeApi {
/**
* 查询行标识
*/
public
List
<
List
<
Object
>>
getRowId
(
String
mainCode
)
{
List
<
List
<
Object
>>
lists
=
categoryDao
.
select
ByIds
(
"PRD_PPBOM"
,
new
LinkedHashMap
<
String
,
String
>()
{{
public
List
<
List
<
Object
>>
getRowId
(
String
fid
,
String
mainCode
)
{
List
<
List
<
Object
>>
lists
=
categoryDao
.
select
(
"PRD_PPBOM"
,
new
LinkedHashMap
<
String
,
String
>()
{{
//行主键查询产品编码
put
(
"FROWID"
,
"FROWID"
);
}},
new
HashMap
<
String
,
String
>()
{{
put
(
"FID"
,
fid
);
put
(
"FMaterialID2.Fnumber"
,
mainCode
);
}});
System
.
out
.
println
(
lists
);
if
(
CollectionUtils
.
isEmpty
(
lists
))
{
return
null
;
}
...
...
@@ -71,7 +75,7 @@ public class BillOfMaterialKingDeeApi {
public
Map
<
String
,
Object
>
imsToKingDee
(
List
<
Map
<
String
,
Object
>>
list
)
{
/* 单据头 */
Map
<
String
,
Object
>
modelMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
modelMap
=
new
Linked
HashMap
<>();
//生产订单
String
[]
wplanCode
=
String
.
valueOf
(
list
.
get
(
0
).
get
(
"wplan_code"
)).
split
(
"_"
);
...
...
@@ -85,7 +89,7 @@ public class BillOfMaterialKingDeeApi {
List
<
Map
<
String
,
Object
>>
entryList
=
new
ArrayList
<>();
for
(
Map
<
String
,
Object
>
map
:
list
)
{
//转换成金蝶云格式
Map
<
String
,
Object
>
fEntityMap
=
new
HashMap
<>(
10
);
Map
<
String
,
Object
>
fEntityMap
=
new
Linked
HashMap
<>(
10
);
//行内码
fEntityMap
.
put
(
"FEntryID"
,
map
.
get
(
"erp_sic"
));
//物料编码
...
...
@@ -100,15 +104,17 @@ public class BillOfMaterialKingDeeApi {
fEntityMap
.
put
(
"FNeedQty2"
,
map
.
get
(
"tn_qty"
));
//是否主料(父级行主键)
if
(
"false"
.
equals
(
String
.
valueOf
(
map
.
get
(
"is_main"
))))
{
List
<
List
<
Object
>>
tempList
=
getRowId
(
String
.
valueOf
(
map
.
get
(
"main_code"
)));
if
(!
tempList
.
get
(
0
).
get
(
0
).
toString
().
contains
(
"Errors"
)
&&
!
CollectionUtils
.
isEmpty
(
tempList
.
get
(
0
)))
{
fEntityMap
.
put
(
"FParentRowId"
,
tempList
.
get
(
0
).
get
(
0
));
List
<
List
<
Object
>>
tempList
=
getRowId
(
String
.
valueOf
(
modelMap
.
get
(
"FID"
)),
String
.
valueOf
(
map
.
get
(
"main_code"
)));
if
(
tempList
!=
null
)
{
if
(!
tempList
.
get
(
0
).
get
(
0
).
toString
().
contains
(
"Errors"
)
&&
!
CollectionUtils
.
isEmpty
(
tempList
.
get
(
0
)))
{
fEntityMap
.
put
(
"FParentRowId"
,
tempList
.
get
(
0
).
get
(
0
));
}
}
}
entryList
.
add
(
fEntityMap
);
}
modelMap
.
put
(
"FEntity
Detail
"
,
entryList
);
modelMap
.
put
(
"FEntity"
,
entryList
);
return
modelMap
;
}
...
...
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/service/impl/BillOfMaterialServerImpl.java
浏览文件 @
64e32bc1
...
...
@@ -4,11 +4,12 @@ import com.alibaba.fastjson.JSON;
import
org.jeecg.common.exception.kingdeeException
;
import
org.jeecg.common.util.ThreadLocalConfig
;
import
org.jeecg.modules.iost.ims.Util.ImsLogUtil
;
import
org.jeecg.modules.iost.ims.Util.
Ims
Util
;
import
org.jeecg.modules.iost.ims.Util.
Json
Util
;
import
org.jeecg.modules.iost.ims.kingdeeapi.BillOfMaterialKingDeeApi
;
import
org.jeecg.modules.iost.ims.service.IBillOfMaterialServer
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -33,13 +34,19 @@ public class BillOfMaterialServerImpl implements IBillOfMaterialServer {
new
ImsLogUtil
().
ImsRequestLog
(
JSON
.
toJSONString
(
list
),
"生产用料清单"
,
"生产用料清单"
,
docType
);
String
addTwo
=
billOfMaterialKingDeeApi
.
addTwo
(
list
);
if
(
ImsUtil
.
isError
(
addTwo
))
{
throw
new
kingdeeException
(
"操作失败!修改失败!"
,
ImsUtil
.
getMessage
(
addTwo
),
docType
);
Map
<
String
,
Object
>
map
=
JsonUtil
.
toMap
(
addTwo
,
String
.
class
,
Object
.
class
);
if
(
CollectionUtils
.
isEmpty
(
map
))
{
throw
new
kingdeeException
(
"操作失败!修改失败!"
,
addTwo
,
docType
);
}
if
(!
CollectionUtils
.
isEmpty
(
map
)
&&
!
"0000"
.
equals
(
map
.
get
(
"resultCode"
)))
{
List
<
Object
>
tempList
=
JsonUtil
.
toList
(
JsonUtil
.
toString
(
map
.
get
(
"resultData"
)),
Object
.
class
);
List
<
String
>
msgList
=
tempList
.
stream
().
map
(
m
->
JsonUtil
.
toMap
(
JsonUtil
.
toString
(
m
),
String
.
class
,
Object
.
class
).
get
(
"msg"
).
toString
()).
collect
(
Collectors
.
toList
());
throw
new
kingdeeException
(
"操作失败!修改失败!"
,
String
.
join
(
", "
,
msgList
),
docType
);
}
List
<
Map
<
String
,
Object
>>
addSuccessEntityList
=
ImsUtil
.
getSuccessEntity
(
addTwo
);
List
<
String
>
numberList
=
addSuccessEntityList
.
stream
().
map
(
m
->
m
.
get
(
"Number
"
).
toString
()).
collect
(
Collectors
.
toList
());
return
String
.
join
(
", "
,
number
List
);
List
<
Object
>
tempList
=
JsonUtil
.
toList
(
JsonUtil
.
toString
(
map
.
get
(
"resultData"
)),
Object
.
class
);
List
<
String
>
codeList
=
tempList
.
stream
().
map
(
m
->
JsonUtil
.
toMap
(
JsonUtil
.
toString
(
m
),
String
.
class
,
Object
.
class
).
get
(
"code
"
).
toString
()).
collect
(
Collectors
.
toList
());
return
String
.
join
(
", "
,
code
List
);
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论