liujie
2 天以前 6cf2988200eb7eec169161c9d60f061b8453006a
患者诊疗
8个文件已修改
3个文件已添加
348 ■■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderController.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysOrderController.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/dto/TSysOrderDto.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/dto/TSysOrderNextDto.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TSysOrderGoods.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TSysOrderService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpProcurementServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysOrderServiceImpl.java 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TErpProcurementDetailNextVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TErpProcurementDetailVo.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TSysOrderDetailVo.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderController.java
@@ -152,12 +152,14 @@
                    "}";
            String authorization = getAuthorization(body);
            System.err.println("支付请求"+body);
            org.apache.http.HttpResponse response = post(LakalaConfig.getServerUrl() + apiPath, body, authorization);
            if (response.getStatusLine().getStatusCode() != 200) {
                return R.fail(500, "请求失败,statusCode  " + response.getStatusLine()
                        + IOUtils.toString(response.getEntity().getContent(), ENCODING));
            }
            String responseStr = IOUtils.toString(response.getEntity().getContent(), ENCODING);
            System.err.println("支付结果"+responseStr);
            erpProcurement.setPayNumber(outTradeNo);
@@ -228,6 +230,7 @@
            map.put("merchant_no", erpProcurement.getMerchantNo());
            map.put("log_no", erpProcurement.getPayTransactionId());
            map.put("log_date", DateUtils.dateTime());
            map.put("cal_type", "0");
            map.put("notify_url", "http://221.182.45.100:8089/t-sys-order/messageSeparateHandle");
            String time = DateUtils.dateTimeNow();
@@ -246,22 +249,10 @@
            // 平台应得分账
            BigDecimal payMoney = erpProcurement.getMoney();
            ArrayList<HashMap<String, Object>> objects = new ArrayList<>();
            // 根据供应商id分组
            Map<String, List<TErpProcurementGoods>> collect = list.stream().collect(Collectors.groupingBy(TErpProcurementGoods::getSupplierId));
//            for (Map.Entry<String, List<TErpProcurementGoods>> entry : collect.entrySet()) {
//                HashMap<String, Object> map1 = new HashMap<>();
//                String supplierId = entry.getKey();
//                TCrmSupplier supplier = crmSupplierService.getById(supplierId);
//                List<TErpProcurementGoods> value = entry.getValue();
//                BigDecimal reduce = value.stream().map(TErpProcurementGoods::getSupplierMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
//                payMoney = payMoney.subtract(reduce);
//                map1.put("recv_no", supplier.getRecvMerchantNo());
//                map1.put("separate_value", reduce.multiply(BigDecimal.valueOf(100)).intValue() + "");
////                objects.add(map1);
//            }
            HashMap<String, Object> map1 = new HashMap<>();
            //TODO hzt
            map1.put("recv_no", "SR2024000006413");
            map1.put("recv_no", "SR2024021195402");
            // 手续费
            BigDecimal bigDecimal = allMoney.multiply(new BigDecimal("0.038")).setScale(2, RoundingMode.HALF_UP);
            payMoney = payMoney.subtract(bigDecimal);
@@ -270,6 +261,25 @@
            if(payMoney.doubleValue()>0){
                objects.add(map1);
            }
            // 根据供应商id分组
            Map<String, List<TErpProcurementGoods>> collect = list.stream().collect(Collectors.groupingBy(TErpProcurementGoods::getSupplierId));
            for (Map.Entry<String, List<TErpProcurementGoods>> entry : collect.entrySet()) {
                HashMap<String, Object> map2 = new HashMap<>();
                String supplierId = entry.getKey();
                TCrmSupplier supplier = crmSupplierService.getById(supplierId);
//                List<TErpProcurementGoods> value = entry.getValue();
//                BigDecimal reduce = value.stream().map(TErpProcurementGoods::getSupplierMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
//                payMoney = payMoney.subtract(reduce);
                map2.put("recv_merchant_no", supplier.getRecvMerchantNo());
                int count = allMoney.subtract(payMoney).multiply(BigDecimal.valueOf(100)).intValue();
                if(count>0){
                    map2.put("separate_value", count+ "");
                    objects.add(map2);
                }
            }
            erpProcurement.setMoney(payMoney);
            erpProcurement.setOutSeparateNo(outTradeNo);
            erpProcurementService.updateById(erpProcurement);
