From c8b0b0b257790ae74e16a54bfb3772da1ff70288 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 20 一月 2025 15:29:17 +0800
Subject: [PATCH] bug修改

---
 optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java |   61 +++++++++++++++++++++---------
 1 files changed, 42 insertions(+), 19 deletions(-)

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 f329db7..b41f117 100644
--- a/optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java
+++ b/optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java
@@ -1,20 +1,19 @@
 package com.jilongda.optometrist.controller;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
+import com.jilongda.common.Ticket.TAddOptometryVO;
+import com.jilongda.common.Ticket.TOptometryDetailVO;
+import com.jilongda.common.Ticket.TicketUtil;
 import com.jilongda.common.basic.ApiResult;
 import com.jilongda.common.basic.PageInfo;
-import com.jilongda.optometrist.authority.model.SecUser;
 import com.jilongda.optometrist.authority.service.SecUserService;
 import com.jilongda.optometrist.model.*;
-import com.jilongda.optometrist.query.TOptometristQuery;
 import com.jilongda.optometrist.query.TOptometryQuery;
-import com.jilongda.optometrist.query.TicketQuery;
 import com.jilongda.optometrist.service.*;
 import com.jilongda.optometrist.utils.LoginInfoUtil;
 import com.jilongda.optometrist.vo.*;
-import com.sun.org.apache.bcel.internal.generic.NEW;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.BeanUtils;
@@ -22,6 +21,7 @@
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
+import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.Date;
@@ -57,6 +57,8 @@
     private TOrderService orderService;
     @Autowired
     private TOptometryDetailService optometryDetailService;
+    @Autowired
+    private TTicketService tTicketService;
     @ApiOperation(value = "获取验光单分页列表",tags = "验光单")
     @PostMapping(value = "/pageList")
     public ApiResult<PageInfo<TOptometryVO>> pageList(@RequestBody TOptometryQuery query) {
@@ -123,7 +125,7 @@
         // 获取凌晨00:00:00和23:59:59
         LocalDateTime startTime = nowTime.withHour(0).withMinute(0).withSecond(0);
         LocalDateTime endTime = nowTime.withHour(23).withMinute(59).withSecond(59);
-        int size = optometryService.lambdaQuery().eq(TOptometry::getStoreId, optometrist.getId())
+        int size = optometryService.lambdaQuery().eq(TOptometry::getStoreId, store.getId())
                 .between(TOptometry::getCreateTime, startTime, endTime)
                 .eq(TOptometry::getStatus, 3).list().size();
         tOptometristVO.setOptometryCount(size);
@@ -182,6 +184,7 @@
     public ApiResult startOptometry(Integer id) {
         Integer userId = loginInfoUtil.getUserId();
         List<TLineUp> list = tLineUpService.lambdaQuery().eq(TLineUp::getStatus, 2)
+                .ne(TLineUp::getId,id)
                 .eq(TLineUp::getOptometristId, userId).list();
         if (!list.isEmpty()){
             return ApiResult.failed("当前还有未结束的验光单");
@@ -197,6 +200,7 @@
         end.setMinutes(59);
         end.setSeconds(59);
         List<TLineUp> lineUps = tLineUpService.lambdaQuery().eq(TLineUp::getStoreId, lineUp.getStoreId())
+                .eq(TLineUp::getStatus,1)
                 .between(TLineUp::getCreateTime, start, end).list();
         for (TLineUp up : lineUps) {
             if (Integer.parseInt(up.getCode())<Integer.parseInt(lineUp.getCode())){
@@ -226,22 +230,22 @@
     @ApiOperation(value = "填写验光信息完成")
     @PostMapping(value = "/add")
     public ApiResult<String> add(@RequestBody TAddOptometryVO dto) {
-        TLineUp byId = tLineUpService.getById(dto.getId());
-        TAppUser byId1 = appUserService.getById(byId.getUserId());
+        TLineUp lineUp = tLineUpService.getById(dto.getId());
+        TAppUser app = appUserService.getById(lineUp.getUserId());
         TOptometry tOptometry = new TOptometry();
-        tOptometry.setUserId(byId.getUserId());
-        tOptometry.setAge(byId.getAge());
-        tOptometry.setGender(byId.getGender());
-        if (byId1!=null){
-            tOptometry.setPhone(byId1.getPhone());
+        tOptometry.setUserId(lineUp.getUserId());
+        tOptometry.setAge(lineUp.getAge());
+        tOptometry.setGender(lineUp.getGender());
+        if (app!=null){
+            tOptometry.setPhone(app.getPhone());
         }
         tOptometry.setLineUpId(dto.getId());
         Integer userId = loginInfoUtil.getUserId();
-        TOptometrist byId2 = optometristService.getById(userId);
-        tOptometry.setRealName(byId.getUserName());
+        TOptometrist optometrist = optometristService.getById(userId);
+        tOptometry.setRealName(lineUp.getUserName());
         tOptometry.setLineUpId(dto.getId());
         tOptometry.setOptometristId(userId);
-        tOptometry.setStoreId(byId2.getStoreId());
+        tOptometry.setStoreId(optometrist.getStoreId());
         tOptometry.setStatus(3);
         optometryService.save(tOptometry);
         List<TOptometryDetail> tOptometryDetails = new ArrayList<>();
@@ -257,14 +261,33 @@
             tOptometryDetail.setPupilHeight(optometryDetailVO.getPupilHeight());
             tOptometryDetail.setPupilDistance(optometryDetailVO.getPupilDistance());
             tOptometryDetail.setCorrect(optometryDetailVO.getCorrect());
-            tOptometryDetail.setStoreId(byId2.getStoreId());
+            tOptometryDetail.setStoreId(optometrist.getStoreId());
             tOptometryDetail.setStatus(optometryDetailVO.getStatus());
             tOptometryDetails.add(tOptometryDetail);
         }
         optometryDetailService.saveBatch(tOptometryDetails);
         // 验光完成
-        byId.setStatus(3);
-        tLineUpService.updateById(byId);
+        lineUp.setStatus(3);
+        tLineUpService.updateById(lineUp);
+        dto.setOptometristName(optometrist.getName());
+        TStore store = storeService.getById(lineUp.getStoreId());
+        dto.setShopName(store.getName());
+        TAppUser appUser = appUserService.getById(lineUp.getUserId());
+        dto.setPhone(appUser.getPhone());
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String format = simpleDateFormat.format(new Date());
+        dto.setTime(format);
+        TTicket tTicket = tTicketService.lambdaQuery().eq(TTicket::getStoreId, lineUp.getStoreId())
+                .eq(TTicket::getStatus, 1).list().stream().findFirst().orElse(null);
+        if (tTicket==null){
+            return ApiResult.failed("当前门店未绑定小票机");
+        }
+        dto.setSn(tTicket.getCloudId()+"");
+        String print = TicketUtil.print(dto);
+        JSONObject jsonObject = JSONObject.parseObject(print);
+        if (!jsonObject.getString("msg").equals("ok")){
+            return ApiResult.failed(jsonObject.getString("msg"));
+        }
         return ApiResult.success();
     }
 

--
Gitblit v1.7.1