package com.jilongda.manage.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jilongda.common.basic.ApiResult; import com.jilongda.common.basic.PageInfo; import com.jilongda.manage.model.*; import com.jilongda.manage.query.TOptometryQuery; import com.jilongda.manage.query.TSupplierQuery; import com.jilongda.manage.service.*; import com.jilongda.manage.vo.TOptometryDetailVO; import com.jilongda.manage.vo.TOptometryVO; import com.jilongda.manage.vo.TSupplierVO; import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.StringUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Objects; /** *

* 验光单 前端控制器 *

* * @author 无关风月 * @since 2024-12-09 */ @RestController @RequestMapping("/t-optometry") public class TOptometryController { @Autowired private TSupplierService supplierService; @Autowired private TOptometristService optometristService; @Autowired private TOptometryDetailService optometryDetailService; @Autowired private TAppUserService appUserService; @Autowired private TOptometryService optometryService; @Autowired private TStoreService storeService; /** * 获取供应商列表 */ @ApiOperation(value = "获取验光单分页列表",tags = "验光单") @PostMapping(value = "/pageList") public ApiResult> pageList(@RequestBody TOptometryQuery query) { String startTime = null; String endTime = null; if (StringUtils.hasLength(query.getCreateTime())){ String[] split = query.getCreateTime().split(" - "); startTime = split[0]+" 00:00:00"; endTime = split[1]+" 23:59:59"; } query.setStartTime(startTime); query.setEndTime(endTime); PageInfo tOptometryVOPageInfo = optometristService.pageList(query); List records = tOptometryVOPageInfo.getRecords(); for (TOptometryVO record : records) { List list = optometryDetailService.lambdaQuery() .eq(TOptometryDetail::getOptometryId, record.getId()) .eq(TOptometryDetail::getType,1) .list(); record.setList(list); if (record.getUserId()!=null){ TAppUser byId = appUserService.getById(record.getUserId()); if (byId!=null){ record.setName(byId.getName()); } } TOptometryDetail l = optometryDetailService.lambdaQuery() .eq(TOptometryDetail::getOptometryId, record.getId()) .eq(TOptometryDetail::getType,1) .eq(TOptometryDetail::getStatus,1) .one(); TOptometryDetail r = optometryDetailService.lambdaQuery() .eq(TOptometryDetail::getOptometryId, record.getId()) .eq(TOptometryDetail::getType,1) .eq(TOptometryDetail::getStatus,2) .one(); double templ = 0.0; double tempr = 0.0; if (l!=null){ record.setLValue(l.getBallMirror().toString()+(l.getColumnMirror()!=null?"-"+l.getColumnMirror():"")); templ = Double.parseDouble(l.getPupilDistance()); } if (r!=null){ record.setRValue(r.getBallMirror().toString()+(r.getColumnMirror()!=null?"-"+r.getColumnMirror():"")); tempr = Double.parseDouble(r.getPupilDistance()); } record.setPupilDistance((templ+tempr)+""); } return ApiResult.success(tOptometryVOPageInfo); } @ApiOperation(value = "查询验光单详情",tags = "验光单") @GetMapping(value = "/getDetailById") public ApiResult getDetailById(@RequestParam Integer id) { TOptometryDetailVO tOptometryDetailVO = new TOptometryDetailVO(); TOptometry optometry = optometryService.getById(id); tOptometryDetailVO.setOptometryTime(optometry.getCreateTime()); tOptometryDetailVO.setOptometry(optometry); // 查询用户信息 // TAppUser appUser = appUserService.getById(optometry.getUserId()); // tOptometryDetailVO.setAppUser(appUser); // 查询验光师信息 TOptometrist optometrist = optometristService.getById(optometry.getOptometristId()); if(Objects.nonNull(optometrist)){ tOptometryDetailVO.setOptometristName(optometrist.getName()); // 查询门店信息 TStore store = storeService.getById(optometrist.getStoreId()); if(Objects.nonNull(store)){ tOptometryDetailVO.setStoreName(store.getName()); } } // 验光单详情 List list = optometryDetailService.lambdaQuery() .eq(TOptometryDetail::getOptometryId, id) .list(); tOptometryDetailVO.setOptometryDetails(list); return ApiResult.success(tOptometryDetailVO); } }