@@ -323,7 +333,7 @@
        JSONArray jsonArray = JSONArray.parseArray(detail_datas.toString());
        if("SEPARATE".equals(cmd_type.toString())){
            TErpProcurement erpProcurement = erpProcurementService.getOne(new LambdaQueryWrapper<TErpProcurement>().eq(TErpProcurement::getOutSeparateNo, o.toString()));
            if ( erpProcurement!=null && "SUCCESS".equals(status)) {
            if ( erpProcurement!=null && "SUCCESS".equals(status) && erpProcurement.getRefundStatus()!=1) {
                erpProcurement.setRefundStatus(1);
                erpProcurementService.updateById(erpProcurement);
                // 修改分账状态
@@ -340,7 +350,7 @@
            }
        }else if("FALLBACK".equals(cmd_type.toString())){
            TErpProcurement erpProcurement = erpProcurementService.getOne(new LambdaQueryWrapper<TErpProcurement>().eq(TErpProcurement::getRefundOutSeparateNo, o.toString()));
            if ( erpProcurement!=null && "SUCCESS".equals(status) && erpProcurement.getRefundStatus()==1) {
            if ( erpProcurement!=null && "SUCCESS".equals(status) && erpProcurement.getRefundStatus()!=2) {
                erpProcurement.setRefundStatus(2);
                erpProcurementService.updateById(erpProcurement);
                List<TErpProcurementGoods> list1 = erpProcurementGoodsService.list(new LambdaQueryWrapper<TErpProcurementGoods>().eq(TErpProcurementGoods::getProcurementId, erpProcurement.getId()));
@@ -480,7 +490,7 @@
//            }
            HashMap<String, Object> map1 = new HashMap<>();
            // TODO hzt
            map1.put("recv_no", "SR2024000006413");
            map1.put("recv_no", "SR2024021195402");
            map1.put("amt", erpProcurement.getMoney().multiply(BigDecimal.valueOf(100)).intValue() + "");
            objects.add(map1);
            map.put("total_amt",erpProcurement.getMoney().multiply(BigDecimal.valueOf(100)).intValue() + "");
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysOrderController.java
@@ -16,12 +16,14 @@
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ip.IpUtils;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.dto.TSysOrderDto;
import com.ruoyi.system.model.*;
import com.ruoyi.system.query.TErpGoodsWarehouseQuery;
import com.ruoyi.system.query.TSysAppUserQuery;
import com.ruoyi.system.query.TSysEducationalInfoQuery;
import com.ruoyi.system.query.TSysOrderQuery;
import com.ruoyi.system.service.*;
import com.ruoyi.system.vo.TSysOrderDetailVo;
import com.ruoyi.system.vo.TSysOrderPageVo;
import com.ruoyi.web.core.config.LakalaConfig;
import io.swagger.annotations.Api;
@@ -80,15 +82,17 @@
    private final TokenService tokenService;
    private final TCrmClinicService crmClinicService;
    private final TSysAppUserService sysAppUserService;
    private final TSysOrderGoodsService sysOrderGoodsService;
    @Autowired
    public TSysOrderController(TokenService tokenService, TSysOrderService sysOrderService, TCrmClinicService crmClinicService, TSysAppUserService sysAppUserService) {
    public TSysOrderController(TokenService tokenService, TSysOrderService sysOrderService, TCrmClinicService crmClinicService, TSysAppUserService sysAppUserService, TSysOrderGoodsService sysOrderGoodsService) {
        this.sysOrderService = sysOrderService;
        this.tokenService = tokenService;
        this.crmClinicService = crmClinicService;
        this.sysAppUserService = sysAppUserService;
        this.sysOrderGoodsService = sysOrderGoodsService;
    }
@@ -127,5 +131,44 @@
        return R.ok(list);
    }
    @ApiOperation(value = "诊所患者诊疗--确认添加")
    @PostMapping(value = "/add")
    public R<String> add(@RequestBody @Valid TSysOrderDto dto) {
        SysUser user = tokenService.getLoginUser().getUser();
        Integer roleType = user.getRoleType();
        if(roleType == 5){
            // 诊所
            TCrmClinic crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class)
                    .eq(TCrmClinic::getUserId, user.getUserId())
                    .last("LIMIT 1"));
            sysOrderService.add(dto,crmClinic);
            return R.ok("添加成功");
        }
        return R.fail("添加失败");
    }
    @ApiOperation(value = "诊所患者诊疗--详情")
    @GetMapping(value = "/detail/{id}")
    public R<TSysOrderDetailVo> detail(@PathVariable String id) {
        TSysOrder tSysOrder = sysOrderService.getById(id);
        TSysOrderDetailVo detail = new TSysOrderDetailVo();
        detail.setId(tSysOrder.getId());
        String appUserId = tSysOrder.getAppUserId();
        TSysAppUser appUser = sysAppUserService.getById(appUserId);
        detail.setUserName(appUser.getNickName());
        detail.setCheckTime(tSysOrder.getCheckTime());
        detail.setTotalMoney(tSysOrder.getTotalMoney());
        List<TSysOrderGoods> list = sysOrderGoodsService.list(new LambdaQueryWrapper<TSysOrderGoods>().eq(TSysOrderGoods::getOrderId, id));
        detail.setList(list);
        return R.ok(detail);
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/dto/TSysOrderDto.java
New file
@@ -0,0 +1,53 @@
package com.ruoyi.system.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
 * <p>
 * 订单管理
 * </p>
 *
 * @author xiaochen
 * @since 2025-08-20
 */
@Data
@ApiModel("患者诊疗  确认添加Dto")
public class TSysOrderDto {
    @ApiModelProperty(value = "用户id")
    @NotBlank(message = "用户id不能为空")
    private String appUserId;
    @ApiModelProperty(value = "检测信息id")
    private String inspectionId;
    @ApiModelProperty(value = "订单总价")
    @NotNull(message = "订单总价不能为空")
    private BigDecimal totalMoney;
    @ApiModelProperty(value = "检查时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime checkTime;
    @ApiModelProperty(value = "二级参数")
    private List<TSysOrderNextDto> dtoList;
}
ruoyi-system/src/main/java/com/ruoyi/system/dto/TSysOrderNextDto.java
New file
@@ -0,0 +1,42 @@
package com.ruoyi.system.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
 * <p>
 * 订单管理
 * </p>
 *
 * @author xiaochen
 * @since 2025-08-20
 */
@Data
@ApiModel("患者诊疗  确认添加二级Dto")
public class TSysOrderNextDto {
    @ApiModelProperty("批次id")
    @NotBlank(message = "批次id不能为空")
    private String batchId;
    @ApiModelProperty("订单数量")
    @NotNull(message = "订单数量不能为空")
    private Integer num;
    @ApiModelProperty("售价")
    @NotNull(message = "售价不能为空")
    private BigDecimal saleAmount;
    @ApiModelProperty("剩余数量")
    @NotNull(message = "剩余数量不能为空")
    private Integer remainingQuantity;
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TSysOrderGoods.java
@@ -58,4 +58,16 @@
    @TableField("sale_amount")
    private BigDecimal saleAmount;
    @ApiModelProperty(value = "批次id")
    @TableField("batch_id")
    private String batchId;
    @ApiModelProperty(value = "批次号")
    @TableField("batch_number")
    private String batchNumber;
    @ApiModelProperty(value = "剩于数量")
    @TableField("remaining_quantity")
    private Integer remainingQuantity;
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TSysOrderService.java
@@ -2,11 +2,14 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.dto.TSysOrderDto;
import com.ruoyi.system.model.TCrmClinic;
import com.ruoyi.system.model.TSysOrder;
import com.ruoyi.system.query.TSysOrderQuery;
import com.ruoyi.system.vo.TSysOrderPageVo;
import com.ruoyi.system.vo.TSysOrderVO;
import javax.validation.Valid;
import java.util.List;
/**
@@ -28,4 +31,7 @@
    PageInfo<TSysOrderPageVo> pageList(TSysOrderQuery query);
    void add(TSysOrderDto dto, TCrmClinic crmClinic);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpProcurementServiceImpl.java
@@ -194,6 +194,9 @@
        tErpProcurementVo.setStatus(tErpProcurement.getStatus());
        tErpProcurementVo.setSendTime(tErpProcurement.getSendTime());
        tErpProcurementVo.setMoney(tErpProcurement.getMoney());
        tErpProcurementVo.setTotalPrice(tErpProcurement.getPayMoney());
        List<TErpProcurementGoods> tErpProcurementGoods = erpProcurementGoodsMapper.selectList
                (new LambdaQueryWrapper<TErpProcurementGoods>().eq(TErpProcurementGoods::getProcurementId, id)
                        .like(goodsName != null && !goodsName.isEmpty(), TErpProcurementGoods::getGoodsName, goodsName)
@@ -210,6 +213,7 @@
            tErpProcurementDetailNextVo.setNum(tErpProcurementGood.getPurchaseCount());
            tErpProcurementDetailNextVo.setTotalPrice(tErpProcurementGood.getTotalPrice());
            tErpProcurementDetailNextVo.setQuasiNumber(tErpProcurementGood.getQuasiNumber());
            tErpProcurementDetailNextVo.setPurchasePrice(tErpProcurementGood.getPurchasePrice());
            List<TSysCommission> tSysCommissions = sysCommissionMapper.selectList(new LambdaQueryWrapper<TSysCommission>().eq(TSysCommission::getTErpProcurementGoodsId, tErpProcurementGood.getId()));
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysOrderServiceImpl.java
@@ -1,20 +1,27 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.mapper.TSysOrderGoodsMapper;
import com.ruoyi.system.mapper.TSysOrderMapper;
import com.ruoyi.system.model.TSysOrder;
import com.ruoyi.system.model.TSysOrderGoods;
import com.ruoyi.system.dto.TSysOrderDto;
import com.ruoyi.system.dto.TSysOrderNextDto;
import com.ruoyi.system.mapper.*;
import com.ruoyi.system.model.*;
import com.ruoyi.system.query.TSysOrderQuery;
import com.ruoyi.system.service.TCrmClinicService;
import com.ruoyi.system.service.TErpClinicOutboundService;
import com.ruoyi.system.service.TSysOrderService;
import com.ruoyi.system.vo.TSysOrderPageVo;
import com.ruoyi.system.vo.TSysOrderVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -31,6 +38,24 @@
    @Autowired
    private TSysOrderGoodsMapper sysOrderGoodsMapper;
    @Resource
    private TErpClinicWarehousingBatchMapper erpClinicWarehousingBatchMapper;
    @Resource
    private TErpClinicOutboundGoodsMapper erpClinicOutboundGoodsMapper;
    @Resource
    private TErpGoodsMapper erpGoodsMapper;
    @Resource
    private TErpGoodsTypeMapper erpGoodsTypeMapper;
    @Resource
    private TErpGoodsUnitMapper erpGoodsUnitMapper;
    @Resource
    private TErpClinicOutboundMapper erpClinicOutboundMapper;
    @Override
    public List<TSysOrderVO> queryListByAppUserId(String id) {
@@ -61,4 +86,74 @@
        page.setRecords(sysOrderPageVOS);
        return page;
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void add(TSysOrderDto dto, TCrmClinic crmClinic) {
        // 判断库存够不够  添加订单 添加订单二级  出库记录
        List<TSysOrderNextDto> dtoList = dto.getDtoList();
        ArrayList<TSysOrderGoods> tSysOrderGoods = new ArrayList<>();
        ArrayList<TErpClinicOutboundGoods> erpClinicOutboundGoods = new ArrayList<>();
        for (TSysOrderNextDto sysOrderNextDto : dtoList) {
            TErpClinicWarehousingBatch tErpClinicWarehousingBatch = erpClinicWarehousingBatchMapper.selectById(sysOrderNextDto.getBatchId());
            // 找出这个批次出库多少
            List<TErpClinicOutboundGoods> tErpClinicOutboundGoods = erpClinicOutboundGoodsMapper.selectList(new LambdaQueryWrapper<TErpClinicOutboundGoods>().eq(TErpClinicOutboundGoods::getWarehousingBatchId, sysOrderNextDto.getBatchId()));
            int count = tErpClinicOutboundGoods.stream().mapToInt(TErpClinicOutboundGoods::getOutboundCount).sum();
            if(tErpClinicWarehousingBatch.getPurchaseCount() < count + sysOrderNextDto.getNum()){
                throw new RuntimeException("库存不足");
            }
            TErpGoods goods = erpGoodsMapper.selectById(tErpClinicWarehousingBatch.getGoodsId());
            TSysOrderGoods tSysOrderGoods1 = new TSysOrderGoods();
            tSysOrderGoods1.setGoodsName(goods.getGoodsName());
            TErpGoodsType tErpGoodsType = erpGoodsTypeMapper.selectById(goods.getTypeId());
            tSysOrderGoods1.setTypeName(tErpGoodsType.getTypeName());
            tSysOrderGoods1.setQuasiNumber(goods.getQuasiNumber());
            TErpGoodsUnit tErpGoodsUnit = erpGoodsUnitMapper.selectById(goods.getPackingUnitId());
            tSysOrderGoods1.setGoodsUnit(tErpGoodsUnit.getUnitName());
            tSysOrderGoods1.setSaleCount(sysOrderNextDto.getNum());
            tSysOrderGoods1.setSaleAmount(goods.getSalesAmount());
            tSysOrderGoods1.setBatchId(tErpClinicWarehousingBatch.getId());
            tSysOrderGoods1.setBatchNumber(tErpClinicWarehousingBatch.getBatchNumber());
            tSysOrderGoods1.setRemainingQuantity(sysOrderNextDto.getRemainingQuantity());
            tSysOrderGoods.add(tSysOrderGoods1);
            TErpClinicOutboundGoods tErpClinicOutboundGoods1 = new TErpClinicOutboundGoods();
            tErpClinicOutboundGoods1.setWarehousingId(tErpClinicWarehousingBatch.getWarehousingId());
            tErpClinicOutboundGoods1.setWarehousingBatchId(tErpClinicWarehousingBatch.getId());
            tErpClinicOutboundGoods1.setOutboundCount(sysOrderNextDto.getNum());
            tErpClinicOutboundGoods1.setGoodsId(goods.getId());
            tErpClinicOutboundGoods1.setTotalPrice(sysOrderNextDto.getSaleAmount().multiply(BigDecimal.valueOf(sysOrderNextDto.getNum())));
            erpClinicOutboundGoods.add(tErpClinicOutboundGoods1);
        }
        TSysOrder tSysOrder = new TSysOrder();
        tSysOrder.setAppUserId(dto.getAppUserId());
        tSysOrder.setClinicId(crmClinic.getId());
        tSysOrder.setInspectionId(dto.getInspectionId());
        tSysOrder.setTotalMoney(dto.getTotalMoney());
        tSysOrder.setCheckTime(dto.getCheckTime());
        tSysOrder.setOrderNumber(System.currentTimeMillis() + "");
        this.save(tSysOrder);
        for (TSysOrderGoods tSysOrderGood : tSysOrderGoods) {
            tSysOrderGood.setOrderId(tSysOrder.getId());
            sysOrderGoodsMapper.insert(tSysOrderGood);
        }
        TErpClinicOutbound tErpClinicOutbound = new TErpClinicOutbound();
        tErpClinicOutbound.setClinicId(crmClinic.getId());
        tErpClinicOutbound.setOutboundType(7);
        tErpClinicOutbound.setOrderNumber(tSysOrder.getOrderNumber());
        tErpClinicOutbound.setTotalMoney(dto.getTotalMoney());
        tErpClinicOutbound.setOutboundNumber("G"+System.currentTimeMillis());
        erpClinicOutboundMapper.insert(tErpClinicOutbound);
        for (TErpClinicOutboundGoods erpClinicOutboundGood : erpClinicOutboundGoods) {
            erpClinicOutboundGood.setOutboundId(tErpClinicOutbound.getId());
            erpClinicOutboundGoodsMapper.insert(erpClinicOutboundGood);
        }
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/TErpProcurementDetailNextVo.java
@@ -34,6 +34,9 @@
    @ApiModelProperty(value = "国药准字号")
    private String quasiNumber;
    @ApiModelProperty(value = "采购价")
    private BigDecimal purchasePrice;
ruoyi-system/src/main/java/com/ruoyi/system/vo/TErpProcurementDetailVo.java
@@ -41,6 +41,12 @@
    @ApiModelProperty(value = "状态 1=草稿 2=待支付 3=待发货 4=已发货 5=已入库 6=已取消")
    private Integer status;
    @ApiModelProperty(value = "总金额")
    private BigDecimal totalPrice=BigDecimal.ZERO;
    @ApiModelProperty(value = "平台佣金")
    private BigDecimal money=BigDecimal.ZERO;
    @ApiModelProperty(value = "采购单详情二级")
    private List<TErpProcurementDetailNextVo> list;
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/TSysOrderDetailVo.java
New file
@@ -0,0 +1,30 @@
package com.ruoyi.system.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.model.TSysOrderGoods;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Data
@ApiModel("患者诊疗详情Vo")
public class TSysOrderDetailVo {
    private String id;
    private String userName;
    @ApiModelProperty(value = "检查时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime checkTime;
    @ApiModelProperty(value = "订单总价")
    private BigDecimal totalMoney;
    @ApiModelProperty(value = "二级参数")
    private List<TSysOrderGoods> list;
}