Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
A
Aidea
Project
Project
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
sa_aidea
Aidea
Commits
2215e2d5
Commit
2215e2d5
authored
Mar 21, 2021
by
谢希宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Submit by Strive
Date 2021/03/21
parent
dc664365
Show whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
349 additions
and
253 deletions
+349
-253
consultSheetReport.html
...webapp/WEB-INF/views/consultSheet/consultSheetReport.html
+4
-4
consultSheetform.html
...n/webapp/WEB-INF/views/consultSheet/consultSheetform.html
+28
-15
consultSheetlist.html
...n/webapp/WEB-INF/views/consultSheet/consultSheetlist.html
+2
-2
ConsultSheetMapper.xml
...n/java/com/cftech/consultsheet/dao/ConsultSheetMapper.xml
+6
-4
ConsultSheet.java
...main/java/com/cftech/consultsheet/model/ConsultSheet.java
+1
-0
ConsultSheetServiceImpl.java
...ch/consultsheet/service/impl/ConsultSheetServiceImpl.java
+3
-3
ConsultSheetController.java
...a/com/cftech/consultsheet/web/ConsultSheetController.java
+53
-18
CouponrecordMapper.xml
...n/java/com/cftech/couponrecord/dao/CouponrecordMapper.xml
+4
-4
CouponrecordServiceImpl.java
...ch/couponrecord/service/impl/CouponrecordServiceImpl.java
+2
-1
orderSendOut.html
...web/src/main/webapp/WEB-INF/views/order/orderSendOut.html
+155
-139
OrderMapper.xml
...module/src/main/java/com/cftech/order/dao/OrderMapper.xml
+4
-1
OrderService.java
.../src/main/java/com/cftech/order/service/OrderService.java
+1
-1
OrderServiceImpl.java
.../java/com/cftech/order/service/impl/OrderServiceImpl.java
+27
-18
OrderController.java
...e/src/main/java/com/cftech/order/web/OrderController.java
+2
-1
productBatchlist.html
...c/main/webapp/WEB-INF/views/product/productBatchlist.html
+14
-4
ProductBatchMapper.xml
...c/main/java/com/cftech/product/dao/ProductBatchMapper.xml
+1
-1
ProductBatchController.java
...n/java/com/cftech/product/web/ProductBatchController.java
+8
-1
waybilllist.html
...eb/src/main/webapp/WEB-INF/views/waybill/waybilllist.html
+4
-5
WaybillServiceImpl.java
...a/com/cftech/waybill/service/impl/WaybillServiceImpl.java
+1
-18
application.properties
cftech-common-web/src/main/resources/application.properties
+6
-6
common-test.properties
cftech-common-web/src/main/resources/common-test.properties
+5
-1
common.properties
cftech-common-web/src/main/resources/common.properties
+15
-3
redis-config.properties
cftech-common-web/src/main/resources/redis-config.properties
+3
-3
No files found.
aidea-modules/consult-module-web/src/main/webapp/WEB-INF/views/consultSheet/consultSheetReport.html
View file @
2215e2d5
...
...
@@ -212,7 +212,7 @@
<th>
药师
</th>
<th>
客服
</th>
<th>
审核状态
</th>
<th>
拒绝原由
</th>
<th>
购买数量
</th>
<th>
提交时间
</th>
<th>
审核时间
</th>
<th>
处方单
</th>
...
...
@@ -357,7 +357,7 @@
"mData"
:
"status"
},
{
"mData"
:
"d
escription
"
"mData"
:
"d
rugNum
"
},
{
"mData"
:
"createTime"
...
...
@@ -485,9 +485,9 @@
}
},
{
"width"
:
"
12
0px"
,
"width"
:
"
6
0px"
,
"aTargets"
:
[
10
],
"mData"
:
"d
escription
"
,
"mData"
:
"d
rugNum
"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
if
(
a
)
{
return
a
;
...
...
aidea-modules/consult-module-web/src/main/webapp/WEB-INF/views/consultSheet/consultSheetform.html
View file @
2215e2d5
...
...
@@ -566,7 +566,6 @@
$
(
this
).
fadeOut
(
200
)
});
function
imgcli
(
obj
)
{
$
(
'#divimg img'
).
attr
(
'src'
,
$
(
obj
).
attr
(
"src"
));
...
...
@@ -586,7 +585,29 @@
$
(
'#divimg img'
).
css
(
"margin-left"
,
val
+
"%"
);
$
(
'#divimg img'
).
css
(
"margin-top"
,
"5%"
);
$
(
'#divimg'
).
fadeIn
(
200
);
}
function
imgBySrc
(
obj
)
{
$
(
'#divimg img'
).
attr
(
'src'
,
$
(
obj
).
attr
(
'data-src'
));
setTimeout
(
function
()
{
var
img
=
$
(
'#divimg img'
)[
0
];
let
imgH
=
img
.
naturalHeight
;
//图片高度
let
imgW
=
img
.
naturalWidth
;
//图片宽度
let
finalImgH
=
(
$
(
'.content-wrapper'
).
height
()
*
0.8
).
toFixed
(
2
);
let
algorithm
=
(
imgH
/
finalImgH
).
toFixed
(
2
);
let
finalImgW
=
(
imgW
/
algorithm
).
toFixed
(
2
);
let
val
=
(
1
-
(
finalImgW
/
$
(
'.content-wrapper'
).
width
()).
toFixed
(
2
))
/
2
*
100
-
3
;
$
(
'#divimg'
).
height
(
$
(
'.content-wrapper'
).
height
());
$
(
'#divimg img'
).
height
(
finalImgH
);
$
(
'#divimg img'
).
width
(
finalImgW
);
$
(
'#divimg img'
).
css
(
"margin-left"
,
val
+
"%"
);
$
(
'#divimg img'
).
css
(
"margin-top"
,
"5%"
);
$
(
'#divimg'
).
fadeIn
(
200
);
},
500
);
}
function
hide
()
{
...
...
@@ -992,22 +1013,14 @@
}
function
initTables
()
{
var
sSource
=
"#springUrl('/a/consultSheet/
l
istData')?openId="
+
openid
;
var
sSource
=
"#springUrl('/a/consultSheet/
historyL
istData')?openId="
+
openid
;
var
aoData
=
{
iDisplayStart
:
1
,
iDosplayLength
:
10
}
var
retrieveData
=
function
(
sSource
,
aoData
,
fnCallback
)
{
// $("#seachTableForm input,select").each(function () {
// var params = {
// name: $(this).attr("name"),
// value: $(this).val()
// };
// aoData.push(params);
// });
console
.
log
(
aoData
);
$
.
ajax
({
"type"
:
"GET"
,
"url"
:
sSource
,
...
...
@@ -1017,7 +1030,6 @@
});
};
$
(
'#table'
).
DataTable
({
"lengthChange"
:
false
,
"searching"
:
false
,
...
...
@@ -1115,7 +1127,7 @@
},
{
"aTargets"
:
[
5
],
"mData"
:
"d
escription
"
,
"mData"
:
"d
rugNum
"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
if
(
a
)
{
return
a
;
...
...
@@ -1129,7 +1141,7 @@
"mData"
:
"createTime"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
if
(
a
)
{
return
moment
(
a
).
format
(
'YYYY-MM-DD HH:mm:ss'
);
;
return
moment
(
a
).
format
(
'YYYY-MM-DD HH:mm:ss'
);
}
else
{
return
null
;
}
...
...
@@ -1151,7 +1163,8 @@
"mData"
:
"prescription"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
if
(
a
)
{
return
`<img src="`
+
a
+
`" style="height: 80px; width: 80px" onclick="imgcli(this)">`
;
console
.
log
(
a
);
return
'<a href="javascript:void(0);" data-src="'
+
a
+
'" onclick="imgBySrc(this)" class="btn green" >查看咨询单</a>'
;
}
else
{
return
null
;
}
...
...
aidea-modules/consult-module-web/src/main/webapp/WEB-INF/views/consultSheet/consultSheetlist.html
View file @
2215e2d5
...
...
@@ -219,8 +219,8 @@
<!-- SlimScroll -->
<script
src=
"plugins/slimScroll/jquery.slimscroll.min.js"
></script>
<
script
src=
"plugins/bootstrap-dateTimePicker/bootstrap-datetimepicker.js"
></script
>
<
script
src=
"plugins/bootstrap-dataTimePicker/bootstrap-datetimepicker.zh-CN.js"
></script
>
<
!--<script src="plugins/bootstrap-dateTimePicker/bootstrap-datetimepicker.js"></script>--
>
<
!--<script src="plugins/bootstrap-dataTimePicker/bootstrap-datetimepicker.zh-CN.js"></script>--
>
<!-- FastClick -->
<script
src=
"plugins/fastclick/fastclick.min.js"
></script>
<!--fileinput js-->
...
...
aidea-modules/consult-module/src/main/java/com/cftech/consultsheet/dao/ConsultSheetMapper.xml
View file @
2215e2d5
...
...
@@ -210,16 +210,18 @@
LEFT JOIN t_aidea_authentication au ON m.cardid = au.id_card AND au.del_flag = '0'
LEFT JOIN wx_mp_fanss f ON f.openid = a.open_id AND f.delflag = '0'
<include
refid=
"sqlWhere"
/>
<if
test=
"id!=null"
>
and (a.doctor_id = ${userid} or a.service_id =${userid})
</if>
<if
test=
"
user
id!=null"
>
and (a.doctor_id = ${userid} or a.service_id =${userid})
</if>
</select>
<select
id=
"fetchSearchByPage"
parameterType=
"java.util.Map"
resultType=
"com.cftech.consultsheet.model.ConsultSheet"
>
SELECT
<include
refid=
"sqlColumns"
/>
,
o.number orderCode, au.status isThree,
o.number orderCode,
au.status isThree,
(SELECT status FROM t_order sales WHERE sales.del_flag = '0' AND sales.status = '4' AND sales.openid = a.open_id LIMIT 1) isSales,
f.store fansAlias,
o.status orderStatus
o.status orderStatus,
(SELECT SUM(od.drugs_num) FROM t_order_details od WHERE od.order_id = o.id AND od.del_flag = '0') drugNum
FROM t_aidea_consult_sheet a
LEFT JOIN t_order o ON a.order_id = o.id
LEFT JOIN t_qyuser b ON b.id = a.doctor_id AND b.del_flag = '0'
...
...
@@ -228,7 +230,7 @@
LEFT JOIN t_aidea_authentication au ON m.cardid = au.id_card AND au.del_flag = '0'
LEFT JOIN wx_mp_fanss f ON f.openid = a.open_id AND f.delflag = '0'
<include
refid=
"sqlWhere"
/>
<if
test=
"id!=null"
>
AND (a.doctor_id = ${userid} or a.service_id =${userid})
</if>
<if
test=
"
user
id!=null"
>
AND (a.doctor_id = ${userid} or a.service_id =${userid})
</if>
<if
test=
"sort!=null"
>
ORDER BY ${sort.param} ${sort.type}
</if>
<if
test=
"limit>0"
>
limit #{offset},#{limit}
</if>
</select>
...
...
aidea-modules/consult-module/src/main/java/com/cftech/consultsheet/model/ConsultSheet.java
View file @
2215e2d5
...
...
@@ -96,6 +96,7 @@ public class ConsultSheet extends UserSheet implements Serializable {
private
String
isThree
;
//是否三期患者
private
String
isSales
;
//是否购买
private
String
orderStatus
;
//订单状态
private
String
drugNum
;
//购买数量
public
ConsultSheet
()
{
this
.
delFlag
=
false
;
...
...
aidea-modules/consult-module/src/main/java/com/cftech/consultsheet/service/impl/ConsultSheetServiceImpl.java
View file @
2215e2d5
...
...
@@ -101,7 +101,7 @@ public class ConsultSheetServiceImpl extends GenericServiceImpl<ConsultSheet> im
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"conds"
,
conds
);
if
(
userid
!=
null
&&
userid
!=
1
)
{
params
.
put
(
"id"
,
userid
);
params
.
put
(
"
user
id"
,
userid
);
}
return
consultSheetMapper
.
fetchSearchByCount
(
params
);
}
...
...
@@ -353,7 +353,7 @@ public class ConsultSheetServiceImpl extends GenericServiceImpl<ConsultSheet> im
//推送客服消息
String
msg
=
null
;
Qyuser
service
=
qyuserService
.
fetchById
(
consultSheet
.
getServiceId
());
msg
=
SystemConfig
.
p
.
getProperty
(
"QY_SEND_CUSTOMERSERVICE_MSG"
).
replace
(
"{NUMBER}"
,
consultSheet
.
getConsultId
()).
replace
(
"{NICKNAME}"
,
nickname
).
replace
(
"{FANSALIAS}"
,
fansAlias
);
msg
=
SystemConfig
.
p
.
getProperty
(
"QY_SEND_CUSTOMERSERVICE_MSG"
).
replace
(
"{NUMBER}"
,
consultSheet
.
getConsultId
()).
replace
(
"{NICKNAME}"
,
StringUtils
.
isBlank
(
nickname
)
?
""
:
nickname
).
replace
(
"{FANSALIAS}"
,
fansAlias
);
List
<
Qyuser
>
serviceUsers
=
new
ArrayList
();
serviceUsers
.
add
(
service
);
JSONObject
result
=
qyMsgUtil
.
sendText
(
accounts
,
false
,
serviceUsers
,
null
,
null
,
...
...
@@ -361,7 +361,7 @@ public class ConsultSheetServiceImpl extends GenericServiceImpl<ConsultSheet> im
log
.
info
(
"客服,消息发送日志 {}"
,
result
.
toString
());
Qyuser
doctor
=
qyuserService
.
fetchById
(
consultSheet
.
getDoctorId
());
msg
=
SystemConfig
.
p
.
getProperty
(
"QY_SEND_DOCTOR_MSG"
).
replace
(
"{NUMBER}"
,
consultSheet
.
getConsultId
()).
replace
(
"{NICKNAME}"
,
nickname
).
replace
(
"{FANSALIAS}"
,
fansAlias
);
msg
=
SystemConfig
.
p
.
getProperty
(
"QY_SEND_DOCTOR_MSG"
).
replace
(
"{NUMBER}"
,
consultSheet
.
getConsultId
()).
replace
(
"{NICKNAME}"
,
StringUtils
.
isBlank
(
nickname
)
?
""
:
nickname
).
replace
(
"{FANSALIAS}"
,
fansAlias
);
List
<
Qyuser
>
doctorUsers
=
new
ArrayList
();
doctorUsers
.
add
(
doctor
);
qyMsgUtil
.
sendText
(
accounts
,
false
,
doctorUsers
,
null
,
null
,
...
...
aidea-modules/consult-module/src/main/java/com/cftech/consultsheet/web/ConsultSheetController.java
View file @
2215e2d5
...
...
@@ -256,6 +256,28 @@ public class ConsultSheetController {
return
rtnJson
;
}
@RequestMapping
(
value
=
"/historyListData"
)
@ResponseBody
public
JSONObject
historyListData
(
int
iDisplayStart
,
int
iDisplayLength
,
ConsultSheet
consultSheet
,
HttpServletRequest
request
)
{
Long
userid
=
UserUtils
.
getUser
().
getUserid
();
Long
accountsId
=
UserUtils
.
getmpaccounts
(
request
);
Conds
conds
=
new
Conds
();
conds
.
equal
(
"a.del_flag"
,
Constants
.
DEL_FLAG_0
);
conds
.
equal
(
"a.accounts_id"
,
accountsId
);
conds
.
equal
(
"a.open_id"
,
consultSheet
.
getOpenId
());
Sort
sort
=
new
Sort
(
"a.create_time"
,
OrderType
.
DESC
);
List
<
ConsultSheet
>
list
=
consultSheetService
.
fetchSearchBy
(
conds
,
sort
,
iDisplayStart
,
iDisplayLength
,
null
);
Integer
counts
=
consultSheetService
.
fetchSearchByCount
(
conds
,
null
);
JSONObject
rtnJson
=
new
JSONObject
();
rtnJson
.
put
(
"iTotalRecords"
,
counts
);
rtnJson
.
put
(
"iTotalDisplayRecords"
,
counts
);
rtnJson
.
put
(
"aaData"
,
list
);
return
rtnJson
;
}
//删除数据
@RequiresPermissions
(
value
=
CONSULTSHEET_EDIT
)
@RequestMapping
(
"/delete"
)
...
...
@@ -502,8 +524,7 @@ public class ConsultSheetController {
consultSheet
.
setNumberId
(
fansAlias
);
consultSheet
.
setStatus
(
status
);
consultSheet
.
setOrderId
(
order
.
getId
());
consultSheetService
.
update
(
consultSheet
);
if
(
consultSheetService
.
update
(
consultSheet
))
{
//发送审核通过模板消息
String
appid
=
SystemConfig
.
p
.
getProperty
(
"WX_MP_SERVER_APPID"
);
String
refuseTmpId
=
SystemConfig
.
p
.
getProperty
(
"CONSULT_SHEET_AUDIT_SUCCESS_TEMPLATE_MSG"
);
...
...
@@ -515,6 +536,8 @@ public class ConsultSheetController {
order
.
getNumber
()};
sendMessage
(
refuseTmpId
,
token
,
consultSheet
.
getOpenId
(),
first
,
remark
,
keywords
,
url
);
sendQyWechatMassage
(
consultSheet
);
}
rtnJson
.
put
(
"errorNo"
,
0
);
}
}
...
...
@@ -582,16 +605,28 @@ public class ConsultSheetController {
Conds
qyuserConds
=
new
Conds
();
qyuserConds
.
equal
(
"t.del_flag"
,
Constants
.
DEL_FLAG_0
);
qyuserConds
.
equal
(
"t.id"
,
consultSheet
.
getServiceId
());
//
订单员职业
qyuserConds
.
equal
(
"t.id"
,
consultSheet
.
getServiceId
());
//
客服
List
<
Qyuser
>
qyusers
=
qyuserService
.
fetchSearchByPage
(
qyuserConds
,
null
,
0
,
0
);
if
(
qyusers
==
null
||
qyusers
.
size
()
<=
0
)
{
return
false
;
}
//推送客服消息
String
msg
=
SystemConfig
.
p
.
getProperty
(
"QY_SEND_SERVICE_AUDIT_FAIL_MAG"
)
+
consultSheet
.
getConsultId
()
+
";患者昵称:"
+
//获取咨询单当前审核状态
ConsultSheet
nowConsultSheet
=
consultSheetService
.
fetchById
(
consultSheet
.
getId
());
String
msg
=
""
;
if
(
StringUtils
.
equals
(
nowConsultSheet
.
getStatus
(),
"1"
))
{
//咨询单审核失败推送消息(客服)
msg
=
SystemConfig
.
p
.
getProperty
(
"QY_SEND_SERVICE_AUDIT_SUCCESS_MAG"
)
+
consultSheet
.
getConsultId
()
+
";患者昵称:"
+
(
StringUtils
.
isNoneBlank
(
consultSheet
.
getNickName
())
?
consultSheet
.
getNickName
()
:
""
)
+
";患者别名:"
+
consultSheet
.
getFansAlias
()
+
";患者openid:"
+
consultSheet
.
getOpenId
();
}
else
{
//咨询单审核失败推送消息(客服)
msg
=
SystemConfig
.
p
.
getProperty
(
"QY_SEND_SERVICE_AUDIT_FAIL_MAG"
)
+
consultSheet
.
getConsultId
()
+
";患者昵称:"
+
(
StringUtils
.
isNoneBlank
(
consultSheet
.
getNickName
())
?
consultSheet
.
getNickName
()
:
""
)
+
";患者别名:"
+
consultSheet
.
getFansAlias
()
+
";患者openid:"
+
consultSheet
.
getOpenId
();
}
qyMsgUtil
.
sendText
(
accounts
,
false
,
qyusers
,
null
,
null
,
agenId
,
msg
,
false
);
return
true
;
}
...
...
aidea-modules/couponrecord-module/src/main/java/com/cftech/couponrecord/dao/CouponrecordMapper.xml
View file @
2215e2d5
...
...
@@ -233,7 +233,7 @@
a.id,a.number,DATE_FORMAT(a.take_Effect_Date,'%Y-%m-%d') create_time,DATE_FORMAT(a.expire_Date,'%Y-%m-%d')
invalid_date,a.status,c.name
from t_aidea_coupon_record a
inner join t_aidea_
C
heck_coupon c on a.coupon_Id = c.id
inner join t_aidea_
c
heck_coupon c on a.coupon_Id = c.id
where a.del_flag = 0 and a.status=2
<if
test=
"openId!=null"
>
and a.openid = #{openId}
...
...
@@ -249,7 +249,7 @@
a.id,a.number,DATE_FORMAT(a.take_Effect_Date,'%Y-%m-%d') create_time,DATE_FORMAT(a.expire_Date,'%Y-%m-%d')
invalid_date,a.status ,c.name
from t_aidea_coupon_record a
inner join t_aidea_
C
heck_coupon c on a.coupon_Id = c.id
inner join t_aidea_
c
heck_coupon c on a.coupon_Id = c.id
where a.del_flag = 0 and a.status=3
<if
test=
"openId!=null"
>
and a.openid = #{openId}
...
...
@@ -265,7 +265,7 @@
a.id,a.number,DATE_FORMAT(a.take_Effect_Date,'%Y-%m-%d') create_time,DATE_FORMAT(a.expire_Date,'%Y-%m-%d')
invalid_date,a.status, c.name
from t_aidea_coupon_record a
inner join t_aidea_
C
heck_coupon c on a.coupon_Id = c.id
inner join t_aidea_
c
heck_coupon c on a.coupon_Id = c.id
where a.del_flag = 0 and (a.status=1 or a.status=0)
<if
test=
"openId!=null"
>
and a.openid = #{openId}
...
...
@@ -289,7 +289,7 @@
c.instructions,
c.name
from t_aidea_coupon_record a
inner join t_aidea_
C
heck_coupon c on a.coupon_Id = c.id
inner join t_aidea_
c
heck_coupon c on a.coupon_Id = c.id
where a.id = #{id}
</select>
...
...
aidea-modules/couponrecord-module/src/main/java/com/cftech/couponrecord/service/impl/CouponrecordServiceImpl.java
View file @
2215e2d5
...
...
@@ -202,7 +202,8 @@ public class CouponrecordServiceImpl extends GenericServiceImpl<Couponrecord> im
if
(
date
!=
null
)
{
conds
.
greatEqual
(
"t.pay_time"
,
date
);
}
else
{
conds
.
equal
(
"DATE_FORMAT(t.pay_time, '%Y')"
,
new
Date
().
getYear
());
Calendar
calendar
=
Calendar
.
getInstance
();
conds
.
equal
(
"DATE_FORMAT(t.pay_time, '%Y')"
,
calendar
.
get
(
Calendar
.
YEAR
));
}
conds
.
in
(
"t.status"
,
new
String
[]{
"2"
,
"3"
,
"4"
});
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
...
...
aidea-modules/order-module-web/src/main/webapp/WEB-INF/views/order/orderSendOut.html
View file @
2215e2d5
...
...
@@ -173,7 +173,7 @@
<div
class=
"panel panel-primary"
>
<div
class=
"panel-heading"
>
商品信息
</div>
<div
class=
"panel-body"
style=
"overflow: hidden; overflow-x: auto; white-space: nowrap;"
>
<div
class=
"form-group form-md-line-input"
>
<div
class=
"form-group form-md-line-input
col-xs-8
"
>
<div
id=
"group"
class=
"list-group"
>
<li
class=
"list-group-item"
>
<th
style=
""
><label
style=
"width: 160px;margin-right: 50px;text-align: center"
>
商品名称
</label></th>
...
...
@@ -198,20 +198,17 @@
<button
class=
"btn btn-primary"
onclick=
"orderSplit()"
>
订单拆分
</button>
</div>
#end
</div>
<table
id=
"table"
class=
"table table-bordered table-striped"
>
<thead>
<tr>
<th>
Id
</th>
<th>
商品名称
</th>
<th>
商品编码
</th>
<th>
数量
</th>
<th>
批次号
</th>
</tr>
</thead>
<tbody
id=
"tablebody"
>
</tbody>
</table>
<div
class=
"form-group form-md-line-input col-xs-8"
>
<div
id=
"splitTable"
class=
"list-group"
>
<li
class=
"list-group-item"
>
<th
style=
""
><label
style=
"width: 160px;margin-right: 50px;text-align: center"
>
商品名称
</label></th>
<th
style=
""
><label
style=
"width: 200px;margin-right: 40px;text-align: center"
>
商品编码
</label></th>
<th
style=
""
><label
style=
"width: 100px;margin-right: 45px;text-align: center"
>
数量
</label></th>
<th
style=
""
><label
style=
"width: 100px;margin-right: 100px;text-align: center"
>
批次号
</label></th>
</li>
</div>
</div>
</div>
</div>
...
...
@@ -266,13 +263,11 @@
<script
src=
"common/js/cfapp.js"
></script>
<!-- END PAGE LEVEL PLUGINS -->
<script>
var
csrf
=
'${_csrf.token}'
;
var
csrf_header
=
'${_csrf.headerName}'
;
var
csrf
=
'${_csrf.token}'
;
var
csrf_header
=
'${_csrf.headerName}'
;
var
pageType
=
'${pageType}'
;
var
orderId
=
'${data.id}'
;
var
areaList
=
[];
var
batchNoList
=
[];
let
status
=
`$!{data.status}`
;
if
(
status
!=
null
&&
status
!=
''
)
{
...
...
@@ -439,16 +434,19 @@
var
confirm
=
$
(
"#confirm"
).
val
();
if
(
confirm
=
'0'
)
{
$
(
"#divClass"
).
css
(
'display'
,
'blocks'
)
$
(
"#divClass"
).
css
(
'display'
,
'blocks'
)
;
}
Cfapp
.
init
();
initScanEvent
();
delGoodsFun
();
list
();
if
(
pageType
==
'true'
)
{
orderSplit
();
}
initBatchNo
();
splitOrders
();
});
...
...
@@ -494,7 +492,7 @@
//扫码商品编码
var
HtmlCode
=
`<button name="delGoods" type="button" class="btn btn-danger delGoods">删除</button>`
;
let
html
=
`<li
id
="form-translate" class="list-group-item translate" style="display:flex;">
let
html
=
`<li
name
="form-translate" class="list-group-item translate" style="display:flex;">
${
idHtml
}
${
proIdHtml
}
...
...
@@ -531,6 +529,7 @@
$
(
"#group"
).
find
(
'.list-group-item'
).
each
(
function
(
i
)
{
if
(
$
(
this
).
find
(
'input[name="orderNum"]'
).
val
()
!=
$
(
this
).
find
(
'input[name="sendNum"]'
).
val
())
{
flag
=
true
;
return
;
}
});
...
...
@@ -540,37 +539,38 @@
return
;
}
// let datas = [];
// $(".translate").each(function (index,item){
// datas.push({
// idDetail : $(item).find('[name="idDetail"]').val(),
// productName : $(item).find('[name="productName"]').val(),
// productCode : $(item).find('[name="productCode"]').val(),
// orderNum : $(item).find('[name="orderNum"]').val(),
// sendNum : $(item).find('[name="sendNum"]').val()
// })
// });
//增加产品批次号
let
drugArr
=
[];
$
(
".table "
).
find
(
'tr'
).
each
(
function
(
i
,
item
)
{
let
batchNo
=
$
(
item
).
find
(
'td:eq(4)'
).
find
(
'input'
).
val
();
if
(
batchNo
==
null
||
batchNo
==
''
)
{
$
(
"#labels"
).
text
(
"请输入产品批次号!"
);
$
(
'#exampleModal'
).
modal
(
'show'
);
$
(
"#splitTable"
).
find
(
'.split-translate'
).
each
(
function
(
i
,
item
)
{
let
batchNum
=
$
(
item
).
find
(
'input[name="splitNum"]'
).
val
();
if
(
batchNum
==
null
||
batchNum
==
''
||
batchNum
==
0
)
{
flag
=
true
;
return
;
}
drugArr
.
push
({
drugId
:
$
(
item
).
find
(
'td:eq(0)'
).
text
(),
drugName
:
$
(
item
).
find
(
'td:eq(1)'
).
text
(),
drugCode
:
$
(
item
).
find
(
'td:eq(2)'
).
text
(),
num
:
$
(
item
).
find
(
'td:eq(3)'
).
text
(),
batchNo
:
batchNo
//判断是否重复
$
(
"#splitTable"
).
find
(
'.split-translate'
).
each
(
function
(
y
,
items
)
{
if
(
y
!=
i
&&
$
(
item
).
find
(
'select'
).
val
()
==
$
(
items
).
find
(
'select'
).
val
())
{
flag
=
true
;
return
;
}
});
drugArr
.
push
({
drugId
:
$
(
item
).
find
(
'input[name="productId"]'
).
val
(),
drugName
:
$
(
item
).
find
(
'input[name="productName"]'
).
val
(),
drugCode
:
$
(
item
).
find
(
'input[name="productCode"]'
).
val
(),
num
:
$
(
item
).
find
(
'input[name="splitNum"]'
).
val
(),
batchNo
:
$
(
item
).
find
(
'select'
).
val
()
});
});
if
(
flag
)
{
$
(
"#labels"
).
text
(
"请输入批次数量或批次号不能重复!"
);
$
(
'#exampleModal'
).
modal
(
'show'
);
return
;
}
$
(
"#save"
).
attr
(
"disabled"
,
true
);
var
url
=
"#springUrl('/a/waybill/orderSendOutForWaybill')"
;
$
.
ajax
({
...
...
@@ -601,113 +601,129 @@
});
}
function
initBatchNo
(
productId
)
{
var
url
=
"#springUrl('/a/productBatch/listData')"
;
$
.
ajax
({
url
:
url
,
type
:
"POST"
,
dateType
:
'json'
,
headers
:{
"Accept"
:
"application/json;charset=UTF-8"
},
data
:
{
_csrf
:
csrf
,
_csrf_header
:
csrf_header
,
productId
:
productId
,
status
:
"1"
,
iDisplayStart
:
0
,
iDisplayLength
:
0
},
success
:
function
(
rsp
)
{
batchNoList
=
rsp
.
aaData
;
}
});
}
function
fetchBatchOptionEle
(
productId
)
{
let
htmlStr
=
""
;
batchNoList
.
forEach
(
function
(
item
,
i
)
{
if
(
item
.
productId
==
productId
)
{
htmlStr
+=
'<option value="'
+
item
.
batchNo
+
'">'
+
item
.
batchNo
+
'</option>'
;
}
});
return
htmlStr
;
}
/**
* 订单拆分,输入批次号
*/
function
orderSplit
()
{
let
dttable
=
$
(
'#table'
).
dataTable
();
dttable
.
fnClearTable
();
//清空一下table
let
datas
=
[];
$
(
".translate"
).
each
(
function
(
index
,
item
){
let
idDetail
=
$
(
item
).
find
(
'[name="idDetail"]'
).
val
();
let
productId
=
$
(
item
).
find
(
'[name="productId"]'
).
val
();
let
productName
=
$
(
item
).
find
(
'[name="productName"]'
).
val
();
let
productCode
=
$
(
item
).
find
(
'[name="productCode"]'
).
val
();
let
orderNum
=
$
(
item
).
find
(
'[name="orderNum"]'
).
val
();
let
sendNum
=
$
(
item
).
find
(
'[name="sendNum"]'
).
val
();
if
(
orderNum
!=
sendNum
)
{
$
(
"#labels"
).
text
(
"订单商品数量和出库数量不一致!"
);
let
splitHtml
=
``
;
$
(
'#splitTable'
).
find
(
'.split-translate'
).
remove
();
$
(
".translate"
).
each
(
function
(
index
,
item
){
let
batchHtml
=
fetchBatchOptionEle
(
$
(
item
).
find
(
'[name="productId"]'
).
val
());
splitHtml
+=
`<li name="form-translate" class="list-group-item split-translate mainele" style="display:flex;">
<input type="hidden" name="idDetail" value="
${
$
(
item
).
find
(
'[name="idDetail"]'
).
val
()}
">
<input type="hidden" name="productId" value="
${
$
(
item
).
find
(
'[name="productId"]'
).
val
()}
">
<input name="productName" class="form-control" style="width: 160px; margin-right: 50px" type="text" readOnly="readonly" value="
${
$
(
item
).
find
(
'[name="productName"]'
).
val
()}
">
<input name="productCode" class="form-control" style="width: 200px; margin-right: 50px" type="text" readOnly="readonly" value="
${
$
(
item
).
find
(
'[name="productCode"]'
).
val
()}
">
<input name="splitNum" class="form-control" type="text" style="width: 100px; margin-right: 50px;" value="
${
$
(
item
).
find
(
'[name="orderNum"]'
).
val
()}
" readonly="readonly">
<select name="batchNo" class="form-control pull-right" style="width: 150px; margin-right: 30px;">`
+
batchHtml
+
`</select>
<button name="culNum" type="button" class="btn btn-success culNum" style="margin-right: 30px;">-</button>
<button name="splitOrder" type="button" class="btn btn-primary splitBtn">拆分</button>
</li>`
;
});
$
(
'#splitTable'
).
append
(
splitHtml
);
}
/**
* 订单拆分
*/
function
splitOrders
()
{
$
(
'#splitTable'
).
on
(
'click'
,
'.splitBtn'
,
function
()
{
let
obj
=
$
(
this
).
parent
();
let
idDetail
=
obj
.
find
(
'input[name="idDetail"]'
).
val
();
let
i
=
0
;
$
(
'#splitTable'
).
find
(
'li'
).
each
(
function
(
index
,
item
){
if
(
idDetail
==
$
(
this
).
find
(
'input[name="idDetail"]'
).
val
())
{
i
++
;
}
});
if
(
i
>=
2
)
{
$
(
"#labels"
).
text
(
"无法继续拆分"
);
$
(
'#exampleModal'
).
modal
(
'show'
);
return
;
}
datas
.
push
({
idDetail
:
idDetail
,
productId
:
productId
,
productName
:
productName
,
productCode
:
productCode
,
orderNum
:
orderNum
,
sendNum
:
sendNum
})
obj
.
find
(
'input[name="splitNum"]'
).
val
(
obj
.
find
(
'input[name="splitNum"]'
).
val
()
-
1
);
let
batchHtml
=
fetchBatchOptionEle
(
obj
.
find
(
'[name="productId"]'
).
val
());
let
parentStr
=
`<li name="form-translate" class="list-group-item split-translate" style="display:flex;">
<input type="hidden" name="idDetail" value="
${
obj
.
find
(
'[name="idDetail"]'
).
val
()}
">
<input type="hidden" name="productId" value="
${
obj
.
find
(
'[name="productId"]'
).
val
()}
">
<input name="productName" class="form-control" style="width: 160px; margin-right: 50px" type="text" readOnly="readonly" value="
${
obj
.
find
(
'[name="productName"]'
).
val
()}
">
<input name="productCode" class="form-control" style="width: 200px; margin-right: 50px" type="text" readOnly="readonly" value="
${
obj
.
find
(
'[name="productCode"]'
).
val
()}
">
<input name="splitNum" class="form-control splitNum" type="text" style="width: 100px; margin-right: 50px;" readOnly="readonly" value="1">
<select name="batchNo" class="form-control pull-right" style="width: 150px; margin-right: 30px;">`
+
batchHtml
+
`</select>
<button name="culNum" type="button" class="btn btn-success culNum" style="margin-right: 30px;">-</button>
<button name="splitOrder" type="button" class="btn btn-danger splitDelBtn">删除</button>
</li>`
;
$
(
this
).
parent
().
after
(
parentStr
);
});
$
(
'#splitTable'
).
on
(
'click'
,
'.splitDelBtn'
,
function
()
{
let
num
=
$
(
this
).
parent
().
find
(
'input[name="splitNum"]'
).
val
();
$
(
this
).
parent
().
prev
(
'li'
).
find
(
'input[name="splitNum"]'
).
val
(
Number
(
$
(
this
).
parent
().
prev
(
'li'
).
find
(
'input[name="splitNum"]'
).
val
())
+
Number
(
num
));
$
(
this
).
parent
().
remove
();
});
seachTable
(
datas
);
$
(
'#splitTable'
).
on
(
'click'
,
'.culNum'
,
function
()
{
let
obj
=
$
(
this
).
parent
();
let
idDetail
=
obj
.
find
(
'input[name="idDetail"]'
).
val
();
let
i
=
0
;
//变量次数
$
(
'#splitTable'
).
find
(
'li'
).
each
(
function
(
index
,
item
){
if
(
idDetail
==
$
(
this
).
find
(
'input[name="idDetail"]'
).
val
())
{
i
++
;
}
function
seachTable
(
datas
)
{
var
sSource
=
"#springUrl('/a/order/orderSplit')"
;
var
aoData
=
{};
var
retrieveData
=
function
(
sSource
,
aoData
,
fnCallback
)
{
aoData
.
push
({
name
:
"drugs"
,
value
:
JSON
.
stringify
(
datas
)
});
aoData
.
push
({
name
:
"accountId"
,
value
:
348
});
aoData
.
push
({
name
:
"orderId"
,
value
:
orderId
});
aoData
.
push
({
name
:
"pageType"
,
value
:
pageType
});
$
.
ajax
({
"type"
:
"GET"
,
"url"
:
sSource
,
"dataType"
:
"json"
,
"data"
:
aoData
,
//以json格式传递
"success"
:
fnCallback
});
};
$
(
'#table'
).
DataTable
({
"lengthChange"
:
false
,
"searching"
:
false
,
"ordering"
:
false
,
"bFiltered"
:
false
,
"bStateSave"
:
true
,
// save datatable state(pagination, sort, etc) in cookie.
"bProcessing"
:
true
,
//是否加载完成
"bServerSide"
:
true
,
"sAjaxSource"
:
sSource
,
"fnServerData"
:
retrieveData
,
"destroy"
:
true
,
"autoWidth"
:
true
,
"scrollX"
:
true
,
"sScrollY"
:
false
,
"bInfo"
:
false
,
"bPaginate"
:
false
,
"aoColumns"
:
[
{
"mData"
:
"drugId"
},
{
"mData"
:
"drugName"
},
{
"mData"
:
"drugCode"
},
{
"mData"
:
"num"
},
{
"mData"
:
"batchNO"
}
],
"aoColumnDefs"
:
[
{
// set default column settings
'targets'
:
[
0
]
},
{
// set default column settings
'targets'
:
[
4
],
"mData"
:
"batchNO"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
if
(
pageType
==
'true'
)
{
return
a
;
}
else
{
return
'<input id="batchNo" name="batchNo" class="form-control" placeholder="请输入产品批次号" />'
if
(
i
!=
2
)
{
$
(
"#labels"
).
text
(
"请先拆分"
);
$
(
'#exampleModal'
).
modal
(
'show'
);
return
;
}
let
num
=
obj
.
find
(
'input[name="splitNum"]'
).
val
();
if
(
Number
(
num
)
==
0
)
{
$
(
"#labels"
).
text
(
"数量为0无法拆分"
);
$
(
'#exampleModal'
).
modal
(
'show'
);
return
;
}
num
=
num
-
1
;
obj
.
find
(
'input[name="splitNum"]'
).
val
(
num
);
obj
.
siblings
(
"li"
).
each
(
function
()
{
if
(
$
(
this
).
find
(
'input[name="idDetail"]'
).
val
()
==
idDetail
)
{
$
(
this
).
find
(
'input[name="splitNum"]'
).
val
(
Number
(
$
(
this
).
find
(
'input[name="splitNum"]'
).
val
())
+
1
);
}
]
});
$
(
'.sorting_asc'
).
removeClass
(
"sorting_asc"
);
}
);
}
var
recdTypeAdd
=
function
()
{
...
...
aidea-modules/order-module/src/main/java/com/cftech/order/dao/OrderMapper.xml
View file @
2215e2d5
...
...
@@ -227,7 +227,7 @@
d.id,
d.order_id,
t.product_number AS productNumber,
t.
product
_name AS productName,
t.
common
_name AS productName,
t.id AS productId,
d.drugs_num AS drugsNum,
d.price,
...
...
@@ -302,11 +302,14 @@
o.cancel_time cancelTime,
o.remind_type remindType,
o.remarks,
o.accounts_id accountsId,
t.id as productId,
GROUP_CONCAT(t.product_number SEPARATOR ',') productNumber,
GROUP_CONCAT(t.common_name SEPARATOR ',') productName,
t.take_frequency takeFrequency,
cs.consult_id consultCode,
cs.service_id serviceId,
cs.doctor_id doctorId,
DATE_FORMAT(aw.create_time, '%Y-%m-%d %H:%i') outTime,
DATE_FORMAT(aw.create_time, '%Y-%m-%d %H:%i:%s') sendExpressDateStr,
DATE_FORMAT(aw.accept_express_date, '%Y-%m-%d %H:%i:%s') acceptExpressDateStr,
...
...
aidea-modules/order-module/src/main/java/com/cftech/order/service/OrderService.java
View file @
2215e2d5
...
...
@@ -114,7 +114,7 @@ public interface OrderService extends GenericService<Order> {
* @param id
* @return
*/
boolean
sendQyWechatMassage
(
Long
id
);
boolean
sendQyWechatMassage
(
Long
id
,
String
msgType
);
/**
* 获取路由信息
...
...
aidea-modules/order-module/src/main/java/com/cftech/order/service/impl/OrderServiceImpl.java
View file @
2215e2d5
...
...
@@ -533,10 +533,6 @@ public class OrderServiceImpl extends GenericServiceImpl<Order> implements Order
order
.
setPayStatus
(
result
);
order
.
setStatus
(
"2"
);
//待发货
order
.
setTradeNo
(
transaction_id
);
//订单总金额
// if (StringUtils.isNoneBlank(map.get("total_fee"))) {
// order.setTotalAmount(Double.parseDouble(map.get("total_fee")));
// }
//现金支付总金额
if
(
StringUtils
.
isNoneBlank
(
map
.
get
(
"cash_fee"
)))
{
order
.
setPayAmount
(
Double
.
parseDouble
(
map
.
get
(
"cash_fee"
)));
...
...
@@ -551,7 +547,8 @@ public class OrderServiceImpl extends GenericServiceImpl<Order> implements Order
if
(
isThreeUsers
(
order
.
getOpenid
())
==
0
)
{
couponrecordService
.
sendCouponRecord
(
order
.
getOpenid
(),
order
.
getAccountsId
());
}
sendQyWechatMassage
(
order
.
getId
());
sendQyWechatMassage
(
order
.
getId
(),
"0"
);
sendQyWechatMassage
(
order
.
getId
(),
"1"
);
return
WechatPayUtils
.
retSucXml
;
}
}
else
{
...
...
@@ -629,7 +626,7 @@ public class OrderServiceImpl extends GenericServiceImpl<Order> implements Order
}
@Override
public
boolean
sendQyWechatMassage
(
Long
orderId
)
{
public
boolean
sendQyWechatMassage
(
Long
orderId
,
String
msgType
)
{
Long
accounts
=
Long
.
parseLong
(
SystemConfig
.
p
.
getProperty
(
"QY_SEND_APPID"
));
MpAccountsEntity
accountsEntity
=
mpAccountsService
.
getDetail
(
accounts
);
Long
agenId
=
Long
.
parseLong
(
accountsEntity
.
getAgentId
());
...
...
@@ -642,21 +639,33 @@ public class OrderServiceImpl extends GenericServiceImpl<Order> implements Order
return
false
;
}
Order
order
=
orders
.
get
(
0
);
String
msg
=
""
;
List
<
Qyuser
>
qyusers
=
null
;
if
(
StringUtils
.
equals
(
msgType
,
"0"
))
{
//订单员发货消息
Conds
qyuserConds
=
new
Conds
();
qyuserConds
.
equal
(
"t.del_flag"
,
Constants
.
DEL_FLAG_0
);
qyuserConds
.
equal
(
"t.user_type"
,
"4"
);
//订单员职业
List
<
Qyuser
>
qyusers
=
qyuserService
.
fetchSearchByPage
(
qyuserConds
,
null
,
0
,
0
);
if
(
qyusers
==
null
||
qyusers
.
size
()
<=
0
)
{
return
false
;
}
qyusers
=
qyuserService
.
fetchSearchByPage
(
qyuserConds
,
null
,
0
,
0
);
msg
=
SystemConfig
.
p
.
getProperty
(
"QY_SEND_ORDERCLERK_MSG"
)
+
order
.
getNumber
();
}
else
if
(
StringUtils
.
equals
(
msgType
,
"1"
))
{
//客服付款消息
Conds
qyuserConds
=
new
Conds
();
qyuserConds
.
equal
(
"t.del_flag"
,
Constants
.
DEL_FLAG_0
);
qyuserConds
.
equal
(
"t.id"
,
order
.
getServiceId
());
//客服
qyusers
=
qyuserService
.
fetchSearchByPage
(
qyuserConds
,
null
,
0
,
0
);
//推送客服消息
Order
order
=
orders
.
get
(
0
);
String
msg
=
SystemConfig
.
p
.
getProperty
(
"QY_SEND_ORDERCLERK_MSG"
)
+
order
.
getNumber
();
msg
=
SystemConfig
.
p
.
getProperty
(
"QY_SEND_SERVICE_PAYMENT_SUCCESS_MAG"
)
+
order
.
getNumber
()
+
";患者昵称:"
+
(
StringUtils
.
isNoneBlank
(
order
.
getNickName
())
?
order
.
getNickName
()
:
""
)
+
";患者别名:"
+
order
.
getFansAlias
()
+
";患者openid:"
+
order
.
getOpenid
()
+
";患者付款金额:"
+
order
.
getPayAmount
()
+
"(单位/分)"
;
}
if
(
qyusers
!=
null
&&
qyusers
.
size
()
>
0
)
{
qyMsgUtil
.
sendText
(
accounts
,
false
,
qyusers
,
null
,
null
,
agenId
,
msg
,
false
);
return
true
;
}
return
false
;
}
@Override
public
JSONObject
findRouteDetails
(
String
appId
,
String
orderCode
)
{
...
...
aidea-modules/order-module/src/main/java/com/cftech/order/web/OrderController.java
View file @
2215e2d5
...
...
@@ -575,7 +575,6 @@ public class OrderController {
if
(
integer
>
0
)
{
//线下付款成功
if
(
StringUtils
.
equals
(
status
,
"2"
))
{
orderService
.
sendQyWechatMassage
(
id
);
try
{
OrderFromVO
orderFromVO
=
orderService
.
fetchId
(
id
);
if
(
orderFromVO
!=
null
&&
StringUtils
.
isNoneBlank
(
orderFromVO
.
getOpenid
()))
{
...
...
@@ -584,6 +583,8 @@ public class OrderController {
couponrecordService
.
sendCouponRecord
(
orderFromVO
.
getOpenid
(),
accountId
);
}
}
orderService
.
sendQyWechatMassage
(
id
,
"0"
);
orderService
.
sendQyWechatMassage
(
id
,
"1"
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
catch
(
WriterException
e
)
{
...
...
aidea-modules/product-module-web/src/main/webapp/WEB-INF/views/product/productBatchlist.html
View file @
2215e2d5
...
...
@@ -88,6 +88,14 @@
name=
"commonName"
placeholder=
"产品名称"
>
</div>
<div
class=
"col-xs-2"
>
<select
id=
"status"
name=
"status"
class=
"form-control pull-right"
>
<option
value=
""
>
请选择状态
</option>
<option
value=
"0"
>
否
</option>
<option
value=
"1"
>
是
</option>
</select>
</div>
<div
class=
"col-xs-5"
>
<button
type=
"button"
class=
"search btn btn-primary"
>
搜索
</button>
#if($shiro.hasPermission("qy:productBatch:edit"))
...
...
@@ -173,7 +181,7 @@
}
var
retrieveData
=
function
(
sSource
,
aoData
,
fnCallback
)
{
$
(
"#seachTableForm input"
).
each
(
function
()
{
$
(
"#seachTableForm input
,select
"
).
each
(
function
()
{
var
params
=
{
name
:
$
(
this
).
attr
(
"name"
),
value
:
$
(
this
).
val
()
...
...
@@ -235,9 +243,9 @@
"aTargets"
:
[
4
],
"mData"
:
"status"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
if
(
a
==
'
0
'
)
{
if
(
a
==
'
1
'
)
{
return
'已激活'
;
}
else
if
(
a
==
'
1
'
)
{
}
else
if
(
a
==
'
0
'
)
{
return
'已失效'
;
}
return
''
;
...
...
@@ -324,7 +332,9 @@
* 批次号激活/失效
*/
function
updateStatus
(
dom
)
{
let
id
=
$
(
dom
).
attr
(
'data-id'
);
let
status
=
$
(
dom
).
attr
(
'data-status'
);
console
.
log
(
id
+
"====="
+
status
);
}
function
importExcel
()
{
...
...
aidea-modules/product-module/src/main/java/com/cftech/product/dao/ProductBatchMapper.xml
View file @
2215e2d5
...
...
@@ -15,7 +15,6 @@
<result
column=
"description"
property=
"description"
/>
<result
column=
"create_by"
property=
"createBy"
/>
<result
column=
"update_by"
property=
"updateBy"
/>
<result
column=
"productCode"
property=
"productCode"
/>
<result
column=
"productName"
property=
"productName"
/>
<result
column=
"commonName"
property=
"commonName"
/>
...
...
@@ -94,6 +93,7 @@
p.product_name productName,
p.common_name commonName
FROM t_aidea_product_batch t
LEFT JOIN t_aidea_product p ON t.product_id = p.id
WHERE t.id=#{id}
</select>
...
...
aidea-modules/product-module/src/main/java/com/cftech/product/web/ProductBatchController.java
View file @
2215e2d5
...
...
@@ -96,7 +96,6 @@ public class ProductBatchController {
}
//获取列表数据
@RequiresPermissions
(
value
=
PRODUCTBATCH_VIEW
)
@RequestMapping
(
value
=
"/listData"
)
@ResponseBody
public
JSONObject
listData
(
int
iDisplayStart
,
int
iDisplayLength
,
ProductBatch
productBatch
,
HttpServletRequest
request
)
{
...
...
@@ -113,6 +112,14 @@ public class ProductBatchController {
conds
.
equal
(
"p.product_number"
,
productBatch
.
getProductCode
());
}
if
(!
StringUtils
.
isEmpty
(
productBatch
.
getProductId
()))
{
conds
.
equal
(
"t.product_id"
,
productBatch
.
getProductId
());
}
if
(!
StringUtils
.
isEmpty
(
productBatch
.
getStatus
()))
{
conds
.
equal
(
"t.status"
,
productBatch
.
getStatus
());
}
Sort
sort
=
new
Sort
(
"t.create_time"
,
OrderType
.
DESC
);
List
<
ProductBatch
>
list
=
productBatchService
.
fetchSearchByPage
(
conds
,
sort
,
iDisplayStart
,
iDisplayLength
);
...
...
aidea-modules/waybill-module-web/src/main/webapp/WEB-INF/views/waybill/waybilllist.html
View file @
2215e2d5
...
...
@@ -101,9 +101,9 @@
<div
class=
"invoice"
>
<div
class=
"header"
>
<div
class=
"describe"
>
诺康大药房咨询平台
</div>
<div
class=
"describe"
>
***一切为了百姓***
</div
>
<!-- <div class="describe">***一切为了百姓***</div>--
>
<div
class=
"orderNumber"
>
订单号
<span>
$!{printData.orderCode}
</span></div>
<div
class=
"deliverydate"
>
发货日期
<span>
$!date.format('yyyy-MM-dd HH:mm:ss',$!printData.printDate)
</span></div>
<div
class=
"deliverydate"
>
发货日期
<span>
$!date.format('yyyy-MM-dd HH:mm:ss',
$!printData.printDate)
</span></div>
<div
class=
"splitline"
></div>
</div>
...
...
@@ -116,12 +116,11 @@
<div
class=
"splitline"
></div>
<div
class=
"footer"
>
<div
class=
"think"
>
***谢谢惠顾***
</div>
<div
class=
"think"
>
[如非质量
问题
,概不退换]
</div>
<div
class=
"think"
>
[如非质量
/物流破损
,概不退换]
</div>
<div>
门店电话:400-828-4688
</div>
<div>
门店地址:扬州市
运河西路233
号
</div>
<div>
门店地址:扬州市
邗江区科技园路18
号
</div>
</div>
</div>
</div>
<!--endprint-->
...
...
aidea-modules/waybill-module/src/main/java/com/cftech/waybill/service/impl/WaybillServiceImpl.java
View file @
2215e2d5
...
...
@@ -105,7 +105,7 @@ public class WaybillServiceImpl extends GenericServiceImpl<Waybill> implements W
List
<
OrderDetails
>
odets
=
orderDetailsService
.
fetchSearchByPage
(
detailConds
,
null
,
0
,
0
);
if
(
odets
==
null
||
odets
.
size
()
==
0
)
{
retObj
.
put
(
"errorNo"
,
1
);
retObj
.
put
(
"errorMsg"
,
" 订单明细不存在
! "
);
retObj
.
put
(
"errorMsg"
,
" 订单明细不存在! "
);
return
retObj
;
}
...
...
@@ -116,7 +116,6 @@ public class WaybillServiceImpl extends GenericServiceImpl<Waybill> implements W
return
retObj
;
}
//生成物流数据
Waybill
waybill
=
new
Waybill
();
waybill
.
setAccountsId
(
accountsId
);
...
...
@@ -205,22 +204,6 @@ public class WaybillServiceImpl extends GenericServiceImpl<Waybill> implements W
orderDetailsService
.
saveDrugBatchNo
(
orderSplitBatchDto
);
}
//
// Conds orderDesConds = new Conds();
// orderDesConds.equal("d.del_flag", Constants.DEL_FLAG_0);
// orderDesConds.equal("d.order_id", orderId);
// List<OrderDetails> orderDetailsList = orderDetailsService.fetchSearchByPage(orderDesConds, null, 0, 0);
// for (OrderDetails orderDetails : orderDetailsList) {
// for (int i=0; i< arr.size(); i++) {
// JSONObject obj = arr.getJSONObject(i);
// if (StringUtils.equals(orderDetails.getDrugsCode(), obj.getString("productCode"))) {
// orderDetails.setDrugsName(obj.getString("productName"));
// orderDetails.setDrugsMateriel(obj.getString("batchNo"));
// orderDetailsService.update(orderDetails);
// continue;
// }
// }
// }
}
waybillMapper
.
save
(
waybill
);
...
...
cftech-common-web/src/main/resources/application.properties
View file @
2215e2d5
##JDBC Global Setting
#\u5916\u7F51
jdbc.driver
=
com.mysql.jdbc.Driver
jdbc.url
=
jdbc:mysql://58.220.99.124:3306/aidea_wechat?useSSL=false&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
jdbc.username
=
root
jdbc.password
=
Aidea@2017
#\u5185\u7F51
#jdbc.url=jdbc:mysql://172.18.10.40:3306/aidea_wechat?useSSL=false&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
#jdbc.url=jdbc:mysql://58.220.99.124:3306/aidea_wechat?useSSL=false&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
#jdbc.username=root
#jdbc.password=Aidea@2017
#\u5185\u7F51
jdbc.url
=
jdbc:mysql://172.18.10.40:3306/aidea_wechat?useSSL=false&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
jdbc.username
=
root
jdbc.password
=
Aidea@2017
##DataSource Global Setting
...
...
cftech-common-web/src/main/resources/common-test.properties
View file @
2215e2d5
...
...
@@ -34,13 +34,17 @@ QY_CHAT_WORK=351
#\u63A8\u9001\u5BA2\u670D\u6D88\u606F\u6DFB\u52A0\u7528\u6237
QY_SEND_CUSTOMERSERVICE_MSG
=
\u
60A8
\u6536\u5230\u
4E00
\u
5F20
\u
54A8
\u
8BE2
\u5355\u
FF0C
\u
54A8
\u
8BE2
\u5355\u
7F16
\u7801\u
FF1A{NUMBER}
\u
FF0C
\u6635\u
79F0
\u
FF1A{NICKNAME}
\u
FF0C
\u
522B
\u
540D
\u
FF1A{FANSALIAS}
#\u63A8\u9001\u836F\u5E08\u6D88\u606F\u5BA1\u6279\u54A8\u8BE2\u5355
QY_SEND_DOCTOR_MSG
=
\u
60A8
\u6536\u5230\u
4E00
\u
5F20
\u
54A8
\u
8BE2
\u5355\u
FF0C
\u
8BF7
\u
5BA1
\u6279\u
FF0C
\u
54A8
\u
8BE2
\u5355\u
7F16
\u7801\u
FF1A{NUMBER}
\u
FF0C
\u6635\u
79F0
\u
FF1A{NICKNAME}
\u
FF0C
\u
522B
\u
540D
\u
FF1A{
fansAlias
}
QY_SEND_DOCTOR_MSG
=
\u
60A8
\u6536\u5230\u
4E00
\u
5F20
\u
54A8
\u
8BE2
\u5355\u
FF0C
\u
8BF7
\u
5BA1
\u6279\u
FF0C
\u
54A8
\u
8BE2
\u5355\u
7F16
\u7801\u
FF1A{NUMBER}
\u
FF0C
\u6635\u
79F0
\u
FF1A{NICKNAME}
\u
FF0C
\u
522B
\u
540D
\u
FF1A{
FANSALIAS
}
#\u63A8\u9001\u8BA2\u5355\u5458\u53D1\u8D27\u6D88\u606F
QY_SEND_ORDERCLERK_MSG
=
\u
60A8
\u6536\u5230\u
4E00
\u
5F20
\u
5F85
\u
53D1
\u
8D27
\u
8BA2
\u5355\u
FF0C
\u
8BA2
\u5355\u
7F16
\u7801
:
#\u63A8\u9001\u5BA2\u670D\u8DDF\u8FDB\u63D0\u9192\u6D88\u606F
QY_SEND_SERVICE_FOLLOWUP_MSG
=
\u
60A8
\u6536\u5230\u
4E00
\u
5F20
\u
8BA2
\u5355\u
8DDF
\u
8FDB
\u
63D0
\u9192\u
FF0C
\u
8BA2
\u5355\u
7F16
\u7801\u
FF1A
#\u54A8\u8BE2\u5355\u5BA1\u6838\u5931\u8D25\u63A8\u9001\u6D88\u606F
QY_SEND_SERVICE_AUDIT_FAIL_MAG
=
\u
60A8
\u6536\u5230\u
4E00
\u
5F20
\u
5BA1
\u6838\u
672A
\u
901A
\u
8FC7
\u7684\u
54A8
\u
8BE2
\u5355\u
FF0C
\u
54A8
\u
8BE2
\u5355\u
7F16
\u7801\u
FF1A
#\u54A8\u8BE2\u5355\u5BA1\u6838\u901A\u8FC7\u63A8\u9001\u6D88\u606F
QY_SEND_SERVICE_AUDIT_SUCCESS_MAG
=
\u
60A8
\u6536\u5230\u
4E00
\u
5F20
\u
5BA1
\u6838\u
901A
\u
8FC7
\u7684\u
54A8
\u
8BE2
\u5355\u
FF0C
\u
54A8
\u
8BE2
\u5355\u
7F16
\u7801\u
FF1A
#\u9700\u6C42\u6E05\u5355\u5DF2\u4ED8\u6B3E\u63A8\u9001\u5BA2\u670D
QY_SEND_SERVICE_PAYMENT_SUCCESS_MAG
=
\u
60A8
\u6536\u5230\u
4E00
\u
5F20
\u
5DF2
\u
4ED8
\u
6B3E
\u7684\u9700\u
6C42
\u
6E05
\u5355\u
FF0C
\u9700\u
6C42
\u
6E05
\u5355\u
7F16
\u7801\u
FF1A
#\u8BA2\u5355\u5F85\u66F4\u8FDB\u63D0\u9192
QY_SEND_SERVICE_ORDER_FOLLOW_REMIND
=
\u
60A8
\u6709\u
4E00
\u
5F20
\u
5F85
\u
8DDF
\u
8FDB
\u
8BA2
\u5355\u
FF0C
\u
8BA2
\u5355\u
7F16
\u7801\u
FF1A
...
...
cftech-common-web/src/main/resources/common.properties
View file @
2215e2d5
...
...
@@ -11,6 +11,10 @@ CONSULT_SHEET_AUDIT_SUCCESS_TEMPLATE_MSG=a7oZd-03JxbKKNup-q9p4vrR4h0a6pbiLMNCi69
CONSULT_SHEET_AUDIT_REFUSE_TEMPLATE_MSG
=
qJNaTk1KaSCha1LowafhVWS6y4rNBI5JxKP5Af9CPGQ
#\u54A8\u8BE2\u5355\u5BA1\u6838\u5931\u8D25\u6A21\u677F\u6D88\u606F
CONSULT_SHEET_AUDIT_FAILED_TEMPLATE_MSG
=
77tLdRPQx1m8Gg0-t9HCGVOlka0G4ocFPdq8D5UkHwk
#\u75C5\u8F7D\u68C0\u6D4B\u7ED3\u679C\u901A\u77E5\u6A21\u677F\u6D88\u606F
CHECK_RESULT_TEMPLATE_MSG
=
5Fy77DKlvulE4L2vxsQfhOsJuRqQzIoI-LSmDYWCJt0
#\u75C5\u8F7D\u68C0\u6D4B\u5238\u751F\u6548\u63D0\u9192
CHECK_COUPON_TAKE_EFFECT_REMIND_TEMPLATE_MSG
=
#\u4F01\u4E1A\u53F7\u914D\u7F6E\u4FE1\u606F
ROOT_ORG_NAME
=
\u
6C5F
\u
82CF
\u
827E
\u
8FEA
\u
836F
\u
4E1A
...
...
@@ -30,13 +34,17 @@ QY_CHAT_WORK=351
#\u63A8\u9001\u5BA2\u670D\u6D88\u606F\u6DFB\u52A0\u7528\u6237
QY_SEND_CUSTOMERSERVICE_MSG
=
\u
60A8
\u6536\u5230\u
4E00
\u
5F20
\u
54A8
\u
8BE2
\u5355\u
FF0C
\u
54A8
\u
8BE2
\u5355\u
7F16
\u7801\u
FF1A{NUMBER}
\u
FF0C
\u6635\u
79F0
\u
FF1A{NICKNAME}
\u
FF0C
\u
522B
\u
540D
\u
FF1A{FANSALIAS}
#\u63A8\u9001\u836F\u5E08\u6D88\u606F\u5BA1\u6279\u54A8\u8BE2\u5355
QY_SEND_DOCTOR_MSG
=
\u
60A8
\u6536\u5230\u
4E00
\u
5F20
\u
54A8
\u
8BE2
\u5355\u
FF0C
\u
8BF7
\u
5BA1
\u6279\u
FF0C
\u
54A8
\u
8BE2
\u5355\u
7F16
\u7801\u
FF1A{NUMBER}
\u
FF0C
\u6635\u
79F0
\u
FF1A{NICKNAME}
\u
FF0C
\u
522B
\u
540D
\u
FF1A{
fansAlias
}
QY_SEND_DOCTOR_MSG
=
\u
60A8
\u6536\u5230\u
4E00
\u
5F20
\u
54A8
\u
8BE2
\u5355\u
FF0C
\u
8BF7
\u
5BA1
\u6279\u
FF0C
\u
54A8
\u
8BE2
\u5355\u
7F16
\u7801\u
FF1A{NUMBER}
\u
FF0C
\u6635\u
79F0
\u
FF1A{NICKNAME}
\u
FF0C
\u
522B
\u
540D
\u
FF1A{
FANSALIAS
}
#\u63A8\u9001\u8BA2\u5355\u5458\u53D1\u8D27\u6D88\u606F
QY_SEND_ORDERCLERK_MSG
=
\u
60A8
\u6536\u5230\u
4E00
\u
5F20
\u
5F85
\u
53D1
\u
8D27
\u
8BA2
\u5355\u
FF0C
\u
8BA2
\u5355\u
7F16
\u7801
:
#\u63A8\u9001\u5BA2\u670D\u8DDF\u8FDB\u63D0\u9192\u6D88\u606F
QY_SEND_SERVICE_FOLLOWUP_MSG
=
\u
60A8
\u6536\u5230\u
4E00
\u
5F20
\u
8BA2
\u5355\u
8DDF
\u
8FDB
\u
63D0
\u9192\u
FF0C
\u
8BA2
\u5355\u
7F16
\u7801\u
FF1A
#\u54A8\u8BE2\u5355\u5BA1\u6838\u5931\u8D25\u63A8\u9001\u6D88\u606F
QY_SEND_SERVICE_AUDIT_FAIL_MAG
=
\u
60A8
\u6536\u5230\u
4E00
\u
5F20
\u
5BA1
\u6838\u
672A
\u
901A
\u
8FC7
\u7684\u
54A8
\u
8BE2
\u5355\u
FF0C
\u
54A8
\u
8BE2
\u5355\u
7F16
\u7801\u
FF1A
#\u54A8\u8BE2\u5355\u5BA1\u6838\u901A\u8FC7\u63A8\u9001\u6D88\u606F
QY_SEND_SERVICE_AUDIT_SUCCESS_MAG
=
\u
60A8
\u6536\u5230\u
4E00
\u
5F20
\u
5BA1
\u6838\u
901A
\u
8FC7
\u7684\u
54A8
\u
8BE2
\u5355\u
FF0C
\u
54A8
\u
8BE2
\u5355\u
7F16
\u7801\u
FF1A
#\u9700\u6C42\u6E05\u5355\u5DF2\u4ED8\u6B3E\u63A8\u9001\u5BA2\u670D
QY_SEND_SERVICE_PAYMENT_SUCCESS_MAG
=
\u
60A8
\u6536\u5230\u
4E00
\u
5F20
\u
5DF2
\u
4ED8
\u
6B3E
\u7684\u9700\u
6C42
\u
6E05
\u5355\u
FF0C
\u9700\u
6C42
\u
6E05
\u5355\u
7F16
\u7801\u
FF1A
#\u8BA2\u5355\u5F85\u66F4\u8FDB\u63D0\u9192
QY_SEND_SERVICE_ORDER_FOLLOW_REMIND
=
\u
60A8
\u6709\u
4E00
\u
5F20
\u
5F85
\u
8DDF
\u
8FDB
\u
8BA2
\u5355\u
FF0C
\u
8BA2
\u5355\u
7F16
\u7801\u
FF1A
...
...
@@ -51,6 +59,10 @@ userfiles.qrcodedir=/mydata/fileQrcode
#\u4E09\u671F\u60A3\u8005\u6298\u6263\u836F\u54C1id
THREE_DRUGS_ID
=
24
#\u68C0\u6D4B\u7ED3\u679C\u5B9E\u9A8C\u5BA4\u7EC4\u7EC7id
LABORATORY_ROOT_ORG_ID
=
21
#\u533B\u9662\u7EC4\u7EC7id
HOSPITAL_ORG_TYPE_ID
=
1
#\u56FE\u7247\u8BBF\u95EE\u5730\u5740
...
...
@@ -65,13 +77,13 @@ LOG_URL=http://www.michang-tech.com.cn:6989/log/addlog
#\u6821\u9A8C\u5151\u6362\u5BC6\u7801KEY
MEMBER_PASSWORD_KEY
=
DONGCHANGINT9527;
list.refreshtoken
=
true
jwt.domain
=
localhost
jwt.domain
=
pe.aidea.com.cn
#\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
jwt.duration
=
86400000
#\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u03AAtrue
security.secure
=
false
#\u662F\u5426\u96C6\u7FA4 master\u4E3Atrue
quartz.isCluster
=
fals
e
quartz.isCluster
=
tru
e
#\u987A\u4E30\u7269\u6D41\u914D\u7F6E\u4FE1\u606F\u53C2\u6570
#\u987A\u4E30\u5BA2\u6237\u7F16\u7801
...
...
cftech-common-web/src/main/resources/redis-config.properties
View file @
2215e2d5
...
...
@@ -2,9 +2,9 @@
# Redis\uFFFD\uFFFD\uFFFD\u077F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u012C\uFFFD\uFFFD\u03AA0\uFFFD\uFFFD
spring.redis.database
=
10
# Redis\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05B7
spring.redis.host
=
58.220.99.124
# \u5185\u7F51Re
id
s
#
spring.redis.host=172.18.10.44
#
spring.redis.host=58.220.99.124
# \u5185\u7F51Re
di
s
spring.redis.host
=
172.18.10.44
# Redis\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u04F6\u02FF\uFFFD
spring.redis.port
=
6379
# Redis\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uB8E8\u012C\uFFFD\uFFFD\u03AA\uFFFD\u0563\uFFFD
...
...
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