zjh
2025-01-20 73a816fd2b1e29c25d615c85ce34b12b55c16ccf
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjNewFlowingWaterController.java
@@ -1,19 +1,15 @@
package com.ltkj.web.controller.system;
import cn.hutool.core.codec.Base64;
import cn.hutool.core.date.DateUtil;
import cn.hutool.extra.pinyin.PinyinUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ltkj.common.core.domain.AjaxResult;
import com.ltkj.common.core.domain.entity.SysUser;
import com.ltkj.common.utils.SecurityUtils;
import com.ltkj.framework.config.MatchUtils;
import com.ltkj.framework.config.UserHoder;
import com.ltkj.hosp.domain.*;
import com.ltkj.hosp.service.*;
import com.ltkj.hosp.vodomain.NewFlowingWaterVo;
import com.ltkj.hosp.vodomain.TjCollectFeesVo;
import com.ltkj.mall.domain.MallCheckLog;
import com.ltkj.mall.domain.MallOrder;
import com.ltkj.mall.mallOrderUtils.TjConstants;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -22,10 +18,6 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -58,6 +50,27 @@
    private ITjProjectService projectService;
    @Resource
    private ITjChargingStandardService chargingStandardService;
    @Resource
    private ITjOrderRemarkService remarkService;
    @GetMapping("/getNewDate")
    @ApiOperation(value = "获取服务器当前时间")
    public AjaxResult getNewDate() {
        Date date = DateUtil.parse(DateUtil.format(DateUtil.date(),"yyyy-MM-dd HH:mm:ss"),"yyyy-MM-dd HH:mm:ss");
        return AjaxResult.success(date);
    }
    @GetMapping("/getNewDateList")
    @ApiOperation(value = "获取服务器当时间段")
    public AjaxResult getNewDateList() {
        Date date = DateUtil.parse(DateUtil.format(DateUtil.date(),"yyyy-MM-dd"),"yyyy-MM-dd");
        return AjaxResult.success(date);
    }
@@ -66,11 +79,12 @@
    @ApiOperation(value = "获取体检收费记录接口")
    public AjaxResult getFlowingWaterList(@RequestParam(required = false) @ApiParam(value = "体检号") String phone,
                                          @RequestParam(required = false) @ApiParam(value = "体检人姓名") String name,
                                          @RequestParam(defaultValue = "1") @ApiParam(value = "收费1 退费2") Long type) {
                                          @RequestParam(defaultValue = "1") @ApiParam(value = "收费1  退费2  4退费员页面") Long type) {
        List<TjFlowingWater> waterList =null;
        List<Long> collect =null;
        TjCustomer one =null;
        Date date=new Date();
        LambdaQueryWrapper<TjFlowingWater> wq1 = new LambdaQueryWrapper<>();
        if(null !=phone || null !=name){
            LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>();
@@ -89,8 +103,16 @@
        if(null !=collect){
            wq1.in(TjFlowingWater::getOrderId, collect);
        }
        wq1.between(TjFlowingWater::getCreateTime,DateUtil.beginOfDay(new Date()),DateUtil.endOfDay(new Date()));
        wq1.eq(TjFlowingWater::getPayStasus,type);
        wq1.between(TjFlowingWater::getCreateTime,DateUtil.beginOfDay(date),DateUtil.endOfDay(date));
        if(type==1){
            wq1.eq(TjFlowingWater::getPayStasus,type);
            wq1.eq(TjFlowingWater::getTollCollectorId, UserHoder.getLoginUser().getUserId());
        }else if(type==4){
            wq1.eq(TjFlowingWater::getPayStasus,1);
        }else {
            wq1.eq(TjFlowingWater::getPayStasus,type);
        }
        waterList = flowingWaterService.list(wq1);
        if(null !=waterList && waterList.size()>0){
@@ -99,6 +121,8 @@
                if (null != order) {
                    if (null != customerService.getById(order.getUserId())) {
                        flowingWater.setCustomer(customerService.getById(order.getUserId()));
                        flowingWater.setTjNumber(order.getTjNumber());
                        flowingWater.setTjProName(flowingWaterService.getproNameByOrderId(order.getTjNumber()));
                    }
                }
            }
@@ -112,12 +136,12 @@
    @GetMapping("/getTjPrice")
    @ApiOperation(value = "获取体检费用")
    public AjaxResult getTjPrice() {
        TjProject project = projectService.getOne(new LambdaQueryWrapper<TjProject>().eq(TjProject::getProName, "体检费")
        TjProject project = projectService.getOne(new LambdaQueryWrapper<TjProject>().eq(TjProject::getProName, "体检项目")
                .eq(TjProject::getProId, 1712272744924446722L));
        if (null != project) {
            return AjaxResult.success(project.getProPrice());
        }
        return AjaxResult.error("没找到对应项目 请自定义费用");
        return AjaxResult.success("没找到对应项目 请自定义费用");
    }
@@ -128,34 +152,28 @@
    @ApiOperation(value = "体检收费接口")
    @Transactional
    public AjaxResult addOrderAndDetail(@RequestBody NewFlowingWaterVo vo) {
        SysUser user = SecurityUtils.getLoginUser().getUser();
        if (!MatchUtils.isMobileNO(vo.getPhone())) {
            return AjaxResult.error("手机号格式有误!");
        }
//        Long cusId = null;
//        LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>();
//        wq.eq(TjCustomer::getCusName, vo.getName());
//        wq.eq(TjCustomer::getCusPhone, vo.getPhone());
//        TjCustomer one = customerService.getOne(wq);
//        if (null == one) {
//        if (!MatchUtils.isMobileNO(vo.getPhone())) {
//            return AjaxResult.error("手机号格式有误!");
//        }
            TjCustomer customer = new TjCustomer();
            if(null !=vo.getPhone())customer.setCusPhone(vo.getPhone());
            customer.setCusName(vo.getName());
            customer.setCusBrithday(new Date());
            customer.setCusSex(0L);
            customerService.save(customer);
//            cusId = customer.getCusId();
//        } else {
//            cusId = one.getCusId();
//        }
        Date date=new Date();
        TjOrder tjOrder = new TjOrder();
        tjOrder.setUserId(customer.getCusId());
        tjOrder.setTjType("2");
        //生成体检号
        String tjNumber = (SecurityUtils.getUsername() + new SimpleDateFormat("yyMMddHHmmss").format(new Date()));
        String tjNumber = (SecurityUtils.getUsername() + new SimpleDateFormat("yyMMddHHmmss").format(date));
        tjOrder.setTjNumber(tjNumber);
        tjOrder.setFirmId("0");
        tjOrder.setStatus(TjConstants.TJ_BEGIN);
        tjOrder.setFinishTime(date);
        tjOrder.setReportTime(date);
        if (orderService.save(tjOrder)) {
            LambdaQueryWrapper<TjFlowingWater> wq = new LambdaQueryWrapper<>();
@@ -167,9 +185,15 @@
            TjOrderDetail detail = new TjOrderDetail();
            detail.setOrderId(tjOrder.getOrderId());
            detail.setProId(1712272744924446722L);
            if(null==vo.getTjPro()){
                detail.setProId(1712272744924446722L);
            }else {
                detail.setProId(vo.getTjPro());
            }
            detail.setProType("0");
            detailService.save(detail);
            remarkService.saveTjOrderRemarkByOrderId(tjOrder.getTjNumber(), user.getNickName(), String.valueOf(user.getUserId()), String.valueOf(tjOrder.getOrderId()));
            TjFlowingWater tjFlowingWater = new TjFlowingWater();
            tjFlowingWater.setOrderId(tjOrder.getOrderId());
@@ -178,10 +202,10 @@
            tjFlowingWater.setPaidIn(vo.getSs());
            tjFlowingWater.setDiscount(vo.getZk());
            tjFlowingWater.setPayStasus(1L);
            Date date1 = new Date(System.currentTimeMillis());
            String s1 = SecurityUtils.getUsername() + new SimpleDateFormat("yyMMddHHmmssSSS").format(date1);
            String s1 = SecurityUtils.getUsername() + new SimpleDateFormat("yyMMddHHmmssSSS").format(date);
            tjFlowingWater.setWaterId(s1);
            tjFlowingWater.setRemarks("已收费");
            tjFlowingWater.setTollCollectorId(String.valueOf(SecurityUtils.getLoginUser().getUserId()));
            if (flowingWaterService.save(tjFlowingWater)) {
                tjOrder.setTjSerialNumber(String.valueOf(tjFlowingWater.getTjSerialNumber()));
                orderService.updateById(tjOrder);
@@ -189,13 +213,22 @@
                detailService.updateById(detail);
                TjChargingStandard tjChargingStandard = new TjChargingStandard();
                tjChargingStandard.setTjNum(tjOrder.getTjNumber());
                tjChargingStandard.setProId(1712272744924446722L);
                tjChargingStandard.setPrice(vo.getYs().divide(BigDecimal.valueOf(Long.parseLong(vo.getNumber()))));
                tjChargingStandard.setProName("体检项目");
                if(null==vo.getTjPro()){
                 tjChargingStandard.setProId(1712272744924446722L);
                }else {
                  tjChargingStandard.setProId(vo.getTjPro());
                }
                tjChargingStandard.setProId(vo.getTjPro());
                tjChargingStandard.setPrice(vo.getSs());
                if(null==vo.getTjProName()){
                    tjChargingStandard.setProName("体检项目");
                }else {
                    tjChargingStandard.setProName(vo.getTjProName());
                }
                tjChargingStandard.setCount(Long.valueOf(vo.getNumber()));
                chargingStandardService.save(tjChargingStandard);
            }
            return AjaxResult.success();
            return AjaxResult.success(tjNumber);
        }
        return AjaxResult.error();
    }
@@ -227,6 +260,7 @@
        tjFlowingWater.setPaidIn(BigDecimal.valueOf(0.00).subtract(tjFlowingWater.getRefundPrice()));
        tjFlowingWater.setCopeWith(flowingWater.getCopeWith());
        tjFlowingWater.setRemarks("已退费");
        tjFlowingWater.setPayType(flowingWater.getPayType());
        if (flowingWaterService.save(tjFlowingWater)) {
            flowingWater.setRemarks("已退费");
            flowingWaterService.updateById(flowingWater);