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
d6d1371a
提交
d6d1371a
authored
4月 16, 2022
作者:
inroi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
对账单录入
上级
c4ea0275
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
154 行增加
和
47 行删除
+154
-47
NotCommitRedisLockAspect.java
...va/org/jeecg/modules/aspect/NotCommitRedisLockAspect.java
+25
-39
CategoryDao.java
...main/java/org/jeecg/modules/iost/ims/Dao/CategoryDao.java
+3
-8
WebApi.java
...in/java/org/jeecg/modules/iost/ims/controller/WebApi.java
+4
-0
DeductionFormKingdeeApi.java
.../modules/iost/ims/kingdeeapi/DeductionFormKingdeeApi.java
+77
-0
IDeductionFormService.java
...jeecg/modules/iost/ims/service/IDeductionFormService.java
+14
-0
DeductionFormServiceImpl.java
...dules/iost/ims/service/impl/DeductionFormServiceImpl.java
+31
-0
没有找到文件。
jeecg-boot-module-system/src/main/java/org/jeecg/modules/aspect/NotCommitRedisLockAspect.java
浏览文件 @
d6d1371a
package
org
.
jeecg
.
modules
.
aspect
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.serializer.PropertyFilter
;
import
lombok.Data
;
import
org.apache.shiro.SecurityUtils
;
import
org.aspectj.lang.JoinPoint
;
import
org.aspectj.lang.ProceedingJoinPoint
;
import
org.aspectj.lang.annotation.AfterThrowing
;
import
org.aspectj.lang.annotation.Around
;
import
org.aspectj.lang.annotation.Aspect
;
import
org.aspectj.lang.annotation.Pointcut
;
import
org.aspectj.lang.reflect.MethodSignature
;
import
org.jeecg.common.api.dto.LogDTO
;
import
org.jeecg.common.api.vo.Result
;
import
org.jeecg.common.aspect.annotation.AutoLog
;
import
org.jeecg.common.constant.CommonConstant
;
import
org.jeecg.common.constant.enums.ModuleType
;
import
org.jeecg.common.exception.*
;
import
org.jeecg.common.util.*
;
import
org.jeecg.common.util.RedisLock
;
import
org.jeecg.common.util.ThreadLocalConfig
;
import
org.jeecg.modules.base.service.BaseCommonService
;
import
org.jeecg.common.system.vo.LoginUser
;
import
org.jeecg.modules.iost.ims.entity.ImsPurchaseOrder
;
import
org.jeecg.modules.iost.ims.entity.Vo.ImsRequestVo
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.core.LocalVariableTableParameterNameDiscoverer
;
import
org.springframework.core.annotation.Order
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.annotation.Resource
;
import
javax.servlet.ServletRequest
;
import
javax.servlet.ServletResponse
;
import
javax.servlet.http.HttpServletRequest
;
import
java.lang.reflect.Method
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Map
;
...
...
@@ -52,39 +34,44 @@ public class NotCommitRedisLockAspect {
@Resource
private
BaseCommonService
baseCommonService
;
@Pointcut
(
"@annotation(org.jeecg.modules.aspect.annotation.NotCommitRedisLock)"
)
public
void
logPointCut
()
{
}
@Autowired
RedisLock
redisLock
;
@Around
(
"logPointCut()"
)
public
Object
around
(
ProceedingJoinPoint
point
)
throws
Throwable
{
Object
result
=
null
;
Object
result
=
null
;
Object
[]
args
=
point
.
getArgs
();
for
(
Object
arg
:
args
)
{
if
(
arg
instanceof
ImsRequestVo
)
{
if
(
arg
instanceof
ImsRequestVo
)
{
ImsRequestVo
request
=
(
ImsRequestVo
)
arg
;
System
.
out
.
println
(
"test-----"
+
request
);
String
token
=
redisLock
.
tryLock
(
request
.
getDocType
()+
request
.
getData
().
get
(
0
).
get
(
"QUEUE_ID"
).
toString
(),
1000
*
60
*
2
);
if
(
token
==
null
)
{
return
Result
.
fail
(
"操作失败"
,
"请勿提交相同数据!"
,
request
.
getDocType
())
;
System
.
out
.
println
(
"test-----"
+
request
);
if
(!
request
.
getData
().
get
(
0
).
containsKey
(
"QUEUE_ID"
))
{
//执行方法
result
=
point
.
proceed
();
continue
;
}
Map
<
String
,
String
>
map
=
ThreadLocalConfig
.
get
();
if
(
map
==
null
)
{
map
=
new
HashMap
<>();
String
token
=
redisLock
.
tryLock
(
request
.
getDocType
()
+
request
.
getData
().
get
(
0
).
get
(
"QUEUE_ID"
).
toString
(),
1000
*
60
*
2
);
if
(
token
==
null
)
{
return
Result
.
fail
(
"操作失败"
,
"请勿提交相同数据!"
,
request
.
getDocType
());
}
map
.
put
(
"key"
,
request
.
getDocType
()+
request
.
getData
().
get
(
0
).
get
(
"QUEUE_ID"
).
toString
());
map
.
put
(
"token"
,
token
);
Map
<
String
,
String
>
map
=
ThreadLocalConfig
.
get
();
if
(
map
==
null
)
{
map
=
new
HashMap
<>();
}
map
.
put
(
"key"
,
request
.
getDocType
()
+
request
.
getData
().
get
(
0
).
get
(
"QUEUE_ID"
).
toString
());
map
.
put
(
"token"
,
token
);
ThreadLocalConfig
.
set
(
map
);
try
{
try
{
//执行方法
result
=
point
.
proceed
();
}
finally
{
redisLock
.
unlock
(
request
.
getDocType
()
+
request
.
getData
().
get
(
0
).
get
(
"QUEUE_ID"
).
toString
(),
token
);
}
finally
{
redisLock
.
unlock
(
request
.
getDocType
()
+
request
.
getData
().
get
(
0
).
get
(
"QUEUE_ID"
).
toString
(),
token
);
}
}
}
...
...
@@ -92,5 +79,4 @@ public class NotCommitRedisLockAspect {
}
}
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/Dao/CategoryDao.java
浏览文件 @
d6d1371a
...
...
@@ -451,13 +451,8 @@ public class CategoryDao {
JSONObject
responseStatus
=
null
;
try
{
if
(
result
)
{
/*Map<String,String> MAP=new HashMap<>();
MAP.put("FEntity","FFinishQty");*/
List
<
String
>
list
=
new
ArrayList
<>();
list
.
add
(
"FEntity.FFinishQty"
);
String
listjson
=
JsonUtil
.
Listjson
(
list
);
//\"NeedUpDateFields\":"+listjson+",\"NeedReturnFields\":[\"FFinishQty\"],
String
content
=
"{\"IsDeleteEntry\":false,\"IsAutoSubmitAndAudit\":true,\"Model\":"
+
json
+
"}"
;
//String content = "{\"IsDeleteEntry\":false,\"IsAutoSubmitAndAudit\":false,\"Model\":" + json + "}";
String
content
=
"{\"Model\":"
+
json
+
"}"
;
result2
=
client
.
save
(
sFormId
,
content
);
//记录下推金蝶云数据的请求和响应信息
KingdeeLogUtil
kingdeeLogUtil
=
new
KingdeeLogUtil
();
...
...
@@ -487,7 +482,7 @@ public class CategoryDao {
message
=
message
+
"---"
+
String
.
valueOf
(
messags
.
get
(
"Message"
));
i
++;
}
throw
new
KingdeeChangeException
(
"
修改
失败!"
,
message
);
throw
new
KingdeeChangeException
(
"
操作
失败!"
,
message
);
/* return String.valueOf(message);*/
}
return
null
;
...
...
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/controller/WebApi.java
浏览文件 @
d6d1371a
...
...
@@ -130,6 +130,8 @@ public class WebApi {
IImsProduceOrderCloseService
iImsProduceOrderCloseService
;
@Autowired
IImsProduceOrderReadyService
iImsProduceOrderReadyService
;
@Autowired
IDeductionFormService
deductionFormService
;
/**
* 传入数据到金蝶云
*
...
...
@@ -245,6 +247,8 @@ public class WebApi {
result
=
iImsMaintainPickingService
.
setData
(
request
.
getData
(),
request
.
getDocType
());
}
else
if
(
request
.
getDocType
().
equals
(
"WMS0007"
))
{
//产品出货
result
=
productOutService
.
setData
(
request
.
getData
(),
request
.
getDocType
());
}
else
if
(
request
.
getDocType
().
equals
(
"SUP_DEDUCTIONS"
))
{
//扣款单
result
=
deductionFormService
.
setData
(
request
.
getData
(),
request
.
getDocType
());
}
else
{
return
Result
.
fail
(
"操作失败"
,
request
.
getDocType
()
+
"不存在!"
,
request
.
getDocType
());
}
...
...
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/kingdeeapi/DeductionFormKingdeeApi.java
0 → 100644
浏览文件 @
d6d1371a
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
java.util.*
;
/**
* @author Inori
*/
@Component
public
class
DeductionFormKingdeeApi
{
@Autowired
private
CategoryDao
categoryDao
;
private
static
final
String
FORM_ID
=
"AP_Payable"
;
private
static
final
String
KING_DEE_LOG_NAME
=
"扣款单"
;
public
String
addTwo
(
List
<
Map
<
String
,
Object
>>
lists
)
{
String
add
=
null
;
for
(
Map
<
String
,
Object
>
map
:
lists
)
{
Map
<
String
,
Object
>
stringStringMap
=
imsToKingDee
(
map
);
add
=
categoryDao
.
add
(
KING_DEE_LOG_NAME
,
FORM_ID
,
JsonUtil
.
Mapjson
(
stringStringMap
));
}
return
add
==
null
?
"添加成功!"
:
""
;
}
public
LinkedHashMap
<
String
,
Object
>
imsToKingDee
(
Map
<
String
,
Object
>
map
)
{
//转换成金蝶云格式
/* 单据头 */
LinkedHashMap
<
String
,
Object
>
modelMap
=
new
LinkedHashMap
<>();
//单据类型
modelMap
.
put
(
"FBillTypeID"
,
new
HashMap
<
String
,
Object
>()
{{
put
(
"FNumber"
,
"YFD02_SYS"
);
}});
//单据编码
modelMap
.
put
(
"FBillNo"
,
map
.
get
(
"SUP_DEDUCTIONS_CODE"
));
//业务类型
modelMap
.
put
(
"FBUSINESSTYPE"
,
"FY"
);
//立账类型
modelMap
.
put
(
"FSetAccountType"
,
"3"
);
//备注
modelMap
.
put
(
"FAP_Remark"
,
map
.
get
(
"REMARK"
));
//日期
modelMap
.
put
(
"FDATE"
,
map
.
get
(
"REVIEW_DATE"
));
//供应商编码
modelMap
.
put
(
"FSUPPLIERID"
,
new
HashMap
<
String
,
Object
>()
{{
put
(
"FNumber"
,
map
.
get
(
"SUP_CODE"
));
}});
/* 明细 */
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<>();
LinkedHashMap
<
String
,
Object
>
fEntityMap
=
new
LinkedHashMap
<>();
//扣款类型
fEntityMap
.
put
(
"FCOSTID"
,
new
HashMap
<
String
,
Object
>()
{{
put
(
"FNumber"
,
"fy52"
);
}});
//计价数量
fEntityMap
.
put
(
"FPriceQty"
,
"-1"
);
//实际扣款金额
fEntityMap
.
put
(
"FNoTaxAmountFor_D"
,
map
.
get
(
"ACTUAL_DEMONY"
));
//备注
fEntityMap
.
put
(
"FEntrtyMemo"
,
map
.
get
(
"APPEAL_REASON"
));
list
.
add
(
fEntityMap
);
modelMap
.
put
(
"FEntityDetail"
,
list
);
return
modelMap
;
}
}
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/service/IDeductionFormService.java
0 → 100644
浏览文件 @
d6d1371a
package
org
.
jeecg
.
modules
.
iost
.
ims
.
service
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author Inori
*/
public
interface
IDeductionFormService
{
String
setData
(
List
<
Map
<
String
,
Object
>>
list
,
String
code
);
}
jeecg-boot-module-system/src/main/java/org/jeecg/modules/iost/ims/service/impl/DeductionFormServiceImpl.java
0 → 100644
浏览文件 @
d6d1371a
package
org
.
jeecg
.
modules
.
iost
.
ims
.
service
.
impl
;
import
org.jeecg.common.util.ThreadLocalConfig
;
import
org.jeecg.modules.iost.ims.kingdeeapi.DeductionFormKingdeeApi
;
import
org.jeecg.modules.iost.ims.service.IDeductionFormService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author Inori
*/
@Service
public
class
DeductionFormServiceImpl
implements
IDeductionFormService
{
@Autowired
private
DeductionFormKingdeeApi
deductionFormKingdeeApi
;
@Override
public
String
setData
(
List
<
Map
<
String
,
Object
>>
list
,
String
code
)
{
Map
map2
=
ThreadLocalConfig
.
get
();
map2
.
put
(
"KingdeeLogOZTName"
,
"扣款单"
);
ThreadLocalConfig
.
set
(
map2
);
return
deductionFormKingdeeApi
.
addTwo
(
list
);
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论