|
@@ -0,0 +1,252 @@
|
|
|
+package com.tianhu.system.controller;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.keao.tianhu.starter.mybatis.plus.controller.BaseController;
|
|
|
+import com.keao.tianhu.starter.mybatis.plus.entity.QueryRequest;
|
|
|
+import com.keao.tianhu.core.exception.base.BusinessException;
|
|
|
+import com.tianhu.common.core.domain.R;
|
|
|
+import com.tianhu.common.core.utils.CommonUtil;
|
|
|
+import com.tianhu.common.core.utils.IdUtils;
|
|
|
+import com.tianhu.common.core.web.domain.AjaxResult;
|
|
|
+import com.tianhu.common.core.web.page.TableDataInfo;
|
|
|
+import com.tianhu.common.log.annotation.Log;
|
|
|
+import com.tianhu.common.log.enums.BusinessType;
|
|
|
+import com.tianhu.common.security.annotation.PreAuthorize;
|
|
|
+import com.tianhu.common.security.service.TokenService;
|
|
|
+import com.tianhu.system.api.domain.SysUser;
|
|
|
+import com.tianhu.system.api.model.LoginUser;
|
|
|
+import com.tianhu.system.domain.*;
|
|
|
+import com.tianhu.system.service.IPayAccInfService;
|
|
|
+import com.tianhu.system.service.ISysCompanyService;
|
|
|
+import com.tianhu.system.service.IZcCfcaBankInfService;
|
|
|
+import com.tianhu.system.utils.RegularUtil;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+import org.apache.poi.ss.usermodel.Workbook;
|
|
|
+import cn.hutool.core.io.resource.ClassPathResource;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import javax.validation.Valid;
|
|
|
+import java.util.*;
|
|
|
+
|
|
|
+/**
|
|
|
+ * ClassName: PayAccInfController<br>
|
|
|
+ * Description: PayAccInf Controller <br>
|
|
|
+ * Company: keao
|
|
|
+ *
|
|
|
+ * @author cuixq
|
|
|
+ * @version v1.0.0 2021-10-12 cuixq 由Generator自动创建
|
|
|
+ */
|
|
|
+@Slf4j
|
|
|
+@RestController
|
|
|
+@RequestMapping("/payAccInf")
|
|
|
+public class PayAccInfController extends BaseController {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IPayAccInfService payAccInfService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private TokenService tokenService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IZcCfcaBankInfService zcCfcaBankInfService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ISysCompanyService sysCompanyService;
|
|
|
+
|
|
|
+ @GetMapping("list")
|
|
|
+ public R list(String paiAccno,QueryRequest request) {
|
|
|
+ //获取当前操作人员
|
|
|
+ LoginUser userInfo = tokenService.getLoginUser();
|
|
|
+ SysUser use = userInfo.getSysUser();
|
|
|
+ LambdaQueryWrapper<PayAccInf> payAccInf = new LambdaQueryWrapper();
|
|
|
+ if (CommonUtil.isNotEmpty(paiAccno)){
|
|
|
+ payAccInf.like(PayAccInf::getPaiAccno,paiAccno);
|
|
|
+ }
|
|
|
+ payAccInf.eq(PayAccInf::getPaiCstno,use.getCompanyId());
|
|
|
+ payAccInf.eq(PayAccInf::getPaiStatus,"2");
|
|
|
+ IPage<PayAccInf> sccInf = payAccInfService.findPayAccInfs(request, payAccInf);
|
|
|
+ return R.ok(sccInf);
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 查询企业详情
|
|
|
+ */
|
|
|
+// @PreAuthorize(hasPermi = "system:company:details")
|
|
|
+ @GetMapping("details/{paiId}")
|
|
|
+ public AjaxResult details(@PathVariable("paiId") String paiId)throws Exception {
|
|
|
+ //获取当前操作人员
|
|
|
+ LoginUser userInfo = tokenService.getLoginUser();
|
|
|
+ SysUser use = userInfo.getSysUser();
|
|
|
+ LambdaQueryWrapper<PayAccInf> payAccInf = new LambdaQueryWrapper();
|
|
|
+ payAccInf.eq(PayAccInf::getPaiId,paiId);
|
|
|
+ List<PayAccInf> sccInf = payAccInfService.findPayAccInfs(payAccInf);
|
|
|
+ LambdaQueryWrapper<SysCompany> sysCompany = new LambdaQueryWrapper();
|
|
|
+ sysCompany.eq(SysCompany::getScyId,use.getCompanyId());
|
|
|
+ List<SysCompany> company = sysCompanyService.findSysCompanys(sysCompany);
|
|
|
+ Map map = new HashMap<>();
|
|
|
+ map.put("sccInf",sccInf);
|
|
|
+ map.put("company",company.get(0).getScyName());
|
|
|
+ return AjaxResult.success(map);
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 新增对公账户
|
|
|
+ */
|
|
|
+ @PreAuthorize(hasPermi = "accInf:accInf:add")
|
|
|
+ @Log(title = "对公账户", businessType = BusinessType.INSERT)
|
|
|
+ @PostMapping("/add")
|
|
|
+ public R add(@RequestBody Map<String,Object> map) throws Exception {
|
|
|
+ //获取当前操作人员
|
|
|
+ LoginUser userInfo = tokenService.getLoginUser();
|
|
|
+ SysUser use = userInfo.getSysUser();
|
|
|
+ //账号
|
|
|
+ String paiAccno = CommonUtil.objToString(map.get("paiAccno"));
|
|
|
+ if(CommonUtil.isEmpty(paiAccno)){
|
|
|
+ return R.fail("账号卡号不可为空");
|
|
|
+ }
|
|
|
+ LambdaQueryWrapper<PayAccInf> payAccInf = new LambdaQueryWrapper();
|
|
|
+ payAccInf.eq(PayAccInf::getPaiAccno,paiAccno);
|
|
|
+ payAccInf.eq(PayAccInf::getPaiStatus,"2");
|
|
|
+ List<PayAccInf> sccInf = payAccInfService.findPayAccInfs(payAccInf);
|
|
|
+ if(sccInf.size()>0){
|
|
|
+ return R.fail("当前账号卡号已存在");
|
|
|
+ }
|
|
|
+ //开户银行
|
|
|
+ String paiBankName = CommonUtil.objToString(map.get("paiBankName"));
|
|
|
+ if(CommonUtil.isEmpty(paiBankName)){
|
|
|
+ return R.fail("开户银行不可为空");
|
|
|
+ }
|
|
|
+ //分支行
|
|
|
+ String paiQlbankname = CommonUtil.objToString(map.get("paiQlbankname"));
|
|
|
+ if(CommonUtil.isEmpty(paiQlbankname)){
|
|
|
+ return R.fail("分支行不可为空");
|
|
|
+ }
|
|
|
+ //查询行号
|
|
|
+ LambdaQueryWrapper<ZcCfcaBankInf> zccfcaBank = new LambdaQueryWrapper();
|
|
|
+ zccfcaBank.eq(ZcCfcaBankInf::getZcbiBankName,paiBankName);
|
|
|
+ List<ZcCfcaBankInf> cfcaBank = zcCfcaBankInfService.findZcCfcaBankInfs(zccfcaBank);
|
|
|
+ if(cfcaBank.size()==0){
|
|
|
+ throw new Exception("获取行号失败,请联系管理员");
|
|
|
+ }
|
|
|
+ //账户名称
|
|
|
+ String paiAccnoName = CommonUtil.objToString(map.get("paiAccnoName"));
|
|
|
+ PayAccInf payAccInf1 =new PayAccInf();
|
|
|
+ String paiId = IdUtils.fastSimpleUUID();
|
|
|
+ payAccInf1.setPaiId(paiId);
|
|
|
+ payAccInf1.setPaiCstno(use.getCompanyId());
|
|
|
+ payAccInf1.setPaiAccno(paiAccno);
|
|
|
+ payAccInf1.setPaiStatus("2");
|
|
|
+ payAccInf1.setPaiBalance("0.00");
|
|
|
+ payAccInf1.setPaiAvabalance("0.00");
|
|
|
+ payAccInf1.setPaiAcctype("00");
|
|
|
+ payAccInf1.setPaiCrytype("CNY");
|
|
|
+ payAccInf1.setPaiQlbankno(cfcaBank.get(0).getZcbiBankNo());
|
|
|
+ payAccInf1.setPaiQlbankname(paiQlbankname);
|
|
|
+ payAccInf1.setPaiAccnoName(paiAccnoName);
|
|
|
+ payAccInf1.setPaiBankName(paiBankName);
|
|
|
+ payAccInfService.createPayAccInf(payAccInf1);
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 修改对公账户
|
|
|
+ */
|
|
|
+ @PreAuthorize(hasPermi = "accInf:accInf:edit")
|
|
|
+ @Log(title = "对公账户", businessType = BusinessType.UPDATE)
|
|
|
+ @PostMapping("/edit")
|
|
|
+ public R edit(@RequestBody Map<String,Object> map)
|
|
|
+ {
|
|
|
+ //获取当前操作人员
|
|
|
+ LoginUser userInfo = tokenService.getLoginUser();
|
|
|
+ SysUser use = userInfo.getSysUser();
|
|
|
+ //账号
|
|
|
+ String paiAccno = CommonUtil.objToString(map.get("paiAccno"));
|
|
|
+ if(CommonUtil.isEmpty(paiAccno)){
|
|
|
+ return R.fail("账号卡号不可为空");
|
|
|
+ }
|
|
|
+ LambdaQueryWrapper<PayAccInf> payAccInf = new LambdaQueryWrapper();
|
|
|
+ payAccInf.eq(PayAccInf::getPaiAccno,paiAccno);
|
|
|
+ payAccInf.ne(PayAccInf::getPaiCstno,use.getCompanyId());
|
|
|
+ payAccInf.eq(PayAccInf::getPaiStatus,"2");
|
|
|
+ List<PayAccInf> sccInf = payAccInfService.findPayAccInfs(payAccInf);
|
|
|
+ if(sccInf.size()>0){
|
|
|
+ return R.fail("当前账号卡号已存在");
|
|
|
+ }
|
|
|
+ //开户银行
|
|
|
+ String paiBankName = CommonUtil.objToString(map.get("paiBankName"));
|
|
|
+ if(CommonUtil.isEmpty(paiBankName)){
|
|
|
+ return R.fail("开户银行不可为空");
|
|
|
+ }
|
|
|
+ //分支行
|
|
|
+ String paiQlbankname = CommonUtil.objToString(map.get("paiQlbankname"));
|
|
|
+ if(CommonUtil.isEmpty(paiQlbankname)){
|
|
|
+ return R.fail("分支行不可为空");
|
|
|
+ }
|
|
|
+ //账户名称
|
|
|
+ String paiAccnoName = CommonUtil.objToString(map.get("paiAccnoName"));
|
|
|
+ //主键
|
|
|
+ String paiId = CommonUtil.objToString(map.get("paiId"));
|
|
|
+ PayAccInf payAccInf1 =new PayAccInf();
|
|
|
+ payAccInf1.setPaiId(paiId);
|
|
|
+ payAccInf1.setPaiAccno(paiAccno);
|
|
|
+ payAccInf1.setPaiQlbankname(paiQlbankname);
|
|
|
+ payAccInf1.setPaiAccnoName(paiAccnoName);
|
|
|
+ payAccInf1.setPaiBankName(paiBankName);
|
|
|
+ payAccInfService.updatePayAccInf(payAccInf1);
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 删除对公账户
|
|
|
+ */
|
|
|
+ @PreAuthorize(hasPermi = "accInf:accInf:delete")
|
|
|
+ @Log(title = "对公账户", businessType = BusinessType.DELETE)
|
|
|
+ @PostMapping("/delete/{paiId}")
|
|
|
+ public R delete(@PathVariable("paiId") String paiId)
|
|
|
+ {
|
|
|
+ //获取当前操作人员
|
|
|
+ LoginUser userInfo = tokenService.getLoginUser();
|
|
|
+ SysUser use = userInfo.getSysUser();
|
|
|
+ PayAccInf payAccInf1 =new PayAccInf();
|
|
|
+ payAccInf1.setPaiId(paiId);
|
|
|
+ payAccInf1.setPaiStatus("1");
|
|
|
+ payAccInf1.setCreateBy(use.getUserId()+"");
|
|
|
+ payAccInf1.setCreateTime(new Date());
|
|
|
+ payAccInfService.updatePayAccInf(payAccInf1);
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询银行
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("/queryBank")
|
|
|
+ public R queryBank(String pbaiBankName,QueryRequest request) throws Exception {
|
|
|
+ //查询账户
|
|
|
+ LambdaQueryWrapper<ZcCfcaBankInf> bank = new LambdaQueryWrapper<>();
|
|
|
+ //所属银行
|
|
|
+ if(CommonUtil.isNotEmpty(pbaiBankName)){
|
|
|
+ bank.like(ZcCfcaBankInf::getZcbiBankName,pbaiBankName);
|
|
|
+ }
|
|
|
+ IPage<ZcCfcaBankInf> bankAcc = zcCfcaBankInfService.findZcCfcaBankInfs(request, bank);
|
|
|
+ return R.ok(bankAcc);
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 查询银行
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("/queryCard")
|
|
|
+ public R queryCard(QueryRequest request) throws Exception {
|
|
|
+ LoginUser userInfo = tokenService.getLoginUser();
|
|
|
+ SysUser use = userInfo.getSysUser();
|
|
|
+ //查询账户
|
|
|
+ LambdaQueryWrapper<PayAccInf> accInf = new LambdaQueryWrapper<>();
|
|
|
+ accInf.like(PayAccInf::getPaiCstno,use.getCompanyId());
|
|
|
+ IPage<PayAccInf> bankAcc = payAccInfService.findPayAccInfs(request, accInf);
|
|
|
+ return R.ok(bankAcc);
|
|
|
+ }
|
|
|
+}
|