From 72c53b692495a45ea01f427f3adadcebe779f38f Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 27 十二月 2024 15:44:27 +0800
Subject: [PATCH] 验光师

---
 manage/src/main/java/com/jilongda/manage/model/TOrder.java                                   |    3 +
 optometrist/src/main/java/com/jilongda/optometrist/model/TOptometry.java                     |    4 ++
 optometrist/src/main/java/com/jilongda/optometrist/vo/TOptometryDetailVO.java                |    2 
 manage/src/main/java/com/jilongda/manage/controller/TOrderAccountingController.java          |   34 +++++++++++-----
 optometrist/src/main/java/com/jilongda/optometrist/model/TOptometryDetail.java               |    6 +-
 manage/src/main/java/com/jilongda/manage/model/TOptometryDetail.java                         |    4 -
 optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java    |   26 ++++++++----
 manage/src/main/java/com/jilongda/manage/model/TOrderGoods.java                              |    6 +++
 optometrist/src/main/java/com/jilongda/optometrist/utils/LoginInfoUtil.java                  |    9 +++-
 optometrist/src/main/java/com/jilongda/optometrist/authority/controller/LoginController.java |   12 ++---
 optometrist/src/main/resources/mapping/TOptometristMapper.xml                                |    4 +-
 11 files changed, 72 insertions(+), 38 deletions(-)

diff --git a/manage/src/main/java/com/jilongda/manage/controller/TOrderAccountingController.java b/manage/src/main/java/com/jilongda/manage/controller/TOrderAccountingController.java
index 94ff402..12cfa49 100644
--- a/manage/src/main/java/com/jilongda/manage/controller/TOrderAccountingController.java
+++ b/manage/src/main/java/com/jilongda/manage/controller/TOrderAccountingController.java
@@ -42,6 +42,8 @@
     private TOptometryDetailService optometryDetailService;
     @Autowired
     private TOrderGoodsService orderGoodsService;
+    @Autowired
+    private SecFeeItemsService feeItemsService;
     @ApiOperation(value = "核算订单分页列表")
     @PostMapping(value = "/pageList")
     public ApiResult<PageInfo<TOrderVO>> pageList(@RequestBody TOrderAccountingQuery query) {
@@ -73,24 +75,34 @@
         res.setOptometryDetails(list);
         List<TOrderGoods> orderGoods = orderGoodsService.lambdaQuery()
                 .eq(TOrderGoods::getOrderId, id).list();
-        BigDecimal bigDecimal = new BigDecimal("0");
+        BigDecimal goodsMoney = new BigDecimal("0");
+        BigDecimal costMoney = new BigDecimal("0");
+        BigDecimal constConfirm = new BigDecimal("0");
+        if (one!=null){
+
+        }
         for (TOrderGoods orderGood : orderGoods) {
-            bigDecimal =bigDecimal.add(orderGood.getGoodsMoney());
+            goodsMoney =goodsMoney.add(orderGood.getGoodsMoney());
+            costMoney=costMoney.add(orderGood.getCost()==null?new BigDecimal("0"):orderGood.getCost());
+            constConfirm=constConfirm.add(orderGood.getConstConfirm()==null?new BigDecimal("0"):orderGood.getConstConfirm());
         }
         res.setOrderGoods(orderGoods);
         TStore byId1 = storeService.getById(byId.getStoreId());
         res.setStoreName(byId1.getName());
-        res.setOrderMoney(bigDecimal);
+        res.setOrderMoney(goodsMoney);
         res.setCouponMoney(byId.getCouponMoney());
         res.setPayMoney(byId.getPayMoney());
-//        res.setPayType();
-//        res.setRealPayMoney();
-//        res.setCommission();
-//        res.setProfitMoney();
-//        res.setProfitRating();
-
-
-
+        res.setPayType(byId.getPayTypeName());
+        res.setRealPayMoney(byId.getPayMoney());
+        SecFeeItems one1 = feeItemsService.lambdaQuery().eq(SecFeeItems::getName, byId.getPayTypeName())
+                .one();
+        BigDecimal percent = one1.getPercent();
+        BigDecimal bigDecimal1 = byId.getPayMoney().multiply(percent).setScale(2, BigDecimal.ROUND_DOWN);
+        res.setCommission(bigDecimal1);
+        if (byId.getIsAccounting()==1){
+            res.setProfitMoney(byId.getPayMoney().subtract(bigDecimal1).subtract(constConfirm));
+            res.setProfitRating(res.getProfitMoney().divide(byId.getPayMoney(),2, BigDecimal.ROUND_DOWN));
+        }
         return ApiResult.success(res);
     }
     @ApiOperation(value = "确认核算操作")
