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
45bf8344
提交
45bf8344
authored
8月 26, 2022
作者:
inroi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
微调
上级
ec2250af
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
62 行增加
和
55 行删除
+62
-55
WebApi.java
...in/java/org/jeecg/modules/iost/ims/controller/WebApi.java
+6
-0
ImmediateInventoryKingdeeApi.java
...les/iost/ims/kingdeeapi/ImmediateInventoryKingdeeApi.java
+19
-11
IImmediateInventoryService.java
.../modules/iost/ims/service/IImmediateInventoryService.java
+8
-2
ISynServiceImpl.java
.../jeecg/modules/iost/ims/service/impl/ISynServiceImpl.java
+0
-8
ImmediateInventoryServiceImpl.java
.../iost/ims/service/impl/ImmediateInventoryServiceImpl.java
+29
-34
没有找到文件。
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/controller/WebApi.java
浏览文件 @
45bf8344
...
...
@@ -145,6 +145,9 @@ public class WebApi {
IImsCommonPushService
iImsCommonPushService
;
@Autowired
IImsPayableService
iImsPayableService
;
@Autowired
IImmediateInventoryService
immediateInventoryService
;
/**
* 传入数据到金蝶云
*
...
...
@@ -170,6 +173,9 @@ public class WebApi {
}
else
if
(
"PUR_MRB"
.
equals
(
request
.
getDocType
()))
{
//采购退货单
data
=
iImsPurchaseReturnService
.
getData
(
request
.
getData
());
}
else
if
(
"STK_Inventory"
.
equals
(
request
.
getDocType
()))
{
//采购退货单
data
=
immediateInventoryService
.
getData
(
request
.
getData
());
}
else
{
return
Result
.
fail
(
"操作失败"
,
request
.
getDocType
()
+
"不存在!"
,
request
.
getDocType
());
}
...
...
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/kingdeeapi/ImmediateInventoryKingdeeApi.java
浏览文件 @
45bf8344
...
...
@@ -27,15 +27,21 @@ public class ImmediateInventoryKingdeeApi {
/* 单据头实体主键 */
key
.
put
(
"FID"
,
"FID"
);
/* 库存组织 */
key
.
put
(
"
STK_Inventory.FNumber"
,
"STK_Inventory
.FNumber"
);
key
.
put
(
"
FStockOrgId.FNumber"
,
"FStockOrgId
.FNumber"
);
/* 物料编码 */
key
.
put
(
"FMaterialId.FNumber"
,
"FMaterialId.FNumber"
);
/* 物料名称 */
key
.
put
(
"FMaterialName"
,
"FMaterialName"
);
/* 库存量(主单位) */
key
.
put
(
"FQty"
,
"FQty"
);
/* 库存量(基本单位) */
key
.
put
(
"FBaseQty"
,
"FBaseQty"
);
/* 仓库编码 */
key
.
put
(
"FStockId.Fnumber"
,
"FStockId.Fnumber"
);
}
public
List
<
Map
<
String
,
Object
>>
select
(
Map
<
String
,
String
>
map
)
{
List
<
List
<
Object
>>
list
=
categoryDao
.
select
(
S_FORM_ID
,
key
,
map
,
"即时库存"
);
public
List
<
Map
<
String
,
Object
>>
select
AndLog
(
Map
<
String
,
String
>
map
,
String
kingDeeLogName
)
{
List
<
List
<
Object
>>
list
=
categoryDao
.
select
(
S_FORM_ID
,
key
,
map
,
kingDeeLogName
);
return
pojoToIms
(
list
);
}
...
...
@@ -47,21 +53,23 @@ public class ImmediateInventoryKingdeeApi {
if
(!
CollectionUtils
.
isEmpty
(
list
))
{
if
(!
list
.
get
(
0
).
get
(
0
).
toString
().
contains
(
"Errors"
))
{
for
(
List
<
Object
>
objectList
:
list
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>(
5
);
map
.
put
(
"fid"
,
objectList
.
get
(
0
));
map
.
put
(
"orgId"
,
objectList
.
get
(
1
));
map
.
put
(
"mtrlCode"
,
objectList
.
get
(
2
));
map
.
put
(
"stockQty"
,
objectList
.
get
(
3
));
map
.
put
(
"org_id"
,
objectList
.
get
(
1
));
map
.
put
(
"mtrl_code"
,
objectList
.
get
(
2
));
map
.
put
(
"mtrl_name"
,
objectList
.
get
(
3
));
map
.
put
(
"qty"
,
objectList
.
get
(
4
));
map
.
put
(
"f_qty"
,
objectList
.
get
(
5
));
map
.
put
(
"stock_code"
,
objectList
.
get
(
6
));
result
.
add
(
map
);
}
}
else
{
//如果有错误信息则返回
String
message
=
ImsUtil
.
getMessage
(
list
.
get
(
0
).
get
(
0
));
Map
<
String
,
Object
>
salesordermap
=
new
HashMap
<>(
);
salesorderma
p
.
put
(
"false"
,
message
);
result
.
add
(
salesorderma
p
);
Map
<
String
,
Object
>
temp
=
new
HashMap
<>(
2
);
tem
p
.
put
(
"false"
,
message
);
result
.
add
(
tem
p
);
}
}
return
result
;
...
...
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/service/IImmediateInventoryService.java
浏览文件 @
45bf8344
package
org
.
jeecg
.
modules
.
iost
.
ims
.
service
;
import
org.jeecg.common.system.vo.LoginUser
;
import
java.util.Map
;
/**
* @author Inori
*/
public
interface
IImmediateInventoryService
{
Boolean
synchronization
(
Object
dataId
,
Object
formId
,
LoginUser
sysUser
);
/**
* 即时库存查询
*
* @param map 条件
* @return 结果
*/
Map
<
String
,
Object
>
getData
(
Map
<
String
,
Object
>
map
);
}
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/service/impl/ISynServiceImpl.java
浏览文件 @
45bf8344
...
...
@@ -54,8 +54,6 @@ public class ISynServiceImpl extends ServiceImpl<SynMapper, Syn> implements ISyn
IImsPickingListService
iImsPickingListService
;
@Autowired
IImsCommonSynService
iImsCommonSynService
;
@Autowired
IImmediateInventoryService
immediateInventoryService
;
/**
* 查询新更新的记录
...
...
@@ -150,9 +148,6 @@ public class ISynServiceImpl extends ServiceImpl<SynMapper, Syn> implements ISyn
}*/
else
if
(
data
.
get
(
"formid"
).
equals
(
"LQKJ_ContrastRecord"
))
{
logName
=
"提料分析同步失败"
;
success
=
iImsPickingListService
.
synchronization
(
data
.
get
(
"dataid"
),
data
.
get
(
"formid"
),
sysUser
);
//提料分析
}
else
if
(
data
.
get
(
"formid"
).
equals
(
"STK_Inventory"
))
{
logName
=
"即时库存同步失败"
;
success
=
immediateInventoryService
.
synchronization
(
data
.
get
(
"dataid"
),
data
.
get
(
"formid"
),
sysUser
);
//提料分析
}
else
{
logName
=
data
.
get
(
"dataid"
)
+
"同步失败"
;
success
=
iImsCommonSynService
.
synchronization
(
data
.
get
(
"dataid"
),
sysUser
);
//通用同步
...
...
@@ -268,9 +263,6 @@ public class ISynServiceImpl extends ServiceImpl<SynMapper, Syn> implements ISyn
}*/
else
if
(
data
.
get
(
"formid"
).
equals
(
"LQKJ_ContrastRecord"
))
{
logName
=
"提料分析同步失败"
;
success
=
iImsPickingListService
.
synchronization
(
data
.
get
(
"dataid"
),
data
.
get
(
"formid"
),
sysUser
);
//提料分析
}
else
if
(
data
.
get
(
"formid"
).
equals
(
"STK_Inventory"
))
{
logName
=
"即时库存同步失败"
;
success
=
immediateInventoryService
.
synchronization
(
data
.
get
(
"dataid"
),
data
.
get
(
"formid"
),
sysUser
);
//提料分析
}
else
{
logName
=
data
.
get
(
"dataid"
)
+
"同步失败"
;
success
=
iImsCommonSynService
.
synchronization
(
data
.
get
(
"dataid"
),
sysUser
);
//通用同步
...
...
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/service/impl/ImmediateInventoryServiceImpl.java
浏览文件 @
45bf8344
package
org
.
jeecg
.
modules
.
iost
.
ims
.
service
.
impl
;
import
org.jeecg.common.system.vo.LoginUser
;
import
org.jeecg.common.util.ThreadLocalConfig
;
import
org.jeecg.modules.iost.ims.ExternalInterface.IMSApi
;
import
org.jeecg.modules.iost.ims.Util.ImsLogUtil
;
import
org.jeecg.modules.iost.ims.Util.JsonUtil
;
import
org.jeecg.modules.iost.ims.kingdeeapi.ImmediateInventoryKingdeeApi
;
import
org.jeecg.modules.iost.ims.service.IImmediateInventoryService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -22,48 +20,45 @@ import java.util.Map;
public
class
ImmediateInventoryServiceImpl
implements
IImmediateInventoryService
{
@Autowired
private
IMSApi
imsApi
;
@Autowired
private
ImmediateInventoryKingdeeApi
immediateInventoryKingdeeApi
;
@Override
public
Boolean
synchronization
(
Object
dataId
,
Object
formId
,
LoginUser
sysUser
)
{
//追加参数(上下文对象)
String
kingDeeLogOZTName
=
"即时库存"
;
public
Map
<
String
,
Object
>
getData
(
Map
<
String
,
Object
>
map
)
{
Map
<
String
,
Object
>
result
=
new
HashMap
<>(
1
);
String
kingDeeLogOZTName
=
"即时库存查询"
;
Map
map2
=
ThreadLocalConfig
.
get
();
map2
.
put
(
"KingdeeLogOZTName"
,
kingDeeLogOZTName
);
//设置需要同步的主键
Map
<
String
,
String
>
whereMap
=
new
HashMap
<>();
whereMap
.
put
(
"FID"
,
dataId
.
toString
());
List
<
Map
<
String
,
Object
>>
list
=
immediateInventoryKingdeeApi
.
select
(
whereMap
);
//记录IMS日志
new
ImsLogUtil
().
ImsRequestLog
(
JsonUtil
.
toString
(
map
),
"即时库存"
,
"即时库存查询"
,
"STK_Inventory"
);
Boolean
flag
;
List
<
Map
<
String
,
Object
>>
imsList
=
new
ArrayList
<>();
for
(
Map
<
String
,
Object
>
map
:
list
)
{
if
(
map
.
containsKey
(
"false"
))
{
return
false
;
}
Map
<
String
,
String
>
whereMap
=
new
HashMap
<>(
4
);
if
(
map
.
containsKey
(
"MTRL_CODE"
))
{
whereMap
.
put
(
"FMaterialId.Fnumber"
,
String
.
valueOf
(
map
.
get
(
"MTRL_CODE"
)));
}
if
(
map
.
containsKey
(
"MTRL_NAME"
))
{
whereMap
.
put
(
"FMaterialName"
,
String
.
valueOf
(
map
.
get
(
"MTRL_NAME"
)));
}
Map
<
String
,
Object
>
imsMap
=
new
HashMap
<>(
11
);
imsMap
.
put
(
"org_id"
,
map
.
get
(
"orgId"
));
imsMap
.
put
(
"mtrl_code"
,
map
.
get
(
"mtrlCode"
));
imsMap
.
put
(
"stock_qty"
,
map
.
get
(
"stockQty"
));
imsList
.
add
(
imsMap
);
if
(
CollectionUtils
.
isEmpty
(
whereMap
))
{
result
.
put
(
"false"
,
"查询参数不能全为空"
);
return
result
;
}
List
<
Map
<
String
,
Object
>>
list
=
immediateInventoryKingdeeApi
.
selectAndLog
(
whereMap
,
"即时库存查询"
);
//将数据包装成IMS格式
Map
<
String
,
Object
>
map
=
new
HashMap
<>(
3
);
map
.
put
(
"docType"
,
"BS_MTRL_STOCK"
);
map
.
put
(
"updateType"
,
"UPDATE"
);
map
.
put
(
"data"
,
imsList
);
String
json
=
JsonUtil
.
toString
(
map
);
String
result
=
imsApi
.
add
(
json
,
"即时库存"
,
"BS_MTRL_STOCK"
);
//记录IMS日志
flag
=
new
ImsLogUtil
().
ImsLog
(
json
,
result
,
"即时库存"
,
"BS_MTRL_STOCK"
,
null
);
return
flag
;
if
(!
CollectionUtils
.
isEmpty
(
list
))
{
if
(
list
.
get
(
0
).
containsKey
(
"false"
))
{
result
.
put
(
"false"
,
list
.
get
(
0
).
get
(
"false"
));
}
else
{
result
.
put
(
"true"
,
list
);
}
}
else
{
result
.
put
(
"true"
,
list
);
}
return
result
;
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论