Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
iBiz商业中心
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz商业套件
iBiz商业中心
提交
def64d9e
提交
def64d9e
编写于
10月 27, 2020
作者:
yujiaming
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
自定义行为更新
上级
dc185a8c
变更
1
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
19 行增加
和
17 行删除
+19
-17
Purchase_orderExService.java
...tral/core/extensions/service/Purchase_orderExService.java
+19
-17
未找到文件。
businesscentral-core/src/main/java/cn/ibizlab/businesscentral/core/extensions/service/Purchase_orderExService.java
浏览文件 @
def64d9e
...
...
@@ -65,6 +65,7 @@ public class Purchase_orderExService extends Purchase_orderServiceImpl {
public
Purchase_order
button_cancel
(
Purchase_order
et
)
{
// 获取凭证录入的ID组
List
<
Account_move_purchase_order_rel
>
accountMovePurchaseOrderRels
=
accountMovePurchaseOrderRelService
.
selectByPurchaseOrderId
(
et
.
getId
());
// 这里应该为Long型,
List
<
String
>
accountMoveIds
=
new
ArrayList
();
for
(
Account_move_purchase_order_rel
accountMovePurchaseOrderRel
:
accountMovePurchaseOrderRels
){
accountMoveIds
.
add
(
accountMovePurchaseOrderRel
.
getAccountMoveId
().
toString
());
...
...
@@ -72,7 +73,7 @@ public class Purchase_orderExService extends Purchase_orderServiceImpl {
// 通过凭证录入的ID获取对应的凭证记录
List
<
Account_move
>
accountMoves
=
accountMoveService
.
getAccountMoveByIds
(
accountMoveIds
);
for
(
Account_move
accountMove
:
accountMoves
){
if
(
StringUtils
.
compare
(
accountMove
.
getState
(),
"cancel"
)
==
0
||
StringUtils
.
compare
(
accountMove
.
getState
(),
"draft"
)=
=
0
){
if
(
StringUtils
.
compare
(
accountMove
.
getState
(),
"cancel"
)
!=
0
||
StringUtils
.
compare
(
accountMove
.
getState
(),
"draft"
)!
=
0
){
throw
new
RuntimeException
(
"无法取消此采购订单。 您必须先取消相关的供应商账单。"
)
;
}
}
...
...
@@ -120,13 +121,16 @@ public class Purchase_orderExService extends Purchase_orderServiceImpl {
// 判断是否将当前的供应商加入产品供应商信息表product_supplierinfo中
if
(
line
.
getProductId
()
!=
null
&&
condition2
&&
supplierinfos
.
size
()
<=
10
){
// 获取币种currency
Res_currency
Currency
=
new
Res_currency
();
if
(
partner
.
getPropertyPurchaseCurrencyId
()
!=
null
&&
et
.
getCurrencyId
()
!=
null
){
Currency
=
resCurrencyService
.
getById
(
partner
.
getPropertyPurchaseCurrencyId
());
}
else
if
(
partner
.
getPropertyPurchaseCurrencyId
()
!=
null
&&
et
.
getCurrencyId
()
==
null
){
Currency
=
resCurrencyService
.
getById
(
partner
.
getPropertyPurchaseCurrencyId
());
}
else
if
(
partner
.
getPropertyPurchaseCurrencyId
()
==
null
&&
et
.
getCurrencyId
()
!=
null
){
Currency
=
resCurrencyService
.
getById
(
partner
.
getPropertyPurchaseCurrencyId
());
// 获取当前订单公司所使用的币种
Res_company
company
=
resCompanyService
.
get
(
line
.
getCompanyId
());
// 获取当前供应商所使用的币种
Res_company
partnerCompany
=
resCompanyService
.
get
(
partner
.
getCompanyId
());
Res_currency
currency
=
new
Res_currency
();
// 供应商使用的币种存在时就使用供应商的币种,否则使用订单公司的币种
if
(
partnerCompany
.
getCurrencyId
()
!=
null
){
currency
=
resCurrencyService
.
get
(
partnerCompany
.
getCurrencyId
());
}
else
{
currency
=
resCurrencyService
.
get
(
company
.
getCurrencyId
());
}
// 将price转换成当前所用币种的price,还未处理,需要调用Res_currency中的_convert()方法
Double
price
=
line
.
getPriceUnit
();
...
...
@@ -168,13 +172,14 @@ public class Purchase_orderExService extends Purchase_orderServiceImpl {
supplierinfo
.
setSequence
(
sequence
);
supplierinfo
.
setMinQty
(
0.0
);
supplierinfo
.
setPrice
(
price
);
supplierinfo
.
setCurrencyId
(
C
urrency
.
getId
());
supplierinfo
.
setCurrencyId
(
c
urrency
.
getId
());
supplierinfo
.
setDelay
(
0
);
// 按条件查找供应商
// 未处理,需要调用product.py中的_select_seller()方法'
// Product_supplierinfo seller = ;
/**
* _select_seller()方法
Long partnerId = line.getPartnerId();
Double quantity = line.getProductQty();
Timestamp date = et.getDateOrder();
...
...
@@ -185,16 +190,13 @@ public class Purchase_orderExService extends Purchase_orderServiceImpl {
// precision,decimal_precision.py中的precision_get()方法
Integer precision = 3;
// sellers = self._prepare_sellers(params) product.py中的_prepare_sellers()方法
List<Product_supplierinfo> sellers = productSupplierinfoService.select();
for(Product_supplierinfo seller : sellers){
Double quantityUomSeller = quantity;
if(quantityUomSeller != 0.0 && uomId != null && uomId != seller.getProductUom()){
//调用uom_uom.py中的_compute_quantity()方法
Uom_uom uom1 = uomService.get(uomId);
Uom_uom uom2 = uomService.get(seller.getProductUom());
if(uom1.getCategoryId() != uom2.getCategoryId()){
if(true){
...
...
@@ -220,7 +222,6 @@ public class Purchase_orderExService extends Purchase_orderServiceImpl {
if(partnerId != null && seller.getName() != partnerId && seller.getName() != resPartner.getParentId())
continue;
// float_compare()方法,float_utils.py中的
if(seller.getProductId() != null && )
continue;
}
...
...
@@ -246,12 +247,12 @@ public class Purchase_orderExService extends Purchase_orderServiceImpl {
if
(
condition1
||
condition2
||
condition3
){
// 调用button_approve()
et
=
this
.
button_approve
(
et
);
log
.
warn
(
"button_approve()"
);
//
log.warn("button_approve()");
}
else
{
et
.
setState
(
"to approve"
);
}
}
this
.
update
(
et
);
return
super
.
button_confirm
(
et
);
}
/**
...
...
@@ -289,12 +290,13 @@ public class Purchase_orderExService extends Purchase_orderServiceImpl {
@Transactional
public
Purchase_order
get_name
(
Purchase_order
et
)
{
// 当订单的name是new时自动为其创建一个name
if
(
StringUtils
.
compare
(
et
.
getName
(),
"
n
ew"
)
==
0
){
if
(
StringUtils
.
compare
(
et
.
getName
(),
"
N
ew"
)
==
0
){
if
(
et
.
getDateOrder
()
!=
null
){
// sequence_date
Ir_sequence
sequence
=
new
Ir_sequence
();
sequenceService
.
get_next_by_code
(
sequence
);
et
.
setName
(
sequence
.
getNextChar
());
this
.
update
(
et
);
}
}
return
super
.
get_name
(
et
);
...
...
@@ -312,7 +314,7 @@ public class Purchase_orderExService extends Purchase_orderServiceImpl {
Timestamp
dateApprove
=
new
Timestamp
(
System
.
currentTimeMillis
());
et
.
setDateApprove
(
dateApprove
);
this
.
update
(
et
);
// 查找order中公司的po_lock状态为lock的order,改变状态为done
,有疑问
// 查找order中公司的po_lock状态为lock的order,改变状态为done
Res_company
resCompany
=
resCompanyService
.
get
(
et
.
getCompanyId
());
if
(
StringUtils
.
compare
(
resCompany
.
getPoLock
(),
"lock"
)
==
0
){
et
.
setState
(
"done"
);
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录