package com.ltkj.web.controller.system;
|
|
import cn.hutool.core.date.DateTime;
|
import cn.hutool.core.date.DateUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.ltkj.common.core.domain.AjaxResult;
|
import com.ltkj.common.core.domain.entity.SysUser;
|
import com.ltkj.common.core.redis.RedisCache;
|
import com.ltkj.common.enums.DataSourceType;
|
import com.ltkj.common.utils.SecurityUtils;
|
import com.ltkj.common.utils.StringUtils;
|
import com.ltkj.framework.config.MatchUtils;
|
import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
|
import com.ltkj.hosp.domain.*;
|
import com.ltkj.hosp.mapper.TestMapper;
|
import com.ltkj.hosp.service.*;
|
import com.ltkj.hosp.sqlDomain.*;
|
import com.ltkj.hosp.vodomain.CsProVo;
|
import com.ltkj.hosp.vodomain.UpdateOrderRemarkVo;
|
import com.ltkj.mall.mallOrderUtils.TjConstants;
|
import com.ltkj.system.service.ISysConfigService;
|
import com.ltkj.system.service.ISysDeptService;
|
import com.ltkj.system.service.ISysUserService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiParam;
|
import org.aspectj.weaver.AjAttribute;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.save;
|
|
/**
|
* @Author: 西安路泰科技有限公司/赵佳豪
|
* @Date: 2022/12/6 14:29
|
*/
|
@RestController
|
@RequestMapping("/check")
|
@Api(tags = "总检医师相关接口")
|
public class TjCheckController {
|
@Resource
|
private ITjOrderService orderService;
|
@Resource
|
private ITjOrderDetailService detailService;
|
@Resource
|
private ITjCustomerService customerService;
|
@Resource
|
private ITjProjectService projectService;
|
@Resource
|
private IDictCompService compService;
|
@Resource
|
private ITjStandardService tjStandardService;
|
@Resource
|
private ITjAdviceService tjAdviceService;
|
@Resource
|
private ITjOrderRemarkService orderRemarkService;
|
@Resource
|
private ITbTransitionService transitionService;
|
@Resource
|
private ISysUserService userService;
|
@Resource
|
private RedisCache redisCache;
|
@Resource
|
private TjAsyncService asyncService;
|
@Resource
|
private ITjConfirmLogService confirmLogService;
|
@Autowired
|
private ISysConfigService configService;
|
@Resource
|
private ISysDeptService deptService;
|
@Resource
|
private TestMapper testMapper;
|
@Resource
|
private TjvLtkjvtjpatService tjvLtkjvtjpatService;
|
|
@Resource
|
private LtkjMiddleDetailService middleDetailService;
|
|
@Resource
|
private LtkjMiddleHeadService headService;
|
@Resource
|
private LtkjExamJcbgdService ltkjExamJcbgdService;
|
@Resource
|
private LtkjExamJcsqdService ltkjExamJcsqdService;
|
@Resource
|
private LtkjHybgdService ltkjHybgdService;
|
@Resource
|
private LtkjHysqdService ltkjHysqdService;
|
|
|
@GetMapping("/getOperationPermissionsByTjNum")
|
@ApiOperation(value = "(初审页面 和 医生页面)根据体检号获取是否可操作权限接口 true可操作 反之不可")
|
public AjaxResult getOperationPermissionsByTjNum(@ApiParam(value = "体检号") @RequestParam String tjNumber) {
|
TjOrder order = orderService.getOrderByTjNum(tjNumber);
|
if (null != order) {
|
Integer status = order.getStatus();
|
if (status < 300) {
|
return AjaxResult.success(true);
|
}
|
if (status > 300) {
|
return AjaxResult.success(false);
|
}
|
}
|
return AjaxResult.success(false);
|
}
|
|
|
@GetMapping("/getCsList")
|
@ApiOperation(value = "初审查询体检记录客户列表")//0待1已
|
@Transactional
|
public AjaxResult getCsList(@ApiParam(value = "审核状态 0待审核 1已审核") @RequestParam(required = false) Integer checkStatus,
|
@ApiParam(value = "页码数(默认1)") @RequestParam(defaultValue = "1") Integer page,
|
@ApiParam(value = "显示条数(默认10)") @RequestParam(defaultValue = "10") Integer pageSize,
|
@ApiParam(value = "体检单号") @RequestParam(required = false) String tjNumber,
|
@ApiParam(value = "单位") @RequestParam(required = false) Long compId,
|
@ApiParam(value = "姓名)") @RequestParam(required = false) String name,
|
@ApiParam(value = "开始时间") @RequestParam(required = false) String beginTime,
|
@ApiParam(value = "结束时间") @RequestParam(required = false) String endTime) {
|
|
DateTime beginTimes = null;
|
DateTime endTimes = null;
|
if (null != beginTime && null != endTime) {
|
beginTimes = DateUtil.beginOfDay(DateUtil.parse(beginTime));
|
endTimes = DateUtil.endOfDay(DateUtil.parse(endTime));
|
}
|
//初始化体检订单表
|
List<TjOrder> orderList = null;
|
List<TjCustomer> customerList = new ArrayList<>();
|
Map<String, Object> map = new HashMap<>();
|
|
if (checkStatus == 0)
|
asyncService.wCScheckSetCustomerLisByRedis(orderService.getCsTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes));
|
if (checkStatus == 1)
|
asyncService.yCScheckSetCustomerLisByRedis(orderService.getCsTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes));
|
|
//根据姓名查询
|
if (null != name && !"".equals(name)) {
|
List<TjCustomer> list = customerService.getTjCustomerList(name);
|
if (null != list && list.size() > 0) {
|
List<TjCustomer> lists = new ArrayList<>();
|
for (TjCustomer customer : list) {
|
orderList = orderService.getCsTjOrderListByCusId(customer.getCusId());
|
if (null != orderList && orderList.size() > 0) {
|
for (TjOrder tjOrder : orderList) {
|
customer.setTjNumber(tjOrder.getTjNumber());
|
customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus()));
|
customer.setOrderId(tjOrder.getOrderId());
|
customer.setTjTime(tjOrder.getCreateTime());
|
customer.setFinishTime(tjOrder.getFinishTime());
|
customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
|
customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
|
customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard()));
|
customer.setConfirmStatus(String.valueOf(tjOrder.getStatus()));
|
if (tjOrder.getFirmId().equals("0")) {
|
customer.setTjCompName(null);
|
} else {
|
customer.setTjCompName(compService.selectDictCompByDrugManufacturerId(tjOrder.getFirmId()).getCnName());
|
}
|
lists.add(customer);
|
}
|
}
|
}
|
List<TjCustomer> customers = null;
|
if (lists.size() > 0) {
|
customers = lists.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
|
}
|
map.put("customers", customers);
|
map.put("total", lists.size());
|
return AjaxResult.success(map);
|
}
|
return AjaxResult.success("暂无数据");
|
}
|
|
//条件查询
|
if (null != tjNumber || null != compId || (null != beginTime && null != endTime)) {
|
orderList = orderService.getCsTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
|
return getResult(page, pageSize, orderList, customerList, map);
|
}
|
|
List<TjCustomer> customers = null;
|
if (checkStatus == 0) {
|
customers = redisCache.getCacheMapValue("cScheck", "ws");
|
}
|
if (checkStatus == 1) {
|
customers = redisCache.getCacheMapValue("cScheck", "ys");
|
}
|
if (customers != null && customers.size() > 0) {
|
List<TjCustomer> customerLists = customers.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
|
map.put("customers", customerLists);
|
map.put("total", customers.size());
|
return AjaxResult.success(map);
|
} else {
|
orderList = orderService.getCsTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
|
return getResult(page, pageSize, orderList, customerList, map);
|
}
|
}
|
|
|
/**
|
* 初审
|
*/
|
@GetMapping("/cSWebGetProByTjNumAndOrderId")
|
@ApiOperation(value = "(初审页面)点击体检人员展示体检项目接口")
|
public AjaxResult cSWebGetProByTjNumAndOrderId(@ApiParam(value = "体检号") @RequestParam String tjNumber) {
|
List<TjOrderRemark> orderRemarkList = orderRemarkService.getTjOrderRemarkListByTjNum(tjNumber);
|
List<CsProVo> list = new ArrayList<>();
|
if (null != orderRemarkList && orderRemarkList.size() > 0) {
|
for (TjOrderRemark remark : orderRemarkList) {
|
CsProVo vo = new CsProVo();
|
vo.setDeptName(deptService.getById(remark.getDeptId()).getDeptName());
|
vo.setProName(projectService.getById(remark.getProId()).getProName());
|
vo.setType(remark.getType());
|
if (null != remark.getDoctorName()) {
|
vo.setDoctorName(userService.getById(remark.getDoctorName()).getNickName());
|
vo.setBcdoctorName(userService.getById(remark.getDoctorName()).getNickName());
|
}
|
vo.setSffs("统收");
|
vo.setIsPay("已收费");
|
vo.setQdcreateTime(remark.getCreateTime());
|
vo.setBcupdateTime(remark.getUpdateTime());
|
vo.setZhupdateTime(remark.getUpdateTime());
|
list.add(vo);
|
}
|
|
Collections.sort(list, new Comparator<CsProVo>() {
|
@Override
|
public int compare(CsProVo o1, CsProVo o2) {
|
return o1.getType() - o2.getType();
|
}
|
});
|
}
|
return AjaxResult.success(list);
|
}
|
|
|
/**
|
* 初审
|
*/
|
@GetMapping("/confirmOrder")
|
@ApiOperation(value = "初审(并修改状态)接口")
|
@Transactional
|
public AjaxResult confirmOrder(@ApiParam(value = "tjNumber") @RequestParam String tjNumber,
|
@ApiParam(value = "状态 0同意 1拒绝 默认同意") @RequestParam(defaultValue = "0") Integer status,
|
@ApiParam(value = "驳回理由") @RequestParam(required = false) String remark) {
|
int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber);
|
if (num > 0) return AjaxResult.error("有延期项目暂不能审核!");
|
if (null != tjNumber) {
|
Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId());
|
SysUser sysUser = userService.getById(userId);
|
LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
|
wq1.eq(TjOrder::getTjNumber, tjNumber);
|
TjOrder tjOrder = orderService.getOne(wq1);
|
if (null != tjOrder) {
|
tjOrder.setConfirmTime(new DateTime());
|
tjOrder.setConfirmDoctor(sysUser.getNickName());
|
tjOrder.setConfirmStatus(remark);
|
if (status == 0) {
|
tjOrder.setStatus(TjConstants.TJ_CHECK);
|
asyncService.updateCheckType(tjNumber);
|
} else {
|
tjOrder.setStatus(TjConstants.TJ_REFUSED);
|
}
|
if (orderService.updateById(tjOrder)) {
|
TjConfirmLog confirmLog = new TjConfirmLog();
|
confirmLog.setOrderId(String.valueOf(tjOrder.getOrderId()));
|
confirmLog.setTjNum(tjNumber);
|
confirmLog.setStatus(status);
|
confirmLogService.save(confirmLog);
|
asyncService.wCScheckSetCustomerLisByRedis(orderService.getCsTjOrderList(tjNumber, 0, null, null, null));
|
asyncService.yCScheckSetCustomerLisByRedis(orderService.getCsTjOrderList(tjNumber, 1, null, null, null));
|
return AjaxResult.success("操作成功");
|
}
|
return AjaxResult.error("操作失败");
|
}
|
return AjaxResult.success("数据不存在");
|
}
|
return AjaxResult.error();
|
}
|
|
|
/**
|
* 同步sql server数据到本地数据库数据接口
|
*/
|
@GetMapping("/dataSynchronization")
|
@ApiOperation(value = "同步sql server数据到本地数据库数据接口")
|
public AjaxResult dataSynchronization(@RequestParam String tjNumber) {
|
//根据配置调取存储过程 将临时表数据存入预约表2023.12.12
|
final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
|
if ("Y".equals(getInfoFromSqlData)) {
|
List<LtkjHysqd> one = testMapper.getHysqdByTmh(tjNumber);
|
if (one != null) {
|
DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
|
ltkjHysqdService.saveBatch(one);
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
for (LtkjHysqd ltkjHysqd : one) {
|
List<LtkjHybgd> one1 = testMapper.getHybgdByTmh(ltkjHysqd.getTmh());
|
if (one1 != null) {
|
DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
|
ltkjHybgdService.saveBatch(one1);
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
}
|
}
|
}
|
|
List<LtkjExamJcsqd> one2 = testMapper.getExamJcsqdTmh(tjNumber);
|
if (one2 != null) {
|
DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
|
ltkjExamJcsqdService.saveBatch(one2);
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
for (LtkjExamJcsqd ltkjExamJcsqd : one2) {
|
List<LtkjExamJcbgd> one3 = testMapper.getExamJcbgdByTjh(ltkjExamJcsqd.getTmh());
|
if (one3 != null) {
|
DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
|
ltkjExamJcbgdService.saveBatch(one3);
|
DynamicDataSourceContextHolder.clearDataSourceType();
|
}
|
}
|
}
|
}
|
return AjaxResult.success("同步成功");
|
}
|
|
|
/**
|
* 查询体检记录客户列表
|
*/
|
@GetMapping("/getList")
|
@ApiOperation(value = "查询体检记录客户列表")//0待1已
|
// @PreAuthorize("@ss.hasPermi('check:check:getList')")
|
public AjaxResult getList(@ApiParam(value = "审核状态0待审核1已审核") @RequestParam(required = false) Integer checkStatus,
|
@ApiParam(value = "页码数(默认1)") @RequestParam(defaultValue = "1") Integer page,
|
@ApiParam(value = "显示条数(默认10)") @RequestParam(defaultValue = "10") Integer pageSize,
|
@ApiParam(value = "体检单号") @RequestParam(required = false) String tjNumber,
|
@ApiParam(value = "单位") @RequestParam(required = false) Long compId,
|
@ApiParam(value = "姓名)") @RequestParam(required = false) String name,
|
@ApiParam(value = "开始时间") @RequestParam(required = false) String beginTime,
|
@ApiParam(value = "结束时间") @RequestParam(required = false) String endTime) {
|
|
String config = configService.selectConfigByKey("tj_confirm");
|
DateTime beginTimes = null;
|
DateTime endTimes = null;
|
if (null != beginTime && null != endTime) {
|
beginTimes = DateUtil.beginOfDay(DateUtil.parse(beginTime));
|
endTimes = DateUtil.endOfDay(DateUtil.parse(endTime));
|
}
|
asyncService.checkSetCustomerLisByRedis(config);
|
//初始化体检订单表
|
List<TjOrder> orderList = null;
|
List<TjCustomer> customerList = new ArrayList<>();
|
Map<String, Object> map = new HashMap<>();
|
|
//姓名查询
|
if (null != name && !"".equals(name)) {
|
List<TjCustomer> list = customerService.getTjCustomerList(name);
|
if (null != list && list.size() > 0) {
|
List<TjCustomer> lists = new ArrayList<>();
|
for (TjCustomer customer : list) {
|
if ("Y".equals(config)) {
|
orderList = orderService.getCsTjOrderListByCusId1(customer.getCusId());
|
} else {
|
orderList = orderService.getTjOrderListByCusId(customer.getCusId());
|
}
|
if (null != orderList && orderList.size() > 0) {
|
for (TjOrder tjOrder : orderList) {
|
customer.setTjNumber(tjOrder.getTjNumber());
|
customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus()));
|
customer.setOrderId(tjOrder.getOrderId());
|
customer.setTjTime(tjOrder.getFinishTime());
|
customer.setFinishTime(tjOrder.getFinishTime());
|
customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
|
customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
|
customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard()));
|
customer.setConfirmStatus(String.valueOf(tjOrder.getStatus()));
|
customer.setTjCategory(tjOrder.getTjCategory());
|
if (tjOrder.getFirmId().equals("0")) {
|
customer.setTjCompName(null);
|
} else {
|
customer.setTjCompName(compService.selectDictCompByDrugManufacturerId(tjOrder.getFirmId()).getCnName());
|
}
|
lists.add(customer);
|
}
|
}
|
}
|
List<TjCustomer> customers = null;
|
if (lists.size() > 0) {
|
customers = lists.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
|
}
|
map.put("customers", customers);
|
map.put("total", lists.size());
|
return AjaxResult.success(map);
|
}
|
return AjaxResult.success("暂无数据");
|
}
|
|
//条件查询
|
if (null != tjNumber || null != compId || (null != beginTime && null != endTime)) {
|
//判断是否开启初审
|
if ("Y".equals(config)) {
|
orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes);
|
} else {
|
orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
|
}
|
return getResult(page, pageSize, orderList, customerList, map);
|
}
|
|
List<TjCustomer> customers = null;
|
if (null != checkStatus && checkStatus == 0) {
|
customers = redisCache.getCacheMapValue("check", "ws");
|
}
|
if (null != checkStatus && checkStatus == 1) {
|
customers = redisCache.getCacheMapValue("check", "ys");
|
}
|
if (customers != null && customers.size() > 0) {
|
// asyncService.addRedis(customers);
|
List<TjCustomer> customerLists = customers.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
|
map.put("customers", customerLists);
|
map.put("total", customers.size());
|
return AjaxResult.success(map);
|
} else {
|
//判断是否开启初审
|
if ("Y".equals(config)) {
|
orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes);
|
} else {
|
orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
|
}
|
return getResult(page, pageSize, orderList, customerList, map);
|
}
|
}
|
|
/**
|
* 根据体检订单号获取体检详情信息接口
|
*
|
* @param tjNumber
|
* @param advice
|
* @param checkStatus
|
* @return
|
*/
|
@PutMapping("/getTjdetailList")
|
@ApiOperation(value = "根据体检订单号获取体检详情信息(并修改状态)接口")
|
// @PreAuthorize("@ss.hasPermi('check:check:getTjdetailList')")
|
public AjaxResult getTjdetailList(@ApiParam(value = "体检tjNumber") @RequestParam String tjNumber,
|
@ApiParam(value = "总检建议") @RequestParam(required = false) String advice,
|
@ApiParam(value = "审核状态0待审核1已审核") @RequestParam Integer checkStatus) {
|
|
int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber);
|
if (num > 0) return AjaxResult.error("有延期项目暂不能生成报告!!!");
|
if (null != tjNumber) {
|
Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId());
|
SysUser sysUser = userService.getById(userId);
|
LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
|
wq1.eq(TjOrder::getTjNumber, tjNumber);
|
TjOrder tjOrder = orderService.getOne(wq1);
|
if (null != tjOrder) {
|
tjOrder.setCheckAdvice(advice);
|
tjOrder.setCheckStatus(checkStatus);
|
tjOrder.setStatus(TjConstants.TJ_CHECK);
|
tjOrder.setCheckDoctor(sysUser.getNickName());
|
tjOrder.setCheckTime(new Date());
|
tjOrder.setStatus(401);
|
if (orderService.updateById(tjOrder)) {
|
TjCustomer customer = customerService.getById(tjOrder.getUserId());
|
if (null != customer) {
|
customer.setCusNumber(customer.getCusNumber() + 1);
|
if (customerService.updateById(customer)) {
|
LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>();
|
wqq.eq(TbTransition::getCusId, customer.getCusIdcard());
|
transitionService.remove(wqq);
|
asyncService.updateCheckType(tjNumber);
|
return AjaxResult.success("操作成功");
|
}
|
return AjaxResult.error("操作失败");
|
}
|
}
|
return AjaxResult.error("操作失败");
|
}
|
return AjaxResult.success("数据不存在");
|
}
|
return AjaxResult.error();
|
}
|
|
|
/**
|
* 总检点击体检信息详情
|
*
|
* @param tjNumber
|
* @return
|
*/
|
@GetMapping("/updateCheckType")
|
@ApiOperation(value = "总检点击体检信息详情")
|
public AjaxResult updateCheckType(@ApiParam(value = "客户体检号") @RequestParam String tjNumber) {
|
if (redisCache.hasKey("updateCheckType" + tjNumber)) {
|
List<Map<String, Object>> cacheMapValue = redisCache.getCacheMapValue("updateCheckType" + tjNumber, tjNumber);
|
return AjaxResult.success(cacheMapValue);
|
}
|
return getAjaxResult(tjNumber);
|
}
|
|
private AjaxResult getAjaxResult(String tjNumber) {
|
|
asyncService.updateCheckType(tjNumber);
|
List<Map<String, Object>> list = new ArrayList<>();
|
TjOrder one = orderService.getOrderByTjNum(tjNumber);
|
|
if (one == null) {
|
return AjaxResult.error("暂无数据!!");
|
}
|
|
TjCustomer customer = customerService.getById(one.getUserId());
|
List<TjOrderRemark> remarkList = orderRemarkService.getRemarkListByTjNumAndType(tjNumber);
|
|
if (null != remarkList && remarkList.size() > 0) {
|
for (TjOrderRemark remark : remarkList) {
|
Map<String, Object> parent = new HashMap<>();
|
parent.put("checkAdvice", one.getCheckAdvice());
|
TjProject project = projectService.selectTjProjectByProId(remark.getProId());
|
if (null != project) {
|
parent.put("parent", project.getProName());
|
parent.put("parentId", project.getProId().toString());
|
}
|
List<TjOrderDetail> tjOrderDetails = detailService.getDetailByOrderIdAndParId(one.getOrderId(), remark.getProId());
|
if (null != tjOrderDetails && tjOrderDetails.size() > 0) {
|
for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
|
final TjProject byId = projectService.selectTjProjectByProId(tjOrderDetail.getProId());
|
if (null == byId) {
|
detailService.removeById(tjOrderDetail.getOrderDetailId());
|
} else {
|
tjOrderDetail.setProject(byId);
|
}
|
List<TjStandard> list2 = tjStandardService.getTjStandardListByProId(String.valueOf(tjOrderDetail.getProId()));
|
if (list2.size() == 0) {
|
tjOrderDetail.setStandard(new TjStandard());
|
} else if (list2.size() == 1) {
|
tjOrderDetail.setStandard(list2.get(0));
|
} else {
|
final int ageType = StringUtils.getAgeType(DateUtil.ageOfNow(customer.getCusBrithday()));
|
TjStandard tjStandard1 = tjStandardService.getListBySexAndType(customer.getCusSex(), ageType, String.valueOf(tjOrderDetail.getProId()));
|
tjOrderDetail.setStandard(tjStandard1);
|
}
|
}
|
String summary = remark.getSummary();
|
if (null != summary) {
|
String[] split = summary.split(";");
|
// List<Long> longList = new ArrayList<>();
|
// for (String str : split) {
|
// if(!"".equals(str)){
|
// longList.add(Long.valueOf(str));
|
// }
|
// }
|
parent.put("parentAdvice", tjAdviceService.getAdviceStringByIds(split));
|
|
} else {
|
parent.put("parentAdvice", null);
|
}
|
parent.put("sons", tjOrderDetails);
|
parent.put("remark", remark.getRemark());
|
if (remark.getDoctorName() != null && null != userService.getById(remark.getDoctorName())) {
|
parent.put("doctorName", userService.getById(remark.getDoctorName()).getNickName());
|
}
|
list.add(parent);
|
} else {
|
return AjaxResult.success("该客户没有体检项目数据");
|
}
|
// }
|
}
|
return AjaxResult.success(list);
|
}
|
return AjaxResult.success("该客户没有体检项目数据!");
|
}
|
|
|
@GetMapping("/getTm")
|
@ApiOperation(value = "获取条码")
|
// @PreAuthorize("@ss.hasPermi('check:check:getTm')")
|
public AjaxResult getTm(@ApiParam(value = "客户体检号") @RequestParam String tjNumber) {
|
return AjaxResult.success(tjNumber);
|
}
|
|
/**
|
* 总检修改备注
|
*
|
* @return
|
*/
|
@PostMapping("/checkUpdateOrderRemark")
|
@ApiOperation(value = "总检修改备注接口")
|
public AjaxResult checkUpdateOrderRemark(@RequestBody List<UpdateOrderRemarkVo> updateOrderRemarkVos) {
|
if (null != updateOrderRemarkVos && updateOrderRemarkVos.size() > 0) {
|
for (UpdateOrderRemarkVo remarkVo : updateOrderRemarkVos) {
|
LambdaQueryWrapper<TjOrderRemark> wqm = new LambdaQueryWrapper<>();
|
wqm.eq(TjOrderRemark::getTjNumber, remarkVo.getTjNumber());
|
wqm.eq(TjOrderRemark::getProId, remarkVo.getProId());
|
TjOrderRemark remark = orderRemarkService.getOne(wqm);
|
if (null != remark) {
|
remark.setRemark(remarkVo.getRemarks());
|
orderRemarkService.updateById(remark);
|
}
|
}
|
}
|
return AjaxResult.success();
|
}
|
|
|
private AjaxResult getResult(Integer page, Integer pageSize, List<TjOrder> orderList, List<TjCustomer> customerList, Map<String, Object> map) {
|
for (TjOrder tjOrder : orderList) {
|
if (null != tjOrder) {
|
TjCustomer customer = customerService.selectTjCustomerByCusId(tjOrder.getUserId());
|
if (customer == null) {
|
continue;
|
}
|
customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
|
customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
|
customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard()));
|
customer.setTjNumber(tjOrder.getTjNumber());
|
customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus()));
|
customer.setOrderId(tjOrder.getOrderId());
|
customer.setTjTime(tjOrder.getCreateTime());
|
customer.setFinishTime(tjOrder.getFinishTime());
|
customer.setConfirmStatus(String.valueOf(tjOrder.getStatus()));
|
customer.setTjCategory(tjOrder.getTjCategory());
|
if (tjOrder.getFirmId() == null) {
|
customer.setTjCompName("无");
|
} else {
|
DictComp byId = compService.selectDictCompByDrugManufacturerId(tjOrder.getFirmId());
|
if (byId != null) {
|
customer.setTjCompName(byId.getCnName());
|
}
|
}
|
customerList.add(customer);
|
}
|
}
|
List<TjCustomer> customers = customerList.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
|
map.put("customers", customers);
|
map.put("total", customerList.size());
|
return AjaxResult.success(map);
|
}
|
|
}
|