Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
T
topsun-bpm
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
鲁鑫
topsun-bpm
Commits
d3fa653a
Commit
d3fa653a
authored
Mar 04, 2025
by
1650842865
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
采购申请审批中是存货转移类型的,审批完成后,创建跨工厂存货调拨,并推送到SAP创建订单
parent
3210ea34
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
385 additions
and
28 deletions
+385
-28
sapPurchaseApprovalDetail.js
.../topsun/sap/purchaseApproval/sapPurchaseApprovalDetail.js
+4
-0
sapStockTransfersDetail.jsp
...bapp/biz/topsun/sap/transfers/sapStockTransfersDetail.jsp
+1
-1
SapPurchaseApplication.java
...psun/sap/purchase/application/SapPurchaseApplication.java
+3
-0
SapPurchaseApplicationImpl.java
...purchase/application/impl/SapPurchaseApplicationImpl.java
+35
-0
SapPurchaseController.java
...topsun/sap/purchase/controller/SapPurchaseController.java
+31
-0
SapPurchaseItemDto.java
...gou/topsun/sap/purchase/domain/vo/SapPurchaseItemDto.java
+132
-0
SapPurchaseApprovalApplicationImpl.java
.../application/impl/SapPurchaseApprovalApplicationImpl.java
+14
-0
SapPurchaseApprovalItem.java
.../sap/purchaseApproval/domain/SapPurchaseApprovalItem.java
+18
-0
SapPurchaseApprovalItemVo.java
...purchaseApproval/domain/vo/SapPurchaseApprovalItemVo.java
+20
-0
SapStockTransfersApplication.java
...p/transfers/application/SapStockTransfersApplication.java
+9
-0
SapStockTransfersApplicationImpl.java
...rs/application/impl/SapStockTransfersApplicationImpl.java
+108
-26
SapStockTransfers.java
...huigou/topsun/sap/transfers/domain/SapStockTransfers.java
+7
-1
SapStockTransfersVO.java
...u/topsun/sap/transfers/domain/vo/SapStockTransfersVO.java
+3
-0
No files found.
topsun-xt/src/main/webapp/biz/topsun/sap/purchaseApproval/sapPurchaseApprovalDetail.js
View file @
d3fa653a
...
...
@@ -3,6 +3,10 @@ $(function () {
$
(
"#toolBar"
).
toolBar
(
"enable"
,
"forceAbortTask"
);
initItemGrid
();
bindEvent
();
var
batxt
=
$
(
"#batxt"
).
val
();
if
(
"库存转储"
==
batxt
){
$
(
"#billTitle .subject"
).
html
(
batxt
)
}
});
function
bindEvent
()
{
...
...
topsun-xt/src/main/webapp/biz/topsun/sap/transfers/sapStockTransfersDetail.jsp
View file @
d3fa653a
...
...
@@ -14,7 +14,7 @@
<x:hidden
name=
"billCode"
/>
<x:hidden
name=
"lifnr"
/>
<x:hidden
name=
"bsart"
value=
"zub"
/>
<x:hidden
name=
"banfn"
/>
<x:hidden
name=
"fillinDate"
type=
"datetime"
/>
<x:hidden
name=
"fullId"
/>
<x:hidden
name=
"organId"
/>
...
...
topsun/src/main/java/com/huigou/topsun/sap/purchase/application/SapPurchaseApplication.java
View file @
d3fa653a
...
...
@@ -2,6 +2,7 @@ package com.huigou.topsun.sap.purchase.application;
import
com.huigou.topsun.sap.purchase.domain.SapPurchase
;
import
com.huigou.topsun.sap.purchase.domain.query.SapPurchaseQueryRequest
;
import
com.huigou.topsun.sap.purchase.domain.vo.SapPurchaseItemDto
;
import
java.util.Map
;
...
...
@@ -20,4 +21,6 @@ public interface SapPurchaseApplication {
SapPurchase
loadSapPurchase
(
String
id
);
String
revokeApproval
(
String
id
);
SapPurchase
saveEPPurchaseItem
(
SapPurchase
sapPurchase
,
SapPurchaseItemDto
sapPurchaseItemDto
);
}
topsun/src/main/java/com/huigou/topsun/sap/purchase/application/impl/SapPurchaseApplicationImpl.java
View file @
d3fa653a
package
com
.
huigou
.
topsun
.
sap
.
purchase
.
application
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.huigou.cache.SystemCache
;
import
com.huigou.context.Operator
;
import
com.huigou.context.ThreadLocalUtil
;
import
com.huigou.data.domain.model.CommonDomainConstants
;
import
com.huigou.data.query.model.QueryDescriptor
;
import
com.huigou.data.query.model.QueryModel
;
...
...
@@ -16,11 +19,14 @@ import com.huigou.topsun.sap.purchase.application.SapPurchaseItemApplication;
import
com.huigou.topsun.sap.purchase.domain.SapPurchase
;
import
com.huigou.topsun.sap.purchase.domain.SapPurchaseItem
;
import
com.huigou.topsun.sap.purchase.domain.query.SapPurchaseQueryRequest
;
import
com.huigou.topsun.sap.purchase.domain.vo.SapPurchaseItemDto
;
import
com.huigou.topsun.sap.purchase.domain.vo.SapPurchaseItemVo
;
import
com.huigou.topsun.sap.purchase.domain.vo.SapPurchaseVo
;
import
com.huigou.topsun.sap.purchase.repository.SapPurchaseRepository
;
import
com.huigou.topsun.sap.common.domain.SapResult
;
import
com.huigou.uasp.bmp.common.BizBillStatus
;
import
com.huigou.uasp.bmp.operator.OperatorApplication
;
import
com.huigou.uasp.bmp.opm.domain.model.org.Org
;
import
com.huigou.uasp.bpm.FlowBroker
;
import
com.huigou.util.ClassHelper
;
import
com.huigou.util.DateUtil
;
...
...
@@ -57,6 +63,8 @@ public class SapPurchaseApplicationImpl extends FlowBroker implements SapPurchas
private
MannualStartWorkApplication
mannualStartWorkApplication
;
@Autowired
private
DataPermissionApplication
dataPermissionApplication
;
@Autowired
private
OperatorApplication
operatorApplication
;
@Override
protected
String
saveBizAndApprovalData
()
{
...
...
@@ -329,5 +337,32 @@ public class SapPurchaseApplicationImpl extends FlowBroker implements SapPurchas
return
newSapPurchase
.
getId
();
}
@Override
public
SapPurchase
saveEPPurchaseItem
(
SapPurchase
sapPurchase
,
SapPurchaseItemDto
sapPurchaseItemDto
)
{
//创建主表
//根据SAP传过来的创建人编码,映射流程发起人
String
afnam
=
sapPurchaseItemDto
.
getAfnam
();
Org
org
=
orgApplication
.
loadMainOrgByLoginName
(
afnam
);
String
acceptPersonCode
=
SystemCache
.
getParameter
(
"acceptPersonCode"
,
String
.
class
);
if
(
ObjectUtil
.
isNull
(
org
)){
org
=
orgApplication
.
loadMainOrgByLoginName
(
acceptPersonCode
);
}
if
(
ObjectUtil
.
isNotNull
(
org
)){
Operator
operator
=
operatorApplication
.
createOperatorByPersonMemberId
(
org
.
getId
());
ThreadLocalUtil
.
putOperator
(
operator
);
}
//设置默认值,并保存
sapPurchase
.
setBsart
(
"ZNE2"
);
sapPurchase
.
setKnttp
(
"K"
);
String
id
=
mannualStartWorkApplication
.
startWorkflow
(
sapPurchase
,
PROCESS_DEFINITION_KEY
,
"sapPurchase"
);
//转换明细,保存
SapPurchaseItem
sapPurchaseItem
=
new
SapPurchaseItem
();
BeanUtil
.
copyProperties
(
sapPurchaseItemDto
,
sapPurchaseItem
);
List
<
SapPurchaseItem
>
itemList
=
new
ArrayList
<>();
itemList
.
add
(
sapPurchaseItem
);
this
.
sapPurchaseItemApplication
.
saveSapPurchaseItems
(
id
,
itemList
);
return
sapPurchase
;
}
}
topsun/src/main/java/com/huigou/topsun/sap/purchase/controller/SapPurchaseController.java
View file @
d3fa653a
...
...
@@ -7,14 +7,24 @@ import com.huigou.topsun.common.BillStatus;
import
com.huigou.topsun.sap.purchase.application.SapPurchaseApplication
;
import
com.huigou.topsun.sap.purchase.domain.SapPurchase
;
import
com.huigou.topsun.sap.purchase.domain.query.SapPurchaseQueryRequest
;
import
com.huigou.topsun.sap.purchase.domain.vo.SapPurchaseItemDto
;
import
com.huigou.topsun.sap.purchaseApproval.controller.SapPurchaseApprovalController
;
import
com.huigou.topsun.sap.purchaseApproval.domain.vo.SapPurchaseApprovalDto
;
import
com.huigou.topsun.sap.sapApplication.application.SapDictionaryApplication
;
import
com.huigou.uasp.annotation.ControllerMapping
;
import
com.huigou.uasp.annotation.SkipAuth
;
import
com.huigou.uasp.bmp.common.BizBillStatus
;
import
com.huigou.uasp.client.CommonController
;
import
com.huigou.util.JSONUtil
;
import
com.huigou.util.SDO
;
import
com.huigou.util.StringUtil
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
javax.annotation.Resource
;
import
java.io.IOException
;
...
...
@@ -32,6 +42,7 @@ import java.util.stream.Collectors;
@Controller
@ControllerMapping
(
"/sapPurchase"
)
public
class
SapPurchaseController
extends
CommonController
{
private
final
static
Logger
LOG
=
LoggerFactory
.
getLogger
(
SapPurchaseController
.
class
);
@Override
protected
String
getPagePath
()
{
return
"/biz/topsun/sap/purchase/"
;
...
...
@@ -149,4 +160,24 @@ public class SapPurchaseController extends CommonController {
}
return
packGridDataAndResult
(
mapList
);
}
@SkipAuth
@RequestMapping
(
value
=
"/getEPPurchaseItem"
)
@ResponseBody
public
HashMap
<
String
,
Object
>
getEPPurchaseItem
(
@RequestBody
SapPurchaseItemDto
sapPurchaseItemDto
){
HashMap
<
String
,
Object
>
messageMap
=
new
HashMap
<>();
LOG
.
info
(
"EP打样采购申请数据=={}"
,
JSONUtil
.
toString
(
sapPurchaseItemDto
));
SapPurchase
sapPurchase
=
new
SapPurchase
();
try
{
sapPurchase
=
this
.
sapPurchaseApplication
.
saveEPPurchaseItem
(
sapPurchase
,
sapPurchaseItemDto
);
messageMap
.
put
(
"CODE"
,
"S"
);
messageMap
.
put
(
"MSG"
,
"成功"
);
messageMap
.
put
(
"DATA"
,
sapPurchase
.
getBillCode
());
}
catch
(
RuntimeException
e
){
messageMap
.
put
(
"CODE"
,
"E"
);
messageMap
.
put
(
"MSG"
,
e
.
getMessage
());
messageMap
.
put
(
"DATA"
,
JSONUtil
.
toString
(
sapPurchaseItemDto
));
}
return
messageMap
;
}
}
topsun/src/main/java/com/huigou/topsun/sap/purchase/domain/vo/SapPurchaseItemDto.java
0 → 100644
View file @
d3fa653a
package
com
.
huigou
.
topsun
.
sap
.
purchase
.
domain
.
vo
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @Auther: xin.lu
* @Date: 2024/01/02/14:07
* @Description:
*/
@Data
public
class
SapPurchaseItemDto
implements
Serializable
{
/**
* 短文本
*/
@JsonProperty
(
"TXZ01"
)
private
String
txz01
;
/**
* 工厂
*/
@JsonProperty
(
"WERKS"
)
private
String
werks
;
/**
* 工厂名称
*/
@JsonProperty
(
"NAME1"
)
private
String
name1
;
/**
* 申购项次号
*/
@JsonProperty
(
"BANPO"
)
private
Integer
bnfpo
;
/**
* 项次类别
*/
@JsonProperty
(
"PSTYP"
)
private
String
pstyp
;
/**
* 物料组
*/
@JsonProperty
(
"MATKL"
)
private
String
matkl
;
/**
* 申购数量
*/
@JsonProperty
(
"BUMNG"
)
private
BigDecimal
menge
;
/**
* 申购数量单位
*/
@JsonProperty
(
"MEINS"
)
private
String
meins
;
/**
* 申购数量单位
*/
@JsonProperty
(
"MEINS_NAME"
)
private
String
meinsName
;
/**
* 申请人
*/
@JsonProperty
(
"AFNAM"
)
private
String
afnam
;
/**
* 科目分配类别
*/
@JsonProperty
(
"KNTTP"
)
private
String
knttp
;
/**
* 成本中心
*/
@JsonProperty
(
"KOSTL"
)
private
String
kostl
;
/**
* 采购组
*/
@JsonProperty
(
"EKGRP"
)
private
String
ekgrp
;
/**
* 采购组
*/
@JsonProperty
(
"EKGRP_NAME"
)
private
String
ekgrpName
;
/**
* 要求交货日期
*/
@JsonProperty
(
"LFDAT"
)
private
String
lfdat
;
/**
* 创建日期
*/
@JsonProperty
(
"ERDAT"
)
private
String
erdat
;
/**
* 评估价格
*/
@JsonProperty
(
"NETWR"
)
private
BigDecimal
preis
;
/**
* 币种
*/
@JsonProperty
(
"WAERS"
)
private
String
waers
;
/**
* 币种描述
*/
@JsonProperty
(
"WAERS_NAME"
)
private
String
waersName
;
}
topsun/src/main/java/com/huigou/topsun/sap/purchaseApproval/application/impl/SapPurchaseApprovalApplicationImpl.java
View file @
d3fa653a
...
...
@@ -30,6 +30,7 @@ import com.huigou.topsun.sap.purchaseApproval.domain.vo.SapPurchaseApprovalItemV
import
com.huigou.topsun.sap.purchaseApproval.domain.vo.SapPurchaseApprovalVo
;
import
com.huigou.topsun.sap.purchaseApproval.repository.SapPurchaseApprovalRepository
;
import
com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrder
;
import
com.huigou.topsun.sap.transfers.application.SapStockTransfersApplication
;
import
com.huigou.uasp.bmp.common.BizBillStatus
;
import
com.huigou.uasp.bmp.fn.CodeGenerator
;
import
com.huigou.uasp.bmp.operator.OperatorApplication
;
...
...
@@ -76,6 +77,8 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
private
OperatorApplication
operatorApplication
;
@Autowired
private
MannualStartWorkApplication
mannualStartWorkApplication
;
@Autowired
private
SapStockTransfersApplication
sapStockTransfersApplication
;
@Override
protected
String
saveBizAndApprovalData
()
{
...
...
@@ -295,6 +298,11 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
sapPurchaseApprovalItems
.
add
(
sapPurchaseApprovalItem
);
sapPurchaseApproval
.
setKnttp
(
approvalItemVo
.
getKnttp
());
//科目分配类别
sapPurchaseApproval
.
setEkgrp
(
approvalItemVo
.
getEkgrp
());
//采购组
//采购申请是库存转储时,修改表头采购申请类型描述
if
(
"7"
.
equals
(
sapPurchaseApprovalItem
.
getPstyp
())){
sapPurchaseApproval
.
setBatxt
(
sapPurchaseApprovalItem
.
getPtext
());
}
}
//knttp审批要素没有值时,赋值0,防止发起流程时报错
if
(
StringUtil
.
isBlank
(
sapPurchaseApproval
.
getKnttp
())){
...
...
@@ -483,6 +491,12 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
sapPurchaseApprovalRepository
.
save
(
sapPurchaseApproval
);
sapMutualEpLogApplication
.
saveSapMutualEpLog
(
resultMap
);
}
//根据明细的项目类别判断是不是库存转储
SapPurchaseApprovalItem
sapPurchaseApprovalItem
=
approvalItemList
.
get
(
0
);
if
(
"7"
.
equals
(
sapPurchaseApprovalItem
.
getPstyp
())){
sapStockTransfersApplication
.
createSapStockTransfersFromPurchaseApproval
(
sapPurchaseApproval
,
approvalItemList
);
}
}
@Override
...
...
topsun/src/main/java/com/huigou/topsun/sap/purchaseApproval/domain/SapPurchaseApprovalItem.java
View file @
d3fa653a
...
...
@@ -178,5 +178,23 @@ public class SapPurchaseApprovalItem extends AbstractEntity {
@Column
(
name
=
"NAME_TEXT"
)
private
String
nameText
;
/**
* 库存转储供货工厂
*/
@Column
(
name
=
"RESWK"
)
private
String
reswk
;
/**
* 采购组织
*/
@Column
(
name
=
"EKORG"
)
private
String
ekorg
;
/**
* 公司代码
*/
@Column
(
name
=
"BUKRS"
)
private
String
bukrs
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/purchaseApproval/domain/vo/SapPurchaseApprovalItemVo.java
View file @
d3fa653a
...
...
@@ -173,4 +173,24 @@ public class SapPurchaseApprovalItemVo {
@JsonProperty
(
"NAME_TEXT"
)
private
String
nameText
;
/**
* 库存转储供货工厂
*/
@JsonProperty
(
"RESWK"
)
private
String
reswk
;
/**
* 采购组织
*/
@JsonProperty
(
"EKORG"
)
private
String
ekorg
;
/**
* 公司代码
*/
@JsonProperty
(
"BUKRS"
)
private
String
bukrs
;
}
\ No newline at end of file
topsun/src/main/java/com/huigou/topsun/sap/transfers/application/SapStockTransfersApplication.java
View file @
d3fa653a
...
...
@@ -2,6 +2,9 @@ package com.huigou.topsun.sap.transfers.application;
import
com.huigou.topsun.sap.permit.domain.SapPermit
;
import
com.huigou.topsun.sap.permit.domain.query.SapPermitQueryRequest
;
import
com.huigou.topsun.sap.purchase.domain.SapPurchaseItem
;
import
com.huigou.topsun.sap.purchaseApproval.domain.SapPurchaseApproval
;
import
com.huigou.topsun.sap.purchaseApproval.domain.SapPurchaseApprovalItem
;
import
com.huigou.topsun.sap.transfers.domain.SapStockTransfers
;
import
com.huigou.topsun.sap.transfers.domain.query.SapStockTransfersQueryRequest
;
...
...
@@ -24,5 +27,11 @@ public interface SapStockTransfersApplication {
void
deleteByIds
(
List
<
String
>
ids
);
/**
* 创建存货转移单
* @param sapPurchaseApprovalItems
*/
void
createSapStockTransfersFromPurchaseApproval
(
SapPurchaseApproval
sapPurchaseApproval
,
List
<
SapPurchaseApprovalItem
>
sapPurchaseApprovalItems
);
// List<TmpPermitData> importExcelData(String batchNumber) ;
}
topsun/src/main/java/com/huigou/topsun/sap/transfers/application/impl/SapStockTransfersApplicationImpl.java
View file @
d3fa653a
...
...
@@ -5,6 +5,8 @@ import com.alibaba.fastjson.JSON;
import
com.alibaba.fastjson.JSONObject
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.huigou.cache.DictUtil
;
import
com.huigou.context.Operator
;
import
com.huigou.context.OrgUnit
;
import
com.huigou.data.query.model.QueryDescriptor
;
import
com.huigou.data.query.model.QueryModel
;
import
com.huigou.topsun.base.coderule.application.CodeRuleApplication
;
...
...
@@ -12,6 +14,10 @@ import com.huigou.topsun.base.coderule.application.CodeRuleApplication;
import
com.huigou.topsun.sap.common.DefaultHttpClient
;
import
com.huigou.topsun.sap.common.application.SapMutualEpLogApplication
;
import
com.huigou.topsun.sap.common.domain.SapResult
;
import
com.huigou.topsun.sap.purchase.domain.SapPurchaseItem
;
import
com.huigou.topsun.sap.purchaseApproval.domain.SapPurchaseApproval
;
import
com.huigou.topsun.sap.purchaseApproval.domain.SapPurchaseApprovalItem
;
import
com.huigou.topsun.sap.sapApplication.application.SapDictionaryApplication
;
import
com.huigou.topsun.sap.transfers.application.SapStockTransfersApplication
;
import
com.huigou.topsun.sap.transfers.application.SapStockTransfersItemApplication
;
import
com.huigou.topsun.sap.transfers.domain.SapStockTransfers
;
...
...
@@ -23,14 +29,18 @@ import com.huigou.topsun.sap.transfers.repository.SapStockTransfersItemRepositor
import
com.huigou.topsun.sap.transfers.repository.SapStockTransfersRepository
;
import
com.huigou.uasp.bmp.common.BizBillStatus
;
import
com.huigou.uasp.bmp.doc.attachment.application.AttachmentApplication
;
import
com.huigou.uasp.bmp.opm.domain.model.org.Org
;
import
com.huigou.uasp.bpm.FlowBroker
;
import
com.huigou.util.ClassHelper
;
import
com.huigou.util.DateUtil
;
import
com.huigou.util.StringUtil
;
import
org.activiti.engine.delegate.DelegateExecution
;
import
org.activiti.engine.delegate.DelegateTask
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.io.IOException
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
...
...
@@ -59,6 +69,8 @@ public class SapStockTransfersApplicationImpl extends FlowBroker implements SapS
DefaultHttpClient
defaultHttpClient
;
@Autowired
SapMutualEpLogApplication
sapMutualEpLogApplication
;
@Autowired
private
SapDictionaryApplication
sapDictionaryApplication
;
@Override
public
Map
<
String
,
Object
>
getStockTransfersList
(
SapStockTransfersQueryRequest
queryRequest
)
{
...
...
@@ -118,24 +130,7 @@ public class SapStockTransfersApplicationImpl extends FlowBroker implements SapS
SapStockTransfers
stockTransfers
=
sapStockTransfersRepository
.
findOne
(
bizId
);
stockTransfers
.
setStatusId
(
status
.
getId
());
sapStockTransfersRepository
.
save
(
stockTransfers
);
List
<
SapStockTransfersItem
>
itemList
=
sapStockTransfersItemApplication
.
findByTransfersId
(
stockTransfers
.
getId
());
//推送SAP
SapStockTransfersVO
sapStockTransfersVO
=
new
SapStockTransfersVO
();
BeanUtil
.
copyProperties
(
stockTransfers
,
sapStockTransfersVO
);
List
<
SapStockTransfersItemVO
>
newItemList
=
new
ArrayList
<>();
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyyMMdd"
);
for
(
SapStockTransfersItem
item:
itemList
){
SapStockTransfersItemVO
sapStockTransfersItemVO
=
new
SapStockTransfersItemVO
();
BeanUtil
.
copyProperties
(
item
,
sapStockTransfersItemVO
);
if
(
item
.
getEeind
()
!=
null
){
sapStockTransfersItemVO
.
setEeind
(
sdf
.
format
(
item
.
getEeind
()));
}
sapStockTransfersItemVO
.
setWerks
(
stockTransfers
.
getWerks
());
newItemList
.
add
(
sapStockTransfersItemVO
);
}
sapStockTransfersVO
.
setItem
(
newItemList
);
sendSapData
(
sapStockTransfersVO
,
stockTransfers
.
getId
());
this
.
sendSapData
(
stockTransfers
);
}
@Override
...
...
@@ -217,13 +212,28 @@ public class SapStockTransfersApplicationImpl extends FlowBroker implements SapS
/**
* 远程调用sap接口,传递数据
*/
public
void
sendSapData
(
SapStockTransfersVO
sapStockTransfersVO
,
String
id
)
{
public
void
sendSapData
(
SapStockTransfers
stockTransfers
)
{
List
<
SapStockTransfersItem
>
itemList
=
sapStockTransfersItemApplication
.
findByTransfersId
(
stockTransfers
.
getId
());
//推送SAP
SapStockTransfersVO
sapStockTransfersVO
=
new
SapStockTransfersVO
();
BeanUtil
.
copyProperties
(
stockTransfers
,
sapStockTransfersVO
);
List
<
SapStockTransfersItemVO
>
newItemList
=
new
ArrayList
<>();
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyyMMdd"
);
for
(
SapStockTransfersItem
item:
itemList
){
SapStockTransfersItemVO
sapStockTransfersItemVO
=
new
SapStockTransfersItemVO
();
BeanUtil
.
copyProperties
(
item
,
sapStockTransfersItemVO
);
if
(
item
.
getEeind
()
!=
null
){
sapStockTransfersItemVO
.
setEeind
(
sdf
.
format
(
item
.
getEeind
()));
}
sapStockTransfersItemVO
.
setWerks
(
stockTransfers
.
getWerks
());
newItemList
.
add
(
sapStockTransfersItemVO
);
}
sapStockTransfersVO
.
setItem
(
newItemList
);
ObjectMapper
objectMapper
=
new
ObjectMapper
();
String
url
=
"cud_po_zub/po_zub"
;
Map
<
String
,
Object
>
resultMap
=
new
HashMap
<>();
resultMap
.
put
(
"businessType"
,
"存货转移数据"
);
resultMap
.
put
(
"businessId"
,
id
);
resultMap
.
put
(
"businessId"
,
stockTransfers
.
getId
()
);
resultMap
.
put
(
"parameter"
,
JSON
.
toJSONString
(
sapStockTransfersVO
));
// List<SapStockTransfersVO> sapStockTransfersVOs = new ArrayList<>();
// sapStockTransfersVOs.add(sapStockTransfersVO);
...
...
@@ -237,13 +247,11 @@ public class SapStockTransfersApplicationImpl extends FlowBroker implements SapS
SapResult
sapResult
=
sapResultList
.
get
(
0
);
resultMap
.
put
(
"sequence"
,
resultMap
.
get
(
"row"
));
if
(
"S"
.
equals
(
sapResult
.
getTYPE
()))
{
SapStockTransfers
sapStockTransfers
=
this
.
getStockTransfersById
(
id
);
// suppliersInfo.setPartner(sapResult.getMESSAGE_V1());
resultMap
.
put
(
"TYPE"
,
sapResult
.
getTYPE
());
resultMap
.
put
(
"MESSAGE"
,
sapResult
.
getMESSAGE
());
s
apS
tockTransfers
.
setType
(
sapResult
.
getTYPE
());
s
apS
tockTransfers
.
setMessage
(
sapResult
.
getMESSAGE_V1
());
sapStockTransfersRepository
.
save
(
s
apS
tockTransfers
);
stockTransfers
.
setType
(
sapResult
.
getTYPE
());
stockTransfers
.
setMessage
(
sapResult
.
getMESSAGE_V1
());
sapStockTransfersRepository
.
save
(
stockTransfers
);
}
else
{
List
<
String
>
stringList
=
sapResultList
.
stream
().
map
(
SapResult:
:
getMESSAGE
).
collect
(
Collectors
.
toList
());
message
=
String
.
join
(
";"
,
stringList
);
...
...
@@ -257,4 +265,78 @@ public class SapStockTransfersApplicationImpl extends FlowBroker implements SapS
sapMutualEpLogApplication
.
saveSapMutualEpLog
(
resultMap
);
}
}
/**
* 创建存货转移单
* @param sapPurchaseItemList
*/
@Override
public
void
createSapStockTransfersFromPurchaseApproval
(
SapPurchaseApproval
sapPurchaseApproval
,
List
<
SapPurchaseApprovalItem
>
sapPurchaseItemList
){
SapStockTransfers
sapStockTransfers
=
new
SapStockTransfers
();
sapStockTransfers
.
setStatusId
(
BizBillStatus
.
COMPLETED
.
getId
());
Org
org
=
orgApplication
.
loadOrgByFullId
(
sapPurchaseApproval
.
getFullId
());
sapStockTransfers
.
setDefaultValues
(
new
OrgUnit
(
sapPurchaseApproval
.
getFullId
(),
org
.
getFullName
()));
sapStockTransfers
.
setBanfn
(
sapPurchaseApproval
.
getBanfn
());
SapPurchaseApprovalItem
sapPurchaseItemFirst
=
sapPurchaseItemList
.
get
(
0
);
sapStockTransfers
.
setBsart
(
"ZUB"
);
sapStockTransfers
.
setLifnr
(
sapPurchaseItemFirst
.
getReswk
());
//供货工厂
String
text
=
this
.
getDictionaryText
(
"WERKS"
,
sapPurchaseItemFirst
.
getReswk
(),
"NAME1"
);
sapStockTransfers
.
setLifnrName
(
text
);
sapStockTransfers
.
setWerks
(
sapPurchaseItemFirst
.
getWerks
());
//收货工厂
String
WerksName
=
this
.
getDictionaryText
(
"WERKS"
,
sapPurchaseItemFirst
.
getWerks
(),
"NAME1"
);
sapStockTransfers
.
setWerksName
(
WerksName
);
sapStockTransfers
.
setEkorg
(
"1000"
);
//采购组织
sapStockTransfers
.
setEkorgName
(
"广州宝绅科技采购组织"
);
sapStockTransfers
.
setBurks
(
"1000"
);
//公司代码
sapStockTransfers
.
setBurksName
(
"广州市宝绅科技应用有限公司"
);
sapStockTransfers
.
setEkgrp
(
sapPurchaseItemFirst
.
getEkgrp
());
//采购组
sapStockTransfers
.
setEkgrpName
(
sapPurchaseItemFirst
.
getEknam
());
sapStockTransfersRepository
.
save
(
sapStockTransfers
);
List
<
SapStockTransfersItem
>
itemList
=
new
ArrayList
<>();
for
(
int
i
=
1
;
i
<=
sapPurchaseItemList
.
size
();
i
++)
{
SapPurchaseApprovalItem
sapPurchaseItem
=
sapPurchaseItemList
.
get
(
i
-
1
);
SapStockTransfersItem
sapStockTransfersItem
=
new
SapStockTransfersItem
();
sapStockTransfersItem
.
setTransfersId
(
sapStockTransfers
.
getId
());
sapStockTransfersItem
.
setEpstp
(
"U"
);
//项目类别
sapStockTransfersItem
.
setEbelp
(
i
*
10
);
//项目编号
sapStockTransfersItem
.
setMatnr
(
sapPurchaseItem
.
getMatnr
());
sapStockTransfersItem
.
setMenge
(
sapPurchaseItem
.
getMenge
().
intValue
());
sapStockTransfersItem
.
setMeins
(
sapPurchaseItem
.
getMeins
());
sapStockTransfersItem
.
setEeind
(
sapPurchaseItem
.
getLfdat
());
//交货日期
sapStockTransfersItem
.
setLgort
(
sapPurchaseItem
.
getLgort
());
sapStockTransfersItem
.
setLgortName
(
sapPurchaseItem
.
getLgobe
());
sapStockTransfersItem
.
setMatnrName
(
sapPurchaseItem
.
getTxz01
());
sapStockTransfersItem
.
setMeinsName
(
sapPurchaseItem
.
getMsehl
());
itemList
.
add
(
sapStockTransfersItem
);
}
this
.
sapStockTransfersItemApplication
.
saveSapStockTransfersItems
(
sapStockTransfers
.
getId
(),
itemList
);
//调用sap接口
this
.
sendSapData
(
sapStockTransfers
);
}
/**
* 获取描述
* @param fieldName 字典字段名
* @param filterValue 筛选条件
* @param code 描述对应的key
* @return
*/
public
String
getDictionaryText
(
String
fieldName
,
String
filterValue
,
String
code
){
String
text
=
""
;
try
{
List
<
Map
<
String
,
String
>>
mapList
=
sapDictionaryApplication
.
getSapDictionary
(
fieldName
);
List
<
String
>
textList
=
mapList
.
stream
()
.
filter
(
map
->
map
.
values
().
stream
().
anyMatch
(
value
->
value
.
contains
(
filterValue
)))
.
map
(
map
->{
return
map
.
get
(
code
);
})
.
collect
(
Collectors
.
toList
());
text
=
textList
.
get
(
0
);
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
return
text
;
}
}
topsun/src/main/java/com/huigou/topsun/sap/transfers/domain/SapStockTransfers.java
View file @
d3fa653a
...
...
@@ -12,7 +12,7 @@ import java.util.Date;
/**
* @Auther: LXH
* @Date: 2024/03/28/10:45
* @Description:
放行条
* @Description:
SAP存货转移单
*/
@Table
(
name
=
"sap_stock_transfers"
)
@Entity
...
...
@@ -76,6 +76,12 @@ public class SapStockTransfers extends FlowBillAbstractEntity {
@Column
(
name
=
"message"
)
private
String
message
;
/**
* 采购申请号
*/
@Column
(
name
=
"BANFN"
)
private
String
banfn
;
@Override
protected
String
getCodeRuleId
()
{
return
"sapStockTransfers"
;
...
...
topsun/src/main/java/com/huigou/topsun/sap/transfers/domain/vo/SapStockTransfersVO.java
View file @
d3fa653a
...
...
@@ -37,6 +37,9 @@ public class SapStockTransfersVO {
@JsonProperty
(
"BUKRS"
)
private
String
burks
;
@JsonProperty
(
"BANFN"
)
private
String
banfn
;
@JsonProperty
(
"ITEM"
)
private
List
<
SapStockTransfersItemVO
>
item
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment