zjh
2024-12-02 35bf4a558e23d5016bccaa2145c4bed20aed920f
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java
@@ -9,6 +9,7 @@
import cn.hutool.core.date.DateUtil;
import cn.hutool.extra.pinyin.PinyinUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ltkj.common.annotation.RepeatSubmit;
import com.ltkj.common.core.domain.entity.SysUser;
import com.ltkj.common.utils.SecurityUtils;
import com.ltkj.framework.config.MatchUtils;
@@ -23,6 +24,7 @@
import io.swagger.annotations.ApiParam;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.bind.annotation.*;
import com.ltkj.common.annotation.Log;
import com.ltkj.common.core.controller.BaseController;
@@ -91,7 +93,7 @@
        LambdaQueryWrapper<TjChargingStandard> wq3 = new LambdaQueryWrapper<>();
        wq3.eq(TjChargingStandard::getTjNum, TjNumber);
        List<TjChargingStandard> list = chargingStandardService.list(wq3);
        if (null != list && list.size() > 0) {
        if (null != list && !list.isEmpty()) {
            for (TjChargingStandard standard : list) {
                TjProject project = projectService.getById(standard.getProId());
                if (null != project && null != project.getProCheckType()) {
@@ -197,21 +199,34 @@
    @PutMapping
    @ApiOperation(value = "体检点击收费按钮接口")
    @Transactional
    @RepeatSubmit
    public AjaxResult edit(@RequestBody TjFlowingWater tjFlowingWater) {
        Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId());
        SysUser sysUser = userService.getById(userId);
        TjFlowingWater flowingWater = tjFlowingWaterService.getById(tjFlowingWater.getTjSerialNumber());
        tjFlowingWater.setTollCollectorId(String.valueOf(SecurityUtils.getLoginUser().getUserId()));
        tjFlowingWater.setPayStasus(1L);
//        tjFlowingWater.setTollCollectorId(String.valueOf(SecurityUtils.getLoginUser().getUserId()));
//        tjFlowingWater.setPayStasus(1L);
        TjOrder order = orderService.getById(tjFlowingWater.getOrderId());
        if(order.getFinishTime() !=null){
            return AjaxResult.error("该人员已签离,不可补录项目!");
        }
        TjCustomer customer = customerService.getById(order.getUserId());
        if (null != tjFlowingWater.getTjProIds() && tjFlowingWater.getTjProIds().length > 0) {
            tjFlowingWater.setWaterId(PinyinUtil.getFirstLetter(customer.getCusName(), "").toUpperCase() + DateUtil.format(new Date(), "yyMMddHHmmssSSS"));
            tjFlowingWater.setWaterId(PinyinUtil.getFirstLetter(customer.getCusName(), "").toUpperCase() +SecurityUtils.getUsername() + DateUtil.format(new Date(), "yyMMddHHmmssSSS"));
            tjFlowingWater.setIsAddition("Y");
            if (tjFlowingWaterService.save(tjFlowingWater)) {
                //异步单项收费明细
                asyncService.iundividualCharges(tjFlowingWater, order, customer, sysUser);
                Boolean b = asyncService.iundividualCharges(tjFlowingWater, order, customer, sysUser);
                if (!b){
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    return AjaxResult.error();
                }
//                if(!b){
//                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
//                }
                //extracted(tjFlowingWater, order, customer);
                Map<String, Object> map = new HashMap<>();
                map.put("waterId", tjFlowingWater.getWaterId());
@@ -542,7 +557,8 @@
                } else {
                    tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNotNull(OrderId);
                }
                String pacId = transitionService.selectPacIdByTbTransitionTjNumAndProId(order.getTjNumber());
                String pacId = transitionService.selectPacIdByTbTransitionTjNumAndProId(order.getTjNumber(),order.getCardId());
                String s = tjFlowingWaterService.getDiscount(OrderId);
                if (null != tjProjectList && tjProjectList.size() > 0) {
                    for (TjProject project : tjProjectList) {
                        if (project.getProParentId() == 0) {
@@ -576,7 +592,6 @@
                                    project.setProOrdPrice(new BigDecimal("0.00").setScale(2));
                                }
                            }*/
                            String s = tjFlowingWaterService.getDiscount(OrderId);
                            if (null != pacId) {
                                TjPackageProject pp = tjPackageProjectService.getOne(new LambdaQueryWrapper<TjPackageProject>().eq(TjPackageProject::getPacId, pacId)
                                        .eq(TjPackageProject::getProId, String.valueOf(project.getProId())));
@@ -593,15 +608,20 @@
                            }
                        }
                    }
                    TjPackageProject ppp = tjPackageProjectService.getOne(new LambdaQueryWrapper<TjPackageProject>().eq(TjPackageProject::getPacId, pacId)
                            .eq(TjPackageProject::getProId, "1735504273274236929"));
                    List<TjFlowingWater> list = tjFlowingWaterService.list(new LambdaQueryWrapper<TjFlowingWater>()
                            .eq(TjFlowingWater::getOrderId, order)
                            .eq(TjFlowingWater::getPayStasus, 2));
                    if (null != ppp && tjProjectList.size() > 0 && null != list && list.size() > 0) {
                        TjProject project = projectService.selectTjProjectByProId(1735504273274236929L);
                        project.setProOrdPrice(project.getProPrice());
                        tjProjectList.add(project);
                    if (null != list && list.size() > 0) {
                        List<TjProject> projectList = projectService.getTjProListByPacIdAndDeptId(pacId);
                        if(null !=projectList && projectList.size()>0){
                            for (TjProject project : projectList) {
                                project.setProOrdPrice(tjPackageProjectService.getPacProPriceByPacIdAndPro(project.getProId(),pacId)
                                        .multiply(new BigDecimal(s)).setScale(2));
                                tjProjectList.add(project);
                            }
                        }
                    }
                }
                return AjaxResult.success(tjProjectList);
@@ -629,7 +649,7 @@
            wq.ne(TjOrderDetail::getTjStatus, 3);
            wq.isNotNull(TjOrderDetail::getFlowingWaterId);
            List<TjOrderDetail> detailList = detailService.list(wq);
            String pacId = transitionService.selectPacIdByTbTransitionTjNumAndProId(tjOrder.getTjNumber());
            String pacId = transitionService.selectPacIdByTbTransitionTjNumAndProId(tjOrder.getTjNumber(),tjOrder.getCardId());
            if (null != detailList && detailList.size() > 0) {
                List<TjRefundProInfoVo> tjRefundProInfoVoList = new ArrayList<>();
                for (TjOrderDetail detail : detailList) {