package com.hxhq.business.service.impl;

import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hxhq.business.domain.GyzjTz;
import com.hxhq.business.utils.lang.GyzjJcnrUtil;
import com.hxhq.common.core.exception.ServiceException;
import com.hxhq.system.api.domain.SysUser;
import org.springframework.stereotype.Service;
import com.hxhq.business.mapper.GyzjTzMapper;
import com.hxhq.business.service.IGyzjTzService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

/**
 * 麻精药-台账Service业务层处理
 *
 * @author hxhq
 * @date 2025-12-18
 */
@Service
public class GyzjTzServiceImpl extends ServiceImpl<GyzjTzMapper, GyzjTz> implements IGyzjTzService
{

    /**
     * 查询台账列表
     * @param gyzjTz 麻精药
     * @return
     */
    @Override
    public List<GyzjTz> queryList(GyzjTz gyzjTz){
        QueryWrapper<GyzjTz> queryWrapper = Wrappers.query();
        if(gyzjTz.getGyzjId()==null||gyzjTz.getGyzjId().longValue()<0){
            throw new ServiceException("麻精药id不能为空");
        }
        queryWrapper.eq("gyzj_id",gyzjTz.getGyzjId());
        queryWrapper.orderByDesc("id");
        return baseMapper.queryList(queryWrapper);
    }

    /**
     * 新增台账
     *
     * @param gyzjId  麻精药id
     * @param lqr1   领取人1
     * @param lqr2   领取人2
     * @param ghr1   归还人1
     * @param ghr2   归还人2
     * @param ffr1   发放人1
     * @param ffr2   发放人2
     * @param qmr    签名人
     * @param qmyy   签名意义
     * @param czl    操作量
     * @param czldw  操作量单位
     * @param remark 备注
     */
    @Override
    public void saveTz(Long gyzjId, SysUser lqr1, SysUser lqr2, SysUser ghr1, SysUser ghr2, SysUser ffr1, SysUser ffr2, SysUser jsr1, SysUser jsr2, SysUser qmr, String qmyy, String czl, String czldw, String remark) {
        GyzjTz gyzjTz = new GyzjTz();
        gyzjTz.setGyzjId(gyzjId);
        if (lqr1 != null && lqr2 != null) {
            gyzjTz.setLqrMc(lqr1.getNickName() +","+ lqr2.getNickName());
            gyzjTz.setLqrMcEn(lqr1.getUserName() +","+ lqr2.getUserName());
        }

        if (ghr1 != null && ghr2 != null) {
            gyzjTz.setGhrMc(ghr1.getNickName() +","+ ghr2.getNickName());
            gyzjTz.setGhrMcEn(ghr1.getUserName() +","+ ghr2.getUserName());
        }
        if (ffr1 != null && ffr2 != null) {
            gyzjTz.setFfrMc(ffr1.getNickName() +","+ ffr2.getNickName());
            gyzjTz.setFfrMcEn(ffr1.getUserName() +","+ ffr2.getUserName());
        }
        if (jsr1 != null && jsr2 != null) {
            gyzjTz.setJsrMc(jsr1.getNickName() +","+ jsr2.getNickName());
            gyzjTz.setJsrMcEn(jsr1.getUserName() +","+ jsr2.getUserName());
        }
        if (qmr != null && qmr != null) {
            gyzjTz.setQmrId(qmr.getUserId());
            gyzjTz.setQmrMc(qmr.getNickName());
            gyzjTz.setQmrMcEn(qmr.getUserName());
        }
        gyzjTz.setQmyy(qmyy);
        gyzjTz.setQmyyEn(GyzjJcnrUtil.getEn(qmyy));
        gyzjTz.setCzldw(czldw);
        gyzjTz.setCzl(czl);
        gyzjTz.setRemark(remark);
        this.save(gyzjTz);
    }

