|
@ -231,13 +231,15 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public boolean orderWithPackageItemFeeAdd(JSONObject result, JSONObject jsonObjectParam, WlyyDoorServiceOrderDO order ) {
|
|
|
|
|
|
public boolean orderWithPackageItemFeeAdd(JSONObject result, JSONObject jsonObjectParam, WlyyDoorServiceOrderDO order,String doctorId) {
|
|
List<WlyyDoorFeeDetailDO> feeDetailDOList = new ArrayList<>();
|
|
List<WlyyDoorFeeDetailDO> feeDetailDOList = new ArrayList<>();
|
|
List<WlyyDoorOrderItemDO> orderItemDOList = new ArrayList<>();
|
|
List<WlyyDoorOrderItemDO> orderItemDOList = new ArrayList<>();
|
|
BigDecimal totalFee = order.getTotalFee();
|
|
BigDecimal totalFee = order.getTotalFee();
|
|
if(null == totalFee){
|
|
if(null == totalFee){
|
|
totalFee = new BigDecimal(0);
|
|
totalFee = new BigDecimal(0);
|
|
}
|
|
}
|
|
|
|
//新增服务项
|
|
|
|
int addNum = 0;
|
|
//服务项费用
|
|
//服务项费用
|
|
JSONArray packageItemArray = jsonObjectParam.getJSONArray("packageItemArr");
|
|
JSONArray packageItemArray = jsonObjectParam.getJSONArray("packageItemArr");
|
|
if (!CollectionUtils.isEmpty(packageItemArray)) {
|
|
if (!CollectionUtils.isEmpty(packageItemArray)) {
|
|
@ -277,7 +279,7 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
|
|
}else{
|
|
}else{
|
|
feeDetailDO.setStatus(status);
|
|
feeDetailDO.setStatus(status);
|
|
}
|
|
}
|
|
feeDetailDO.setPayStatus(0);
|
|
|
|
|
|
|
|
// feeDetailDO.setNumber(1);
|
|
// feeDetailDO.setNumber(1);
|
|
feeDetailDO.setOrderId(order.getId());
|
|
feeDetailDO.setOrderId(order.getId());
|
|
if(StringUtils.isBlank(feeDetailDO.getId())) {
|
|
if(StringUtils.isBlank(feeDetailDO.getId())) {
|
|
@ -285,7 +287,12 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
|
|
}else {
|
|
}else {
|
|
feeDetailDO.setUpdateTime(new Date());
|
|
feeDetailDO.setUpdateTime(new Date());
|
|
}
|
|
}
|
|
feeDetailDOList.add(feeDetailDO);
|
|
|
|
|
|
if(StringUtils.isBlank(feeDetailDO.getId())){
|
|
|
|
feeDetailDO.setPayStatus(0);
|
|
|
|
addNum++;
|
|
|
|
feeDetailDOList.add(feeDetailDO);
|
|
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
// order.setTotalFee(totalFee);
|
|
// order.setTotalFee(totalFee);
|
|
// this.save(order);
|
|
// this.save(order);
|
|
@ -305,6 +312,10 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
|
|
order.setTotalFee(new BigDecimal(0));
|
|
order.setTotalFee(new BigDecimal(0));
|
|
this.save(order);
|
|
this.save(order);
|
|
}*/
|
|
}*/
|
|
|
|
if(addNum>0){
|
|
|
|
doorOrderService.putTemplateTobePay(order,doctorId);
|
|
|
|
}
|
|
|
|
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
@ -344,11 +355,12 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
|
|
for(Object oneId : itemArray) {
|
|
for(Object oneId : itemArray) {
|
|
JSONObject oneIdJson = (JSONObject) oneId;
|
|
JSONObject oneIdJson = (JSONObject) oneId;
|
|
WlyyDoorFeeDetailDO doorFeeDetail = wlyyDoorFeeDetailDao.findOne(String.valueOf(oneIdJson.get("id")));
|
|
WlyyDoorFeeDetailDO doorFeeDetail = wlyyDoorFeeDetailDao.findOne(String.valueOf(oneIdJson.get("id")));
|
|
doorFeeDetail.setStatus(3);
|
|
|
|
doorFeeDetail.setUpdateTime(new Date());
|
|
|
|
list.add(doorFeeDetail);
|
|
|
|
itemFee = itemFee.add(doorFeeDetail.getFee().multiply(BigDecimal.valueOf(doorFeeDetail.getNumber())));
|
|
|
|
|
|
|
|
|
|
if(doorFeeDetail.getPayStatus()==0){
|
|
|
|
doorFeeDetail.setStatus(3);
|
|
|
|
doorFeeDetail.setUpdateTime(new Date());
|
|
|
|
list.add(doorFeeDetail);
|
|
|
|
itemFee = itemFee.add(doorFeeDetail.getFee().multiply(BigDecimal.valueOf(doorFeeDetail.getNumber())));
|
|
|
|
}
|
|
}
|
|
}
|
|
wlyyDoorFeeDetailDao.save(list);
|
|
wlyyDoorFeeDetailDao.save(list);
|
|
// orderDO.setTotalFee(totalFee.subtract(itemFee));
|
|
// orderDO.setTotalFee(totalFee.subtract(itemFee));
|
|
@ -625,7 +637,7 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
|
|
}
|
|
}
|
|
orderDO.setServiceStatus("1");
|
|
orderDO.setServiceStatus("1");
|
|
this.save(orderDO);
|
|
this.save(orderDO);
|
|
|
|
|
|
|
|
result.put("orderId",orderDO.getId());
|
|
//创建咨询
|
|
//创建咨询
|
|
JSONObject successOrNot = null;
|
|
JSONObject successOrNot = null;
|
|
try {
|
|
try {
|
|
@ -644,8 +656,7 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
|
|
ConsultTeamDo consultTeam = (ConsultTeamDo)successOrNot.get(ResponseContant.resultMsg);
|
|
ConsultTeamDo consultTeam = (ConsultTeamDo)successOrNot.get(ResponseContant.resultMsg);
|
|
|
|
|
|
//新增工单与服务项费用关联关系
|
|
//新增工单与服务项费用关联关系
|
|
if (orderWithPackageItemFeeAdd(result, jsonObjectParam, orderDO)) {return result;}
|
|
|
|
|
|
|
|
|
|
if (orderWithPackageItemFeeAdd(result, jsonObjectParam, orderDO,null)) {return result;}
|
|
|
|
|
|
if ( StringUtils.isNotBlank(orderDO.getDoctor())) {
|
|
if ( StringUtils.isNotBlank(orderDO.getDoctor())) {
|
|
orderDO.setStatus(2);
|
|
orderDO.setStatus(2);
|
|
@ -1469,7 +1480,7 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
|
|
json.put("id", orderDO.getId());
|
|
json.put("id", orderDO.getId());
|
|
}
|
|
}
|
|
|
|
|
|
messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyqx",patient.getOpenid(),first,null,null,30,json,DateUtil.dateToStrShort(new Date()),"上门预约已取消");
|
|
|
|
|
|
messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyqx",patient.getOpenid(),first,null,null,30,json,DateUtil.dateToChineseDate(new Date()),"上门预约已取消");
|
|
|
|
|
|
/* Consult consult = consultDao.queryByRelationCode(orderId);
|
|
/* Consult consult = consultDao.queryByRelationCode(orderId);
|
|
// 发送微信模板消息,通知居民工单已取消(smyyyqx-上门预约已取消)
|
|
// 发送微信模板消息,通知居民工单已取消(smyyyqx-上门预约已取消)
|
|
@ -1517,7 +1528,7 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
|
|
}else {
|
|
}else {
|
|
json.put("id", orderDO.getId());
|
|
json.put("id", orderDO.getId());
|
|
}
|
|
}
|
|
messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyqx",patient.getOpenid(),first,url,null,30,json,DateUtil.dateToStrShort(new Date()),"知情同意书已推送");
|
|
|
|
|
|
messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyqx",patient.getOpenid(),first,url,null,30,json,DateUtil.dateToChineseDate(new Date()),"知情同意书已推送");
|
|
|
|
|
|
/* BasePatientDO patient = patientDao.findById(orderDO.getPatient());
|
|
/* BasePatientDO patient = patientDao.findById(orderDO.getPatient());
|
|
WechatTemplateConfig templateConfig = templateConfigDao.findByScene("template_process_feedback","smyyyqx");
|
|
WechatTemplateConfig templateConfig = templateConfigDao.findByScene("template_process_feedback","smyyyqx");
|
|
@ -2745,7 +2756,7 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
|
|
this.save(orderDO);
|
|
this.save(orderDO);
|
|
result.put("orderId",orderDO.getId());
|
|
result.put("orderId",orderDO.getId());
|
|
//新增工单与服务项费用关联关系
|
|
//新增工单与服务项费用关联关系
|
|
if (orderWithPackageItemFeeAdd(result, jsonObjectParam, orderDO)) {return result;}
|
|
|
|
|
|
if (orderWithPackageItemFeeAdd(result, jsonObjectParam, orderDO,doctorCode)) {return result;}
|
|
|
|
|
|
if("1".equals(orderDO.getShortcutType())){
|
|
if("1".equals(orderDO.getShortcutType())){
|
|
//快捷的当前医生直接接单
|
|
//快捷的当前医生直接接单
|
|
@ -2845,7 +2856,7 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
|
|
this.save(orderDO);
|
|
this.save(orderDO);
|
|
result.put("orderId",orderDO.getId());
|
|
result.put("orderId",orderDO.getId());
|
|
//新增工单与服务项费用关联关系
|
|
//新增工单与服务项费用关联关系
|
|
if (orderWithPackageItemFeeAdd(result, jsonObjectParam, orderDO)){
|
|
|
|
|
|
if (orderWithPackageItemFeeAdd(result, jsonObjectParam, orderDO,doctorCode)){
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
@ -2939,7 +2950,10 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
|
|
public JSONObject getServiceItemFees(String orderId){
|
|
public JSONObject getServiceItemFees(String orderId){
|
|
JSONObject json = new JSONObject();
|
|
JSONObject json = new JSONObject();
|
|
List<WlyyDoorFeeDetailDO> feeDetailDOs = wlyyDoorFeeDetailDao.findByOrderIdAndPayStatus(orderId, 0);
|
|
List<WlyyDoorFeeDetailDO> feeDetailDOs = wlyyDoorFeeDetailDao.findByOrderIdAndPayStatus(orderId, 0);
|
|
BigDecimal sum = feeDetailDOs.stream().map(WlyyDoorFeeDetailDO::getFee).reduce(BigDecimal::add).get();
|
|
|
|
|
|
BigDecimal sum = new BigDecimal(0);
|
|
|
|
for (WlyyDoorFeeDetailDO feeDetailDO: feeDetailDOs){
|
|
|
|
sum.add(feeDetailDO.getFee().multiply(new BigDecimal(feeDetailDO.getNumber())));
|
|
|
|
}
|
|
sum = sum.setScale(1, BigDecimal.ROUND_DOWN);
|
|
sum = sum.setScale(1, BigDecimal.ROUND_DOWN);
|
|
json.put("orderId",orderId);
|
|
json.put("orderId",orderId);
|
|
json.put("sum",sum);
|
|
json.put("sum",sum);
|
|
@ -2948,7 +2962,14 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
|
|
}
|
|
}
|
|
|
|
|
|
@Transactional
|
|
@Transactional
|
|
public void payServiceItemFees(String[] ids){
|
|
|
|
|
|
public JSONObject payServiceItemFees(String[] ids,String orderId){
|
|
|
|
JSONObject json = new JSONObject();
|
|
wlyyDoorFeeDetailDao.updatePayStatusById(ids);
|
|
wlyyDoorFeeDetailDao.updatePayStatusById(ids);
|
|
|
|
// WlyyDoorServiceOrderDO orderDO = wlyyDoorServiceOrderDao.findOne(orderId);
|
|
|
|
ConsultDo consult = consultDao.queryByRelationCode(orderId);
|
|
|
|
|
|
|
|
json.put("patient",consult.getPatient());
|
|
|
|
json.put("consult",consult.getId());
|
|
|
|
return json;
|
|
}
|
|
}
|
|
}
|
|
}
|