diff --git a/manage/src/main/java/com/jilongda/manage/model/TOptometryDetail.java b/manage/src/main/java/com/jilongda/manage/model/TOptometryDetail.java
index 7a958d9..a09a596 100644
--- a/manage/src/main/java/com/jilongda/manage/model/TOptometryDetail.java
+++ b/manage/src/main/java/com/jilongda/manage/model/TOptometryDetail.java
@@ -76,9 +76,7 @@
     @ApiModelProperty(value = "门店id")
     @TableField("storeId")
     private Integer storeId;
-    @ApiModelProperty(value = "订单id")
-    @TableField("orderId")
-    private Integer orderId;
+
 
     @ApiModelProperty(value = "左眼右眼 1为L 2为R")
     @TableField("status")
diff --git a/manage/src/main/java/com/jilongda/manage/model/TOrder.java b/manage/src/main/java/com/jilongda/manage/model/TOrder.java
index 0340a78..e6a402a 100644
--- a/manage/src/main/java/com/jilongda/manage/model/TOrder.java
+++ b/manage/src/main/java/com/jilongda/manage/model/TOrder.java
@@ -121,6 +121,9 @@
     @ApiModelProperty(value = "支付金额")
     @TableField("payMoney")
     private BigDecimal payMoney;
+    @ApiModelProperty(value = "手续费金额")
+    @TableField("commissionMoney")
+    private BigDecimal commissionMoney;
 
     @ApiModelProperty(value = "是否加工 1是2否")
     @TableField("isMachining")
diff --git a/manage/src/main/java/com/jilongda/manage/model/TOrderGoods.java b/manage/src/main/java/com/jilongda/manage/model/TOrderGoods.java
index 7877a5c..4552212 100644
--- a/manage/src/main/java/com/jilongda/manage/model/TOrderGoods.java
+++ b/manage/src/main/java/com/jilongda/manage/model/TOrderGoods.java
@@ -73,5 +73,11 @@
     @ApiModelProperty(value = "商品价格")
     @TableField("goodsMoney")
     private BigDecimal goodsMoney;
+    @ApiModelProperty(value = "系统成本价")
+    @TableField("cost")
+    private BigDecimal cost;
+    @ApiModelProperty(value = "核算成本价")
+    @TableField("constConfirm")
+    private BigDecimal constConfirm;
 
 }