    /**
     * 新增台账
     *
     * @param gyzjId  麻精药id
     * @param lqr1   领取人1
     * @param lqr2   领取人2
     * @param ghr1   归还人1
     * @param ghr2   归还人2
     * @param ffr1   发放人1
     * @param ffr2   发放人2
     * @param qmr    签名人
     * @param qmyy   签名意义
     * @param czl    操作量
     * @param czldw  操作量单位
     * @param remark 备注
     */
    @Override
    public GyzjTz getTz(Long gyzjId, SysUser lqr1, SysUser lqr2, SysUser ghr1, SysUser ghr2, SysUser ffr1, SysUser ffr2, SysUser jsr1, SysUser jsr2, SysUser qmr, String qmyy, String czl, String czldw, String remark) {
        GyzjTz gyzjTz = new GyzjTz();
        gyzjTz.setGyzjId(gyzjId);
        if (lqr1 != null && lqr2 != null) {
            gyzjTz.setLqrMc(lqr1.getNickName() +","+ lqr2.getNickName());
            gyzjTz.setLqrMcEn(lqr1.getUserName() +","+ lqr2.getUserName());
        }

        if (ghr1 != null && ghr2 != null) {
            gyzjTz.setGhrMc(ghr1.getNickName() +","+ ghr2.getNickName());
            gyzjTz.setGhrMcEn(ghr1.getUserName() +","+ ghr2.getUserName());
        }
        if (ffr1 != null && ffr2 != null) {
            gyzjTz.setFfrMc(ffr1.getNickName() +","+ ffr2.getNickName());
            gyzjTz.setFfrMcEn(ffr1.getUserName() +","+ ffr2.getUserName());
        }
        if (jsr1 != null && jsr2 != null) {
            gyzjTz.setJsrMc(jsr1.getNickName() +","+ jsr2.getNickName());
            gyzjTz.setJsrMcEn(jsr1.getUserName() +","+ jsr2.getUserName());
        }
        if (qmr != null && qmr != null) {
            gyzjTz.setQmrId(qmr.getUserId());
            gyzjTz.setQmrMc(qmr.getNickName());
            gyzjTz.setQmrMcEn(qmr.getUserName());
        }
        gyzjTz.setQmyy(qmyy);
        gyzjTz.setQmyyEn(GyzjJcnrUtil.getEn(qmyy));
        gyzjTz.setCzldw(czldw);
        gyzjTz.setCzl(czl);
        gyzjTz.setRemark(remark);
        return gyzjTz;
    }


    /**
     * 新增台账
     *
     * @param gyzjId  麻精药id
     * @param lqr1   领取人1
     * @param lqr2   领取人2
     * @param ghr1   归还人1
     * @param ghr2   归还人2
     * @param ffr1   发放人1
     * @param ffr2   发放人2
     * @param qmr    签名人
     * @param qmyy   签名意义
     * @param czl    操作量
     * @param czldw  操作量单位
     * @param remark 备注
     * @param bdId 表单id
     */
    @Override
    public GyzjTz getTzGen(Long gyzjId, SysUser lqr1, SysUser lqr2, SysUser ghr1, SysUser ghr2, SysUser ffr1, SysUser ffr2, SysUser jsr1, SysUser jsr2, SysUser qmr, String qmyy, String czl, String czldw, String remark,Long bdId) {
        GyzjTz gyzjTz = new GyzjTz();
        gyzjTz.setGyzjId(gyzjId);
        if (lqr1 != null && lqr2 != null) {
            gyzjTz.setLqrMc(lqr1.getNickName() +","+ lqr2.getNickName());
            gyzjTz.setLqrMcEn(lqr1.getUserName() +","+ lqr2.getUserName());
        }

        if (ghr1 != null && ghr2 != null) {
            gyzjTz.setGhrMc(ghr1.getNickName() +","+ ghr2.getNickName());
            gyzjTz.setGhrMcEn(ghr1.getUserName() +","+ ghr2.getUserName());
        }
        if (ffr1 != null && ffr2 != null) {
            gyzjTz.setFfrMc(ffr1.getNickName() +","+ ffr2.getNickName());
            gyzjTz.setFfrMcEn(ffr1.getUserName() +","+ ffr2.getUserName());
        }
        if (jsr1 != null && jsr2 != null) {
            gyzjTz.setJsrMc(jsr1.getNickName() +","+ jsr2.getNickName());
            gyzjTz.setJsrMcEn(jsr1.getUserName() +","+ jsr2.getUserName());
        }
        if (qmr != null && qmr != null) {
            gyzjTz.setQmrId(qmr.getUserId());
            gyzjTz.setQmrMc(qmr.getNickName());
            gyzjTz.setQmrMcEn(qmr.getUserName());
        }
        gyzjTz.setQmyy(qmyy);
        gyzjTz.setQmyyEn(GyzjJcnrUtil.getEn(qmyy));
        gyzjTz.setCzldw(czldw);
        gyzjTz.setCzl(czl);
        gyzjTz.setRemark(remark);
        gyzjTz.setBdId(bdId);
        return gyzjTz;
    }
}
