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
ff8722e4
Commit
ff8722e4
authored
May 14, 2021
by
高晓磊
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
销售记录同步地磅信息时,同时同步到运输记录
parent
d91edc45
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
73 additions
and
13 deletions
+73
-13
SalesRecordConstant.java
...va/com/xyst/dinas/sales/constant/SalesRecordConstant.java
+7
-1
SalesPlanDao.java
.../src/main/java/com/xyst/dinas/sales/dao/SalesPlanDao.java
+5
-2
SalesRecordDao.java
...rc/main/java/com/xyst/dinas/sales/dao/SalesRecordDao.java
+4
-0
SalesRecordDaoImpl.java
...com/xyst/dinas/sales/internal/dao/SalesRecordDaoImpl.java
+36
-8
SalesRecordServiceImpl.java
.../dinas/sales/internal/service/SalesRecordServiceImpl.java
+21
-2
No files found.
backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/constant/SalesRecordConstant.java
View file @
ff8722e4
...
...
@@ -3,7 +3,13 @@ package com.xyst.dinas.sales.constant;
public
interface
SalesRecordConstant
{
public
static
String
ENTITY
=
"com.xyst.dinas.sales.datamodel.SalesRecord"
;
//派单表实体
public
static
String
VEHICLE_DISPATCH_ENTITY
=
"com.xyst.dinas.transport.datamodel.VehicleDispatch"
;
//运输记录实体
public
static
String
TRANSPORT_RECORD_ENTITY
=
"com.xyst.dinas.transport.datamodel.TransportRecord"
;
//运输车辆实体
public
static
String
TRANSPORT_VEHICLE_ENTITY
=
"com.xyst.dinas.transport.datamodel.TransportVehicle"
;
//销售台账ID
public
static
final
String
ID
=
"id"
;
//创建时间
...
...
backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/dao/SalesPlanDao.java
View file @
ff8722e4
...
...
@@ -9,9 +9,11 @@ import java.util.UUID;
import
com.beecode.amino.core.Amino
;
import
com.beecode.bcp.type.KClass
;
import
com.beecode.inz.common.BaseConstants
;
import
com.beecode.inz.common.util.DateTimeUtils
;
import
com.xyst.dinas.biz.dao.DinasTypeDao
;
import
com.xyst.dinas.sales.enumeration.TransportModeEnum
;
import
org.apache.commons.lang3.time.DateFormatUtils
;
import
org.apache.commons.lang3.time.DateUtils
;
import
org.hibernate.criterion.DetachedCriteria
;
import
org.hibernate.criterion.Projections
;
import
org.hibernate.criterion.Restrictions
;
...
...
@@ -240,8 +242,9 @@ public class SalesPlanDao {
dinasTypeDao
.
addRegionalCompanyFilter
(
detachedCriteria
);
detachedCriteria
.
createAlias
(
"planningCycle"
,
"planningCycle"
);
detachedCriteria
.
createAlias
(
"contract"
,
"contract"
);
detachedCriteria
.
add
(
Restrictions
.
le
(
"planningCycle.startTime"
,
date
));
detachedCriteria
.
add
(
Restrictions
.
gt
(
"planningCycle.endTime"
,
date
));
//获取本周和下周时间段内的临时销售计划
detachedCriteria
.
add
(
Restrictions
.
le
(
"planningCycle.startTime"
,
DateTimeUtils
.
getWeekStart
(
date
,
0
)));
detachedCriteria
.
add
(
Restrictions
.
gt
(
"planningCycle.endTime"
,
DateTimeUtils
.
getWeekEnd
(
date
,
1
)));
detachedCriteria
.
add
(
Restrictions
.
eq
(
SalesPlanConstant
.
APPROVE_STATE
,
1
));
detachedCriteria
.
add
(
Restrictions
.
eq
(
"transportMode"
,
TransportModeEnum
.
DELIVERY
.
name
()));
detachedCriteria
.
setProjection
(
Projections
.
distinct
(
Projections
.
property
(
"contract.purchaseSandUnit"
)));
...
...
backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/dao/SalesRecordDao.java
View file @
ff8722e4
...
...
@@ -12,4 +12,8 @@ public interface SalesRecordDao {
UUID
insert
(
KObject
entity
);
List
<
Map
<
String
,
Object
>>
getAllSalesRecordByDate
(
String
dateNow
,
String
dateBefore
);
void
saveAstTransportRecord
(
KObject
salesRecord
,
KObject
cardInfo
);
KObject
findCardByPlateNumber
(
String
string
,
KObject
kObject
);
}
backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/internal/dao/SalesRecordDaoImpl.java
View file @
ff8722e4
package
com
.
xyst
.
dinas
.
sales
.
internal
.
dao
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.UUID
;
import
java.util.*
;
import
javax.persistence.Tuple
;
import
com.beecode.amino.core.Amino
;
import
com.beecode.bcp.type.KClass
;
import
com.beecode.inz.common.BaseConstants
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.hibernate.HibernateException
;
import
org.hibernate.Session
;
import
org.hibernate.criterion.DetachedCriteria
;
import
org.hibernate.criterion.Restrictions
;
import
org.hibernate.query.Query
;
import
org.json.JSONArray
;
import
org.json.JSONObject
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.orm.hibernate5.HibernateCallback
;
import
org.springframework.orm.hibernate5.HibernateOperations
;
...
...
@@ -67,4 +67,31 @@ public class SalesRecordDaoImpl implements SalesRecordDao, SalesRecordConstant {
}
});
}
}
@Override
public
void
saveAstTransportRecord
(
KObject
salesRecord
,
KObject
cardInfo
)
{
KClass
bean
=
Amino
.
getStaticMetadataContext
().
getBean
(
TRANSPORT_RECORD_ENTITY
,
KClass
.
class
);
KObject
kObject
=
bean
.
newInstance
();
kObject
.
set
(
BaseConstants
.
ID
,
UUID
.
randomUUID
());
kObject
.
set
(
BaseConstants
.
DEL
,
false
);
kObject
.
set
(
BaseConstants
.
DISCARD
,
false
);
kObject
.
set
(
BaseConstants
.
CREATE_TIME
,
new
Date
());
kObject
.
set
(
REGIONALCOMPANY
,
salesRecord
.
get
(
REGIONALCOMPANY
));
kObject
.
set
(
"saleRecord"
,
salesRecord
);
kObject
.
set
(
"transportVehicle"
,
cardInfo
);
kObject
.
set
(
"confirmStatus"
,
0
);
}
@Override
public
KObject
findCardByPlateNumber
(
String
string
,
KObject
kObject
)
{
KClass
bean
=
Amino
.
getStaticMetadataContext
().
getBean
(
TRANSPORT_VEHICLE_ENTITY
,
KClass
.
class
);
DetachedCriteria
detachedCriteria
=
DetachedCriteria
.
forEntityName
(
bean
.
getName
());
detachedCriteria
.
add
(
Restrictions
.
eq
(
"plateNumber"
,
string
));
detachedCriteria
.
add
(
Restrictions
.
eq
(
REGIONALCOMPANY
+
"."
+
BaseConstants
.
ID
,
kObject
.
getUuid
(
BaseConstants
.
ID
)));
List
<?>
byCriteria
=
template
.
findByCriteria
(
detachedCriteria
);
if
(
CollectionUtils
.
isNotEmpty
(
byCriteria
)&&
byCriteria
.
size
()>
0
){
return
(
KObject
)
byCriteria
.
get
(
0
);
}
return
null
;
}
}
\ No newline at end of file
backend/xyst.dinas.sales/src/main/java/com/xyst/dinas/sales/internal/service/SalesRecordServiceImpl.java
View file @
ff8722e4
...
...
@@ -9,6 +9,7 @@ import java.util.UUID;
import
javax.transaction.Transactional
;
import
org.apache.commons.lang3.StringUtils
;
import
org.json.JSONArray
;
import
org.json.JSONObject
;
import
org.slf4j.Logger
;
...
...
@@ -218,8 +219,11 @@ public class SalesRecordServiceImpl implements SalesRecordService {
inventoryService
.
modifyInventory
(
params
.
toString
(),
false
,
true
);
}
UUID
salesRecordId
=
salesRecordDao
.
insert
(
salesRecord
);
salesRecordIdList
.
add
(
salesRecordId
);
//将地磅记录同时保存到运输记录,需要判断是配送还是自提,或者直接根据车牌号判断,如果非配送的车牌应该在派单中没有记录
saveAstTransportRecord
(
salesRecord
);
salesRecordIdList
.
add
(
salesRecordId
);
}
}
catch
(
SyncException
e
)
{
state
=
"failure"
;
throw
new
SyncException
(
"销售台账信息存储报出错:"
+
e
.
getMessage
());
...
...
@@ -227,7 +231,22 @@ public class SalesRecordServiceImpl implements SalesRecordService {
return
state
;
}
private
String
dataExistenceCheck
(
String
name
,
String
value
)
{
private
void
saveAstTransportRecord
(
KObject
salesRecord
)
{
String
salesRecordCard
=
salesRecord
.
getString
(
SalesRecordConstant
.
CARINFO
);
if
(
StringUtils
.
isEmpty
(
salesRecordCard
)){
return
;
}
//根据车牌查询是否有对应的派单信息, 如果没有是否还需要同步?
//就算没有查到派单也可以同步,只是脏数据
//查询运输车辆是否维护过该车牌,如果还没有那就不要这条记录了,可能是散户的
KObject
kObject
=
salesRecordDao
.
findCardByPlateNumber
(
salesRecordCard
,
salesRecord
.
get
(
SalesRecordConstant
.
REGIONALCOMPANY
));
if
(
kObject
==
null
){
return
;
}
salesRecordDao
.
saveAstTransportRecord
(
salesRecord
,
kObject
);
}
private
String
dataExistenceCheck
(
String
name
,
String
value
)
{
String
result
=
null
;
if
(
null
!=
value
&&
""
!=
value
)
{
result
=
value
;
...
...
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