yeshijie 4 éve
szülő
commit
1348a22c66

+ 1 - 1
svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/doctor/DoorOrderController.java

@ -592,7 +592,7 @@ public class DoorOrderController extends BaseController {
            @ApiParam(value = "jsonData", name = "jsonData")
            @ApiParam(value = "jsonData", name = "jsonData")
            @RequestParam(value = "jsonData", required = false) String jsonData) {
            @RequestParam(value = "jsonData", required = false) String jsonData) {
        try {
        try {
            doorOrderService.updatePackageItemInfo(jsonData);
            doorOrderService.updatePackageItemInfo(jsonData,getUID());
            return write(200, "修改成功");
            return write(200, "修改成功");
        } catch (Exception e) {
        } catch (Exception e) {
            error(e);
            error(e);

+ 26 - 11
svr/svr-door-serivce/src/main/java/com/yihu/jw/door/service/DoorOrderService.java

@ -5,11 +5,13 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
import com.yihu.jw.door.dao.*;
import com.yihu.jw.door.dao.*;
import com.yihu.jw.door.dao.followup.FollowUpDao;
import com.yihu.jw.door.dao.followup.FollowUpDao;
import com.yihu.jw.door.util.MessageUtil;
import com.yihu.jw.door.util.MessageUtil;
import com.yihu.jw.door.util.StreamUtil;
import com.yihu.jw.door.util.StreamUtil;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
import com.yihu.jw.entity.base.im.ConsultDo;
import com.yihu.jw.entity.base.im.ConsultDo;
import com.yihu.jw.entity.base.im.ConsultTeamDo;
import com.yihu.jw.entity.base.im.ConsultTeamDo;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
@ -90,6 +92,8 @@ public class DoorOrderService {
    private WlyyDoorDoctorStatusDao doctorStatusDao;
    private WlyyDoorDoctorStatusDao doctorStatusDao;
    @Autowired
    @Autowired
    private BaseDoctorDao doctorDao;
    private BaseDoctorDao doctorDao;
    @Autowired
    private BaseDoctorHospitalDao doctorHospitalDao;
/*    @Autowired
/*    @Autowired
    private ServerPackageItemPatientDao serverPackageItemPatientDao;
    private ServerPackageItemPatientDao serverPackageItemPatientDao;
    @Autowired
    @Autowired
@ -301,7 +305,7 @@ public class DoorOrderService {
     * @return
     * @return
     */
     */
    public List<Map<String, Object>> getDoorFeeDetailGroupByStatus(String orderId) {
    public List<Map<String, Object>> getDoorFeeDetailGroupByStatus(String orderId) {
        String sql = "SELECT d.id, d.status, d.pay_status payStatus,d.name,d.code,sum(d.number) num,fee,sum(d.number)*fee sum from wlyy_door_fee_detail d where order_id=? and type=1 GROUP BY status,code";
        String sql = "SELECT d.id, d.status, CONCAT(d.pay_status,'') payStatus,d.name,d.code,sum(d.number) num,fee,sum(d.number)*fee sum from wlyy_door_fee_detail d where order_id=? and type=1 GROUP BY status,code";
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql, orderId);
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql, orderId);
        return list;
        return list;
    }
    }
@ -1350,14 +1354,14 @@ public class DoorOrderService {
     * @param jsonData
     * @param jsonData
     */
     */
    @org.springframework.transaction.annotation.Transactional(rollbackFor = Exception.class)
    @org.springframework.transaction.annotation.Transactional(rollbackFor = Exception.class)
    public void updatePackageItemInfo(String jsonData) {
    public void updatePackageItemInfo(String jsonData,String doctorId) {
        JSONObject jsonObjectParam = JSONObject.parseObject(jsonData);
        JSONObject jsonObjectParam = JSONObject.parseObject(jsonData);
        String orderId = String.valueOf(jsonObjectParam.get("orderId"));
        String orderId = String.valueOf(jsonObjectParam.get("orderId"));
        WlyyDoorServiceOrderDO order = doorServiceOrderDao.findOne(orderId);
        WlyyDoorServiceOrderDO order = doorServiceOrderDao.findOne(orderId);
        // 删除出诊医生或服务项
        // 删除出诊医生或服务项
        wlyyDoorServiceOrderService.orderWithFeeDelete(jsonObjectParam,order);
        wlyyDoorServiceOrderService.orderWithFeeDelete(jsonObjectParam,order);
        // 更新服务包信息
        // 更新服务包信息
        wlyyDoorServiceOrderService.orderWithPackageItemFeeAdd(new JSONObject(), jsonObjectParam, order);
        wlyyDoorServiceOrderService.orderWithPackageItemFeeAdd(new JSONObject(), jsonObjectParam, order,doctorId);
        // 发送微信模板消息,通知居民服务项目已经变更(smyyyjjd-服务项目变更通知)
        // 发送微信模板消息,通知居民服务项目已经变更(smyyyjjd-服务项目变更通知)
       BasePatientDO patient = patientInfoService.findById(order.getProxyPatient());//·
       BasePatientDO patient = patientInfoService.findById(order.getProxyPatient());//·
@ -1740,15 +1744,26 @@ public class DoorOrderService {
    /**
    /**
     *
     *
     * @param openId
     * @param patientName
     * @param deptName
     * @param payTypeName
     * @param doctorName
     * @param orderId
     * @param doctorId
     * @param orderDO
     */
     */
   public void putTemplateTobePay(String openId,String patientName,String deptName,String payTypeName,String doctorName,String orderId){
        JSONObject json = new JSONObject();
   public void putTemplateTobePay(WlyyDoorServiceOrderDO orderDO,String doctorId){
       if(StringUtils.isEmpty(doctorId)){
           return;
       }
       JSONObject json = new JSONObject();
       String orderId = orderDO.getId();
       String payTypeName = "上门服务";
       BasePatientDO patientDO = patientInfoService.findById(orderDO.getPatient());
       String openId = patientDO.getOpenid();
       String patientName = patientDO.getName();
       BaseDoctorDO doctorDO = baseDoctorDao.findById(doctorId);
       String doctorName = doctorDO.getName();
       String deptName = "";
       List<BaseDoctorHospitalDO> doctorHospitalDOs = doctorHospitalDao.findByOrgCodeAndDoctorCode("350211A1002",doctorId);
       if(doctorHospitalDOs.size()>0){
           deptName = doctorHospitalDOs.get(0).getDeptName();
       }
       json.put("orderId",orderId);
       json.put("orderId",orderId);
       messageUtil.putTemplateWxMessage(wxId,"template_to_be_pay","smfwqrfk",openId,DateUtil.dateToStr(new Date(), "yyyy/MM/dd HH:mm"),null,null,35,json,patientName,deptName,payTypeName,doctorName,DateUtil.dateToChineseTime(new Date()));
       messageUtil.putTemplateWxMessage(wxId,"template_to_be_pay","smfwqrfk",openId,DateUtil.dateToStr(new Date(), "yyyy/MM/dd HH:mm"),null,null,35,json,patientName,deptName,payTypeName,doctorName,DateUtil.dateToChineseTime(new Date()));
   }
   }

+ 21 - 10
svr/svr-door-serivce/src/main/java/com/yihu/jw/door/service/WlyyDoorServiceOrderService.java

@ -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,9 +279,7 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
                }else{
                }else{
                    feeDetailDO.setStatus(status);
                    feeDetailDO.setStatus(status);
                }
                }
                if(StringUtils.isBlank(feeDetailDO.getId())){
                    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())) {
@ -287,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);
@ -307,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;
    }
    }
@ -647,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);
@ -2748,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())){
            //快捷的当前医生直接接单
            //快捷的当前医生直接接单
@ -2848,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;
        }
        }
@ -2942,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);