diff --git a/optometrist/src/main/java/com/jilongda/optometrist/authority/controller/LoginController.java b/optometrist/src/main/java/com/jilongda/optometrist/authority/controller/LoginController.java
index cced2b1..a5974cb 100644
--- a/optometrist/src/main/java/com/jilongda/optometrist/authority/controller/LoginController.java
+++ b/optometrist/src/main/java/com/jilongda/optometrist/authority/controller/LoginController.java
@@ -108,19 +108,17 @@
     public ApiResult<String> sendMsg(@Validated @RequestBody VerificationCodeDTO dto) throws Exception {
         // 发送验证码并存储到redis
         if (StringUtils.hasLength(dto.getPhone())) {
-            SecUser one = secUserService.lambdaQuery().eq(SecUser::getPhone, dto.getPhone())
-                    .eq(SecUser::getUserType, 2).one();
+            TOptometrist one = optometristService.lambdaQuery().eq(TOptometrist::getPhone, dto.getPhone())
+                    .one();
             if (one==null){
                 return ApiResult.failed(500, "手机号未注册");
             }
-            SecUser two = secUserService.lambdaQuery().eq(SecUser::getPhone, dto.getPhone())
-                    .eq(SecUser::getUserType, 2)
-                    .eq(SecUser::getState,0)
+            TOptometrist two = optometristService.lambdaQuery().eq(TOptometrist::getPhone, dto.getPhone())
+                    .eq(TOptometrist::getStatus, 2)
                     .one();
-            if (two==null){
+            if (two!=null){
                 return ApiResult.failed(500, "账号已被禁用");
             }
-
             String code = String.valueOf((int) (Math.random() * 1000000));
             redisAutoTemplate.setStr(dto.getPhone(), code);
             redisAutoTemplate.expire(dto.getPhone(), Constant.REDIS_EXPIRE);
diff --git a/optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java b/optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java
index 2ff265e..d444181 100644
--- a/optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java
+++ b/optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java
@@ -73,12 +73,11 @@
     @PostMapping(value = "/index")
     public ApiResult<TOptometristVO> index() {
         TOptometristVO tOptometristVO = new TOptometristVO();
-
-        Long userId = loginInfoUtil.getUserId();
-        SecUser byId = secUserService.getById(userId);
+        Integer userId = loginInfoUtil.getUserId();
+        TOptometrist byId = optometristService.getById(userId);
         TStore byId1 = storeService.getById(byId.getStoreId());
         tOptometristVO.setStoreName(byId1.getName());
-        tOptometristVO.setName(byId.getNickName());
+        tOptometristVO.setName(byId.getName());
         tOptometristVO.setPhone(byId.getPhone());
         int size = optometryService.lambdaQuery().eq(TOptometry::getOptometristId, userId)
                 .eq(TOptometry::getStatus, 3).list().size();
@@ -134,7 +133,7 @@
     @ApiOperation(value = "开始验光")
     @GetMapping(value = "/startOptometry")
     public ApiResult startOptometry(Integer id) {
-        Long userId = loginInfoUtil.getUserId();
+        Integer userId = loginInfoUtil.getUserId();
         List<TLineUp> list = tLineUpService.lambdaQuery().eq(TLineUp::getStatus, 2)
                 .eq(TLineUp::getOptometristId, userId).list();
         if (!list.isEmpty())return ApiResult.failed("当前还有未结束的验光单");
@@ -143,12 +142,18 @@
         tLineUpService.updateById(lineUp);
         return ApiResult.success();
     }
+
     @ApiOperation(value = "取消排号")
     @GetMapping(value = "/cancelLineUp")
     public ApiResult cancelLineUp(Integer id) {
         TLineUp lineUp = tLineUpService.getById(id);
         lineUp.setStatus(5);
         tLineUpService.updateById(lineUp);
+        TOptometry one = optometryService.lambdaQuery().eq(TOptometry::getLineUpId, lineUp.getId()).one();
+        if (one!=null){
+            one.setStatus(5);
+        }
+        optometryService.updateById(one);
         return ApiResult.success();
     }
     @ApiOperation(value = "填写验光信息完成")
@@ -163,11 +168,14 @@
         if (byId1!=null){
             tOptometry.setPhone(byId1.getPhone());
         }
-        Long userId = loginInfoUtil.getUserId();
-        SecUser byId2 = secUserService.getById(userId);
+        tOptometry.setLineUpId(dto.getId());
+        Integer userId = loginInfoUtil.getUserId();
+        TOptometrist byId2 = optometristService.getById(userId);
         tOptometry.setRealName(byId.getUserName());
-        tOptometry.setOptometristId(userId.intValue());
+        tOptometry.setLineUpId(dto.getId());
+        tOptometry.setOptometristId(userId);
         tOptometry.setStoreId(byId2.getStoreId());
+        tOptometry.setStatus(3);
         optometryService.save(tOptometry);
         List<TOptometryDetail> tOptometryDetails = new ArrayList<>();
 
@@ -178,7 +186,7 @@
             tOptometryDetail.setBallMirror(optometryDetailVO.getBallMirror());
             tOptometryDetail.setColumnMirror(optometryDetailVO.getColumnMirror());
             tOptometryDetail.setAxis(optometryDetailVO.getAxis());
-            tOptometryDetail.setAdd(optometryDetailVO.getAdd());
+            tOptometryDetail.setAddS(optometryDetailVO.getAddS());
             tOptometryDetail.setPupilHeight(optometryDetailVO.getPupilHeight());
             tOptometryDetail.setPupilDistance(optometryDetailVO.getPupilDistance());
             tOptometryDetail.setCorrect(optometryDetailVO.getCorrect());
diff --git a/optometrist/src/main/java/com/jilongda/optometrist/model/TOptometry.java b/optometrist/src/main/java/com/jilongda/optometrist/model/TOptometry.java
index 2216344..8e75379 100644
--- a/optometrist/src/main/java/com/jilongda/optometrist/model/TOptometry.java
+++ b/optometrist/src/main/java/com/jilongda/optometrist/model/TOptometry.java
@@ -64,6 +64,9 @@
     @ApiModelProperty(value = "门店id")
     @TableField("storeId")
     private Integer storeId;
+    @ApiModelProperty(value = "验光单id")
+    @TableField("lineUpId")
+    private Integer lineUpId;
 
     @ApiModelProperty(value = "状态1排队中2验光中3已完成4已过号5已取消")
     @TableField("status")
@@ -74,4 +77,5 @@
     @TableField("registerTime")
     private LocalDateTime registerTime;
 
+
 }
diff --git a/optometrist/src/main/java/com/jilongda/optometrist/model/TOptometryDetail.java b/optometrist/src/main/java/com/jilongda/optometrist/model/TOptometryDetail.java
index 0c08ee6..6d2a390 100644
--- a/optometrist/src/main/java/com/jilongda/optometrist/model/TOptometryDetail.java
+++ b/optometrist/src/main/java/com/jilongda/optometrist/model/TOptometryDetail.java
@@ -52,9 +52,9 @@
     @TableField("axis")
     private String axis;
 
-    @ApiModelProperty(value = "add")
-    @TableField("add")
-    private String add;
+    @ApiModelProperty(value = "addS")
+    @TableField("addS")
+    private String addS;
 
     @ApiModelProperty(value = "瞳高")
     @TableField("pupilHeight")
diff --git a/optometrist/src/main/java/com/jilongda/optometrist/utils/LoginInfoUtil.java b/optometrist/src/main/java/com/jilongda/optometrist/utils/LoginInfoUtil.java
index 3a89af9..2eddd3b 100644
--- a/optometrist/src/main/java/com/jilongda/optometrist/utils/LoginInfoUtil.java
+++ b/optometrist/src/main/java/com/jilongda/optometrist/utils/LoginInfoUtil.java
@@ -5,6 +5,9 @@
 import com.jilongda.common.security.JwtTokenUtils;
 import com.jilongda.optometrist.authority.model.SecUser;
 import com.jilongda.optometrist.authority.service.SecUserService;
+import com.jilongda.optometrist.model.TOptometrist;
+import com.jilongda.optometrist.service.TOptometristService;
+import com.jilongda.optometrist.service.TOptometryService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -13,12 +16,14 @@
 
     @Autowired
     private SecUserService secUserService;
+    @Autowired
+    private TOptometristService optometristService;
 
 
 
-    public Long getUserId(){
+    public Integer getUserId(){
         String username = JwtTokenUtils.getUsername();
-        SecUser userName = secUserService.getOne(new QueryWrapper<SecUser>().eq("phone", username).eq("isDelete",0));
+        TOptometrist userName = optometristService.getOne(new QueryWrapper<TOptometrist>().eq("phone", username).eq("isDelete",0));
         return userName.getId();
 
     }
diff --git a/optometrist/src/main/java/com/jilongda/optometrist/vo/TOptometryDetailVO.java b/optometrist/src/main/java/com/jilongda/optometrist/vo/TOptometryDetailVO.java
index bdb6da8..09ffb4b 100644
--- a/optometrist/src/main/java/com/jilongda/optometrist/vo/TOptometryDetailVO.java
+++ b/optometrist/src/main/java/com/jilongda/optometrist/vo/TOptometryDetailVO.java
@@ -24,7 +24,7 @@
 
     @ApiModelProperty(value = "add")
     @TableField("add")
-    private String add;
+    private String addS;
 
     @ApiModelProperty(value = "瞳高")
     private String pupilHeight;
diff --git a/optometrist/src/main/resources/mapping/TOptometristMapper.xml b/optometrist/src/main/resources/mapping/TOptometristMapper.xml
index 0104091..15e8767 100644
--- a/optometrist/src/main/resources/mapping/TOptometristMapper.xml
+++ b/optometrist/src/main/resources/mapping/TOptometristMapper.xml
@@ -34,8 +34,8 @@
                      t2.phone like  concat('%',#{query.nameOrPhone},'%')
                     )
             </if>
-            <if test="req.startTime != null and req.startTime!=''">
-                and (t1.createTime between #{req.startTime} and #{req.endTime})
+            <if test="query.startTime != null and query.startTime!=''">
+                and (t1.createTime between #{query.startTime} and #{query.endTime})
             </if>
             AND t1.isDelete = ${@com.jilongda.common.enums.DisabledEnum@NO.getCode()}
         </where>

--
Gitblit v1.7.1