package com.ltkj.web.controller.app; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.math.BigDecimal; import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.ltkj.common.core.domain.entity.SysDept; import com.ltkj.common.utils.ip.IpUtils; import com.ltkj.hosp.domain.*; import com.ltkj.hosp.service.*; import com.ltkj.system.service.ISysConfigService; import com.ltkj.system.service.ISysDeptService; import com.ltkj.web.payConfig.PayConfig; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.apache.commons.io.IOUtils; import org.apache.tomcat.util.http.ResponseUtil; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import com.ltkj.common.annotation.Log; import com.ltkj.common.core.controller.BaseController; import com.ltkj.common.core.domain.AjaxResult; import com.ltkj.common.enums.BusinessType; import com.ltkj.common.utils.poi.ExcelUtil; import com.ltkj.common.core.page.TableDataInfo; import springfox.documentation.annotations.ApiIgnore; /** * 小程序预约下单Controller * * @author ltkj_赵佳豪&李格 * @date 2023-05-18 */ @RestController @RequestMapping("/cus/appOrder") @Api(tags = "小程序体检记录订单接口") public class TjAppOrderController extends BaseController { // @Autowired // private ITjAppOrderService tjAppOrderService; @Resource private ITjOrderService tjOrderService; @Resource private ITjCustomerService tjCustomerService; @Resource private ITjOrderDetailService tjOrderDetailService; @Resource private ITjPackageService tjPackageService; @Resource private ITjProjectService projectService; @Resource private ISysDeptService deptService; /** * 小程序端查询体检记录 */ @GetMapping("/getTiJianList") @ApiOperation(value = "小程序端查询体检记录") public AjaxResult getTiJianList(@RequestParam @ApiParam(value = "cusIdCard") String cusIdCard) { LambdaQueryWrapper wqqq = new LambdaQueryWrapper<>(); wqqq.eq(TjCustomer::getCusIdcard, cusIdCard); TjCustomer one1 = tjCustomerService.getOne(wqqq); if (one1 != null) { LambdaQueryWrapper wq0 = new LambdaQueryWrapper<>(); wq0.eq(TjOrder::getUserId, one1.getCusId()); List tjOrders = tjOrderService.list(wq0); if (tjOrders != null && tjOrders.size() > 0) { for (TjOrder tjOrder : tjOrders) { if (tjOrder.getFinishTime() != null) { tjOrder.setTjFinishStatus("已完成"); } else { tjOrder.setTjFinishStatus("未完成"); } } } return AjaxResult.success(tjOrders); } return AjaxResult.error("查无此人"); } /** * 小程序端根据体检号查询体检项目信息 */ @GetMapping("/getPaiDuiList") @ApiOperation(value = "小程序端根据体检号查询体检项目信息") public AjaxResult getPaiDuiList(@RequestParam @ApiParam(value = "tjNumber") String tjNumber) { Map res = new HashMap<>(); TjCustomer byId = new TjCustomer(); List keshi = new ArrayList<>(); LambdaQueryWrapper wq0 = new LambdaQueryWrapper<>(); wq0.eq(TjOrder::getTjNumber, tjNumber); TjOrder tjOrder = tjOrderService.getOne(wq0); if (tjOrder != null) { if (tjOrder.getUserId() != null) { byId = tjCustomerService.getById(tjOrder.getUserId()); } res.put("customer", byId); LambdaQueryWrapper wq01 = new LambdaQueryWrapper<>(); wq01.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId()); wq01.isNotNull(TjOrderDetail::getFlowingWaterId); List list = tjOrderDetailService.list(wq01); if (null != list && list.size() != 0) { for (TjOrderDetail tjOrderDetail : list) { LambdaQueryWrapper wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjProject::getProId, tjOrderDetail.getProId()); wq1.eq(TjProject::getProParentId, "0"); TjProject one = projectService.getOne(wq1); if (one != null) { //查出该项目所在科室名称 SysDept sysDept = deptService.getById(one.getDeptId()); if (sysDept != null) { sysDept.setCheckStatus(tjOrderDetail.getTjStatus()); keshi.add(sysDept); } } } } //查询体检套餐 if (tjOrder.getPacId() != null) { if(!"0".equals(tjOrder.getPacId())){ TjPackage byId1 = tjPackageService.getById(tjOrder.getPacId()); if (byId1 != null) { tjOrder.setPacName(byId1.getPacName()); } }else { tjOrder.setPacName("无"); } } else { tjOrder.setPacName("无"); } } List depts = keshi.stream().distinct().collect(Collectors.toList()); res.put("depts", depts); res.put("tjorder", tjOrder); return AjaxResult.success(res); } }