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
92b06a0f
提交
92b06a0f
authored
10月 11, 2022
作者:
inroi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
微调
上级
bd1c61f8
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
211 行增加
和
2 行删除
+211
-2
CategoryDao.java
...main/java/org/jeecg/modules/iost/ims/Dao/CategoryDao.java
+31
-2
WebApi.java
...in/java/org/jeecg/modules/iost/ims/controller/WebApi.java
+4
-0
BillOfMaterialKingDeeApi.java
...modules/iost/ims/kingdeeapi/BillOfMaterialKingDeeApi.java
+116
-0
IBillOfMaterialServer.java
...jeecg/modules/iost/ims/service/IBillOfMaterialServer.java
+14
-0
BillOfMaterialServerImpl.java
...dules/iost/ims/service/impl/BillOfMaterialServerImpl.java
+46
-0
没有找到文件。
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/Dao/CategoryDao.java
浏览文件 @
92b06a0f
...
...
@@ -247,9 +247,9 @@ public class CategoryDao {
if
(
result
)
{
String
content
;
if
(
where
!=
null
)
{
content
=
"{\"FormId\":\""
+
sFormId
+
"\","
+
Stringkey
(
key
)
+
Stringwhere
(
where
)
+
", \"OrderString\":\"FCreatorId\""
+
"}"
;
content
=
"{\"FormId\":\""
+
sFormId
+
"\","
+
Stringkey
(
key
)
+
Stringwhere
(
where
)
+
", \"OrderString\":\"FCreatorId
ASC
\""
+
"}"
;
}
else
{
content
=
"{\"FormId\":\""
+
sFormId
+
"\","
+
Stringkey
(
key
)
+
", \"OrderString\":\"FCreatorId\""
+
"}"
;
content
=
"{\"FormId\":\""
+
sFormId
+
"\","
+
Stringkey
(
key
)
+
", \"OrderString\":\"FCreatorId
ASC
\""
+
"}"
;
}
System
.
out
.
println
(
"================content=============="
+
content
+
"=================content==================="
);
list
=
client
.
executeBillQuery
(
content
);
...
...
@@ -867,6 +867,35 @@ public class CategoryDao {
return
result2
;
}
public
String
addReturnResult02
(
String
KingdeeLogName
,
String
sFormId
,
String
json
)
{
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
);
Result
saveResult
=
KingdeeResultParseUtil
.
parseAddResult
(
result2
);
String
Fid
=
saveResult
.
getId
();
//记录修改金蝶云数据的请求和响应信息
KingdeeLogUtil
kingdeeLogUtil
=
new
KingdeeLogUtil
();
kingdeeLogUtil
.
KingdeeLog2
(
content
,
result2
,
KingdeeLogName
);
//根据手动设置的方式决定提交审核是否和修改分开进行
if
(
IsAutoSubmit
==
false
&&
saveResult
.
getResponseStatus
().
getIsSuccess
()
==
true
)
{
String
AutoSubmitResult
=
AutoSubmit
(
sFormId
,
Fid
,
KingdeeLogName
);
result2
=
AutoSubmitResult
;
}
}
else
{
throw
new
KingdeeConnectException
(
loginResult
);
}
}
catch
(
KingdeeConnectException
e
)
{
throw
new
KingdeeConnectException
(
loginResult
);
}
catch
(
Exception
e
)
{
throw
new
KingdeeConnectException
(
KingDeeConstant
.
URL
,
baseCommonService
);
}
return
result2
;
}
//提交并且审核
public
String
AutoSubmit
(
String
sFormId
,
String
Fid
,
String
KingdeeLogName
)
{
String
content
=
"{\"Ids\":"
+
Fid
+
"}"
;
...
...
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/controller/WebApi.java
浏览文件 @
92b06a0f
...
...
@@ -147,6 +147,8 @@ public class WebApi {
IImsPayableService
iImsPayableService
;
@Autowired
IImmediateInventoryService
immediateInventoryService
;
@Autowired
IBillOfMaterialServer
billOfMaterialServer
;
/**
* 传入数据到金蝶云
...
...
@@ -302,6 +304,8 @@ public class WebApi {
result
=
productOutService
.
setData
(
request
.
getData
(),
request
.
getDocType
());
}
else
if
(
request
.
getDocType
().
equals
(
"SUP_DEDUCTIONS"
))
{
//扣款单
result
=
deductionFormService
.
setData
(
request
.
getData
(),
request
.
getDocType
());
}
else
if
(
request
.
getDocType
().
equals
(
"BS_MOMN_CHANGE"
))
{
//生产用料清单
result
=
billOfMaterialServer
.
setData
(
request
.
getData
(),
request
.
getDocType
());
}
else
{
//通用下推
result
=
iImsCommonPushService
.
setData
(
request
.
getData
(),
request
.
getDocType
());
...
...
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/kingdeeapi/BillOfMaterialKingDeeApi.java
0 → 100644
浏览文件 @
92b06a0f
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
;
import
java.util.*
;
/**
* @author Inori
*/
@Component
public
class
BillOfMaterialKingDeeApi
{
@Autowired
private
CategoryDao
categoryDao
;
private
static
final
String
FORM_ID
=
"PRD_PPBOM"
;
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
));
}
/**
* 查询FID
*/
public
List
<
List
<
Object
>>
getFid
(
String
temp01
,
String
temp02
)
{
List
<
List
<
Object
>>
lists
=
categoryDao
.
select
(
"PRD_PPBOM"
,
new
LinkedHashMap
<
String
,
String
>()
{{
put
(
"FID"
,
"FID"
);
}},
new
HashMap
<
String
,
String
>()
{{
put
(
"FMOBillNO"
,
temp01
);
put
(
"FMOEntrySeq"
,
temp02
);
}});
if
(
CollectionUtils
.
isEmpty
(
lists
))
{
return
null
;
}
if
(
lists
.
isEmpty
()
||
(
""
).
equals
(
lists
.
get
(
0
).
get
(
0
).
toString
()))
{
return
null
;
}
else
if
(
lists
.
get
(
0
).
get
(
0
).
toString
().
contains
(
"Errors"
))
{
return
null
;
}
return
lists
;
}
/**
* 查询行标识
*/
public
List
<
List
<
Object
>>
getRowId
(
String
mainCode
)
{
List
<
List
<
Object
>>
lists
=
categoryDao
.
selectByIds
(
"PRD_PPBOM"
,
new
LinkedHashMap
<
String
,
String
>()
{{
//行主键查询产品编码
put
(
"FROWID"
,
"FROWID"
);
}},
new
HashMap
<
String
,
String
>()
{{
put
(
"FMaterialID2.Fnumber"
,
mainCode
);
}});
if
(
CollectionUtils
.
isEmpty
(
lists
))
{
return
null
;
}
if
(
lists
.
isEmpty
()
||
(
""
).
equals
(
lists
.
get
(
0
).
get
(
0
).
toString
()))
{
return
null
;
}
else
if
(
lists
.
get
(
0
).
get
(
0
).
toString
().
contains
(
"Errors"
))
{
return
null
;
}
return
lists
;
}
public
Map
<
String
,
Object
>
imsToKingDee
(
List
<
Map
<
String
,
Object
>>
list
)
{
/* 单据头 */
Map
<
String
,
Object
>
modelMap
=
new
HashMap
<>();
//生产订单
String
[]
wplanCode
=
String
.
valueOf
(
list
.
get
(
0
).
get
(
"wplan_code"
)).
split
(
"_"
);
Integer
integer
=
Integer
.
valueOf
(
wplanCode
[
1
]);
List
<
List
<
Object
>>
objectList
=
getFid
(
wplanCode
[
0
],
String
.
valueOf
(
integer
));
if
(
objectList
!=
null
)
{
modelMap
.
put
(
"FID"
,
objectList
.
get
(
0
).
get
(
0
));
}
else
{
modelMap
.
put
(
"FID"
,
null
);
}
List
<
Map
<
String
,
Object
>>
entryList
=
new
ArrayList
<>();
for
(
Map
<
String
,
Object
>
map
:
list
)
{
//转换成金蝶云格式
Map
<
String
,
Object
>
fEntityMap
=
new
HashMap
<>(
10
);
//行内码
fEntityMap
.
put
(
"FEntryID"
,
map
.
get
(
"erp_sic"
));
//物料编码
fEntityMap
.
put
(
"FMaterialID2"
,
new
HashMap
<
String
,
Object
>(
1
)
{{
put
(
"FNumber"
,
map
.
get
(
"mtrl_code"
));
}});
//用量
fEntityMap
.
put
(
"FMustQty"
,
map
.
get
(
"dosage"
));
//净需求数量
fEntityMap
.
put
(
"FStdQty"
,
map
.
get
(
"nn_qty"
));
//实际需求数量
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
));
}
}
entryList
.
add
(
fEntityMap
);
}
modelMap
.
put
(
"FEntityDetail"
,
entryList
);
return
modelMap
;
}
}
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/service/IBillOfMaterialServer.java
0 → 100644
浏览文件 @
92b06a0f
package
org
.
jeecg
.
modules
.
iost
.
ims
.
service
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author Inori
*/
public
interface
IBillOfMaterialServer
{
String
setData
(
List
<
Map
<
String
,
Object
>>
list
,
String
code
);
}
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/service/impl/BillOfMaterialServerImpl.java
0 → 100644
浏览文件 @
92b06a0f
package
org
.
jeecg
.
modules
.
iost
.
ims
.
service
.
impl
;
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.ImsUtil
;
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
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* @author Inori
*/
@Service
public
class
BillOfMaterialServerImpl
implements
IBillOfMaterialServer
{
@Autowired
private
BillOfMaterialKingDeeApi
billOfMaterialKingDeeApi
;
@Override
public
String
setData
(
List
<
Map
<
String
,
Object
>>
list
,
String
docType
)
{
Map
map2
=
ThreadLocalConfig
.
get
();
map2
.
put
(
"KingdeeLogOZTName"
,
"生产用料清单"
);
ThreadLocalConfig
.
set
(
map2
);
new
ImsLogUtil
().
ImsRequestLog
(
JSON
.
toJSONString
(
list
),
"生产用料清单"
,
"生产用料清单"
,
docType
);
String
addTwo
=
billOfMaterialKingDeeApi
.
addTwo
(
list
);
if
(
ImsUtil
.
isError
(
addTwo
))
{
throw
new
kingdeeException
(
"操作失败!修改失败!"
,
ImsUtil
.
getMessage
(
addTwo
),
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
(
", "
,
numberList
);
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论