Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
cloud-fb
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王衍超
cloud-fb
Commits
509aa12b
Commit
509aa12b
authored
Apr 27, 2021
by
高晓磊
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调价申请-获取区域公司的调价趋势图&&调价申请权限配置
parent
a38e2d9c
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
1032 additions
and
50 deletions
+1032
-50
RegionalCompanyPriceAuthorityConfiguration.java
...ce/config/RegionalCompanyPriceAuthorityConfiguration.java
+54
-0
RegionalCompanyPriceAuthorityConstant.java
...price/constant/RegionalCompanyPriceAuthorityConstant.java
+10
-0
PriceAdjustmentDao.java
...ain/java/com/xyst/dinas/price/dao/PriceAdjustmentDao.java
+8
-1
RegionalCompanyPriceAuthorityDao.java
...yst/dinas/price/dao/RegionalCompanyPriceAuthorityDao.java
+24
-0
PriceAdjustmentAdjustmentStatusEnum.java
...rice/enumeration/PriceAdjustmentAdjustmentStatusEnum.java
+5
-1
PriceAdjustmentDaoImpl.java
...xyst/dinas/price/internal/dao/PriceAdjustmentDaoImpl.java
+179
-25
RegionalCompanyPriceAuthorityDaoImpl.java
...ce/internal/dao/RegionalCompanyPriceAuthorityDaoImpl.java
+158
-0
PriceAdjustmentServiceImpl.java
...as/price/internal/service/PriceAdjustmentServiceImpl.java
+64
-9
RegionalCompanyPriceAuthorityServiceImpl.java
...nal/service/RegionalCompanyPriceAuthorityServiceImpl.java
+48
-0
PriceAdjustmentService.java
.../com/xyst/dinas/price/service/PriceAdjustmentService.java
+9
-0
RegionalCompanyPriceAuthorityService.java
...s/price/service/RegionalCompanyPriceAuthorityService.java
+25
-0
PriceAdjustmentController.java
...a/com/xyst/dinas/price/web/PriceAdjustmentController.java
+36
-0
RegionalCompanyPriceAuthorityController.java
...as/price/web/RegionalCompanyPriceAuthorityController.java
+74
-0
spring.factories
....dinas.price/src/main/resources/META-INF/spring.factories
+2
-1
PriceAdjustment$serial.jmx
...rces/com/xyst/dinas/price/bill/PriceAdjustment$serial.jmx
+2
-2
RegionalCompanyPriceAuthority$sequence.jmx
...nas/price/bill/RegionalCompanyPriceAuthority$sequence.jmx
+20
-0
RegionalCompanyPriceAuthority$serial.jmx
...dinas/price/bill/RegionalCompanyPriceAuthority$serial.jmx
+30
-0
RegionalCompanyPriceAuthority.jmx
...m/xyst/dinas/price/bill/RegionalCompanyPriceAuthority.jmx
+27
-0
RegionalCompanyPriceAuthority.jmx
...t/dinas/price/datamodel/RegionalCompanyPriceAuthority.jmx
+44
-0
RegionalCompanyPriceAuthority.jmx
.../xyst/dinas/price/query/RegionalCompanyPriceAuthority.jmx
+145
-0
RegionalCompanyPriceAuthority.hbm.xml
...in/resources/config/RegionalCompanyPriceAuthority.hbm.xml
+56
-0
ProductionPlanReportDaoImpl.java
.../production/internal/dao/ProductionPlanReportDaoImpl.java
+12
-11
No files found.
backend/xyst.dinas.price/src/main/java/com/xyst/dinas/price/config/RegionalCompanyPriceAuthorityConfiguration.java
0 → 100644
View file @
509aa12b
package
com
.
xyst
.
dinas
.
price
.
config
;
import
com.beecode.amino.metadata.runtime.MetadataMech
;
import
com.beecode.bcp.type.KClass
;
import
com.beecode.bcp.type.TypeConstants
;
import
com.xyst.dinas.price.constant.RegionalCompanyPriceAuthorityConstant
;
import
com.xyst.dinas.price.dao.RegionalCompanyPriceAuthorityDao
;
import
com.xyst.dinas.price.internal.dao.RegionalCompanyPriceAuthorityDaoImpl
;
import
com.xyst.dinas.price.internal.service.RegionalCompanyPriceAuthorityServiceImpl
;
import
com.xyst.dinas.price.service.RegionalCompanyPriceAuthorityService
;
import
com.xyst.dinas.price.web.RegionalCompanyPriceAuthorityController
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.core.io.ClassPathResource
;
/**
* @author scol
*/
public
class
RegionalCompanyPriceAuthorityConfiguration
{
@Autowired
@Qualifier
(
TypeConstants
.
CLASS_MECH
)
private
MetadataMech
<
KClass
>
typeMech
;
@Bean
(
RegionalCompanyPriceAuthorityConstant
.
ENTITY
)
public
KClass
regionalCompanyPriceAuthorityEntity
()
{
return
typeMech
.
createStaticBeanByResource
(
new
ClassPathResource
(
"/com/xyst/dinas/price/datamodel/RegionalCompanyPriceAuthority.jmx"
,
KClass
.
class
));
}
//RegionalCompanyPriceAuthorityDaoImpl相关bean配置
@Bean
public
RegionalCompanyPriceAuthorityDao
regionalCompanyPriceAuthorityDao
()
{
return
new
RegionalCompanyPriceAuthorityDaoImpl
();
}
@Bean
public
RegionalCompanyPriceAuthorityService
regionalCompanyPriceAuthorityService
(){
return
new
RegionalCompanyPriceAuthorityServiceImpl
();
}
@Bean
public
RegionalCompanyPriceAuthorityController
regionalCompanyPriceAuthorityController
(){
return
new
RegionalCompanyPriceAuthorityController
();
}
}
backend/xyst.dinas.price/src/main/java/com/xyst/dinas/price/constant/RegionalCompanyPriceAuthorityConstant.java
0 → 100644
View file @
509aa12b
package
com
.
xyst
.
dinas
.
price
.
constant
;
public
interface
RegionalCompanyPriceAuthorityConstant
{
/**
* 实体名
*/
String
ENTITY
=
"com.xyst.dinas.price.datamodel.RegionalCompanyPriceAuthority"
;
}
backend/xyst.dinas.price/src/main/java/com/xyst/dinas/price/dao/PriceAdjustmentDao.java
View file @
509aa12b
...
...
@@ -17,6 +17,8 @@ public interface PriceAdjustmentDao extends BaseDao {
UUID
create
(
KObject
kObject
);
List
<
KObject
>
getSameAdjustmentDateAndLtCreateDate
(
Date
adjustmentDate
,
Date
createTime
,
UUID
stationId
);
void
modify
(
KObject
kobject
);
void
deleteDetailByMasterId
(
UUID
planReportId
);
...
...
@@ -45,6 +47,11 @@ public interface PriceAdjustmentDao extends BaseDao {
* 将已生效的改成以失效
* @param date
*/
void
updateToEnd
(
Date
date
);
void
updateNotOverToEnd
(
Date
date
);
void
updateToReject
(
Date
date
);
List
<
KObject
>
getNewsByRegionalCompanyIds
(
List
<
UUID
>
ids
);
List
<
KObject
>
getSameAdjustmentDateAndLtCreateDate
(
KObject
kobject
);
}
backend/xyst.dinas.price/src/main/java/com/xyst/dinas/price/dao/RegionalCompanyPriceAuthorityDao.java
0 → 100644
View file @
509aa12b
package
com
.
xyst
.
dinas
.
price
.
dao
;
import
com.beecode.bcp.type.KObject
;
import
com.beecode.inz.basis.dao.BaseDao
;
import
java.util.List
;
import
java.util.UUID
;
public
interface
RegionalCompanyPriceAuthorityDao
extends
BaseDao
{
KObject
load
(
UUID
id
);
UUID
create
(
KObject
kObject
);
void
deleteById
(
UUID
id
);
void
modify
(
KObject
kobject
);
List
<
KObject
>
listAllCheck
(
List
<
UUID
>
ids
);
boolean
checked
(
UUID
currentRegionalCompanyId
,
UUID
checkedRegionalCompanyId
);
boolean
unChecked
(
UUID
currentRegionalCompanyId
,
UUID
checkedRegionalCompanyId
);
}
backend/xyst.dinas.price/src/main/java/com/xyst/dinas/price/enumeration/PriceAdjustmentAdjustmentStatusEnum.java
View file @
509aa12b
...
...
@@ -17,7 +17,11 @@ public enum PriceAdjustmentAdjustmentStatusEnum {
/**
* 已结束
*/
OVER
(
2
);
OVER
(
2
),
/**
* 废除
*/
ABOLITION
(
3
);
int
value
;
...
...
backend/xyst.dinas.price/src/main/java/com/xyst/dinas/price/internal/dao/PriceAdjustmentDaoImpl.java
View file @
509aa12b
...
...
@@ -18,9 +18,12 @@ import org.apache.commons.lang3.time.DateUtils;
import
org.hibernate.criterion.*
;
import
org.hibernate.query.Query
;
import
org.hibernate.transform.Transformers
;
import
org.hibernate.type.StandardBasicTypes
;
import
org.hibernate.type.Type
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.orm.hibernate5.HibernateTemplate
;
import
org.springframework.util.CollectionUtils
;
import
sun.util.calendar.BaseCalendar
;
import
java.util.*
;
...
...
@@ -80,16 +83,21 @@ public class PriceAdjustmentDaoImpl extends AbstractBaseDao implements PriceAdju
@Override
public
List
<
KObject
>
getNewByStationId
(
UUID
id
)
{
DetachedCriteria
detachedCriteria
=
getDetachedCriteria
();
detachedCriteria
.
add
(
Restrictions
.
in
(
"station.id"
,
id
));
List
<
KObject
>
byCriteria
=
(
List
<
KObject
>)
template
.
findByCriteria
(
detachedCriteria
,
0
,
1
);
return
byCriteria
;
}
private
DetachedCriteria
getDetachedCriteria
()
{
KClass
bean
=
Amino
.
getStaticMetadataContext
().
getBean
(
PriceAdjustmentConstant
.
ENTITY
,
KClass
.
class
);
DetachedCriteria
detachedCriteria
=
DetachedCriteria
.
forEntityName
(
bean
.
getName
());
detachedCriteria
.
add
(
Restrictions
.
eq
(
BaseConstants
.
DEL
,
false
));
detachedCriteria
.
add
(
Restrictions
.
in
(
"station.id"
,
id
));
detachedCriteria
.
add
(
Restrictions
.
eq
(
"applyStatus"
,
BizProcessState
.
DONE_WITH_AGREE
.
getValue
()));
detachedCriteria
.
add
(
Restrictions
.
eq
(
"adjustmentStatus"
,
PriceAdjustmentAdjustmentStatusEnum
.
PROCESSING
.
getValue
()));
detachedCriteria
.
add
(
Restrictions
.
eq
(
"adjustmentStatus"
,
PriceAdjustmentAdjustmentStatusEnum
.
PROCESSING
.
getValue
()));
detachedCriteria
.
addOrder
(
Order
.
desc
(
"adjustmentDate"
));
List
<
KObject
>
byCriteria
=
(
List
<
KObject
>)
template
.
findByCriteria
(
detachedCriteria
,
0
,
1
);
return
byCriteria
;
return
detachedCriteria
;
}
@Override
...
...
@@ -118,7 +126,7 @@ public class PriceAdjustmentDaoImpl extends AbstractBaseDao implements PriceAdju
KClass
bean
=
Amino
.
getStaticMetadataContext
().
getBean
(
PriceAdjustmentConstant
.
DETAIL_ENTITY
,
KClass
.
class
);
DetachedCriteria
detachedCriteria
=
DetachedCriteria
.
forEntityName
(
bean
.
getName
());
detachedCriteria
.
createAlias
(
"master"
,
"master"
);
detachedCriteria
.
add
(
Restrictions
.
eq
(
"master."
+
BaseConstants
.
DEL
,
false
));
detachedCriteria
.
add
(
Restrictions
.
eq
(
"master."
+
BaseConstants
.
DEL
,
false
));
detachedCriteria
.
add
(
Restrictions
.
in
(
"master.applyStatus"
,
BizProcessState
.
DONE_WITH_AGREE
.
getValue
()));
detachedCriteria
.
add
(
Restrictions
.
in
(
"master.adjustmentStatus"
,
PriceAdjustmentAdjustmentStatusEnum
.
PROCESSING
.
getValue
()));
detachedCriteria
.
add
(
Restrictions
.
in
(
"dinasType.id"
,
dinasTypeIds
));
...
...
@@ -157,7 +165,8 @@ public class PriceAdjustmentDaoImpl extends AbstractBaseDao implements PriceAdju
detachedCriteria
.
add
(
Restrictions
.
eq
(
"master."
+
BaseConstants
.
DEL
,
false
))
.
add
(
Restrictions
.
in
(
"master.applyStatus"
,
BizProcessState
.
DONE_WITH_AGREE
.
getValue
()))
.
add
(
Restrictions
.
eq
(
"master.adjustmentStatus"
,
PriceAdjustmentAdjustmentStatusEnum
.
PROCESSING
.
getValue
()))
.
add
(
Restrictions
.
ne
(
"master.adjustmentStatus"
,
PriceAdjustmentAdjustmentStatusEnum
.
ABOLITION
.
getValue
()))
// .add(Restrictions.eq("master.adjustmentStatus", PriceAdjustmentAdjustmentStatusEnum.PROCESSING.getValue()))
.
createAlias
(
"master"
,
"master"
)
.
createAlias
(
"master.station"
,
"station"
)
.
createAlias
(
"master.regionalCompany"
,
"regionalCompany"
)
...
...
@@ -179,7 +188,7 @@ public class PriceAdjustmentDaoImpl extends AbstractBaseDao implements PriceAdju
if
(
null
!=
priceAdjustmentEchartSearchEntity
.
getAdjustmentStartDate
())
{
detachedCriteria
.
add
(
Restrictions
.
or
(
Restrictions
.
ge
(
"adjustmentEndDate"
,
priceAdjustmentEchartSearchEntity
.
getAdjustmentStartDate
()),
Restrictions
.
isNull
(
"adjustmentEndDate"
)));
Restrictions
.
ge
(
"adjustmentEndDate"
,
priceAdjustmentEchartSearchEntity
.
getAdjustmentStartDate
()),
Restrictions
.
isNull
(
"adjustmentEndDate"
)));
}
if
(!
CollectionUtils
.
isEmpty
(
priceAdjustmentEchartSearchEntity
.
getRegionalCompanyIds
()))
{
detachedCriteria
.
add
(
Restrictions
.
in
(
"regionalCompany.id"
,
priceAdjustmentEchartSearchEntity
.
getRegionalCompanyIds
()));
...
...
@@ -196,48 +205,193 @@ public class PriceAdjustmentDaoImpl extends AbstractBaseDao implements PriceAdju
@Override
public
void
updateToStart
(
Date
date
)
{
//获取本天最后提交且审批通过的记录,修改为生效中
DetachedCriteria
detachedCriteria
=
getDetachedCriteria
(
date
);
List
<
KObject
>
byCriteria
=
(
List
<
KObject
>)
template
.
findByCriteria
(
detachedCriteria
,
0
,
1
);
if
(!
CollectionUtils
.
isEmpty
(
byCriteria
))
{
KObject
kObject
=
byCriteria
.
get
(
0
);
kObject
.
set
(
"adjustmentStatus"
,
PriceAdjustmentAdjustmentStatusEnum
.
PROCESSING
.
getValue
());
template
.
update
(
kObject
);
}
}
@Override
public
void
updateNotOverToEnd
(
Date
date
)
{
//本天场站下砂石类型为X的记录不做失效处理
//获取今天最新场站提交的记录
// List<UUID> as = getStationGroupInfo(date);
List
<
UUID
>
noOverPrice
=
getNoOverPrice
(
date
);
template
.
execute
(
session
->
{
Query
query
=
session
.
createQuery
(
"update "
+
DETAIL_ENTITY
+
" as a SET a.adjustmentEndDate =:adjustmentEndDate WHERE a.id IN (:ids)"
);
query
.
setParameter
(
"adjustmentEndDate"
,
date
);
query
.
setParameter
(
"ids"
,
noOverPrice
);
return
query
.
executeUpdate
();
});
}
@Override
public
void
updateToEnd
(
Date
date
)
{
//先查询出当前即将生效的记录.获取到砂石类型与之前没有结束的砂石类型比较. 如果有相同的砂石类型,则将非该记录下的砂石类型结束
//获取master审批通过的&&生效结束时间为空的&&生效日为今天之前的砂石价格记录
Date
endDateTimeOfDay
=
DateTimeUtils
.
getEndDateTimeOfDay
(
date
);
Date
startDateTimeOfDay
=
DateTimeUtils
.
getStartDateTimeOfDay
(
date
);
public
void
updateToReject
(
Date
date
)
{
//将今天开始生效但是审批没通过的做驳回处理
template
.
execute
(
session
->
{
Query
query
=
session
.
createQuery
(
"update "
+
ENTITY
+
" as a SET a.applyStatus =:applyStatus,a.failureReason =:failureReason ,a.modifyTime=:modifyTime"
+
" WHERE a.adjustmentDate >= :startDate and a.adjustmentDate<=:endDate and a.applyStatus=:applyOldStatus"
);
query
.
setParameter
(
"applyStatus"
,
BizProcessState
.
DONE_WITH_REJECT
.
getValue
());
query
.
setParameter
(
"failureReason"
,
"到生效日未审批,系统自动驳回"
);
query
.
setParameter
(
"modifyTime"
,
date
);
query
.
setParameter
(
"startDate"
,
DateTimeUtils
.
getStartDateTimeOfDay
(
date
));
query
.
setParameter
(
"endDate"
,
DateTimeUtils
.
getEndDateTimeOfDay
(
date
));
query
.
setParameter
(
"applyOldStatus"
,
BizProcessState
.
IN_PROCESS
.
getValue
());
return
query
.
executeUpdate
();
});
}
@Override
public
List
<
KObject
>
getNewsByRegionalCompanyIds
(
List
<
UUID
>
ids
)
{
DetachedCriteria
detachedCriteria
=
getDetachedCriteria
();
if
(!
CollectionUtils
.
isEmpty
(
ids
))
{
detachedCriteria
.
add
(
Restrictions
.
in
(
"regionalCompany.id"
,
ids
));
}
return
(
List
<
KObject
>)
template
.
findByCriteria
(
detachedCriteria
,
-
1
,
-
1
);
}
@Override
public
List
<
KObject
>
getSameAdjustmentDateAndLtCreateDate
(
KObject
kobject
)
{
Date
adjustmentDate
=
kobject
.
getDate
(
"adjustmentDate"
);
Date
createTime
=
kobject
.
getDate
(
"createTime"
);
UUID
id
=
kobject
.
get
(
"station"
).
getUuid
(
"id"
);
return
getSameAdjustmentDateAndLtCreateDate
(
adjustmentDate
,
createTime
,
id
);
}
@Override
public
List
<
KObject
>
getSameAdjustmentDateAndLtCreateDate
(
Date
adjustmentDate
,
Date
createTime
,
UUID
stationId
)
{
KClass
adjustment
=
Amino
.
getStaticMetadataContext
().
getBean
(
PriceAdjustmentConstant
.
ENTITY
,
KClass
.
class
);
DetachedCriteria
adjustmentDetachedCriteria
=
DetachedCriteria
.
forEntityName
(
adjustment
.
getName
());
adjustmentDetachedCriteria
.
add
(
Restrictions
.
in
(
"applyStatus"
,
BizProcessState
.
DONE_WITH_AGREE
.
getValue
()));
adjustmentDetachedCriteria
.
add
(
Restrictions
.
in
(
"station.id"
,
stationId
));
adjustmentDetachedCriteria
.
add
(
Restrictions
.
ge
(
"adjustmentDate"
,
DateTimeUtils
.
getStartDateTimeOfDay
(
adjustmentDate
)));
adjustmentDetachedCriteria
.
add
(
Restrictions
.
le
(
"adjustmentDate"
,
DateTimeUtils
.
getEndDateTimeOfDay
(
adjustmentDate
)));
adjustmentDetachedCriteria
.
add
(
Restrictions
.
le
(
"createTime"
,
createTime
));
adjustmentDetachedCriteria
.
add
(
Restrictions
.
le
(
BaseConstants
.
DEL
,
false
));
adjustmentDetachedCriteria
.
addOrder
(
Order
.
desc
(
"createTime"
));
return
(
List
<
KObject
>)
template
.
findByCriteria
(
adjustmentDetachedCriteria
);
}
private
List
<
UUID
>
getStationGroupInfo
(
Date
date
)
{
KClass
bean
=
Amino
.
getStaticMetadataContext
().
getBean
(
PriceAdjustmentConstant
.
DETAIL_ENTITY
,
KClass
.
class
);
DetachedCriteria
detachedCriteria
=
DetachedCriteria
.
forEntityName
(
bean
.
getName
());
detachedCriteria
.
createAlias
(
"master"
,
"master"
);
detachedCriteria
.
createAlias
(
"master.station"
,
"station"
);
detachedCriteria
.
createAlias
(
"dinasType"
,
"dinasType"
);
detachedCriteria
.
add
(
Restrictions
.
eq
(
"master."
+
BaseConstants
.
DEL
,
false
))
.
add
(
Restrictions
.
in
(
"master.applyStatus"
,
BizProcessState
.
DONE_WITH_AGREE
.
getValue
()))
.
createAlias
(
"master"
,
"master"
)
.
createAlias
(
"master.station"
,
"station"
)
.
createAlias
(
"master.regionalCompany"
,
"regionalCompany"
)
.
createAlias
(
"dinasType"
,
"dinasType"
);
.
add
(
Restrictions
.
isNull
(
"adjustmentEndDate"
))
.
add
(
Restrictions
.
ge
(
"adjustmentDate"
,
DateTimeUtils
.
getStartDateTimeOfDay
(
date
)))
.
add
(
Restrictions
.
lt
(
"adjustmentDate"
,
DateTimeUtils
.
getEndDateTimeOfDay
(
date
)));
detachedCriteria
.
setProjection
(
Projections
.
projectionList
()
.
add
(
Projections
.
alias
(
Projections
.
groupProperty
(
"station.id"
),
"stationId"
))
.
add
(
Projections
.
sqlProjection
(
"group_concat(hex({alias}.dinas_type_id)) as dinasTypeIds "
,
new
String
[]{
"dinasTypeIds"
},
new
Type
[]{
StandardBasicTypes
.
NSTRING
}))
);
detachedCriteria
.
setResultTransformer
(
Transformers
.
ALIAS_TO_ENTITY_MAP
);
return
(
List
<
UUID
>)
template
.
findByCriteria
(
detachedCriteria
);
}
/**
* 获取master审批通过的&&生效结束时间为空的&&生效日为今天之前的砂石价格记录
*
* @param date
* @return
*/
private
List
<
UUID
>
getNoOverPrice
(
Date
date
)
{
List
<
UUID
>
toStartStation
=
getToStartStation
(
date
);
KClass
bean
=
Amino
.
getStaticMetadataContext
().
getBean
(
PriceAdjustmentConstant
.
DETAIL_ENTITY
,
KClass
.
class
);
DetachedCriteria
detachedCriteria
=
DetachedCriteria
.
forEntityName
(
bean
.
getName
());
detachedCriteria
.
createAlias
(
"master"
,
"master"
);
detachedCriteria
.
createAlias
(
"master.station"
,
"station"
);
detachedCriteria
.
add
(
Restrictions
.
eq
(
"master."
+
BaseConstants
.
DEL
,
false
))
.
add
(
Restrictions
.
in
(
"master.applyStatus"
,
BizProcessState
.
DONE_WITH_AGREE
.
getValue
()))
.
add
(
Restrictions
.
isNull
(
"adjustmentEndDate"
))
.
add
(
Restrictions
.
lt
(
"adjustmentDate"
,
DateTimeUtils
.
getStartDateTimeOfDay
(
date
)))
.
add
(
Restrictions
.
in
(
"station.id"
,
toStartStation
))
;
detachedCriteria
.
setProjection
(
Projections
.
projectionList
().
add
(
Projections
.
property
(
"id"
)));
return
(
List
<
UUID
>)
template
.
findByCriteria
(
detachedCriteria
);
}
/**
* 获取时间当天生效的调价申请中的场站
* @param date
* @return
*/
private
List
<
UUID
>
getToStartStation
(
Date
date
){
KClass
bean
=
Amino
.
getStaticMetadataContext
().
getBean
(
PriceAdjustmentConstant
.
ENTITY
,
KClass
.
class
);
DetachedCriteria
detachedCriteria
=
DetachedCriteria
.
forEntityName
(
bean
.
getName
());
//审批通过 未删除 未生效
detachedCriteria
.
add
(
Restrictions
.
eq
(
BaseConstants
.
DEL
,
false
))
.
add
(
Restrictions
.
in
(
"applyStatus"
,
BizProcessState
.
DONE_WITH_AGREE
.
getValue
()))
.
add
(
Restrictions
.
in
(
"applyStatus"
,
BizProcessState
.
DONE_WITH_AGREE
.
getValue
()))
.
add
(
Restrictions
.
ge
(
"adjustmentDate"
,
DateTimeUtils
.
getStartDateTimeOfDay
(
date
)))
.
add
(
Restrictions
.
le
(
"adjustmentDate"
,
DateTimeUtils
.
getEndDateTimeOfDay
(
date
)))
.
add
(
Restrictions
.
lt
(
"adjustmentStatus"
,
PriceAdjustmentAdjustmentStatusEnum
.
NOT_STARTED
.
getValue
()));
detachedCriteria
.
setProjection
(
Projections
.
projectionList
().
add
(
Projections
.
property
(
"id"
)));
return
(
List
<
UUID
>)
template
.
findByCriteria
(
detachedCriteria
);
}
private
List
<
UUID
>
getNoOverPrice
(
Date
date
)
{
return
null
;
/**
* 获取今天重复审批的数据,除了最后一条提交的(不是审批) 其它的记录返回,并将该记录做失效的操作
*
* @param date
* @return
*/
private
List
<
UUID
>
getLastPrice
(
Date
date
)
{
DetachedCriteria
adjustmentDetachedCriteria
=
getDetachedCriteria
(
date
);
List
<
KObject
>
byCriteria
=
(
List
<
KObject
>)
template
.
findByCriteria
(
adjustmentDetachedCriteria
);
int
i
=
0
;
List
<
UUID
>
objects
=
new
ArrayList
<>();
for
(
KObject
byCriterion
:
byCriteria
)
{
if
(
0
==
i
++)
{
continue
;
}
KObject
dinasTypeDetail
=
byCriterion
.
get
(
"dinasTypeDetail"
);
if
(
dinasTypeDetail
==
null
)
{
continue
;
}
KObject
[]
kObjects
=
dinasTypeDetail
.
toArray
();
for
(
KObject
kObject
:
kObjects
)
{
objects
.
add
(
kObject
.
getUuid
(
"id"
));
}
byCriterion
.
set
(
"adjustmentStatus"
,
PriceAdjustmentAdjustmentStatusEnum
.
ABOLITION
.
getValue
());
template
.
update
(
byCriterion
);
}
return
objects
;
}
private
DetachedCriteria
getDetachedCriteria
(
Date
date
)
{
KClass
adjustment
=
Amino
.
getStaticMetadataContext
().
getBean
(
PriceAdjustmentConstant
.
ENTITY
,
KClass
.
class
);
DetachedCriteria
adjustmentDetachedCriteria
=
DetachedCriteria
.
forEntityName
(
adjustment
.
getName
());
adjustmentDetachedCriteria
.
add
(
Restrictions
.
eq
(
"applyStatus"
,
BizProcessState
.
DONE_WITH_AGREE
.
getValue
()));
adjustmentDetachedCriteria
.
add
(
Restrictions
.
ge
(
"adjustmentDate"
,
DateTimeUtils
.
getStartDateTimeOfDay
(
date
)));
adjustmentDetachedCriteria
.
add
(
Restrictions
.
le
(
"adjustmentDate"
,
DateTimeUtils
.
getEndDateTimeOfDay
(
date
)));
adjustmentDetachedCriteria
.
addOrder
(
Order
.
desc
(
"createTime"
));
return
adjustmentDetachedCriteria
;
}
private
List
<
PriceAdjustmentEchartReturnEntity
>
getPriceAdjustmentEchartReturnEntities
(
List
<
HashMap
<
String
,
Object
>>
byCriteria
,
Date
adjustmentStartDate
,
Date
adjustmentEndDate
)
{
PriceAdjustmentEchartReturnEntity
priceAdjustmentEchartReturnEntity
;
List
<
PriceAdjustmentEchartReturnEntity
>
priceAdjustmentEchartReturnEntities
=
new
ArrayList
<>();
HashMap
<
String
,
PriceAdjustmentEchartReturnEntity
>
priceAdjustmentEchartReturnHashMap
=
new
HashMap
<>();
StationDetailEntity
stationDetailEntity
;
HashMap
<
String
,
StationDetailEntity
>
stationDetail
=
new
HashMap
<>();
List
<
TimeValue
>
priceAdjustmentList
;
TimeValue
priceAdjustment
;
for
(
HashMap
<
String
,
Object
>
byCriterion
:
byCriteria
)
{
Object
dinasTypeId
=
byCriterion
.
get
(
"dinasTypeId"
);
Object
stationId
=
byCriterion
.
get
(
"stationId"
);
...
...
@@ -262,10 +416,10 @@ public class PriceAdjustmentDaoImpl extends AbstractBaseDao implements PriceAdju
Object
value
=
byCriterion
.
get
(
"value"
);
priceAdjustment
.
setId
(
UUID
.
fromString
(
adjustmentId
.
toString
()));
Date
o1
=
(
Date
)
o
;
if
(
null
!=
adjustmentStartDate
&&!
o1
.
before
(
adjustmentStartDate
)
)
{
if
(
null
!=
adjustmentStartDate
&&
!
o1
.
before
(
adjustmentStartDate
)
)
{
o1
=
adjustmentStartDate
;
}
if
(
null
!=
adjustmentStartDate
&&
o1
.
after
(
adjustmentEndDate
)
)
{
if
(
null
!=
adjustmentStartDate
&&
o1
.
after
(
adjustmentEndDate
)
)
{
o1
=
adjustmentEndDate
;
}
priceAdjustment
.
setTime
(
o1
);
...
...
backend/xyst.dinas.price/src/main/java/com/xyst/dinas/price/internal/dao/RegionalCompanyPriceAuthorityDaoImpl.java
0 → 100644
View file @
509aa12b
package
com
.
xyst
.
dinas
.
price
.
internal
.
dao
;
import
com.beecode.amino.core.Amino
;
import
com.beecode.bap.staff.BapContext
;
import
com.beecode.bcp.core.context.AminoContextHolder
;
import
com.beecode.bcp.type.KClass
;
import
com.beecode.bcp.type.KObject
;
import
com.beecode.inz.basis.internal.dao.AbstractBaseDao
;
import
com.beecode.inz.common.BaseConstants
;
import
com.xyst.dinas.biz.dao.DinasOrganizationDao
;
import
com.xyst.dinas.biz.dao.StationDao
;
import
com.xyst.dinas.price.constant.RegionalCompanyPriceAuthorityConstant
;
import
com.xyst.dinas.price.dao.RegionalCompanyPriceAuthorityDao
;
import
org.hibernate.criterion.DetachedCriteria
;
import
org.hibernate.criterion.Restrictions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.orm.hibernate5.HibernateTemplate
;
import
org.springframework.util.CollectionUtils
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.UUID
;
public
class
RegionalCompanyPriceAuthorityDaoImpl
extends
AbstractBaseDao
implements
RegionalCompanyPriceAuthorityDao
,
RegionalCompanyPriceAuthorityConstant
{
@Autowired
private
HibernateTemplate
template
;
@Autowired
private
DinasOrganizationDao
dinasOrganizationDao
;
/**
* 抽象方法,需要实现类提供HibernateTemplate
*
* @return
*/
@Override
protected
HibernateTemplate
getHibernateTemplate
()
{
return
template
;
}
/**
* 抽象方法,需要实现类提供当前ModelName
*
* @return
*/
@Override
protected
String
getModelName
()
{
return
ENTITY
;
}
@Override
public
KObject
load
(
UUID
id
)
{
return
(
KObject
)
template
.
load
(
ENTITY
,
id
);
}
@Override
public
void
modify
(
KObject
kobject
)
{
KObject
id
=
load
(
kobject
.
getUuid
(
"id"
));
kobject
.
set
(
BaseConstants
.
CREATOR
,
id
.
get
(
BaseConstants
.
CREATOR
));
kobject
.
set
(
BaseConstants
.
CREATE_TIME
,
id
.
getDate
(
BaseConstants
.
CREATE_TIME
));
KObject
staff
=
AminoContextHolder
.
getContext
().
getStaff
();
kobject
.
set
(
"modifyTime"
,
new
Date
());
kobject
.
set
(
BaseConstants
.
MODIFIER
,
staff
.
getUuid
(
"id"
));
kobject
.
set
(
"del"
,
false
);
template
.
merge
(
kobject
);
}
@Override
public
List
<
KObject
>
listAllCheck
(
List
<
UUID
>
ids
)
{
KClass
bean
=
Amino
.
getStaticMetadataContext
().
getBean
(
RegionalCompanyPriceAuthorityConstant
.
ENTITY
,
KClass
.
class
);
DetachedCriteria
detachedCriteria
=
DetachedCriteria
.
forEntityName
(
bean
.
getName
());
detachedCriteria
.
add
(
Restrictions
.
eq
(
BaseConstants
.
DEL
,
false
));
if
(!
CollectionUtils
.
isEmpty
(
ids
)){
detachedCriteria
.
add
(
Restrictions
.
in
(
"currentRegionalCompany.id"
,
ids
));
}
List
<?>
byCriteria
=
template
.
findByCriteria
(
detachedCriteria
);
return
(
List
<
KObject
>)
byCriteria
;
}
@Override
public
UUID
create
(
KObject
kObject
)
{
KObject
staff
=
AminoContextHolder
.
getContext
().
getStaff
();
kObject
.
set
(
"id"
,
UUID
.
randomUUID
());
kObject
.
set
(
BaseConstants
.
CREATOR
,
staff
);
kObject
.
set
(
BaseConstants
.
CREATE_TIME
,
new
Date
());
kObject
.
set
(
"del"
,
false
);
return
((
UUID
)
template
.
save
(
kObject
));
}
@Override
public
void
deleteById
(
UUID
id
)
{
KObject
staff
=
AminoContextHolder
.
getContext
().
getStaff
();
KObject
kobject
=
(
KObject
)
template
.
load
(
ENTITY
,
id
);
kobject
.
set
(
"modifyTime"
,
new
Date
());
kobject
.
set
(
BaseConstants
.
MODIFIER
,
staff
);
kobject
.
set
(
"del"
,
true
);
template
.
update
(
kobject
);
}
@Override
public
boolean
checked
(
UUID
currentRegionalCompanyId
,
UUID
checkedRegionalCompanyId
)
{
List
<
KObject
>
byExample
=
getByExample
(
currentRegionalCompanyId
,
checkedRegionalCompanyId
);
if
((
byExample
.
size
()<=
0
))
{
KClass
bean
=
Amino
.
getStaticMetadataContext
().
getBean
(
ENTITY
,
KClass
.
class
);
KObject
kObject
=
bean
.
newInstance
();
kObject
.
set
(
"currentRegionalCompany"
,
dinasOrganizationDao
.
load
(
currentRegionalCompanyId
));
kObject
.
set
(
"canLookRegionalCompany"
,
dinasOrganizationDao
.
load
(
checkedRegionalCompanyId
));
kObject
.
set
(
"id"
,
UUID
.
randomUUID
());
kObject
.
set
(
"createTime"
,
new
Date
());
kObject
.
set
(
"del"
,
false
);
Serializable
save
=
template
.
save
(
ENTITY
,
kObject
);
return
null
!=
save
.
toString
();
}
else
if
(
byExample
.
size
()==
1
){
KObject
kObject
=
byExample
.
get
(
0
);
if
(!
kObject
.
getBoolean
(
BaseConstants
.
DEL
)){
return
false
;
}
kObject
.
set
(
"del"
,
false
);
template
.
update
(
ENTITY
,
kObject
);
return
true
;
}
return
false
;
}
@Override
public
boolean
unChecked
(
UUID
currentRegionalCompanyId
,
UUID
checkedRegionalCompanyId
)
{
List
<
KObject
>
byExample
=
getByExample
(
currentRegionalCompanyId
,
checkedRegionalCompanyId
);
if
(
byExample
.
size
()>
0
)
{
for
(
KObject
kObject
:
byExample
)
{
kObject
.
set
(
"del"
,
true
);
template
.
update
(
ENTITY
,
kObject
);
}
return
true
;
}
return
false
;
}
private
List
<
KObject
>
getByExample
(
UUID
currentRegionalCompanyId
,
UUID
checkedRegionalCompanyId
)
{
KClass
bean
=
Amino
.
getStaticMetadataContext
().
getBean
(
ENTITY
,
KClass
.
class
);
DetachedCriteria
detachedCriteria
=
DetachedCriteria
.
forEntityName
(
bean
.
getName
());
detachedCriteria
.
add
(
Restrictions
.
eq
(
"currentRegionalCompany.id"
,
currentRegionalCompanyId
));
detachedCriteria
.
add
(
Restrictions
.
eq
(
"canLookRegionalCompany.id"
,
checkedRegionalCompanyId
));
return
(
List
<
KObject
>)
template
.
findByCriteria
(
detachedCriteria
);
}
}
backend/xyst.dinas.price/src/main/java/com/xyst/dinas/price/internal/service/PriceAdjustmentServiceImpl.java
View file @
509aa12b
package
com
.
xyst
.
dinas
.
price
.
internal
.
service
;
import
com.beecode.bap.attachment.common.Page
;
import
com.beecode.bap.workflow.core.BizProcessState
;
import
com.beecode.bcp.type.KObject
;
import
com.xyst.dinas.price.dao.PriceAdjustmentDao
;
import
com.xyst.dinas.price.entity.PriceAdjustmentEchartReturnEntity
;
...
...
@@ -8,10 +9,12 @@ import com.xyst.dinas.price.entity.PriceAdjustmentEchartSearchEntity;
import
com.xyst.dinas.price.entity.PriceAdjustmentSearchEntity
;
import
com.xyst.dinas.price.entity.StationDinasTypePriceDetail
;
import
com.xyst.dinas.price.service.PriceAdjustmentService
;
import
com.xyst.dinas.price.service.RegionalCompanyPriceAuthorityService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
java.sql.Array
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -20,12 +23,15 @@ import java.util.UUID;
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
class
PriceAdjustmentServiceImpl
implements
PriceAdjustmentService
{
@Autowired
private
PriceAdjustmentDao
priceAdjustmentDao
;
@Autowired
private
PriceAdjustmentDao
priceAdjustmentDao
;
@Autowired
private
RegionalCompanyPriceAuthorityService
regionalCompanyPriceAuthorityService
;
@Override
public
Page
<
KObject
>
queryByPaging
(
PriceAdjustmentSearchEntity
<
KObject
>
priceAdjustmentSearchEntity
)
throws
Exception
{
if
(
priceAdjustmentSearchEntity
.
getPageNo
()==
0
||
priceAdjustmentSearchEntity
.
getPageSize
()==
0
)
{
if
(
priceAdjustmentSearchEntity
.
getPageNo
()
==
0
||
priceAdjustmentSearchEntity
.
getPageSize
()
==
0
)
{
throw
new
Exception
(
"pageSize or offset is null"
);
}
return
priceAdjustmentDao
.
listPriceAdjustmentInfoPaging
(
priceAdjustmentSearchEntity
);
...
...
@@ -33,11 +39,11 @@ public class PriceAdjustmentServiceImpl implements PriceAdjustmentService {
@Override
public
List
<
KObject
>
getNewByStations
(
List
<
UUID
>
ids
)
{
if
(
CollectionUtils
.
isEmpty
(
ids
))
{
if
(
CollectionUtils
.
isEmpty
(
ids
))
{
return
null
;
}
List
<
KObject
>
kObjects
=
new
ArrayList
<>();
ids
.
forEach
(
id
->
kObjects
.
addAll
(
priceAdjustmentDao
.
getNewByStationId
(
id
)));
ids
.
forEach
(
id
->
kObjects
.
addAll
(
priceAdjustmentDao
.
getNewByStationId
(
id
)));
return
kObjects
;
}
...
...
@@ -51,7 +57,7 @@ public class PriceAdjustmentServiceImpl implements PriceAdjustmentService {
@Override
public
KObject
validateByStationId
(
UUID
id
)
{
List
<
KObject
>
kObjects
=
priceAdjustmentDao
.
getByStationId
(
id
);
if
(
CollectionUtils
.
isEmpty
(
kObjects
))
{
if
(
CollectionUtils
.
isEmpty
(
kObjects
))
{
return
null
;
}
return
kObjects
.
get
(
0
);
...
...
@@ -68,12 +74,45 @@ public class PriceAdjustmentServiceImpl implements PriceAdjustmentService {
return
priceAdjustmentDao
.
getDetailsByFilter
(
priceAdjustmentEchartSearchEntity
);
}
/**
* 1.获取当前正在生效的所有砂石类型
* 2.排除掉最新审批未维护的砂石类型,这里要根据场站循环
* 3.获取场站最新价格
*/
@Override
public
void
updatePriceAdjustmentStatus
()
{
//
先结束旧
的
priceAdjustmentDao
.
updateToEnd
(
new
Date
());
//
结束当前生效中
的
priceAdjustmentDao
.
update
NotOver
ToEnd
(
new
Date
());
//再开始新的
priceAdjustmentDao
.
updateToStart
(
new
Date
());
//将未审批的记录改为驳回
priceAdjustmentDao
.
updateToReject
(
new
Date
());
}
/**
* @param currentRegionalCompanyId
* @return
*/
@Override
public
List
<
KObject
>
getNewsByRegionalCompanyIds
(
UUID
currentRegionalCompanyId
)
{
ArrayList
<
UUID
>
regionalCompanyIds
=
null
;
if
(
null
!=
currentRegionalCompanyId
)
{
regionalCompanyIds
=
new
ArrayList
<>();
regionalCompanyIds
.
add
(
currentRegionalCompanyId
);
}
List
<
KObject
>
kObjects
=
regionalCompanyPriceAuthorityService
.
listAllCheck
(
regionalCompanyIds
);
List
<
UUID
>
ids
=
new
ArrayList
<>();
if
(!
CollectionUtils
.
isEmpty
(
kObjects
))
{
for
(
KObject
kObject
:
kObjects
)
{
ids
.
add
(
kObject
.
get
(
"canLookRegionalCompany"
).
getUuid
(
"id"
));
}
}
if
(
null
!=
currentRegionalCompanyId
){
ids
.
add
(
currentRegionalCompanyId
);
}
return
priceAdjustmentDao
.
getNewsByRegionalCompanyIds
(
ids
);
}
@Override
...
...
@@ -87,7 +126,23 @@ public class PriceAdjustmentServiceImpl implements PriceAdjustmentService {
}
@Override
public
List
<
KObject
>
getSameAdjustmentDateAndLtCreateDateInfo
(
Date
adjustmentDate
,
Date
createTime
,
UUID
stationId
)
{
return
priceAdjustmentDao
.
getSameAdjustmentDateAndLtCreateDate
(
adjustmentDate
,
createTime
,
stationId
);
}
@Override
public
void
update
(
KObject
kobject
)
{
priceAdjustmentDao
.
modify
(
kobject
);
priceAdjustmentDao
.
modify
(
kobject
);
//审批通过后获取 同一天生效时间 && 创建时间小于该条记录 && 已审批 的记录,将其改为驳回
List
<
KObject
>
kObjects
=
priceAdjustmentDao
.
getSameAdjustmentDateAndLtCreateDate
(
kobject
);
if
(
null
==
kObjects
)
{
return
;
}
for
(
KObject
kObject
:
kObjects
)
{
kObject
.
set
(
"applyStatus"
,
BizProcessState
.
DONE_WITH_REJECT
.
getValue
());
kObject
.
set
(
"failureReason"
,
"本条数据所属生效日已有新记录审批通过,本条系统自动驳回"
);
priceAdjustmentDao
.
modify
(
kObject
);
}
}
}
backend/xyst.dinas.price/src/main/java/com/xyst/dinas/price/internal/service/RegionalCompanyPriceAuthorityServiceImpl.java
0 → 100644
View file @
509aa12b
package
com
.
xyst
.
dinas
.
price
.
internal
.
service
;
import
com.beecode.bcp.type.KObject
;
import
com.xyst.dinas.price.dao.RegionalCompanyPriceAuthorityDao
;
import
com.xyst.dinas.price.service.RegionalCompanyPriceAuthorityService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
import
java.util.UUID
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
class
RegionalCompanyPriceAuthorityServiceImpl
implements
RegionalCompanyPriceAuthorityService
{
@Autowired
private
RegionalCompanyPriceAuthorityDao
regionalCompanyPriceAuthorityDao
;
@Override
public
List
<
KObject
>
listAllCheck
(
List
<
UUID
>
ids
){
return
regionalCompanyPriceAuthorityDao
.
listAllCheck
(
ids
);
}
@Override
public
KObject
getById
(
UUID
id
)
{
return
regionalCompanyPriceAuthorityDao
.
load
(
id
);
}
@Override
public
void
update
(
KObject
kobject
)
{
regionalCompanyPriceAuthorityDao
.
modify
(
kobject
);
}
@Override
public
void
deleteById
(
UUID
id
)
{
regionalCompanyPriceAuthorityDao
.
deleteById
(
id
);
}
@Override
public
boolean
checked
(
UUID
currentRegionalCompanyId
,
UUID
checkedRegionalCompanyId
)
{
return
regionalCompanyPriceAuthorityDao
.
checked
(
currentRegionalCompanyId
,
checkedRegionalCompanyId
);
}
@Override
public
boolean
unChecked
(
UUID
currentRegionalCompanyId
,
UUID
checkedRegionalCompanyId
)
{
return
regionalCompanyPriceAuthorityDao
.
unChecked
(
currentRegionalCompanyId
,
checkedRegionalCompanyId
);
}
}
backend/xyst.dinas.price/src/main/java/com/xyst/dinas/price/service/PriceAdjustmentService.java
View file @
509aa12b
...
...
@@ -7,6 +7,7 @@ import com.xyst.dinas.price.entity.PriceAdjustmentSearchEntity;
import
com.xyst.dinas.price.entity.StationDinasTypePriceDetail
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.UUID
;
...
...
@@ -17,6 +18,8 @@ public interface PriceAdjustmentService {
KObject
getById
(
UUID
id
);
List
<
KObject
>
getSameAdjustmentDateAndLtCreateDateInfo
(
Date
adjustmentDate
,
Date
createTime
,
UUID
stationId
);
void
update
(
KObject
kobject
);
Object
queryByPaging
(
PriceAdjustmentSearchEntity
<
KObject
>
priceAdjustmentSearchEntity
)
throws
Exception
;
...
...
@@ -37,4 +40,10 @@ public interface PriceAdjustmentService {
*/
void
updatePriceAdjustmentStatus
();
/**
*
* @param currentRegionalCompanyId
* @return
*/
List
<
KObject
>
getNewsByRegionalCompanyIds
(
UUID
currentRegionalCompanyId
);
}
backend/xyst.dinas.price/src/main/java/com/xyst/dinas/price/service/RegionalCompanyPriceAuthorityService.java
0 → 100644
View file @
509aa12b
package
com
.
xyst
.
dinas
.
price
.
service
;
import
com.beecode.bcp.type.KObject
;
import
java.util.List
;
import
java.util.UUID
;
public
interface
RegionalCompanyPriceAuthorityService
{
List
<
KObject
>
listAllCheck
(
List
<
UUID
>
ids
);
KObject
getById
(
UUID
id
);
void
update
(
KObject
kobject
);
void
deleteById
(
UUID
id
);
boolean
checked
(
UUID
currentRegionalCompanyId
,
UUID
checkedRegionalCompanyId
);
boolean
unChecked
(
UUID
currentRegionalCompanyId
,
UUID
checkedRegionalCompanyId
);
}
backend/xyst.dinas.price/src/main/java/com/xyst/dinas/price/web/PriceAdjustmentController.java
View file @
509aa12b
...
...
@@ -7,6 +7,7 @@ import com.beecode.bcp.type.KObject;
import
com.beecode.bcp.type.json.JSONObjectUtils
;
import
com.beecode.inz.basis.team.pojo.ResponseObj
;
import
com.beecode.inz.common.BaseConstants
;
import
com.beecode.inz.common.util.DateTimeUtils
;
import
com.xyst.dinas.biz.service.DinasTypeService
;
import
com.xyst.dinas.price.constant.PriceAdjustmentConstant
;
import
com.xyst.dinas.price.entity.PriceAdjustmentEchartReturnEntity
;
...
...
@@ -15,8 +16,10 @@ import com.xyst.dinas.price.entity.PriceAdjustmentSearchEntity;
import
com.xyst.dinas.price.service.PriceAdjustmentService
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.UUID
;
...
...
@@ -149,6 +152,18 @@ public class PriceAdjustmentController {
}
/**
* 根据id获取价格调整
*
* @param
* @return 获取成功
*/
@GetMapping
(
"/test"
)
public
ResponseObj
test
()
{
priceAdjustmentService
.
updatePriceAdjustmentStatus
();
return
ResponseObj
.
success
(
"获取成功"
);
}
/**
* 验证是否有最新审批中或者审批不通过的数据
*/
@GetMapping
(
"validateByStationId"
)
...
...
@@ -191,6 +206,26 @@ public class PriceAdjustmentController {
return
ResponseObj
.
success
(
"获取成功"
,
priceAdjustment
);
}
/**
* 数据相同时候的提示
* @param adjustmentDate
* @param createTime
* @param stationId
* @return
*/
@GetMapping
(
"getSameMessage"
)
public
ResponseObj
getSameAdjustmentDateAndLtCreateDateInfo
(
Date
adjustmentDate
,
Date
createTime
,
UUID
stationId
){
List
<
KObject
>
sameAdjustmentDateAndLtCreateDateInfo
=
priceAdjustmentService
.
getSameAdjustmentDateAndLtCreateDateInfo
(
adjustmentDate
,
createTime
,
stationId
);
if
(
CollectionUtils
.
isEmpty
(
sameAdjustmentDateAndLtCreateDateInfo
)){
String
formart1DateString
=
DateTimeUtils
.
getFormart1DateString
(
adjustmentDate
);
String
message
=
"检查到该场站生效日期为["
+
formart1DateString
+
"]下有"
+
sameAdjustmentDateAndLtCreateDateInfo
.
size
()+
"条早先创建并审批通过的记录,当该记录提交审批通过后,会将其它记录置为驳回"
;
return
ResponseObj
.
success
(
message
,
sameAdjustmentDateAndLtCreateDateInfo
);
}
return
ResponseObj
.
success
();
}
}
\ No newline at end of file
backend/xyst.dinas.price/src/main/java/com/xyst/dinas/price/web/RegionalCompanyPriceAuthorityController.java
0 → 100644
View file @
509aa12b
package
com
.
xyst
.
dinas
.
price
.
web
;
import
com.beecode.bcp.type.KObject
;
import
com.beecode.inz.basis.team.pojo.ResponseObj
;
import
com.xyst.dinas.price.service.PriceAdjustmentService
;
import
com.xyst.dinas.price.service.RegionalCompanyPriceAuthorityService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
import
java.util.UUID
;
@RestController
()
@RequestMapping
(
value
={
"/price/priceAuthority"
})
public
class
RegionalCompanyPriceAuthorityController
{
@Autowired
private
RegionalCompanyPriceAuthorityService
regionalCompanyPriceAuthorityService
;
@Autowired
private
PriceAdjustmentService
priceAdjustmentService
;
@RequestMapping
(
value
=
"list/allCheck"
,
method
=
RequestMethod
.
GET
)
public
ResponseObj
getDinasTypeList
(
@RequestParam
(
required
=
false
,
name
=
"ids"
)
List
<
UUID
>
ids
)
throws
Exception
{
List
<
KObject
>
kObjectPage
=
regionalCompanyPriceAuthorityService
.
listAllCheck
(
ids
);
return
ResponseObj
.
success
(
"操作成功"
,
kObjectPage
);
}
/**
* 取消勾选场站
*/
@PostMapping
(
"/unChecked"
)
public
ResponseObj
unCheckedStation
(
@RequestParam
(
"currentRegionalCompanyId"
)
UUID
currentRegionalCompanyId
,
@RequestParam
(
value
=
"checkedRegionalCompanyId"
,
required
=
true
)
UUID
checkedRegionalCompanyId
){
boolean
aBoolean
=
regionalCompanyPriceAuthorityService
.
unChecked
(
currentRegionalCompanyId
,
checkedRegionalCompanyId
);
return
aBoolean
?
ResponseObj
.
success
(
"取消勾选成功"
):
ResponseObj
.
error
(
"取消勾选失败"
);
}
/**
* 勾选场站
* @return
*/
@PostMapping
(
"/checked"
)
public
ResponseObj
checkedStation
(
@RequestParam
(
"currentRegionalCompanyId"
)
UUID
currentRegionalCompanyId
,
@RequestParam
(
value
=
"checkedRegionalCompanyId"
,
required
=
true
)
UUID
checkedRegionalCompanyId
){
boolean
aBoolean
=
regionalCompanyPriceAuthorityService
.
checked
(
currentRegionalCompanyId
,
checkedRegionalCompanyId
);
return
aBoolean
?
ResponseObj
.
success
(
"勾选成功"
):
ResponseObj
.
error
(
"勾选失败"
);
}
/**
* 获取最新的场站可查看的价格列表
* @return
*/
@PostMapping
(
"/getNewsByRegionalCompanyId"
)
public
ResponseObj
getNewsByRegionalCompanyId
(
@RequestParam
(
"regionalCompanyId"
)
UUID
currentRegionalCompanyId
){
List
<
KObject
>
newsByRegionalCompanyIds
=
priceAdjustmentService
.
getNewsByRegionalCompanyIds
(
currentRegionalCompanyId
);
return
ResponseObj
.
success
(
"查询成功"
,
newsByRegionalCompanyIds
);
}
}
backend/xyst.dinas.price/src/main/resources/META-INF/spring.factories
View file @
509aa12b
# Auto Configure
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.xyst.dinas.price.config.PriceAdjustmentConfiguration
com.xyst.dinas.price.config.PriceAdjustmentConfiguration,\
com.xyst.dinas.price.config.RegionalCompanyPriceAuthorityConfiguration
backend/xyst.dinas.price/src/main/resources/com/xyst/dinas/price/bill/PriceAdjustment$serial.jmx
View file @
509aa12b
...
...
@@ -3,8 +3,8 @@
<specification>
1.0
</specification>
<id>
b34f3ded-3664-369b-a146-97be4b24cde1
</id>
<name>
com.xyst.dinas.price.bill.PriceAdjustment$serial
</name>
<title>
计划上报
$serial
</title>
<description>
计划上报
</description>
<title>
调价
$serial
</title>
<description>
调价
</description>
<define>
bcp.serial
</define>
<define-version>
1.0
</define-version>
<dependency>
com.xyst.dinas.price.datamodel.PriceAdjustment
</dependency>
...
...
backend/xyst.dinas.price/src/main/resources/com/xyst/dinas/price/bill/RegionalCompanyPriceAuthority$sequence.jmx
0 → 100644
View file @
509aa12b
<?xml version="1.0" encoding="UTF-8"?>
<metadata
xmlns=
"http://www.beecode.cn/schema/amino-metadata"
xmlns:m=
"http://www.beecode.cn/schema/bcp-sequence"
>
<specification>
1.0
</specification>
<id>
97f40950-7212-4987-8a84-a5a3dd339a66
</id>
<name>
com.xyst.dinas.price.bill.RegionalCompanyPriceAuthority$sequence
</name>
<title>
区域公司条件记录权限表$sequence
</title>
<description>
区域公司条件记录权限表
</description>
<define>
bcp.sequence
</define>
<define-version>
1.0
</define-version>
<content>
<m:sequence>
<m:start-with>
0
</m:start-with>
<m:increment>
1
</m:increment>
<m:max>
99999
</m:max>
<m:min>
0
</m:min>
<m:cycle>
true
</m:cycle>
<m:cache-size>
10
</m:cache-size>
</m:sequence>
</content>
</metadata>
backend/xyst.dinas.price/src/main/resources/com/xyst/dinas/price/bill/RegionalCompanyPriceAuthority$serial.jmx
0 → 100644
View file @
509aa12b
<?xml version="1.0" encoding="UTF-8"?>
<metadata
xmlns=
"http://www.beecode.cn/schema/amino-metadata"
xmlns:m=
"http://www.beecode.cn/schema/bcp-serial"
>
<specification>
1.0
</specification>
<id>
fd95ab28-6a27-46b0-9ffd-af442eea11fd
</id>
<name>
com.xyst.dinas.price.bill.RegionalCompanyPriceAuthority$serial
</name>
<title>
区域公司条件记录权限表$serial
</title>
<description>
区域公司条件记录权限表
</description>
<define>
bcp.serial
</define>
<define-version>
1.0
</define-version>
<dependency>
com.xyst.dinas.price.datamodel.RegionalCompanyPriceAuthority
</dependency>
<dependency>
com.xyst.dinas.price.bill.RegionalCompanyPriceAuthority$sequence
</dependency>
<content>
<m:serial>
<m:input>
com.xyst.dinas.price.datamodel.RegionalCompanyPriceAuthority
</m:input>
<m:functionLibrarys/>
<m:segments>
<m:literal>
<m:value>
PA
</m:value>
</m:literal>
<m:sequence>
<m:length>
5
</m:length>
<m:pad-direction>
left
</m:pad-direction>
<m:pad-string>
0
</m:pad-string>
<m:key>
com.xyst.dinas.price.bill.RegionalCompanyPriceAuthority$serial
</m:key>
<m:sequenceName>
com.xyst.dinas.price.bill.RegionalCompanyPriceAuthority$sequence
</m:sequenceName>
</m:sequence>
</m:segments>
</m:serial>
</content>
</metadata>
backend/xyst.dinas.price/src/main/resources/com/xyst/dinas/price/bill/RegionalCompanyPriceAuthority.jmx
0 → 100644
View file @
509aa12b
<?xml version="1.0" encoding="UTF-8"?>
<metadata
xmlns=
"http://www.beecode.cn/schema/amino-metadata"
xmlns:m=
"http://www.beecode.cn/schema/bcp-biztype"
>
<specification>
1.0
</specification>
<id>
480ff446-5f8e-448e-92bc-e58b7a6305b3
</id>
<name>
com.xyst.dinas.price.bill.RegionalCompanyPriceAuthority
</name>
<title>
区域公司条件记录权限表
</title>
<description>
区域公司条件记录权限表
</description>
<define>
bcp.biz.Biztype
</define>
<define-version>
1.0
</define-version>
<dependency>
com.xyst.dinas.price.bill.RegionalCompanyPriceAuthority$serial
</dependency>
<dependency>
com.xyst.dinas.price.datamodel.RegionalCompanyPriceAuthority
</dependency>
<dependency>
com.beecode.bap.biztrait.BasicBillBiztrait
</dependency>
<content>
<m:biztype>
<m:type>
com.xyst.dinas.price.datamodel.RegionalCompanyPriceAuthority
</m:type>
<m:inheritances>
<m:inheritance>
<m:biztrait>
com.beecode.bap.biztrait.BasicBillBiztrait
</m:biztrait>
<m:config
type=
"xml"
>
<m:content>
<
billBasictraitConfig
><
formulas/
><
parents
><
parent
><
billCodeConfig
><
serialName
>
com.xyst.dinas.price.bill.RegionalCompanyPriceAuthority$serial
<
/serialName
><
buildTime
>
add
<
/buildTime
><
/billCodeConfig
><
/parent
><
parent
><
workflowConfig
><
workflow
><
/workflow
><
/workflowConfig
><
/parent
><
parent
><
printConfig
><
templates/
><
/printConfig
><
/parent
><
/parents
><
functionLibrarys/
><
/billBasictraitConfig
>
</m:content>
</m:config>
</m:inheritance>
</m:inheritances>
<m:methodAuthorityItems/>
</m:biztype>
</content>
</metadata>
backend/xyst.dinas.price/src/main/resources/com/xyst/dinas/price/datamodel/RegionalCompanyPriceAuthority.jmx
0 → 100644
View file @
509aa12b
<?xml version="1.0" encoding="UTF-8"?>
<metadata
xmlns=
"http://www.beecode.cn/schema/amino-metadata"
xmlns:m=
"http://www.beecode.cn/schema/bcp-type"
>
<specification>
1.0
</specification>
<id>
e3337d52-c3c7-4eec-8d06-ede01a9941a8
</id>
<name>
com.xyst.dinas.price.datamodel.RegionalCompanyPriceAuthority
</name>
<title>
区域公司条件记录权限表
</title>
<description>
区域公司条件记录权限表
</description>
<define>
bcp.type.Class
</define>
<define-version>
1.0
</define-version>
<dependency>
bcp.type.constraint.StringLength
</dependency>
<dependency>
com.beecode.inz.common.datamodel.BaseInfo
</dependency>
<dependency>
com.beecode.bap.biztrait.datamodel.SubTableAnnotation
</dependency>
<dependency>
com.beecode.bap.staff.datamodel.Staff
</dependency>
<dependency>
com.xyst.dinas.biz.datamodel.xystOrganization
</dependency>
<dependency>
com.beecode.bap.biztrait.datamodel.BasicBillRequirement
</dependency>
<content>
<m:class>
<m:parents>
<m:parent>
com.beecode.bap.biztrait.datamodel.BasicBillRequirement
</m:parent>
<m:parent>
com.beecode.inz.common.datamodel.BaseInfo
</m:parent>
</m:parents>
<m:attributes>
<m:attribute>
<m:annotations/>
<m:id>
45c6f4a8-2cc6-49ad-8fe8-5ee817b11188
</m:id>
<m:name>
currentRegionalCompany
</m:name>
<m:title>
当前区域公司
</m:title>
<m:type>
com.xyst.dinas.biz.datamodel.xystOrganization
</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations/>
<m:id>
acdfcaaf-08ec-417e-84bc-3a195f226d1f
</m:id>
<m:name>
canLookRegionalCompany
</m:name>
<m:title>
可以查看哪个区域公司
</m:title>
<m:type>
com.xyst.dinas.biz.datamodel.xystOrganization
</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
</m:attributes>
</m:class>
</content>
</metadata>
backend/xyst.dinas.price/src/main/resources/com/xyst/dinas/price/query/RegionalCompanyPriceAuthority.jmx
0 → 100644
View file @
509aa12b
<?xml version="1.0" encoding="UTF-8"?>
<metadata
xmlns=
"http://www.beecode.cn/schema/amino-metadata"
xmlns:m=
"http://www.beecode.cn/schema/inz-query"
>
<specification>
1.0
</specification>
<id>
2a47277f-119f-43df-a7aa-4507a8fdd667
</id>
<name>
com.xyst.dinas.price.query.RegionalCompanyPriceAuthority
</name>
<title>
区域公司条件记录权限表
</title>
<description>
区域公司条件记录权限表
</description>
<define>
inz.query.Query
</define>
<define-version>
1.0
</define-version>
<dependency>
com.xyst.dinas.biz.datamodel.DinasType
</dependency>
<content>
<m:query>
<m:type>
com.xyst.dinas.price.datamodel.RegionalCompanyPriceAuthority
</m:type>
<m:dataProcessor/>
<m:authorityItem/>
<m:innerScenes>
<m:innerScene>
<m:id>
213edf68-7231-4f5e-b855-d660a69441d5
</m:id>
<m:title>
全部
</m:title>
<m:javaImplement>
com.beecode.inz.common.scene.CommonAllScene
</m:javaImplement>
<m:defaultExecute></m:defaultExecute>
<m:hide></m:hide>
</m:innerScene>
<m:innerScene>
<m:id>
6641d38d-4ddb-4b9f-8a8c-5e8e47dd8921
</m:id>
<m:title>
已废弃
</m:title>
<m:javaImplement>
com.beecode.inz.common.scene.DefaultDiscardScene
</m:javaImplement>
<m:defaultExecute></m:defaultExecute>
<m:hide></m:hide>
</m:innerScene>
</m:innerScenes>
<m:fields>
<m:field>
<m:name>
id
</m:name>
<m:title>
id
</m:title>
<m:type>
uuid
</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>
currentRegionalCompany.id
</m:name>
<m:title>
区域公司
</m:title>
<m:type>
uuid
</m:type>
<m:ref>
<m:name>
com.xyst.dinas.biz.datamodel.xystOrganization
</m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>
currentRegionalCompany.name
</m:name>
<m:title>
区域公司名称
</m:title>
<m:type>
string
</m:type>
<m:ref>
<m:name>
com.xyst.dinas.biz.datamodel.xystOrganization
</m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>
canLookRegionalCompany.id
</m:name>
<m:title>
可以查看的区域公司
</m:title>
<m:type>
uuid
</m:type>
<m:ref>
<m:name>
com.xyst.dinas.biz.datamodel.xystOrganization
</m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>
canLookRegionalCompany.name
</m:name>
<m:title>
可以查看的区域公司名称
</m:title>
<m:type>
string
</m:type>
<m:ref>
<m:name>
com.xyst.dinas.biz.datamodel.xystOrganization
</m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>
createTime
</m:name>
<m:title>
创建时间
</m:title>
<m:type>
datetime
</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>
creator.name
</m:name>
<m:title>
创建人
</m:title>
<m:type>
string
</m:type>
<m:ref/>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>
modifyTime
</m:name>
<m:title>
修改时间
</m:title>
<m:type>
datetime
</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>
modifier
</m:name>
<m:title>
修改人
</m:title>
<m:type>
string
</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>
discard
</m:name>
<m:title>
废弃
</m:title>
<m:type>
boolean
</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>
del
</m:name>
<m:title>
是否删除
</m:title>
<m:type>
boolean
</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
</m:fields>
</m:query>
</content>
</metadata>
backend/xyst.dinas.price/src/main/resources/config/RegionalCompanyPriceAuthority.hbm.xml
0 → 100644
View file @
509aa12b
<?xml version="1.0" encoding="UTF-8"?>
<hibernate-mapping
xmlns=
"http://www.hibernate.org/xsd/hibernate-mapping"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://www.hibernate.org/xsd/hibernate-mapping
http://www.hibernate.org/xsd/hibernate-mapping/hibernate-mapping-4.0.xsd"
>
<class
entity-name=
"com.xyst.dinas.price.datamodel.RegionalCompanyPriceAuthority"
table=
"xyst_dinas_price_regional_company_price_authority"
optimistic-lock=
"version"
>
<tuplizer
entity-mode=
"dynamic-map"
class=
"com.beecode.bcp.store.hibernate.KObjectEntityTuplizer"
/>
<id
name=
"id"
type=
"uuid-binary"
column=
"id"
length=
"16"
>
<generator
class=
"assigned"
/>
</id>
<version
name=
"version"
type=
"int"
column=
"version"
/>
<property
name=
"createTime"
type=
"timestamp"
not-null=
"false"
>
<column
name=
"create_time"
/>
</property>
<many-to-one
name=
"creator"
entity-name=
"com.beecode.bap.staff.datamodel.Staff"
fetch=
"select"
>
<column
name=
"creator_id"
not-null=
"false"
/>
</many-to-one>
<property
name=
"modifyTime"
type=
"timestamp"
not-null=
"false"
>
<column
name=
"modify_time"
/>
</property>
<many-to-one
name=
"modifier"
entity-name=
"com.beecode.bap.staff.datamodel.Staff"
fetch=
"select"
>
<column
name=
"modifier_id"
not-null=
"false"
/>
</many-to-one>
<property
name=
"billState"
type=
"nstring"
not-null=
"false"
>
<column
name=
"bill_state"
length=
"100"
/>
</property>
<many-to-one
name=
"bizProcess"
entity-name=
"com.beecode.bap.workflow.datamodel.BizProcess"
fetch=
"select"
>
<column
name=
"biz_process_id"
not-null=
"false"
/>
</many-to-one>
<property
name=
"billCode"
type=
"nstring"
not-null=
"false"
>
<column
name=
"bill_code"
length=
"200"
/>
</property>
<property
name=
"discard"
type=
"boolean"
not-null=
"false"
>
<column
name=
"discard"
/>
</property>
<property
name=
"del"
type=
"boolean"
not-null=
"false"
>
<column
name=
"del"
/>
</property>
<property
name=
"approveState"
type=
"integer"
not-null=
"false"
>
<column
name=
"approve_state"
/>
</property>
<many-to-one
name=
"currentRegionalCompany"
entity-name=
"com.xyst.dinas.biz.datamodel.xystOrganization"
fetch=
"select"
>
<column
name=
"current_regional_company_id"
not-null=
"false"
>
<comment>
所属组织机构
</comment>
</column>
</many-to-one>
<many-to-one
name=
"canLookRegionalCompany"
entity-name=
"com.xyst.dinas.biz.datamodel.xystOrganization"
fetch=
"select"
>
<column
name=
"can_look_regional_company_id"
not-null=
"false"
>
<comment>
所属组织机构
</comment>
</column>
</many-to-one>
</class>
</hibernate-mapping>
\ No newline at end of file
backend/xyst.dinas.production/src/main/java/com/xyst/dinas/production/internal/dao/ProductionPlanReportDaoImpl.java
View file @
509aa12b
...
...
@@ -5,17 +5,11 @@ import com.beecode.bap.attachment.common.Page;
import
com.beecode.bcp.core.context.AminoContextHolder
;
import
com.beecode.bcp.type.KClass
;
import
com.beecode.bcp.type.KObject
;
import
com.beecode.bcp.type.json.JSONObjectUtils
;
import
com.beecode.inz.basis.internal.dao.AbstractBaseDao
;
import
com.beecode.inz.common.BaseConstants
;
import
com.beecode.inz.common.util.JsonUtil
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.xyst.dinas.biz.dao.DinasTypeDao
;
import
com.xyst.dinas.production.constant.ProductionPlanReportConstant
;
import
com.xyst.dinas.production.dao.ProductionPlanReportDao
;
import
net.sf.json.JSONArray
;
import
net.sf.json.JSONObject
;
import
net.sf.json.JsonConfig
;
import
org.hibernate.criterion.DetachedCriteria
;
import
org.hibernate.criterion.Order
;
import
org.hibernate.criterion.Projections
;
...
...
@@ -70,7 +64,8 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
detachedCriteria
.
addOrder
(
Order
.
desc
(
BaseConstants
.
CREATE_TIME
));
int
offset
=
page
.
getPageSize
()
*
(
page
.
getPageNo
()
-
1
);
List
<
KObject
>
list
=
(
List
<
KObject
>)
template
.
findByCriteria
(
detachedCriteria
,
offset
,
page
.
getPageSize
());
Long
totalCount
=
(
Long
)
detachedCriteria
.
setProjection
(
Projections
.
rowCount
()).
getExecutableCriteria
(
template
.
getSessionFactory
().
getCurrentSession
()).
uniqueResult
();
Long
totalCount
=
(
Long
)
detachedCriteria
.
setProjection
(
Projections
.
rowCount
()).
getExecutableCriteria
(
template
.
getSessionFactory
().
getCurrentSession
()).
setFirstResult
(
0
).
setMaxResults
(
1
).
uniqueResult
();
page
.
setTotal
(
Math
.
toIntExact
(
totalCount
));
ArrayList
<
KObject
>
kObjects
=
removeBaseFiled
(
list
);
page
.
setDatas
(
kObjects
);
...
...
@@ -86,10 +81,12 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
clone
.
setNull
(
BaseConstants
.
CREATOR
);
clone
.
setNull
(
BaseConstants
.
MODIFIER
);
clone
.
setNull
(
"regionalCompany"
);
clone
.
get
(
"station"
).
setNull
(
BaseConstants
.
CREATOR
);
clone
.
get
(
"station"
).
setNull
(
BaseConstants
.
MODIFIER
);
clone
.
get
(
"station"
).
setNull
(
"regionalCompany"
);
dinasTypeDetailsKObj
=
clone
.
get
(
"dinasTypeDetails"
);
KObject
station
=
clone
.
get
(
"station"
).
clone
();
station
.
setNull
(
BaseConstants
.
CREATOR
);
station
.
setNull
(
BaseConstants
.
MODIFIER
);
station
.
setNull
(
"regionalCompany"
);
clone
.
set
(
"station"
,
station
);
dinasTypeDetailsKObj
=
clone
.
get
(
"dinasTypeDetails"
).
clone
();
if
(
null
!=
dinasTypeDetailsKObj
){
dinasTypeDetails
=
dinasTypeDetailsKObj
.
toArray
();
for
(
KObject
dinasTypeDetail
:
dinasTypeDetails
)
{
...
...
@@ -98,6 +95,7 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
dinasTypeDetail
.
get
(
"dinasType"
).
setNull
(
"regionalCompany"
);
}
}
clone
.
set
(
"dinasTypeDetails"
,
dinasTypeDetailsKObj
);
kObjects
.
add
(
clone
);
}
return
kObjects
;
...
...
@@ -163,6 +161,9 @@ public class ProductionPlanReportDaoImpl extends AbstractBaseDao implements Prod
KClass
bean
=
Amino
.
getStaticMetadataContext
().
getBean
(
ProductionPlanReportConstant
.
DETAIL_ENTITY
,
KClass
.
class
);
DetachedCriteria
detachedCriteria
=
DetachedCriteria
.
forEntityName
(
bean
.
getName
());
detachedCriteria
.
createAlias
(
"master"
,
"master"
);
detachedCriteria
.
createAlias
(
"dinasType"
,
"dinasType"
);
detachedCriteria
.
add
(
Restrictions
.
eq
(
"dinasType.del"
,
false
));
detachedCriteria
.
add
(
Restrictions
.
eq
(
"master.del"
,
false
));
if
(
null
!=
stationId
)
{
detachedCriteria
.
add
(
Restrictions
.
eq
(
"master.station.id"
,
stationId
));
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment