Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
管店云开源进销存
开源进销存系统
提交
61635481
开源进销存系统
项目概览
管店云开源进销存
/
开源进销存系统
通知
193
Star
4
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
开源进销存系统
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
61635481
编写于
8月 10, 2023
作者:
L
lsh
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加商品管理和部分进货管理controller
上级
47c6c9b9
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
2772 addition
and
0 deletion
+2772
-0
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/goods/GoodsAttributeController.java
...si/web/web/controller/goods/GoodsAttributeController.java
+164
-0
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/goods/GoodsCategoryController.java
...psi/web/web/controller/goods/GoodsCategoryController.java
+150
-0
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/goods/GoodsInfoController.java
...inx/psi/web/web/controller/goods/GoodsInfoController.java
+629
-0
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/goods/GoodsPrintTagController.java
...psi/web/web/controller/goods/GoodsPrintTagController.java
+150
-0
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/goods/GoodsSpecController.java
...inx/psi/web/web/controller/goods/GoodsSpecController.java
+230
-0
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/goods/GoodsUnitController.java
...inx/psi/web/web/controller/goods/GoodsUnitController.java
+164
-0
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/inventory/PurchaseOrderController.java
...web/web/controller/inventory/PurchaseOrderController.java
+444
-0
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/inventory/PurchaseRejectOrderController.java
...b/controller/inventory/PurchaseRejectOrderController.java
+494
-0
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/inventory/StatPurchaseController.java
.../web/web/controller/inventory/StatPurchaseController.java
+137
-0
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/inventory/StatPurchaseGoodsController.java
...web/controller/inventory/StatPurchaseGoodsController.java
+115
-0
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/inventory/StatStockController.java
...psi/web/web/controller/inventory/StatStockController.java
+43
-0
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/msg/MsgNoticeController.java
...hainx/psi/web/web/controller/msg/MsgNoticeController.java
+52
-0
未找到文件。
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/goods/GoodsAttributeController.java
0 → 100644
浏览文件 @
61635481
package
com.bytechainx.psi.web.web.controller.goods
;
import
java.util.Arrays
;
import
com.bytechainx.psi.common.Permissions
;
import
com.bytechainx.psi.common.EnumConstant.DataStatusEnum
;
import
com.bytechainx.psi.common.annotation.Permission
;
import
com.bytechainx.psi.common.model.GoodsAttribute
;
import
com.bytechainx.psi.common.service.goods.GoodsAttributeService
;
import
com.bytechainx.psi.web.web.controller.base.BaseController
;
import
com.jfinal.aop.Before
;
import
com.jfinal.aop.Inject
;
import
com.jfinal.core.Path
;
import
com.jfinal.kit.Kv
;
import
com.jfinal.kit.Ret
;
import
com.jfinal.plugin.activerecord.Page
;
import
com.jfinal.plugin.activerecord.tx.Tx
;
/**
* 商品属性
*/
@Path
(
"/goods/goods/attribute"
)
public
class
GoodsAttributeController
extends
BaseController
{
@Inject
private
GoodsAttributeService
attributeService
;
/**
* 首页
*/
@Permission
(
Permissions
.
goods_goods_attribute
)
public
void
index
()
{
setAttr
(
"hideStopFlag"
,
true
);
}
/**
* 列表
*/
@Permission
(
Permissions
.
goods_goods_attribute
)
public
void
list
()
{
int
pageNumber
=
getInt
(
"pageNumber"
,
1
);
Boolean
hideStopFlag
=
getBoolean
(
"hide_stop_flag"
,
true
);
// 隐藏停用
Kv
condKv
=
Kv
.
create
();
if
(
hideStopFlag
)
{
condKv
.
set
(
"data_status"
,
DataStatusEnum
.
enable
.
getValue
());
}
Page
<
GoodsAttribute
>
page
=
attributeService
.
paginate
(
condKv
,
pageNumber
,
pageSize
);
setAttr
(
"page"
,
page
);
}
/**
* 查看
*/
@Permission
(
Permissions
.
goods_goods_attribute_show
)
public
void
show
()
{
renderJson
(
Ret
.
ok
());
}
/**
* 添加
*/
@Permission
(
Permissions
.
goods_goods_attribute_create
)
public
void
add
()
{
}
/**
* 新增
*/
@Permission
(
Permissions
.
goods_goods_attribute_create
)
@Before
(
Tx
.
class
)
public
void
create
()
{
GoodsAttribute
goodsAttribute
=
getModel
(
GoodsAttribute
.
class
,
""
,
true
);
Ret
ret
=
attributeService
.
create
(
goodsAttribute
);
renderJson
(
ret
);
}
/**
* 编辑
*/
@Permission
(
Permissions
.
goods_goods_attribute_update
)
public
void
edit
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderError
(
404
);
return
;
}
GoodsAttribute
goodsAttribute
=
GoodsAttribute
.
dao
.
findById
(
id
);
if
(
goodsAttribute
==
null
)
{
renderError
(
404
);
return
;
}
setAttr
(
"goodsAttribute"
,
goodsAttribute
);
}
/**
* 修改
*/
@Permission
(
Permissions
.
goods_goods_attribute_update
)
@Before
(
Tx
.
class
)
public
void
update
()
{
GoodsAttribute
goodsAttribute
=
getModel
(
GoodsAttribute
.
class
,
""
,
true
);
Ret
ret
=
attributeService
.
update
(
goodsAttribute
);
renderJson
(
ret
);
}
/**
* 删除
*/
@Permission
(
Permissions
.
goods_goods_attribute_delete
)
@Before
(
Tx
.
class
)
public
void
delete
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
Ret
ret
=
attributeService
.
delete
(
Arrays
.
asList
(
id
));
renderJson
(
ret
);
}
/**
* 停用
*/
@Permission
(
Permissions
.
goods_goods_attribute_disable
)
@Before
(
Tx
.
class
)
public
void
disable
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
Ret
ret
=
attributeService
.
disable
(
Arrays
.
asList
(
id
));
renderJson
(
ret
);
}
/**
* 启用
*/
@Permission
(
Permissions
.
goods_goods_attribute_disable
)
@Before
(
Tx
.
class
)
public
void
enable
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
Ret
ret
=
attributeService
.
enable
(
Arrays
.
asList
(
id
));
renderJson
(
ret
);
}
}
\ No newline at end of file
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/goods/GoodsCategoryController.java
0 → 100644
浏览文件 @
61635481
package
com.bytechainx.psi.web.web.controller.goods
;
import
java.util.ArrayList
;
import
java.util.List
;
import
com.bytechainx.psi.common.Permissions
;
import
com.bytechainx.psi.common.annotation.Permission
;
import
com.bytechainx.psi.common.model.GoodsCategory
;
import
com.bytechainx.psi.common.service.goods.GoodsCategoryService
;
import
com.bytechainx.psi.web.web.controller.base.BaseController
;
import
com.jfinal.aop.Before
;
import
com.jfinal.aop.Inject
;
import
com.jfinal.core.Path
;
import
com.jfinal.kit.Ret
;
import
com.jfinal.plugin.activerecord.Page
;
import
com.jfinal.plugin.activerecord.tx.Tx
;
/**
* 商品分类
*/
@Path
(
"/goods/goods/category"
)
public
class
GoodsCategoryController
extends
BaseController
{
@Inject
private
GoodsCategoryService
goodsCategoryService
;
/**
* 首页
*/
@Permission
(
Permissions
.
goods_goods_category
)
public
void
index
()
{
}
/**
* 列表
*/
@Permission
(
Permissions
.
goods_goods_category
)
public
void
list
()
{
List
<
GoodsCategory
>
topList
=
GoodsCategory
.
dao
.
findTop
();
setAttr
(
"topList"
,
topList
);
}
@Permission
({
Permissions
.
goods_goods_category
,
Permissions
.
inventory_stock_info
}
)
public
void
listByJson
()
{
List
<
GoodsCategory
>
topList
=
GoodsCategory
.
dao
.
findTop
();
List
<
GoodsCategory
>
categoryList
=
new
ArrayList
<>();
for
(
GoodsCategory
top
:
topList
)
{
StringBuffer
levelSb
=
new
StringBuffer
();
top
.
loopChilds
(
categoryList
,
levelSb
);
}
renderJson
(
Ret
.
ok
().
set
(
"data"
,
categoryList
));
}
@Permission
(
Permissions
.
goods_goods_category
)
public
void
optionList
()
{
Page
<
GoodsCategory
>
page
=
goodsCategoryService
.
paginate
(
1
,
maxPageSize
);
setAttr
(
"page"
,
page
);
}
/**
* 查看
*/
@Permission
(
Permissions
.
goods_goods_category_show
)
public
void
show
()
{
renderJson
(
Ret
.
ok
());
}
/**
* 添加
*/
@Permission
(
Permissions
.
goods_goods_category_create
)
public
void
add
()
{
setAttrCommon
();
setAttr
(
"parent_id"
,
getInt
(
"parent_id"
));
setAttr
(
"sourcePage"
,
get
(
"sourcePage"
));
}
/**
* 新增
*/
@Permission
(
Permissions
.
goods_goods_category_create
)
@Before
(
Tx
.
class
)
public
void
create
()
{
GoodsCategory
category
=
getModel
(
GoodsCategory
.
class
,
""
,
true
);
Ret
ret
=
goodsCategoryService
.
create
(
category
);
renderJson
(
ret
);
}
/**
* 编辑
*/
@Permission
(
Permissions
.
goods_goods_category_update
)
public
void
edit
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderError
(
404
);
return
;
}
GoodsCategory
category
=
GoodsCategory
.
dao
.
findById
(
id
);
if
(
category
==
null
)
{
renderError
(
404
);
return
;
}
setAttrCommon
();
setAttr
(
"goodsCategory"
,
category
);
}
/**
* 修改
*/
@Permission
(
Permissions
.
goods_goods_category_update
)
@Before
(
Tx
.
class
)
public
void
update
()
{
GoodsCategory
category
=
getModel
(
GoodsCategory
.
class
,
""
,
true
);
Ret
ret
=
goodsCategoryService
.
update
(
category
);
renderJson
(
ret
);
}
/**
* 删除
*/
@Permission
(
Permissions
.
goods_goods_category_delete
)
@Before
(
Tx
.
class
)
public
void
delete
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
Ret
ret
=
goodsCategoryService
.
delete
(
id
);
renderJson
(
ret
);
}
/**
* 设置公共数据
*/
private
void
setAttrCommon
()
{
List
<
GoodsCategory
>
topList
=
GoodsCategory
.
dao
.
findTop
();
setAttr
(
"topList"
,
topList
);
}
}
\ No newline at end of file
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/goods/GoodsInfoController.java
0 → 100644
浏览文件 @
61635481
package
com.bytechainx.psi.web.web.controller.goods
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
org.apache.commons.lang.StringUtils
;
import
com.bytechainx.psi.common.EnumConstant.DataStatusEnum
;
import
com.bytechainx.psi.common.EnumConstant.FlagEnum
;
import
com.bytechainx.psi.common.EnumConstant.GoodsTypeEnum
;
import
com.bytechainx.psi.common.EnumConstant.OrderUnitTypeEnum
;
import
com.bytechainx.psi.common.Permissions
;
import
com.bytechainx.psi.common.annotation.Permission
;
import
com.bytechainx.psi.common.kit.DateUtil
;
import
com.bytechainx.psi.common.model.CustomerPriceLevel
;
import
com.bytechainx.psi.common.model.GoodsAttribute
;
import
com.bytechainx.psi.common.model.GoodsAttributeRef
;
import
com.bytechainx.psi.common.model.GoodsCategory
;
import
com.bytechainx.psi.common.model.GoodsInfo
;
import
com.bytechainx.psi.common.model.GoodsPrice
;
import
com.bytechainx.psi.common.model.GoodsSpec
;
import
com.bytechainx.psi.common.model.GoodsSpec.GoodsSpecDto
;
import
com.bytechainx.psi.common.model.GoodsSpecRef
;
import
com.bytechainx.psi.common.model.GoodsUnit
;
import
com.bytechainx.psi.common.service.goods.GoodsCategoryService
;
import
com.bytechainx.psi.common.service.goods.GoodsInfoService
;
import
com.bytechainx.psi.web.web.controller.base.BaseController
;
import
com.jfinal.aop.Before
;
import
com.jfinal.aop.Inject
;
import
com.jfinal.core.Path
;
import
com.jfinal.kit.Kv
;
import
com.jfinal.kit.Ret
;
import
com.jfinal.plugin.activerecord.Page
;
import
com.jfinal.plugin.activerecord.tx.Tx
;
/**
* 商品管理
*/
@Path
(
"/goods/goods/info"
)
public
class
GoodsInfoController
extends
BaseController
{
@Inject
private
GoodsInfoService
goodsInfoService
;
@Inject
private
GoodsCategoryService
goodsCategoryService
;
/**
* 首页
*/
@Permission
(
Permissions
.
goods_goods_info
)
public
void
index
()
{
List
<
GoodsCategory
>
topCategoryList
=
GoodsCategory
.
dao
.
findTop
();
setAttr
(
"topCategoryList"
,
topCategoryList
);
}
/**
* 列表
*/
@Permission
(
Permissions
.
goods_goods_info
)
public
void
list
()
{
int
pageNumber
=
getInt
(
"pageNumber"
,
1
);
Integer
goodsCategoryId
=
getInt
(
"goods_category_id"
);
Integer
supplierInfoId
=
getInt
(
"supplier_info_id"
);
Boolean
hideStopFlag
=
getBoolean
(
"hide_stop_flag"
);
// 隐藏停用商品
String
keyword
=
get
(
"keyword"
);
Kv
condKv
=
Kv
.
create
();
condKv
.
set
(
"goods_category_id"
,
goodsCategoryId
);
condKv
.
set
(
"supplier_info_id"
,
supplierInfoId
);
condKv
.
set
(
"name,remark"
,
keyword
);
// 多字段模糊查询
if
(
hideStopFlag
)
{
condKv
.
set
(
"data_status"
,
DataStatusEnum
.
enable
.
getValue
());
}
Page
<
GoodsInfo
>
page
=
goodsInfoService
.
paginate
(
condKv
,
pageNumber
,
pageSize
);
setAttr
(
"page"
,
page
);
setAttr
(
"hideStopFlag"
,
hideStopFlag
);
}
/**
* 查看
*/
@Permission
(
Permissions
.
goods_goods_info_show
)
public
void
show
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderError
(
404
);
return
;
}
GoodsInfo
info
=
GoodsInfo
.
dao
.
findById
(
id
);
if
(
info
==
null
)
{
renderError
(
404
);
return
;
}
List
<
GoodsAttribute
>
goodsAttributeList
=
GoodsAttribute
.
dao
.
findAll
();
GoodsUnit
stockUnit
=
info
.
getStockMainUnit
();
List
<
CustomerPriceLevel
>
priceLevelList
=
CustomerPriceLevel
.
dao
.
findAll
();
setAttr
(
"priceLevelList"
,
priceLevelList
);
setAttr
(
"stockUnit"
,
stockUnit
);
setAttr
(
"goodsAttributeList"
,
goodsAttributeList
);
setAttr
(
"goodsInfo"
,
info
);
}
/**
* 添加
*/
@Permission
(
Permissions
.
goods_goods_info_create
)
public
void
add
()
{
setAttrCommon
();
setAttr
(
"barCode"
,
DateUtil
.
getSecondNumber
(
new
Date
()));
}
/**
* 新增
*/
@Permission
(
Permissions
.
goods_goods_info_create
)
@Before
(
Tx
.
class
)
public
void
create
()
{
GoodsInfo
info
=
getModel
(
GoodsInfo
.
class
,
""
,
true
);
info
.
setGoodsImages
(
getParaValues
(
"thumbs"
),
getParaValues
(
"originals"
));
String
specFlag
=
get
(
"spec_flag"
);
if
(
StringUtils
.
equals
(
specFlag
,
"on"
))
{
info
.
setSpecFlag
(
true
);
}
else
{
info
.
setSpecFlag
(
false
);
}
String
saleFlag
=
get
(
"sale_flag"
);
if
(
StringUtils
.
equals
(
saleFlag
,
"on"
))
{
info
.
setSaleFlag
(
true
);;
}
else
{
info
.
setSaleFlag
(
false
);;
}
String
purchaseFlag
=
get
(
"purchase_flag"
);
if
(
StringUtils
.
equals
(
purchaseFlag
,
"on"
))
{
info
.
setPurchaseFlag
(
true
);;
}
else
{
info
.
setPurchaseFlag
(
false
);;
}
List
<
GoodsSpecRef
>
goodsSpecRefList
=
new
ArrayList
<>();
Integer
[]
goodsSpecIds
=
getParaValuesToInt
(
"goods_spec_ids"
);
if
(
info
.
getSpecFlag
()
&&
goodsSpecIds
!=
null
&&
goodsSpecIds
.
length
>
0
)
{
int
position
=
1
;
// 规格要排序,从小到大
for
(
Integer
specId
:
goodsSpecIds
)
{
for
(
GoodsSpecRef
ref
:
goodsSpecRefList
)
{
if
(
ref
.
getGoodsSpecId
().
intValue
()
==
specId
.
intValue
())
{
renderJson
(
Ret
.
fail
(
"所选规格存在重复"
));
return
;
}
}
String
specValueIds
=
get
(
"spec_value_ids_"
+
specId
);
if
(
StringUtils
.
isEmpty
(
specValueIds
))
{
continue
;
}
GoodsSpecRef
ref
=
new
GoodsSpecRef
();
ref
.
setGoodsSpecId
(
specId
);
ref
.
setSpecValue
(
specValueIds
);
ref
.
setPosition
(
position
++);
goodsSpecRefList
.
add
(
ref
);
}
}
List
<
GoodsAttributeRef
>
goodsAttributeRefList
=
new
ArrayList
<>();
String
[]
attributeValues
=
getParaValues
(
"goods_attribute_values"
);
Integer
[]
attributeIds
=
getParaValuesToInt
(
"goods_attribute_ids"
);
for
(
int
index
=
0
;
index
<
attributeIds
.
length
;
index
++)
{
GoodsAttributeRef
ref
=
new
GoodsAttributeRef
();
ref
.
setGoodsAttributeId
(
attributeIds
[
index
]);
ref
.
setAttrValue
(
attributeValues
[
index
]);
goodsAttributeRefList
.
add
(
ref
);
}
Ret
ret
=
goodsInfoService
.
create
(
info
,
goodsSpecRefList
,
goodsAttributeRefList
);
renderJson
(
ret
);
}
/**
* 编辑
*/
@Permission
(
Permissions
.
goods_goods_info_update
)
public
void
edit
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderError
(
404
);
return
;
}
GoodsInfo
info
=
GoodsInfo
.
dao
.
findById
(
id
);
if
(
info
==
null
)
{
renderError
(
404
);
return
;
}
setAttr
(
"goodsInfo"
,
info
);
if
(
StringUtils
.
isEmpty
(
info
.
getBarCode
()))
{
setAttr
(
"barCode"
,
DateUtil
.
getSecondNumber
(
new
Date
()));
}
setAttrCommon
();
}
/**
* 编辑商品子件
*/
@Permission
(
Permissions
.
goods_goods_info_update
)
public
void
editAssembly
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderError
(
404
);
return
;
}
GoodsInfo
info
=
GoodsInfo
.
dao
.
findById
(
id
);
if
(
info
==
null
||
info
.
getGoodsType
()
!=
GoodsTypeEnum
.
assembly
.
getValue
())
{
// 非组合商品
renderError
(
404
);
return
;
}
setAttr
(
"goodsInfo"
,
info
);
}
/**
* 编辑多规格商品子件
*/
@Permission
(
Permissions
.
goods_goods_info_update
)
public
void
editChildGoods
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderError
(
404
);
return
;
}
String
specIds
=
get
(
"spec_ids"
);
// 规格ID数值,格式: id1:idvalue1|id2:idvalue2
String
specNames
=
get
(
"spec_names"
);
GoodsInfo
info
=
GoodsInfo
.
dao
.
findById
(
id
);
setAttr
(
"goodsInfo"
,
info
);
setAttr
(
"specIds"
,
specIds
);
setAttr
(
"specNames"
,
specNames
);
}
@Permission
(
Permissions
.
goods_goods_info_update
)
public
void
multiSpecList
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderError
(
404
);
return
;
}
GoodsInfo
info
=
GoodsInfo
.
dao
.
findById
(
id
);
if
(
info
==
null
||
info
.
getGoodsType
()
!=
GoodsTypeEnum
.
assembly
.
getValue
())
{
// 非组合商品
renderError
(
404
);
return
;
}
setAttr
(
"goodsInfo"
,
info
);
}
/**
* 编辑价格
*/
@Permission
(
Permissions
.
goods_goods_info_updatePrice
)
public
void
editPrice
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderError
(
404
);
return
;
}
GoodsInfo
info
=
GoodsInfo
.
dao
.
findById
(
id
);
if
(
info
==
null
)
{
renderError
(
404
);
return
;
}
List
<
CustomerPriceLevel
>
priceLevelList
=
CustomerPriceLevel
.
dao
.
findAll
();
setAttr
(
"goodsInfo"
,
info
);
setAttr
(
"priceLevelList"
,
priceLevelList
);
keepPara
(
"sourcePage"
);
}
/**
* 价格设置
*/
@Permission
(
Permissions
.
goods_goods_info_updatePrice
)
@Before
(
Tx
.
class
)
public
void
updatePrice
()
{
Integer
goodsId
=
getInt
(
"id"
);
if
(
goodsId
==
null
||
goodsId
<=
0
)
{
renderError
(
404
);
return
;
}
String
[]
goodsUnionIds
=
getParaValues
(
"goods_union_ids"
);
String
[]
barCodes
=
getParaValues
(
"bar_codes"
);
String
[]
costPrices
=
getParaValues
(
"cost_prices"
);
List
<
CustomerPriceLevel
>
priceLevelList
=
CustomerPriceLevel
.
dao
.
findAll
();
Kv
salePriceList
=
Kv
.
create
();
for
(
CustomerPriceLevel
priceLevel
:
priceLevelList
)
{
String
[]
salePrices
=
getParaValues
(
"sale_prices_"
+
priceLevel
.
getId
());
salePriceList
.
set
(
""
+
priceLevel
.
getId
(),
salePrices
);
}
Ret
ret
=
goodsInfoService
.
updatePrice
(
goodsId
,
goodsUnionIds
,
barCodes
,
costPrices
,
salePriceList
);
renderJson
(
ret
);
}
/**
* 批量价格
*/
@Permission
(
Permissions
.
goods_goods_info_updatePrice
)
public
void
batchPrice
()
{
Integer
goodsId
=
getInt
(
"goodsId"
);
if
(
goodsId
==
null
||
goodsId
<=
0
)
{
renderError
(
404
);
return
;
}
GoodsInfo
info
=
GoodsInfo
.
dao
.
findById
(
goodsId
);
setAttr
(
"goodsInfo"
,
info
);
keepPara
(
"priceName"
);
}
/**
* 编辑库存预警设置
*/
@Permission
(
Permissions
.
goods_goods_info_updateStockConfig
)
public
void
editStockConfig
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderError
(
404
);
return
;
}
GoodsInfo
info
=
GoodsInfo
.
dao
.
findById
(
id
);
if
(
info
==
null
)
{
renderError
(
404
);
return
;
}
GoodsUnit
stockUnit
=
info
.
getStockMainUnit
();
setAttr
(
"goodsInfo"
,
info
);
setAttr
(
"stockUnit"
,
stockUnit
);
}
/**
* 库存预警设置
*/
@Permission
(
Permissions
.
goods_goods_info_updateStockConfig
)
@Before
(
Tx
.
class
)
public
void
updateStockConfig
()
{
Integer
goodsId
=
getInt
(
"id"
);
if
(
goodsId
==
null
||
goodsId
<=
0
)
{
renderError
(
404
);
return
;
}
GoodsInfo
info
=
GoodsInfo
.
dao
.
findById
(
goodsId
);
if
(
info
==
null
)
{
renderError
(
404
);
return
;
}
String
stockWarnFlag
=
get
(
"stock_warn_flag"
);
if
(
StringUtils
.
equals
(
stockWarnFlag
,
"on"
))
{
info
.
setStockWarnFlag
(
true
);
}
else
{
info
.
setStockWarnFlag
(
false
);;
}
Integer
stockWarnType
=
getInt
(
"stock_warn_type"
);
info
.
setStockWarnType
(
stockWarnType
);
info
.
setUpdatedAt
(
new
Date
());
info
.
update
();
String
[]
goodsUnionIds
=
getParaValues
(
"goods_union_ids"
);
String
[]
lowStocks
=
getParaValues
(
"low_stocks"
);
String
[]
safeStocks
=
getParaValues
(
"safe_stocks"
);
String
[]
highStocks
=
getParaValues
(
"high_stocks"
);
Ret
ret
=
goodsInfoService
.
updateStockWarnConfig
(
goodsId
,
goodsUnionIds
,
lowStocks
,
safeStocks
,
highStocks
);
renderJson
(
ret
);
}
/**
* 批量设置库存预警
*/
@Permission
(
Permissions
.
goods_goods_info_updateStockConfig
)
public
void
batchStock
()
{
keepPara
();
}
/**
* 修改
*/
@Permission
(
Permissions
.
goods_goods_info_update
)
@Before
(
Tx
.
class
)
public
void
update
()
{
GoodsInfo
info
=
getModel
(
GoodsInfo
.
class
,
""
,
true
);
info
.
setGoodsImages
(
getParaValues
(
"thumbs"
),
getParaValues
(
"originals"
));
String
specFlag
=
get
(
"spec_flag"
);
if
(
StringUtils
.
equals
(
specFlag
,
"on"
))
{
info
.
setSpecFlag
(
true
);
}
else
{
info
.
setSpecFlag
(
false
);
}
String
saleFlag
=
get
(
"sale_flag"
);
if
(
StringUtils
.
equals
(
saleFlag
,
"on"
))
{
info
.
setSaleFlag
(
true
);;
}
else
{
info
.
setSaleFlag
(
false
);;
}
String
purchaseFlag
=
get
(
"purchase_flag"
);
if
(
StringUtils
.
equals
(
purchaseFlag
,
"on"
))
{
info
.
setPurchaseFlag
(
true
);;
}
else
{
info
.
setPurchaseFlag
(
false
);;
}
List
<
GoodsSpecRef
>
goodsSpecRefList
=
new
ArrayList
<>();
Integer
[]
goodsSpecIds
=
getParaValuesToInt
(
"goods_spec_ids"
);
if
(
info
.
getSpecFlag
()
&&
goodsSpecIds
!=
null
&&
goodsSpecIds
.
length
>
0
)
{
int
position
=
1
;
// 规格要排序,从小到大
for
(
Integer
specId
:
goodsSpecIds
)
{
for
(
GoodsSpecRef
ref
:
goodsSpecRefList
)
{
if
(
ref
.
getGoodsSpecId
().
intValue
()
==
specId
.
intValue
())
{
renderJson
(
Ret
.
fail
(
"所选规格存在重复"
));
return
;
}
}
String
specValueIds
=
get
(
"spec_value_ids_"
+
specId
);
if
(
StringUtils
.
isEmpty
(
specValueIds
))
{
continue
;
}
GoodsSpecRef
ref
=
new
GoodsSpecRef
();
ref
.
setGoodsSpecId
(
specId
);
ref
.
setSpecValue
(
specValueIds
);
ref
.
setPosition
(
position
++);
goodsSpecRefList
.
add
(
ref
);
}
}
List
<
GoodsAttributeRef
>
goodsAttributeRefList
=
new
ArrayList
<>();
String
[]
attributeValues
=
getParaValues
(
"goods_attribute_values"
);
Integer
[]
attributeIds
=
getParaValuesToInt
(
"goods_attribute_ids"
);
for
(
int
index
=
0
;
index
<
attributeIds
.
length
;
index
++)
{
GoodsAttributeRef
ref
=
new
GoodsAttributeRef
();
ref
.
setGoodsAttributeId
(
attributeIds
[
index
]);
ref
.
setAttrValue
(
attributeValues
[
index
]);
goodsAttributeRefList
.
add
(
ref
);
}
Ret
ret
=
goodsInfoService
.
update
(
info
,
goodsSpecRefList
,
goodsAttributeRefList
);
renderJson
(
ret
);
}
/**
* 删除
*/
@Permission
(
Permissions
.
goods_goods_info_delete
)
@Before
(
Tx
.
class
)
public
void
delete
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
Ret
ret
=
goodsInfoService
.
delete
(
Arrays
.
asList
(
id
));
renderJson
(
ret
);
}
/**
* 停用
*/
@Permission
(
Permissions
.
goods_goods_info_disable
)
@Before
(
Tx
.
class
)
public
void
disable
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
Ret
ret
=
goodsInfoService
.
disable
(
Arrays
.
asList
(
id
));
renderJson
(
ret
);
}
/**
* 启用
*/
@Permission
(
Permissions
.
goods_goods_info_disable
)
@Before
(
Tx
.
class
)
public
void
enable
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
Ret
ret
=
goodsInfoService
.
enable
(
Arrays
.
asList
(
id
));
renderJson
(
ret
);
}
/**
* 设置公共数据
*/
private
void
setAttrCommon
()
{
List
<
GoodsCategory
>
topCategoryList
=
GoodsCategory
.
dao
.
findTop
();
List
<
GoodsUnit
>
goodsUnitList
=
GoodsUnit
.
dao
.
findAll
();
List
<
GoodsSpec
>
goodsSpecList
=
GoodsSpec
.
dao
.
findAll
();
List
<
GoodsAttribute
>
goodsAttributeList
=
GoodsAttribute
.
dao
.
findAll
();
setAttr
(
"topCategoryList"
,
topCategoryList
);
setAttr
(
"goodsUnitList"
,
goodsUnitList
);
setAttr
(
"goodsSpecList"
,
goodsSpecList
);
setAttr
(
"goodsAttributeList"
,
goodsAttributeList
);
}
/**
* 导入
*/
@Permission
(
Permissions
.
goods_goods_info_createImport
)
public
void
createImport
()
{
renderJson
(
Ret
.
ok
());
}
/**
* 加载货品信息
*/
public
void
listByJson
()
{
int
pageNumber
=
getInt
(
"pageNumber"
,
1
);
String
keyword
=
get
(
"keyword"
);
Kv
condKv
=
Kv
.
create
();
condKv
.
set
(
"name,code,bar_code"
,
keyword
);
// 多字段模糊查询
condKv
.
set
(
"data_status"
,
DataStatusEnum
.
enable
.
getValue
());
Boolean
purchaseFlag
=
getBoolean
(
"purchase_flag"
);
if
(
purchaseFlag
!=
null
&&
purchaseFlag
)
{
condKv
.
set
(
"purchase_flag"
,
FlagEnum
.
YES
.
getValue
());
}
Boolean
saleFlag
=
getBoolean
(
"sale_flag"
);
if
(
saleFlag
!=
null
&&
saleFlag
)
{
condKv
.
set
(
"sale_flag"
,
FlagEnum
.
YES
.
getValue
());
}
Page
<
GoodsInfo
>
page
=
goodsInfoService
.
paginate
(
condKv
,
pageNumber
,
pageSize
);
renderJson
(
Ret
.
ok
().
set
(
"data"
,
page
.
getList
()));
}
/**
* 查询货品规格
*/
public
void
listSpecByJson
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"商品不存在"
));
return
;
}
String
keyword
=
get
(
"keyword"
);
List
<
Map
<
String
,
String
>>
goodsSpecList
=
GoodsInfo
.
dao
.
findSpecByKeyword
(
id
,
keyword
);
renderJson
(
Ret
.
ok
().
set
(
"data"
,
goodsSpecList
));
}
/**
* 查询货品单位
*/
public
void
listUnitByJson
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"商品不存在"
));
return
;
}
String
keyword
=
get
(
"keyword"
);
int
unitType
=
getInt
(
"unit_type"
,
OrderUnitTypeEnum
.
stock
.
getValue
());
GoodsInfo
goodsInfo
=
GoodsInfo
.
dao
.
findById
(
id
);
List
<
GoodsUnit
>
unitList
=
goodsInfo
.
getGoodsUnitList
(
OrderUnitTypeEnum
.
getEnum
(
unitType
));
if
(
StringUtils
.
isEmpty
(
keyword
))
{
renderJson
(
Ret
.
ok
().
set
(
"data"
,
unitList
));
return
;
}
List
<
GoodsUnit
>
_unitList
=
new
ArrayList
<>();
for
(
GoodsUnit
goodsUnit
:
unitList
)
{
if
(
StringUtils
.
contains
(
goodsUnit
.
getName
(),
keyword
))
{
_unitList
.
add
(
goodsUnit
);
}
}
renderJson
(
Ret
.
ok
().
set
(
"data"
,
_unitList
));
}
/**
* 查询商品价格
*/
public
void
priceByJson
()
{
Integer
customerInfoId
=
getInt
(
"customer_info_id"
);
Integer
goodsInfoId
=
getInt
(
"goods_info_id"
);
Integer
unitId
=
getInt
(
"goods_unit_id"
);
String
specstring
=
get
(
"goods_spec_ids"
);
GoodsSpecDto
specDto
=
GoodsSpec
.
dao
.
getGoodsSpecDto
(
specstring
);
GoodsPrice
goodsPrice
=
GoodsPrice
.
dao
.
findBySpec
(
goodsInfoId
,
specDto
.
getSpec1Id
(),
specDto
.
getSpecOption1Id
(),
specDto
.
getSpec2Id
(),
specDto
.
getSpecOption2Id
(),
specDto
.
getSpec3Id
(),
specDto
.
getSpecOption3Id
(),
unitId
);
if
(
goodsPrice
==
null
)
{
goodsPrice
=
new
GoodsPrice
();
goodsPrice
.
setCostPrice
(
BigDecimal
.
ZERO
);
}
if
(
customerInfoId
!=
null
&&
customerInfoId
>
0
)
{
// 查找客户的销售价格
BigDecimal
salePrice
=
goodsPrice
.
getCustomerSalePrice
(
customerInfoId
);
if
(
salePrice
!=
null
)
{
goodsPrice
.
put
(
"cust_price"
,
salePrice
);
}
}
if
(
goodsPrice
.
get
(
"cust_price"
)
==
null
)
{
goodsPrice
.
put
(
"cust_price"
,
BigDecimal
.
ZERO
);
}
renderJson
(
Ret
.
ok
().
set
(
"data"
,
goodsPrice
));
}
}
\ No newline at end of file
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/goods/GoodsPrintTagController.java
0 → 100644
浏览文件 @
61635481
package
com.bytechainx.psi.web.web.controller.goods
;
import
java.util.Arrays
;
import
java.util.List
;
import
com.bytechainx.psi.common.Permissions
;
import
com.bytechainx.psi.common.annotation.Permission
;
import
com.bytechainx.psi.common.model.GoodsPrintTag
;
import
com.bytechainx.psi.common.model.TenantPrintTemplate
;
import
com.bytechainx.psi.common.service.goods.GoodsPrintTagService
;
import
com.bytechainx.psi.web.web.controller.base.BaseController
;
import
com.jfinal.aop.Before
;
import
com.jfinal.aop.Inject
;
import
com.jfinal.core.Path
;
import
com.jfinal.kit.Ret
;
import
com.jfinal.plugin.activerecord.Page
;
import
com.jfinal.plugin.activerecord.tx.Tx
;
/**
* 打印标签
*/
@Path
(
"/goods/goods/printTag"
)
public
class
GoodsPrintTagController
extends
BaseController
{
@Inject
private
GoodsPrintTagService
printTagService
;
/**
* 首页
*/
@Permission
(
Permissions
.
goods_goods_printTag
)
public
void
index
()
{
}
/**
* 列表
*/
@Permission
(
Permissions
.
goods_goods_printTag
)
public
void
list
()
{
int
pageNumber
=
getInt
(
"pageNumber"
,
1
);
Page
<
GoodsPrintTag
>
page
=
printTagService
.
paginate
(
null
,
pageNumber
,
pageSize
);
setAttr
(
"page"
,
page
);
}
/**
* 查看
*/
@Permission
(
Permissions
.
goods_goods_printTag_show
)
public
void
show
()
{
renderJson
(
Ret
.
ok
());
}
/**
* 新增
*/
@Permission
(
Permissions
.
goods_goods_printTag_create
)
@Before
(
Tx
.
class
)
public
void
create
()
{
GoodsPrintTag
goodsPrintTag
=
getModel
(
GoodsPrintTag
.
class
,
""
,
true
);
Ret
ret
=
printTagService
.
create
(
goodsPrintTag
);
renderJson
(
ret
);
}
/**
* 删除
*/
@Permission
(
Permissions
.
goods_goods_printTag_delete
)
@Before
(
Tx
.
class
)
public
void
delete
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
Ret
ret
=
printTagService
.
delete
(
Arrays
.
asList
(
id
));
renderJson
(
ret
);
}
/**
* 显示打印模板
*/
@Permission
(
Permissions
.
goods_goods_printTag
)
@Before
(
Tx
.
class
)
public
void
showPrint
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"单据ID不能为空"
));
return
;
}
GoodsPrintTag
printTag
=
GoodsPrintTag
.
dao
.
findById
(
id
);
if
(
printTag
==
null
)
{
renderError
(
404
);
return
;
}
List
<
TenantPrintTemplate
>
templateList
=
printTag
.
getPrintTemplateList
();
setAttr
(
"templateList"
,
templateList
);
setAttr
(
"printTag"
,
printTag
);
}
/**
* 打印或预览
*/
@Permission
(
Permissions
.
goods_goods_printTag
)
public
void
print
()
{
Integer
id
=
getInt
(
"id"
);
Integer
templateId
=
getInt
(
"template_id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"单据ID不能为空"
));
return
;
}
GoodsPrintTag
printTag
=
GoodsPrintTag
.
dao
.
findById
(
id
);
if
(
printTag
==
null
)
{
renderError
(
404
);
return
;
}
TenantPrintTemplate
printTemplate
;
if
(
templateId
==
null
||
templateId
<=
0
)
{
printTemplate
=
printTag
.
getPrintDefaultTemplate
();
}
else
{
printTemplate
=
TenantPrintTemplate
.
dao
.
findById
(
templateId
);
}
if
(
printTemplate
==
null
)
{
renderJson
(
Ret
.
fail
(
"打印模板不存在,请先设置打印模板"
));
return
;
}
Ret
ret
=
Ret
.
ok
();
ret
.
set
(
"tpl_content"
,
printTemplate
.
getContent
());
ret
.
set
(
"json_data"
,
printTag
.
getPrintData
());
ret
.
set
(
"order"
,
printTag
);
renderJson
(
ret
);
}
/**
* 更新打印次数
*/
@Permission
(
Permissions
.
goods_goods_printTag
)
@Before
(
Tx
.
class
)
public
void
updatePrint
()
{
renderJson
(
Ret
.
ok
());
}
}
\ No newline at end of file
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/goods/GoodsSpecController.java
0 → 100644
浏览文件 @
61635481
package
com.bytechainx.psi.web.web.controller.goods
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
com.bytechainx.psi.common.EnumConstant.DataStatusEnum
;
import
com.bytechainx.psi.common.Permissions
;
import
com.bytechainx.psi.common.annotation.Permission
;
import
com.bytechainx.psi.common.model.GoodsInfo
;
import
com.bytechainx.psi.common.model.GoodsSpec
;
import
com.bytechainx.psi.common.model.GoodsSpecOptions
;
import
com.bytechainx.psi.common.model.GoodsSpecRef
;
import
com.bytechainx.psi.common.service.goods.GoodsSpecService
;
import
com.bytechainx.psi.web.web.controller.base.BaseController
;
import
com.jfinal.aop.Before
;
import
com.jfinal.aop.Inject
;
import
com.jfinal.core.Path
;
import
com.jfinal.kit.Kv
;
import
com.jfinal.kit.Ret
;
import
com.jfinal.plugin.activerecord.Page
;
import
com.jfinal.plugin.activerecord.tx.Tx
;
/**
* 规格管理
*/
@Path
(
"/goods/goods/spec"
)
public
class
GoodsSpecController
extends
BaseController
{
@Inject
private
GoodsSpecService
goodsSpecService
;
/**
* 首页
*/
@Permission
(
Permissions
.
goods_goods_spec
)
public
void
index
()
{
setAttr
(
"hideStopFlag"
,
true
);
}
/**
* 列表
*/
@Permission
(
Permissions
.
goods_goods_spec
)
public
void
list
()
{
int
pageNumber
=
getInt
(
"pageNumber"
,
1
);
Boolean
hideStopFlag
=
getBoolean
(
"hide_stop_flag"
,
true
);
// 隐藏停用客户
Kv
condKv
=
Kv
.
create
();
if
(
hideStopFlag
)
{
condKv
.
set
(
"data_status"
,
DataStatusEnum
.
enable
.
getValue
());
}
Page
<
GoodsSpec
>
page
=
goodsSpecService
.
paginate
(
condKv
,
pageNumber
,
pageSize
);
setAttr
(
"page"
,
page
);
}
@Permission
(
Permissions
.
goods_goods
)
public
void
listByJson
()
{
Integer
id
=
getInt
(
"id"
);
GoodsInfo
goodsInfo
=
GoodsInfo
.
dao
.
findById
(
id
);
if
(
goodsInfo
==
null
)
{
renderJson
(
Ret
.
fail
());
return
;
}
List
<
GoodsSpecRef
>
specRef
=
goodsInfo
.
getGoodsSpecRefList
();
for
(
GoodsSpecRef
ref
:
specRef
)
{
ref
.
put
(
"name"
,
ref
.
getGoodsSpec
().
getName
());
}
renderJson
(
Ret
.
ok
().
set
(
"data"
,
specRef
));
}
/**
* 查看
*/
@Permission
(
Permissions
.
goods_goods_spec_show
)
public
void
show
()
{
renderJson
(
Ret
.
ok
());
}
/**
* 添加
*/
@Permission
(
Permissions
.
goods_goods_spec_create
)
public
void
add
()
{
}
/**
* 新增
*/
@Permission
(
Permissions
.
goods_goods_spec_create
)
@Before
(
Tx
.
class
)
public
void
create
()
{
GoodsSpec
goodsSpec
=
getModel
(
GoodsSpec
.
class
,
""
,
true
);
String
[]
specOptionValues
=
getParaValues
(
"goods_spec_options_option_value"
);
List
<
GoodsSpecOptions
>
optionList
=
new
ArrayList
<>();
for
(
String
v
:
specOptionValues
)
{
GoodsSpecOptions
option
=
new
GoodsSpecOptions
();
option
.
setOptionValue
(
v
);
option
.
setDataStatus
(
DataStatusEnum
.
enable
.
getValue
());
optionList
.
add
(
option
);
}
Ret
ret
=
goodsSpecService
.
create
(
goodsSpec
,
optionList
);
renderJson
(
ret
);
}
/**
* 编辑
*/
@Permission
(
Permissions
.
goods_goods_spec_update
)
public
void
edit
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderError
(
404
);
return
;
}
GoodsSpec
goodsSpec
=
GoodsSpec
.
dao
.
findById
(
id
);
if
(
goodsSpec
==
null
)
{
renderError
(
404
);
return
;
}
setAttr
(
"goodsSpec"
,
goodsSpec
);
}
/**
* 修改
*/
@Permission
(
Permissions
.
goods_goods_spec_update
)
@Before
(
Tx
.
class
)
public
void
update
()
{
GoodsSpec
goodsSpec
=
getModel
(
GoodsSpec
.
class
,
""
,
true
);
Integer
[]
specOptionIds
=
getParaValuesToInt
(
"goods_spec_options_id"
);
String
[]
specOptionValues
=
getParaValues
(
"goods_spec_options_option_value"
);
List
<
GoodsSpecOptions
>
optionList
=
new
ArrayList
<>();
for
(
int
index
=
0
;
index
<
specOptionIds
.
length
;
index
++)
{
GoodsSpecOptions
option
=
new
GoodsSpecOptions
();
option
.
setId
(
specOptionIds
[
index
]);
option
.
setOptionValue
(
specOptionValues
[
index
]);
option
.
setDataStatus
(
DataStatusEnum
.
enable
.
getValue
());
optionList
.
add
(
option
);
}
Ret
ret
=
goodsSpecService
.
update
(
goodsSpec
,
optionList
);
renderJson
(
ret
);
}
/**
* 删除
*/
@Permission
(
Permissions
.
goods_goods_spec_delete
)
@Before
(
Tx
.
class
)
public
void
delete
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
Ret
ret
=
goodsSpecService
.
delete
(
Arrays
.
asList
(
id
));
renderJson
(
ret
);
}
/**
* 停用
*/
@Permission
(
Permissions
.
goods_goods_spec_disable
)
@Before
(
Tx
.
class
)
public
void
disable
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
Ret
ret
=
goodsSpecService
.
disable
(
Arrays
.
asList
(
id
));
renderJson
(
ret
);
}
/**
* 启用
*/
@Permission
(
Permissions
.
goods_goods_spec_disable
)
@Before
(
Tx
.
class
)
public
void
enable
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
Ret
ret
=
goodsSpecService
.
enable
(
Arrays
.
asList
(
id
));
renderJson
(
ret
);
}
/**
* 获取规格对应的选项
*/
public
void
specOptionJson
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
GoodsSpec
goodsSpec
=
GoodsSpec
.
dao
.
findFirst
(
"select * from goods_spec where id = ?"
,
id
);
if
(
goodsSpec
==
null
)
{
renderJson
(
Ret
.
fail
(
"规格不存在"
));
return
;
}
List
<
GoodsSpecOptions
>
list
=
null
;
Integer
goodsInfoId
=
getInt
(
"goods_info_id"
);
if
(
goodsInfoId
!=
null
&&
goodsInfoId
>
0
)
{
GoodsSpecRef
goodsSpecRef
=
GoodsSpecRef
.
dao
.
findFirst
(
"select * from goods_spec_ref where goods_info_id = ? and goods_spec_id = ?"
,
goodsInfoId
,
id
);
list
=
goodsSpecRef
.
getSpecValueList
();
}
else
{
list
=
goodsSpec
.
getOptions
();
}
for
(
GoodsSpecOptions
option
:
list
)
{
option
.
put
(
"name"
,
option
.
getOptionValue
());
}
renderJson
(
Ret
.
ok
().
set
(
"data"
,
list
));
}
}
\ No newline at end of file
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/goods/GoodsUnitController.java
0 → 100644
浏览文件 @
61635481
package
com.bytechainx.psi.web.web.controller.goods
;
import
java.util.Arrays
;
import
com.bytechainx.psi.common.Permissions
;
import
com.bytechainx.psi.common.EnumConstant.DataStatusEnum
;
import
com.bytechainx.psi.common.annotation.Permission
;
import
com.bytechainx.psi.common.model.GoodsUnit
;
import
com.bytechainx.psi.common.service.goods.GoodsUnitService
;
import
com.bytechainx.psi.web.web.controller.base.BaseController
;
import
com.jfinal.aop.Before
;
import
com.jfinal.aop.Inject
;
import
com.jfinal.core.Path
;
import
com.jfinal.kit.Kv
;
import
com.jfinal.kit.Ret
;
import
com.jfinal.plugin.activerecord.Page
;
import
com.jfinal.plugin.activerecord.tx.Tx
;
/**
* 单位管理
*/
@Path
(
"/goods/goods/unit"
)
public
class
GoodsUnitController
extends
BaseController
{
@Inject
private
GoodsUnitService
goodsUnitService
;
/**
* 首页
*/
@Permission
(
Permissions
.
goods_goods_unit
)
public
void
index
()
{
setAttr
(
"hideStopFlag"
,
true
);
}
/**
* 列表
*/
@Permission
(
Permissions
.
goods_goods_unit
)
public
void
list
()
{
int
pageNumber
=
getInt
(
"pageNumber"
,
1
);
Boolean
hideStopFlag
=
getBoolean
(
"hide_stop_flag"
,
true
);
// 隐藏停用客户
Kv
condKv
=
Kv
.
create
();
if
(
hideStopFlag
)
{
condKv
.
set
(
"data_status"
,
DataStatusEnum
.
enable
.
getValue
());
}
Page
<
GoodsUnit
>
page
=
goodsUnitService
.
paginate
(
condKv
,
pageNumber
,
pageSize
);
setAttr
(
"page"
,
page
);
}
/**
* 查看
*/
@Permission
(
Permissions
.
goods_goods_unit_show
)
public
void
show
()
{
renderJson
(
Ret
.
ok
());
}
/**
* 添加
*/
@Permission
(
Permissions
.
goods_goods_unit_create
)
public
void
add
()
{
}
/**
* 新增
*/
@Permission
(
Permissions
.
goods_goods_unit_create
)
@Before
(
Tx
.
class
)
public
void
create
()
{
GoodsUnit
goodsUnit
=
getModel
(
GoodsUnit
.
class
,
""
,
true
);
Ret
ret
=
goodsUnitService
.
create
(
goodsUnit
);
renderJson
(
ret
);
}
/**
* 编辑
*/
@Permission
(
Permissions
.
goods_goods_unit_update
)
public
void
edit
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderError
(
404
);
return
;
}
GoodsUnit
goodsUnit
=
GoodsUnit
.
dao
.
findById
(
id
);
if
(
goodsUnit
==
null
)
{
renderError
(
404
);
return
;
}
setAttr
(
"goodsUnit"
,
goodsUnit
);
}
/**
* 修改
*/
@Permission
(
Permissions
.
goods_goods_unit_update
)
@Before
(
Tx
.
class
)
public
void
update
()
{
GoodsUnit
goodsUnit
=
getModel
(
GoodsUnit
.
class
,
""
,
true
);
Ret
ret
=
goodsUnitService
.
update
(
goodsUnit
);
renderJson
(
ret
);
}
/**
* 删除
*/
@Permission
(
Permissions
.
goods_goods_unit_delete
)
@Before
(
Tx
.
class
)
public
void
delete
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
Ret
ret
=
goodsUnitService
.
delete
(
Arrays
.
asList
(
id
));
renderJson
(
ret
);
}
/**
* 停用
*/
@Permission
(
Permissions
.
goods_goods_unit_disable
)
@Before
(
Tx
.
class
)
public
void
disable
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
Ret
ret
=
goodsUnitService
.
disable
(
Arrays
.
asList
(
id
));
renderJson
(
ret
);
}
/**
* 启用
*/
@Permission
(
Permissions
.
goods_goods_unit_disable
)
@Before
(
Tx
.
class
)
public
void
enable
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
Ret
ret
=
goodsUnitService
.
enable
(
Arrays
.
asList
(
id
));
renderJson
(
ret
);
}
}
\ No newline at end of file
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/inventory/PurchaseOrderController.java
0 → 100644
浏览文件 @
61635481
package
com.bytechainx.psi.web.web.controller.inventory
;
import
java.util.Date
;
import
java.util.List
;
import
com.alibaba.fastjson.JSONObject
;
import
com.bytechainx.psi.common.EnumConstant.AuditStatusEnum
;
import
com.bytechainx.psi.common.EnumConstant.OrderPayStatusEnum
;
import
com.bytechainx.psi.common.EnumConstant.OrderStatusEnum
;
import
com.bytechainx.psi.common.EnumConstant.TenantConfigEnum
;
import
com.bytechainx.psi.common.Permissions
;
import
com.bytechainx.psi.common.annotation.Permission
;
import
com.bytechainx.psi.common.api.TraderCenterApi
;
import
com.bytechainx.psi.common.dto.ConditionFilter
;
import
com.bytechainx.psi.common.dto.ConditionFilter.Operator
;
import
com.bytechainx.psi.common.model.PurchaseOrder
;
import
com.bytechainx.psi.common.model.TenantConfig
;
import
com.bytechainx.psi.common.model.TenantPrintTemplate
;
import
com.bytechainx.psi.purchase.service.PurchaseOrderService
;
import
com.bytechainx.psi.web.web.controller.base.BaseController
;
import
com.jfinal.aop.Before
;
import
com.jfinal.aop.Inject
;
import
com.jfinal.core.Path
;
import
com.jfinal.kit.Kv
;
import
com.jfinal.kit.Ret
;
import
com.jfinal.plugin.activerecord.Page
;
import
com.jfinal.plugin.activerecord.tx.Tx
;
/**
* 进货单
*/
@Path
(
"/inventory/purchase/order"
)
public
class
PurchaseOrderController
extends
BaseController
{
@Inject
private
PurchaseOrderService
orderService
;
/**
* 首页
*/
@Permission
(
Permissions
.
inventory_purchase_order
)
public
void
index
()
{
}
/**
* 列表
*/
@Permission
(
Permissions
.
inventory_purchase_order
)
public
void
list
()
{
int
pageNumber
=
getInt
(
"pageNumber"
,
1
);
pageSize
=
getPageSize
();
Kv
condKv
=
conditions
();
String
startTime
=
get
(
"start_time"
);
String
endTime
=
get
(
"end_time"
);
Page
<
PurchaseOrder
>
page
=
orderService
.
paginate
(
startTime
,
endTime
,
condKv
,
pageNumber
,
pageSize
);
setAttr
(
"page"
,
page
);
setAttr
(
"hideDisableFlag"
,
getBoolean
(
"hide_disable_flag"
));
setAttr
(
"showAuditFlag"
,
getBoolean
(
"show_audit_flag"
));
setAttr
(
"hidePayFlag"
,
getBoolean
(
"hide_pay_flag"
));
setAttrCommon
();
}
/**
* 草稿单
*/
@Permission
(
Permissions
.
inventory_purchase_order
)
public
void
draftIndex
()
{
draftList
();
}
/**
* 草稿单列表
*/
@Permission
(
Permissions
.
inventory_purchase_order
)
public
void
draftList
()
{
int
pageNumber
=
getInt
(
"pageNumber"
,
1
);
pageSize
=
getPageSize
();
Integer
supplierInfoId
=
getInt
(
"supplier_info_id"
);
Kv
condKv
=
Kv
.
create
();
condKv
.
set
(
"supplier_info_id"
,
supplierInfoId
);
condKv
.
set
(
"make_man_id"
,
getAdminId
());
// 只显示当前用户的草稿单
condKv
.
set
(
"order_status"
,
OrderStatusEnum
.
draft
.
getValue
());
String
startTime
=
get
(
"start_time"
);
String
endTime
=
get
(
"end_time"
);
Page
<
PurchaseOrder
>
page
=
orderService
.
paginate
(
startTime
,
endTime
,
condKv
,
pageNumber
,
pageSize
);
setAttr
(
"page"
,
page
);
}
/**
* 草稿单列表,JSON格式
*/
@Permission
(
Permissions
.
inventory_purchase_order
)
public
void
draftListByJson
()
{
int
pageNumber
=
getInt
(
"pageNumber"
,
1
);
pageSize
=
getPageSize
();
Integer
supplierInfoId
=
getInt
(
"supplier_info_id"
);
Integer
tenantStoreId
=
getInt
(
"tenant_store_id"
);
Kv
condKv
=
Kv
.
create
();
condKv
.
set
(
"supplier_info_id"
,
supplierInfoId
);
condKv
.
set
(
"tenant_store_id"
,
tenantStoreId
);
condKv
.
set
(
"make_man_id"
,
getAdminId
());
// 只显示当前用户的草稿单
condKv
.
set
(
"order_status"
,
OrderStatusEnum
.
draft
.
getValue
());
String
startTime
=
get
(
"start_time"
);
String
endTime
=
get
(
"end_time"
);
Page
<
PurchaseOrder
>
page
=
orderService
.
paginate
(
startTime
,
endTime
,
condKv
,
pageNumber
,
pageSize
);
renderJson
(
Ret
.
ok
().
set
(
"data"
,
page
));
}
/**
* 查看
*/
@Permission
(
Permissions
.
inventory_purchase_order_show
)
public
void
show
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderError
(
404
);
return
;
}
PurchaseOrder
purchaseOrder
=
PurchaseOrder
.
dao
.
findById
(
id
);
if
(
purchaseOrder
==
null
)
{
renderError
(
404
);
return
;
}
setAttrCommon
();
setAttr
(
"purchaseOrder"
,
purchaseOrder
);
}
/**
* 收入款日志
*/
@Permission
(
Permissions
.
inventory_purchase_order_show
)
public
void
showPayLog
()
{
show
();
}
/**
* 单据操作日志
*/
@Permission
(
Permissions
.
inventory_purchase_order_show
)
public
void
showOrderLog
()
{
show
();
}
/**
* 添加
*/
@Permission
(
Permissions
.
inventory_purchase_order_create
)
public
void
add
()
{
Kv
condKv
=
Kv
.
create
();
condKv
.
set
(
"order_status"
,
OrderStatusEnum
.
draft
.
getValue
());
condKv
.
set
(
"make_man_id"
,
getAdminId
());
Page
<
PurchaseOrder
>
page
=
orderService
.
paginate
(
null
,
null
,
condKv
,
1
,
1
);
setAttr
(
"draftCount"
,
page
.
getTotalRow
());
// 草稿单数量
setAttrCommon
();
}
/**
* 新增
*/
@Permission
(
Permissions
.
inventory_purchase_order_create
)
public
void
create
()
{
String
responseJson
=
TraderCenterApi
.
requestApi
(
"/inventory/purchase/order/create"
,
getAdminId
(),
getParaMap
());
renderJson
(
responseJson
);
}
/**
* 编辑
*/
@Permission
(
Permissions
.
inventory_purchase_order_update
)
public
void
edit
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderError
(
404
);
return
;
}
PurchaseOrder
purchaseOrder
=
PurchaseOrder
.
dao
.
findById
(
id
);
if
(
purchaseOrder
==
null
)
{
renderError
(
404
);
return
;
}
setAttr
(
"purchaseOrder"
,
purchaseOrder
);
setAttrCommon
();
}
/**
* 编辑草稿单
*/
@Permission
(
Permissions
.
inventory_purchase_order_update
)
public
void
editDraft
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderError
(
404
);
return
;
}
PurchaseOrder
purchaseOrder
=
PurchaseOrder
.
dao
.
findById
(
id
);
if
(
purchaseOrder
==
null
)
{
renderError
(
404
);
return
;
}
Kv
condKv
=
Kv
.
create
();
condKv
.
set
(
"order_status"
,
OrderStatusEnum
.
draft
.
getValue
());
condKv
.
set
(
"make_man_id"
,
getAdminId
());
Page
<
PurchaseOrder
>
page
=
orderService
.
paginate
(
null
,
null
,
condKv
,
1
,
1
);
setAttr
(
"draftCount"
,
page
.
getTotalRow
());
// 草稿单数量
setAttr
(
"purchaseOrder"
,
purchaseOrder
);
setAttrCommon
();
}
/**
* 修改
*/
@Permission
(
Permissions
.
inventory_purchase_order_update
)
public
void
update
()
{
String
responseJson
=
TraderCenterApi
.
requestApi
(
"/inventory/purchase/order/update"
,
getAdminId
(),
getParaMap
());
renderJson
(
responseJson
);
}
/**
* 停用
*/
@Permission
(
Permissions
.
inventory_purchase_order_disable
)
public
void
disable
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
String
responseJson
=
TraderCenterApi
.
requestApi
(
"/inventory/purchase/order/disable"
,
getAdminId
(),
getParaMap
());
renderJson
(
responseJson
);
}
/**
* 审核
*/
@Permission
(
Permissions
.
inventory_purchase_order_audit
)
public
void
audit
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
setAttr
(
"id"
,
id
);
}
/**
* 审核
*/
@Permission
(
Permissions
.
inventory_purchase_order_audit
)
public
void
auditCreate
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
String
responseJson
=
TraderCenterApi
.
requestApi
(
"/inventory/purchase/order/audit"
,
getAdminId
(),
getParaMap
());
renderJson
(
responseJson
);
}
/**
* 删除
*/
@Permission
(
Permissions
.
inventory_purchase_order_update
)
@Before
(
Tx
.
class
)
public
void
delete
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
Ret
ret
=
orderService
.
delete
(
id
);
renderJson
(
ret
);
}
/**
* 公共数据
*/
private
void
setAttrCommon
()
{
TenantConfig
receiptFundAllConfig
=
TenantConfig
.
dao
.
findByKeyCache
(
TenantConfigEnum
.
purchase_receipt_fund_all
);
setAttr
(
"receiptFundAllFlag"
,
Boolean
.
parseBoolean
(
receiptFundAllConfig
.
getAttrValue
()));
TenantConfig
orderGoodsDiscountConfig
=
TenantConfig
.
dao
.
findByKeyCache
(
TenantConfigEnum
.
order_goods_discount
);
setAttr
(
"orderGoodsDiscountFlag"
,
Boolean
.
parseBoolean
(
orderGoodsDiscountConfig
.
getAttrValue
()));
TenantConfig
purchaseEditSalePriceConfig
=
TenantConfig
.
dao
.
findByKeyCache
(
TenantConfigEnum
.
purchase_edit_sale_price
);
setAttr
(
"purchaseEditSalePriceFlag"
,
Boolean
.
parseBoolean
(
purchaseEditSalePriceConfig
.
getAttrValue
()));
JSONObject
printConfirmConfig
=
TenantConfig
.
dao
.
findJsonByKeyCahce
(
TenantConfigEnum
.
create_order_print_confirm
);
setAttr
(
"orderPrintConfig"
,
printConfirmConfig
);
setAttr
(
"orderAuditFlag"
,
PurchaseOrder
.
dao
.
findAuditConfig
());
// 是否审核
setAttr
(
"orderRows"
,
PurchaseOrder
.
dao
.
findRowsConfig
());
// 默认表格行数,后期要做成配置
setAttr
(
"feeList"
,
PurchaseOrder
.
dao
.
findFeeConfig
());
// 其他费用配置
setAttr
(
"costList"
,
PurchaseOrder
.
dao
.
findCostConfig
());
// 成本支出配置
TenantConfig
orderFundPaytimeConfig
=
TenantConfig
.
dao
.
findByKeyCache
(
TenantConfigEnum
.
order_fund_paytime
);
setAttr
(
"orderFundPaytimeFlag"
,
Boolean
.
parseBoolean
(
orderFundPaytimeConfig
.
getAttrValue
()));
}
/**
* 显示打印模板
*/
@Permission
(
Permissions
.
inventory_purchase_order
)
@Before
(
Tx
.
class
)
public
void
showPrint
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"单据ID不能为空"
));
return
;
}
PurchaseOrder
purchaseOrder
=
PurchaseOrder
.
dao
.
findById
(
id
);
if
(
purchaseOrder
==
null
)
{
renderError
(
404
);
return
;
}
List
<
TenantPrintTemplate
>
templateList
=
purchaseOrder
.
getPrintTemplateList
();
setAttr
(
"templateList"
,
templateList
);
setAttr
(
"purchaseOrder"
,
purchaseOrder
);
}
/**
* 打印或预览
*/
@Permission
(
Permissions
.
inventory_purchase_order
)
@Before
(
Tx
.
class
)
public
void
print
()
{
Integer
id
=
getInt
(
"id"
);
Integer
templateId
=
getInt
(
"template_id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"单据ID不能为空"
));
return
;
}
PurchaseOrder
purchaseOrder
=
PurchaseOrder
.
dao
.
findById
(
id
);
if
(
purchaseOrder
==
null
)
{
renderError
(
404
);
return
;
}
TenantPrintTemplate
printTemplate
;
if
(
templateId
==
null
||
templateId
<=
0
)
{
printTemplate
=
purchaseOrder
.
getPrintDefaultTemplate
();
}
else
{
printTemplate
=
TenantPrintTemplate
.
dao
.
findById
(
templateId
);
}
if
(
printTemplate
==
null
)
{
renderJson
(
Ret
.
fail
(
"打印模板不存在,请先设置打印模板"
));
return
;
}
Ret
ret
=
Ret
.
ok
();
ret
.
set
(
"tpl_content"
,
printTemplate
.
getContent
());
ret
.
set
(
"json_data"
,
purchaseOrder
.
getPrintData
());
ret
.
set
(
"order"
,
purchaseOrder
);
renderJson
(
ret
);
}
/**
* 更新打印次数
*/
@Permission
(
Permissions
.
inventory_purchase_order
)
@Before
(
Tx
.
class
)
public
void
updatePrint
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"单据ID不能为空"
));
return
;
}
PurchaseOrder
purchaseOrder
=
PurchaseOrder
.
dao
.
findById
(
id
);
if
(
purchaseOrder
==
null
)
{
renderError
(
404
);
return
;
}
purchaseOrder
.
setPrintCount
(
purchaseOrder
.
getPrintCount
()+
1
);
purchaseOrder
.
setUpdatedAt
(
new
Date
());
purchaseOrder
.
update
();
renderJson
(
Ret
.
ok
());
}
/**
* 导出
*/
@Permission
(
Permissions
.
inventory_purchase_order_export
)
public
void
export
()
{
Kv
condKv
=
conditions
();
String
startTime
=
get
(
"start_time"
);
String
endTime
=
get
(
"end_time"
);
Ret
ret
=
orderService
.
export
(
getAdminId
(),
startTime
,
endTime
,
condKv
);
renderJson
(
ret
);
}
/**
* 查询条件
* @return
*/
private
Kv
conditions
()
{
Integer
supplierInfoId
=
getInt
(
"supplier_info_id"
);
Integer
handlerId
=
getInt
(
"handler_id"
);
Boolean
hideDisableFlag
=
getBoolean
(
"hide_disable_flag"
);
// 隐藏作废单据
Boolean
hidePayFlag
=
getBoolean
(
"hide_pay_flag"
);
// 隐藏已付清单据
Boolean
showAuditFlag
=
getBoolean
(
"show_audit_flag"
);
// 只显示待审核单据
String
keyword
=
get
(
"keyword"
);
Kv
condKv
=
Kv
.
create
();
conditionFilterStore
(
condKv
,
Permissions
.
inventory_purchase
);
// 添加门店过滤条件
condKv
.
set
(
"supplier_info_id"
,
supplierInfoId
);
condKv
.
set
(
"handler_id"
,
handlerId
);
condKv
.
set
(
"order_code,remark"
,
keyword
);
// 多字段模糊查询
if
(
hideDisableFlag
)
{
condKv
.
set
(
"order_status"
,
OrderStatusEnum
.
normal
.
getValue
());
}
else
if
(
getInt
(
"order_status"
)
!=
null
){
condKv
.
set
(
"order_status"
,
getInt
(
"order_status"
));
}
else
{
ConditionFilter
filter
=
new
ConditionFilter
();
filter
.
setOperator
(
Operator
.
neq
);
filter
.
setValue
(
OrderStatusEnum
.
draft
.
getValue
());
condKv
.
set
(
"order_status"
,
filter
);
}
if
(
showAuditFlag
)
{
condKv
.
set
(
"audit_status"
,
AuditStatusEnum
.
waiting
.
getValue
());
}
if
(
hidePayFlag
)
{
ConditionFilter
filter
=
new
ConditionFilter
();
filter
.
setOperator
(
Operator
.
neq
);
filter
.
setValue
(
OrderPayStatusEnum
.
finish
.
getValue
());
condKv
.
set
(
"pay_status"
,
filter
);
}
return
condKv
;
}
}
\ No newline at end of file
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/inventory/PurchaseRejectOrderController.java
0 → 100644
浏览文件 @
61635481
package
com.bytechainx.psi.web.web.controller.inventory
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
org.apache.commons.lang.StringUtils
;
import
com.alibaba.fastjson.JSONObject
;
import
com.bytechainx.psi.common.EnumConstant.AuditStatusEnum
;
import
com.bytechainx.psi.common.EnumConstant.OrderPayStatusEnum
;
import
com.bytechainx.psi.common.EnumConstant.OrderStatusEnum
;
import
com.bytechainx.psi.common.EnumConstant.TenantConfigEnum
;
import
com.bytechainx.psi.common.Permissions
;
import
com.bytechainx.psi.common.annotation.Permission
;
import
com.bytechainx.psi.common.api.TraderCenterApi
;
import
com.bytechainx.psi.common.dto.ConditionFilter
;
import
com.bytechainx.psi.common.dto.ConditionFilter.Operator
;
import
com.bytechainx.psi.common.kit.StrUtil
;
import
com.bytechainx.psi.common.model.PurchaseOrder
;
import
com.bytechainx.psi.common.model.PurchaseOrderGoods
;
import
com.bytechainx.psi.common.model.PurchaseRejectOrder
;
import
com.bytechainx.psi.common.model.PurchaseRejectOrderGoods
;
import
com.bytechainx.psi.common.model.TenantConfig
;
import
com.bytechainx.psi.common.model.TenantPrintTemplate
;
import
com.bytechainx.psi.purchase.service.PurchaseRejectOrderService
;
import
com.bytechainx.psi.web.web.controller.base.BaseController
;
import
com.jfinal.aop.Before
;
import
com.jfinal.aop.Inject
;
import
com.jfinal.core.Path
;
import
com.jfinal.kit.Kv
;
import
com.jfinal.kit.Ret
;
import
com.jfinal.plugin.activerecord.Page
;
import
com.jfinal.plugin.activerecord.tx.Tx
;
/**
* 进货退货单
*/
@Path
(
"/inventory/purchase/rejectOrder"
)
public
class
PurchaseRejectOrderController
extends
BaseController
{
@Inject
private
PurchaseRejectOrderService
rejectOrderService
;
/**
* 首页
*/
@Permission
(
Permissions
.
inventory_purchase_rejectOrder
)
public
void
index
()
{
}
/**
* 列表
*/
@Permission
(
Permissions
.
inventory_purchase_rejectOrder
)
public
void
list
()
{
int
pageNumber
=
getInt
(
"pageNumber"
,
1
);
pageSize
=
getPageSize
();
Kv
condKv
=
conditions
();
String
startTime
=
get
(
"start_time"
);
String
endTime
=
get
(
"end_time"
);
Page
<
PurchaseRejectOrder
>
page
=
rejectOrderService
.
paginate
(
startTime
,
endTime
,
condKv
,
pageNumber
,
pageSize
);
setAttr
(
"page"
,
page
);
setAttr
(
"hideDisableFlag"
,
getBoolean
(
"hide_disable_flag"
));
setAttr
(
"showAuditFlag"
,
getBoolean
(
"show_audit_flag"
));
setAttr
(
"hidePayFlag"
,
getBoolean
(
"hide_pay_flag"
));
setAttrCommon
();
}
/**
* 草稿单
*/
@Permission
(
Permissions
.
inventory_purchase_rejectOrder
)
public
void
draftIndex
()
{
draftList
();
}
/**
* 草稿单列表
*/
@Permission
(
Permissions
.
inventory_purchase_rejectOrder
)
public
void
draftList
()
{
int
pageNumber
=
getInt
(
"pageNumber"
,
1
);
pageSize
=
getPageSize
();
Integer
supplierInfoId
=
getInt
(
"supplier_info_id"
);
Kv
condKv
=
Kv
.
create
();
condKv
.
set
(
"supplier_info_id"
,
supplierInfoId
);
condKv
.
set
(
"make_man_id"
,
getAdminId
());
// 只显示当前用户的草稿单
condKv
.
set
(
"order_status"
,
OrderStatusEnum
.
draft
.
getValue
());
String
startTime
=
get
(
"start_time"
);
String
endTime
=
get
(
"end_time"
);
Page
<
PurchaseRejectOrder
>
page
=
rejectOrderService
.
paginate
(
startTime
,
endTime
,
condKv
,
pageNumber
,
pageSize
);
setAttr
(
"page"
,
page
);
}
/**
* 草稿单列表,JSON格式
*/
@Permission
(
Permissions
.
inventory_purchase_rejectOrder
)
public
void
draftListByJson
()
{
int
pageNumber
=
getInt
(
"pageNumber"
,
1
);
pageSize
=
getPageSize
();
Integer
supplierInfoId
=
getInt
(
"supplier_info_id"
);
Integer
tenantStoreId
=
getInt
(
"tenant_store_id"
);
Kv
condKv
=
Kv
.
create
();
condKv
.
set
(
"supplier_info_id"
,
supplierInfoId
);
condKv
.
set
(
"tenant_store_id"
,
tenantStoreId
);
condKv
.
set
(
"make_man_id"
,
getAdminId
());
// 只显示当前用户的草稿单
condKv
.
set
(
"order_status"
,
OrderStatusEnum
.
draft
.
getValue
());
String
startTime
=
get
(
"start_time"
);
String
endTime
=
get
(
"end_time"
);
Page
<
PurchaseRejectOrder
>
page
=
rejectOrderService
.
paginate
(
startTime
,
endTime
,
condKv
,
pageNumber
,
pageSize
);
renderJson
(
Ret
.
ok
().
set
(
"data"
,
page
));
}
/**
* 查看
*/
@Permission
(
Permissions
.
inventory_purchase_rejectOrder_show
)
public
void
show
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderError
(
404
);
return
;
}
PurchaseRejectOrder
purchaseRejectOrder
=
PurchaseRejectOrder
.
dao
.
findById
(
id
);
if
(
purchaseRejectOrder
==
null
)
{
renderError
(
404
);
return
;
}
setAttrCommon
();
setAttr
(
"purchaseRejectOrder"
,
purchaseRejectOrder
);
}
/**
* 收入款日志
*/
@Permission
(
Permissions
.
inventory_purchase_rejectOrder_show
)
public
void
showPayLog
()
{
show
();
}
/**
* 单据操作日志
*/
@Permission
(
Permissions
.
inventory_purchase_rejectOrder_show
)
public
void
showOrderLog
()
{
show
();
}
/**
* 添加
*/
@Permission
(
Permissions
.
inventory_purchase_rejectOrder_create
)
public
void
add
()
{
String
orderIds
=
get
(
"order_ids"
);
// 进货订单,订单转进货单,多个逗号隔开
PurchaseRejectOrder
purchaseRejectOrder
=
transferBookOrder
(
orderIds
);
Kv
condKv
=
Kv
.
create
();
condKv
.
set
(
"order_status"
,
OrderStatusEnum
.
draft
.
getValue
());
condKv
.
set
(
"make_man_id"
,
getAdminId
());
Page
<
PurchaseRejectOrder
>
page
=
rejectOrderService
.
paginate
(
null
,
null
,
condKv
,
1
,
1
);
setAttr
(
"purchaseRejectOrder"
,
purchaseRejectOrder
);
setAttr
(
"draftCount"
,
page
.
getTotalRow
());
// 草稿单数量
setAttrCommon
();
}
/**
* 新增
*/
@Permission
(
Permissions
.
inventory_purchase_rejectOrder_create
)
public
void
create
()
{
String
responseJson
=
TraderCenterApi
.
requestApi
(
"/inventory/purchase/rejectOrder/create"
,
getAdminId
(),
getParaMap
());
renderJson
(
responseJson
);
}
/**
* 编辑
*/
@Permission
(
Permissions
.
inventory_purchase_rejectOrder_update
)
public
void
edit
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderError
(
404
);
return
;
}
PurchaseRejectOrder
purchaseRejectOrder
=
PurchaseRejectOrder
.
dao
.
findById
(
id
);
if
(
purchaseRejectOrder
==
null
)
{
renderError
(
404
);
return
;
}
setAttr
(
"purchaseRejectOrder"
,
purchaseRejectOrder
);
setAttrCommon
();
}
/**
* 编辑草稿单
*/
@Permission
(
Permissions
.
inventory_purchase_rejectOrder_update
)
public
void
editDraft
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderError
(
404
);
return
;
}
PurchaseRejectOrder
purchaseRejectOrder
=
PurchaseRejectOrder
.
dao
.
findById
(
id
);
if
(
purchaseRejectOrder
==
null
)
{
renderError
(
404
);
return
;
}
Kv
condKv
=
Kv
.
create
();
condKv
.
set
(
"order_status"
,
OrderStatusEnum
.
draft
.
getValue
());
condKv
.
set
(
"make_man_id"
,
getAdminId
());
Page
<
PurchaseRejectOrder
>
page
=
rejectOrderService
.
paginate
(
null
,
null
,
condKv
,
1
,
1
);
setAttr
(
"draftCount"
,
page
.
getTotalRow
());
// 草稿单数量
setAttr
(
"purchaseRejectOrder"
,
purchaseRejectOrder
);
setAttrCommon
();
}
/**
* 修改
*/
@Permission
(
Permissions
.
inventory_purchase_rejectOrder_update
)
public
void
update
()
{
String
responseJson
=
TraderCenterApi
.
requestApi
(
"/inventory/purchase/rejectOrder/update"
,
getAdminId
(),
getParaMap
());
renderJson
(
responseJson
);
}
/**
* 停用
*/
@Permission
(
Permissions
.
inventory_purchase_rejectOrder_disable
)
public
void
disable
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
String
responseJson
=
TraderCenterApi
.
requestApi
(
"/inventory/purchase/rejectOrder/disable"
,
getAdminId
(),
getParaMap
());
renderJson
(
responseJson
);
}
/**
* 审核
*/
@Permission
(
Permissions
.
inventory_purchase_rejectOrder_audit
)
public
void
audit
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
setAttr
(
"id"
,
id
);
}
/**
* 审核
*/
@Permission
(
Permissions
.
inventory_purchase_rejectOrder_audit
)
public
void
auditCreate
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
String
responseJson
=
TraderCenterApi
.
requestApi
(
"/inventory/purchase/rejectOrder/audit"
,
getAdminId
(),
getParaMap
());
renderJson
(
responseJson
);
}
/**
* 删除
*/
@Permission
(
Permissions
.
inventory_purchase_rejectOrder_update
)
@Before
(
Tx
.
class
)
public
void
delete
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"ID不能为空"
));
return
;
}
Ret
ret
=
rejectOrderService
.
delete
(
id
);
renderJson
(
ret
);
}
/**
* 公共数据
*/
private
void
setAttrCommon
()
{
TenantConfig
orderGoodsDiscountConfig
=
TenantConfig
.
dao
.
findByKeyCache
(
TenantConfigEnum
.
order_goods_discount
);
JSONObject
printConfirmConfig
=
TenantConfig
.
dao
.
findJsonByKeyCahce
(
TenantConfigEnum
.
create_order_print_confirm
);
setAttr
(
"orderPrintConfig"
,
printConfirmConfig
);
setAttr
(
"orderGoodsDiscountFlag"
,
Boolean
.
parseBoolean
(
orderGoodsDiscountConfig
.
getAttrValue
()));
setAttr
(
"orderAuditFlag"
,
PurchaseRejectOrder
.
dao
.
findAuditConfig
());
// 是否审核
setAttr
(
"orderRows"
,
PurchaseRejectOrder
.
dao
.
findRowsConfig
());
// 默认表格行数,后期要做成配置
setAttr
(
"feeList"
,
PurchaseRejectOrder
.
dao
.
findFeeConfig
());
// 其他费用配置
setAttr
(
"costList"
,
PurchaseRejectOrder
.
dao
.
findCostConfig
());
// 成本支出配置
TenantConfig
orderFundPaytimeConfig
=
TenantConfig
.
dao
.
findByKeyCache
(
TenantConfigEnum
.
order_fund_paytime
);
setAttr
(
"orderFundPaytimeFlag"
,
Boolean
.
parseBoolean
(
orderFundPaytimeConfig
.
getAttrValue
()));
}
/**
* 订单转进货单
* @param orderIds
*/
private
PurchaseRejectOrder
transferBookOrder
(
String
orderIds
)
{
if
(
StringUtils
.
isEmpty
(
orderIds
))
{
return
null
;
}
String
[]
orderIdsString
=
StringUtils
.
split
(
orderIds
,
","
);
PurchaseRejectOrder
purchaseRejectOrder
=
null
;
List
<
PurchaseRejectOrderGoods
>
rejectOrderGoodsList
=
new
ArrayList
<>();
for
(
String
idstring
:
orderIdsString
)
{
if
(
StringUtils
.
isEmpty
(
idstring
))
{
continue
;
}
Integer
bookOrderId
=
Integer
.
parseInt
(
idstring
);
PurchaseOrder
purchaseOrder
=
PurchaseOrder
.
dao
.
findById
(
bookOrderId
);
if
(
purchaseRejectOrder
==
null
)
{
purchaseRejectOrder
=
new
PurchaseRejectOrder
();
purchaseRejectOrder
.
_setOrPut
(
purchaseOrder
);
purchaseRejectOrder
.
remove
(
"id"
);
}
else
{
purchaseRejectOrder
.
setGoodsAmount
(
purchaseRejectOrder
.
getGoodsAmount
().
add
(
purchaseOrder
.
getGoodsAmount
()));
purchaseRejectOrder
.
setDiscountAmount
(
purchaseRejectOrder
.
getDiscountAmount
().
add
(
purchaseOrder
.
getDiscountAmount
()));
purchaseRejectOrder
.
setAmount
(
purchaseRejectOrder
.
getAmount
().
add
(
purchaseOrder
.
getAmount
()));
purchaseRejectOrder
.
setDiscount
(
purchaseRejectOrder
.
getDiscountAmount
().
divide
(
purchaseRejectOrder
.
getGoodsAmount
(),
4
,
BigDecimal
.
ROUND_HALF_UP
).
multiply
(
new
BigDecimal
(
100
).
setScale
(-
2
)));
}
for
(
PurchaseOrderGoods
purchaseOrderGoods
:
purchaseOrder
.
getOrderGoodsList
())
{
if
(
purchaseOrderGoods
.
getBuyNumber
().
compareTo
(
purchaseOrderGoods
.
getRejectAmount
())
<=
0
)
{
// 全部退了,不能再退了。
continue
;
}
PurchaseRejectOrderGoods
purchaseRejectOrderGoods
=
new
PurchaseRejectOrderGoods
();
purchaseRejectOrderGoods
.
_setOrPut
(
purchaseOrderGoods
);
purchaseRejectOrderGoods
.
setBuyNumber
(
purchaseOrderGoods
.
getBuyNumber
().
subtract
(
purchaseOrderGoods
.
getRejectNumber
()));
// 只能转剩余未退数量
purchaseRejectOrderGoods
.
setAmount
(
purchaseRejectOrderGoods
.
getBuyNumber
().
multiply
(
purchaseRejectOrderGoods
.
getPrice
()));
purchaseRejectOrderGoods
.
remove
(
"id"
);
rejectOrderGoodsList
.
add
(
purchaseRejectOrderGoods
);
}
}
if
(
purchaseRejectOrder
!=
null
)
{
purchaseRejectOrder
.
setOrderGoodsList
(
rejectOrderGoodsList
);
purchaseRejectOrder
.
setPurchaseOrderId
(
StrUtil
.
beforeAfterCleanComma
(
orderIds
));
}
return
purchaseRejectOrder
;
}
/**
* 显示打印模板
*/
@Permission
(
Permissions
.
inventory_purchase_rejectOrder
)
@Before
(
Tx
.
class
)
public
void
showPrint
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"单据ID不能为空"
));
return
;
}
PurchaseRejectOrder
purchaseRejectOrder
=
PurchaseRejectOrder
.
dao
.
findById
(
id
);
if
(
purchaseRejectOrder
==
null
)
{
renderError
(
404
);
return
;
}
List
<
TenantPrintTemplate
>
templateList
=
purchaseRejectOrder
.
getPrintTemplateList
();
setAttr
(
"templateList"
,
templateList
);
setAttr
(
"purchaseRejectOrder"
,
purchaseRejectOrder
);
}
/**
* 打印或预览
*/
@Permission
(
Permissions
.
inventory_purchase_rejectOrder
)
@Before
(
Tx
.
class
)
public
void
print
()
{
Integer
id
=
getInt
(
"id"
);
Integer
templateId
=
getInt
(
"template_id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"单据ID不能为空"
));
return
;
}
PurchaseRejectOrder
purchaseRejectOrder
=
PurchaseRejectOrder
.
dao
.
findById
(
id
);
if
(
purchaseRejectOrder
==
null
)
{
renderError
(
404
);
return
;
}
TenantPrintTemplate
printTemplate
;
if
(
templateId
==
null
||
templateId
<=
0
)
{
printTemplate
=
purchaseRejectOrder
.
getPrintDefaultTemplate
();
}
else
{
printTemplate
=
TenantPrintTemplate
.
dao
.
findById
(
templateId
);
}
if
(
printTemplate
==
null
)
{
renderJson
(
Ret
.
fail
(
"打印模板不存在,请先设置打印模板"
));
return
;
}
Ret
ret
=
Ret
.
ok
();
ret
.
set
(
"tpl_content"
,
printTemplate
.
getContent
());
ret
.
set
(
"json_data"
,
purchaseRejectOrder
.
getPrintData
());
ret
.
set
(
"order"
,
purchaseRejectOrder
);
renderJson
(
ret
);
}
/**
* 更新打印次数
*/
@Permission
(
Permissions
.
inventory_purchase_rejectOrder
)
@Before
(
Tx
.
class
)
public
void
updatePrint
()
{
Integer
id
=
getInt
(
"id"
);
if
(
id
==
null
||
id
<=
0
)
{
renderJson
(
Ret
.
fail
(
"单据ID不能为空"
));
return
;
}
PurchaseRejectOrder
purchaseRejectOrder
=
PurchaseRejectOrder
.
dao
.
findById
(
id
);
if
(
purchaseRejectOrder
==
null
)
{
renderError
(
404
);
return
;
}
purchaseRejectOrder
.
setPrintCount
(
purchaseRejectOrder
.
getPrintCount
()+
1
);
purchaseRejectOrder
.
setUpdatedAt
(
new
Date
());
purchaseRejectOrder
.
update
();
renderJson
(
Ret
.
ok
());
}
/**
* 导出
*/
@Permission
(
Permissions
.
inventory_purchase_rejectOrder_export
)
public
void
export
()
{
Kv
condKv
=
conditions
();
String
startTime
=
get
(
"start_time"
);
String
endTime
=
get
(
"end_time"
);
Ret
ret
=
rejectOrderService
.
export
(
getAdminId
(),
startTime
,
endTime
,
condKv
);
renderJson
(
ret
);
}
/**
* 查询条件
* @return
*/
private
Kv
conditions
()
{
Integer
supplierInfoId
=
getInt
(
"supplier_info_id"
);
Integer
handlerId
=
getInt
(
"handler_id"
);
Boolean
hideDisableFlag
=
getBoolean
(
"hide_disable_flag"
);
// 隐藏作废单据
Boolean
hidePayFlag
=
getBoolean
(
"hide_pay_flag"
);
// 隐藏已付清单据
Boolean
showAuditFlag
=
getBoolean
(
"show_audit_flag"
);
// 只显示待审核单据
String
keyword
=
get
(
"keyword"
);
Kv
condKv
=
Kv
.
create
();
conditionFilterStore
(
condKv
,
Permissions
.
inventory_purchase
);
// 添加门店过滤条件
condKv
.
set
(
"supplier_info_id"
,
supplierInfoId
);
condKv
.
set
(
"handler_id"
,
handlerId
);
condKv
.
set
(
"order_code,remark"
,
keyword
);
// 多字段模糊查询
if
(
hideDisableFlag
)
{
condKv
.
set
(
"order_status"
,
OrderStatusEnum
.
normal
.
getValue
());
}
else
if
(
getInt
(
"order_status"
)
!=
null
){
condKv
.
set
(
"order_status"
,
getInt
(
"order_status"
));
}
else
{
ConditionFilter
filter
=
new
ConditionFilter
();
filter
.
setOperator
(
Operator
.
neq
);
filter
.
setValue
(
OrderStatusEnum
.
draft
.
getValue
());
condKv
.
set
(
"order_status"
,
filter
);
}
if
(
showAuditFlag
)
{
condKv
.
set
(
"audit_status"
,
AuditStatusEnum
.
waiting
.
getValue
());
}
if
(
hidePayFlag
)
{
ConditionFilter
filter
=
new
ConditionFilter
();
filter
.
setOperator
(
Operator
.
neq
);
filter
.
setValue
(
OrderPayStatusEnum
.
finish
.
getValue
());
condKv
.
set
(
"pay_status"
,
filter
);
}
return
condKv
;
}
}
\ No newline at end of file
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/inventory/StatPurchaseController.java
0 → 100644
浏览文件 @
61635481
package
com.bytechainx.psi.web.web.controller.inventory
;
import
com.bytechainx.psi.common.EnumConstant.AuditStatusEnum
;
import
com.bytechainx.psi.common.EnumConstant.OrderStatusEnum
;
import
com.bytechainx.psi.common.Permissions
;
import
com.bytechainx.psi.common.annotation.Permission
;
import
com.bytechainx.psi.common.model.PurchaseOrder
;
import
com.bytechainx.psi.common.model.PurchaseOrderGoods
;
import
com.bytechainx.psi.common.model.SupplierCategory
;
import
com.bytechainx.psi.common.model.SupplierInfo
;
import
com.bytechainx.psi.purchase.service.PurchaseOrderService
;
import
com.bytechainx.psi.purchase.service.StatPurchaseService
;
import
com.bytechainx.psi.purchase.service.SupplierCategoryService
;
import
com.bytechainx.psi.web.web.controller.base.BaseController
;
import
com.jfinal.aop.Inject
;
import
com.jfinal.core.Path
;
import
com.jfinal.kit.Kv
;
import
com.jfinal.plugin.activerecord.Page
;
/**
* 进货统计
*/
@Path
(
"/inventory/stat/purchase"
)
public
class
StatPurchaseController
extends
BaseController
{
@Inject
private
StatPurchaseService
statPurchaseService
;
@Inject
private
PurchaseOrderService
purchaseOrderService
;
@Inject
private
SupplierCategoryService
supplierCategoryService
;
/**
* 首页
*/
@Permission
(
Permissions
.
inventory_stat_purchase
)
public
void
index
()
{
Page
<
SupplierCategory
>
supplierCategoryPage
=
supplierCategoryService
.
paginate
(
1
,
maxPageSize
);
setAttr
(
"supplierCategoryPage"
,
supplierCategoryPage
);
}
/**
* 按客户列表
*/
@Permission
(
Permissions
.
inventory_stat_purchase
)
public
void
list
()
{
int
pageNumber
=
getInt
(
"pageNumber"
,
1
);
pageSize
=
getPageSize
();
Integer
supplierInfoId
=
getInt
(
"supplier_info_id"
);
Integer
supplierCategoryId
=
getInt
(
"supplier_category_id"
);
String
startTime
=
get
(
"start_time"
);
String
endTime
=
get
(
"end_time"
);
Page
<
PurchaseOrder
>
page
=
statPurchaseService
.
paginateBySupplier
(
supplierCategoryId
,
supplierInfoId
,
startTime
,
endTime
,
pageNumber
,
pageSize
);
PurchaseOrder
sumOrder
=
statPurchaseService
.
sumBySupplier
(
supplierCategoryId
,
supplierInfoId
,
startTime
,
endTime
);
setAttr
(
"page"
,
page
);
setAttr
(
"sumOrder"
,
sumOrder
);
}
/**
* 查看客户销售单据详情
*/
@Permission
(
Permissions
.
inventory_stat_purchase_show
)
public
void
show
()
{
Integer
supplierInfoId
=
getInt
(
"supplier_info_id"
);
Integer
supplierCategoryId
=
getInt
(
"supplier_category_id"
);
if
(
supplierInfoId
==
null
||
supplierInfoId
<=
0
)
{
renderError
(
404
);
return
;
}
SupplierInfo
supplierInfo
=
SupplierInfo
.
dao
.
findById
(
supplierInfoId
);
if
(
supplierInfo
==
null
)
{
renderError
(
404
);
return
;
}
String
startTime
=
get
(
"start_time"
);
String
endTime
=
get
(
"end_time"
);
Page
<
PurchaseOrder
>
sumOrder
=
statPurchaseService
.
paginateBySupplier
(
supplierCategoryId
,
supplierInfoId
,
startTime
,
endTime
,
1
,
pageSize
);
if
(
sumOrder
.
getTotalRow
()
>
0
)
{
setAttr
(
"sumOrder"
,
sumOrder
.
getList
().
get
(
0
));
}
setAttr
(
"supplierInfo"
,
supplierInfo
);
setAttr
(
"startTime"
,
startTime
);
setAttr
(
"endTime"
,
endTime
);
}
/**
* 查看客户销售单据详情
*/
@Permission
(
Permissions
.
inventory_stat_purchase_show
)
public
void
showList
()
{
int
pageNumber
=
getInt
(
"pageNumber"
,
1
);
pageSize
=
getPageSize
();
Integer
supplierInfoId
=
getInt
(
"supplier_info_id"
);
Integer
tenantStoreId
=
getInt
(
"tenant_store_id"
);
Kv
condKv
=
Kv
.
create
();
condKv
.
set
(
"tenant_store_id"
,
tenantStoreId
);
condKv
.
set
(
"supplier_info_id"
,
supplierInfoId
);
condKv
.
set
(
"order_status"
,
OrderStatusEnum
.
normal
.
getValue
());
condKv
.
set
(
"audit_status"
,
AuditStatusEnum
.
pass
.
getValue
());
String
startTime
=
get
(
"start_time"
);
String
endTime
=
get
(
"end_time"
);
Page
<
PurchaseOrder
>
page
=
purchaseOrderService
.
paginate
(
startTime
,
endTime
,
condKv
,
pageNumber
,
pageSize
);
setAttr
(
"page"
,
page
);
}
/**
* 查看客户销售商品详情
*/
@Permission
(
Permissions
.
inventory_stat_purchase_show
)
public
void
showGoods
()
{
show
();
}
/**
* 查看客户销售商品详情
*/
@Permission
(
Permissions
.
inventory_stat_purchase_show
)
public
void
showGoodsList
()
{
int
pageNumber
=
getInt
(
"pageNumber"
,
1
);
pageSize
=
getPageSize
();
Integer
supplierInfoId
=
getInt
(
"supplier_info_id"
);
String
startTime
=
get
(
"start_time"
);
String
endTime
=
get
(
"end_time"
);
Page
<
PurchaseOrderGoods
>
page
=
statPurchaseService
.
paginateBySupplierGoods
(
supplierInfoId
,
startTime
,
endTime
,
pageNumber
,
pageSize
);
setAttr
(
"page"
,
page
);
}
}
\ No newline at end of file
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/inventory/StatPurchaseGoodsController.java
0 → 100644
浏览文件 @
61635481
package
com.bytechainx.psi.web.web.controller.inventory
;
import
java.util.List
;
import
com.bytechainx.psi.common.Permissions
;
import
com.bytechainx.psi.common.annotation.Permission
;
import
com.bytechainx.psi.common.model.GoodsCategory
;
import
com.bytechainx.psi.common.model.GoodsInfo
;
import
com.bytechainx.psi.common.model.PurchaseOrderGoods
;
import
com.bytechainx.psi.purchase.service.StatPurchaseGoodsService
;
import
com.bytechainx.psi.purchase.service.StatPurchaseService
;
import
com.bytechainx.psi.web.web.controller.base.BaseController
;
import
com.jfinal.aop.Inject
;
import
com.jfinal.core.Path
;
import
com.jfinal.plugin.activerecord.Page
;
/**
* 商品统计
*/
@Path
(
"/inventory/stat/purchaseGoods"
)
public
class
StatPurchaseGoodsController
extends
BaseController
{
@Inject
private
StatPurchaseGoodsService
purchaseGoodsService
;
@Inject
private
StatPurchaseService
statPurchaseService
;
/**
* 首页
*/
@Permission
(
Permissions
.
inventory_stat_purchaseGoods
)
public
void
index
()
{
List
<
GoodsCategory
>
topCategoryList
=
GoodsCategory
.
dao
.
findTop
();
setAttr
(
"topCategoryList"
,
topCategoryList
);
}
/**
* 按产品列表
*/
@Permission
(
Permissions
.
inventory_stat_purchaseGoods
)
public
void
list
()
{
int
pageNumber
=
getInt
(
"pageNumber"
,
1
);
pageSize
=
getPageSize
();
Integer
goodsCategoryId
=
getInt
(
"goods_category_id"
);
String
startTime
=
get
(
"start_time"
);
String
endTime
=
get
(
"end_time"
);
Page
<
PurchaseOrderGoods
>
page
=
purchaseGoodsService
.
paginate
(
goodsCategoryId
,
startTime
,
endTime
,
pageNumber
,
pageSize
);
PurchaseOrderGoods
sumOrder
=
purchaseGoodsService
.
sumByCategory
(
goodsCategoryId
,
startTime
,
endTime
);
setAttr
(
"page"
,
page
);
setAttr
(
"sumOrder"
,
sumOrder
);
}
/**
* 查看详情
*/
@Permission
(
Permissions
.
inventory_stat_purchaseGoods_show
)
public
void
show
()
{
Integer
goodsInfoId
=
getInt
(
"goods_info_id"
);
String
startTime
=
get
(
"start_time"
);
String
endTime
=
get
(
"end_time"
);
GoodsInfo
goodsInfo
=
GoodsInfo
.
dao
.
findById
(
goodsInfoId
);
PurchaseOrderGoods
sumOrder
=
purchaseGoodsService
.
sumByGoodsId
(
goodsInfoId
,
startTime
,
endTime
);
setAttr
(
"sumOrder"
,
sumOrder
);
setAttr
(
"goodsInfo"
,
goodsInfo
);
setAttr
(
"startTime"
,
startTime
);
setAttr
(
"endTime"
,
endTime
);
}
/**
* 查看单据列表
*/
@Permission
(
Permissions
.
inventory_stat_purchaseGoods_show
)
public
void
showList
()
{
int
pageNumber
=
getInt
(
"pageNumber"
,
1
);
pageSize
=
getPageSize
();
Integer
goodsInfoId
=
getInt
(
"goods_info_id"
);
String
startTime
=
get
(
"start_time"
);
String
endTime
=
get
(
"end_time"
);
Page
<
PurchaseOrderGoods
>
page
=
purchaseGoodsService
.
paginateByGoods
(
goodsInfoId
,
startTime
,
endTime
,
pageNumber
,
pageSize
);
setAttr
(
"page"
,
page
);
}
/**
* 查看详情
*/
@Permission
(
Permissions
.
inventory_stat_purchaseGoods_show
)
public
void
showSupplier
()
{
show
();
}
/**
* 查看单据列表
*/
@Permission
(
Permissions
.
inventory_stat_purchaseGoods_show
)
public
void
showSupplierList
()
{
int
pageNumber
=
getInt
(
"pageNumber"
,
1
);
pageSize
=
getPageSize
();
Integer
goodsInfoId
=
getInt
(
"goods_info_id"
);
String
startTime
=
get
(
"start_time"
);
String
endTime
=
get
(
"end_time"
);
Page
<
PurchaseOrderGoods
>
page
=
purchaseGoodsService
.
paginateBySupplier
(
goodsInfoId
,
startTime
,
endTime
,
pageNumber
,
pageSize
);
setAttr
(
"page"
,
page
);
}
}
\ No newline at end of file
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/inventory/StatStockController.java
0 → 100644
浏览文件 @
61635481
package
com.bytechainx.psi.web.web.controller.inventory
;
import
com.bytechainx.psi.web.web.controller.base.BaseController
;
import
com.jfinal.core.Path
;
import
com.jfinal.kit.Ret
;
/**
* 库存统计
*/
@Path
(
"/inventory/stat/stock"
)
public
class
StatStockController
extends
BaseController
{
/**
* 首页
*/
// @Permission(Permissions.inventory_stat_stock)
public
void
index
()
{
list
();
}
/**
* 列表
*/
// @Permission(Permissions.inventory_stat_stock)
public
void
list
()
{
}
/**
* 查看
*/
// @Permission(Permissions.inventory_stat_stock_show)
public
void
show
()
{
renderJson
(
Ret
.
ok
());
}
}
\ No newline at end of file
psi-web/src/main/java/com/bytechainx/psi/web/web/controller/msg/MsgNoticeController.java
0 → 100644
浏览文件 @
61635481
/**
*
*/
package
com.bytechainx.psi.web.web.controller.msg
;
import
java.util.Date
;
import
com.bytechainx.psi.common.EnumConstant.FlagEnum
;
import
com.bytechainx.psi.common.model.MsgNoticeSend
;
import
com.bytechainx.psi.common.service.msg.MsgNoticeService
;
import
com.bytechainx.psi.web.web.controller.base.BaseController
;
import
com.jfinal.aop.Inject
;
import
com.jfinal.core.Path
;
import
com.jfinal.plugin.activerecord.Page
;
/**
* 消息通知
* @author defier
*/
@Path
(
"/msg/notice"
)
public
class
MsgNoticeController
extends
BaseController
{
@Inject
private
MsgNoticeService
msgNoticeService
;
public
void
index
()
{
}
public
void
list
()
{
pageSize
=
10
;
int
pageNumber
=
getInt
(
"pageNumber"
,
1
);
Boolean
readFlag
=
getBoolean
(
"read_flag"
);
Page
<
MsgNoticeSend
>
page
=
msgNoticeService
.
paginate
(
getAdminId
(),
readFlag
,
pageNumber
,
pageSize
);
setAttr
(
"page"
,
page
);
}
public
void
show
()
{
Integer
id
=
getInt
(
"id"
);
MsgNoticeSend
msg
=
MsgNoticeSend
.
dao
.
findBy
(
id
);
if
(
msg
==
null
)
{
renderError
(
404
);
return
;
}
msg
.
setReadFlag
(
FlagEnum
.
YES
.
getValue
());
msg
.
setReadTime
(
new
Date
());
msg
.
update
();
setAttr
(
"msg"
,
msg
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录