|
@@ -14,6 +14,7 @@ package vip.xiaonuo.biz.modular.bizsettle.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.collection.CollStreamUtil;
|
|
import cn.hutool.core.collection.CollStreamUtil;
|
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
@@ -22,11 +23,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.google.common.collect.Lists;
|
|
import com.google.common.collect.Lists;
|
|
import jakarta.annotation.Resource;
|
|
import jakarta.annotation.Resource;
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
+import vip.xiaonuo.biz.modular.bizauditlog.entity.BizAuditLog;
|
|
|
|
+import vip.xiaonuo.biz.modular.bizauditlog.service.BizAuditLogService;
|
|
|
|
+import vip.xiaonuo.biz.modular.bizconfig.entity.BizConfig;
|
|
|
|
+import vip.xiaonuo.biz.modular.bizconfig.service.BizConfigService;
|
|
import vip.xiaonuo.biz.modular.bizorder.entity.BizOrder;
|
|
import vip.xiaonuo.biz.modular.bizorder.entity.BizOrder;
|
|
import vip.xiaonuo.biz.modular.bizorder.param.BizOrderPageParam;
|
|
import vip.xiaonuo.biz.modular.bizorder.param.BizOrderPageParam;
|
|
import vip.xiaonuo.biz.modular.bizorder.service.BizOrderService;
|
|
import vip.xiaonuo.biz.modular.bizorder.service.BizOrderService;
|
|
|
|
+import vip.xiaonuo.biz.modular.bizsettle.param.*;
|
|
import vip.xiaonuo.biz.modular.bizsettleorder.entity.BizSettleOrder;
|
|
import vip.xiaonuo.biz.modular.bizsettleorder.entity.BizSettleOrder;
|
|
import vip.xiaonuo.biz.modular.bizsettleorder.service.BizSettleOrderService;
|
|
import vip.xiaonuo.biz.modular.bizsettleorder.service.BizSettleOrderService;
|
|
import vip.xiaonuo.common.enums.CommonSortOrderEnum;
|
|
import vip.xiaonuo.common.enums.CommonSortOrderEnum;
|
|
@@ -34,10 +41,6 @@ import vip.xiaonuo.common.exception.CommonException;
|
|
import vip.xiaonuo.common.page.CommonPageRequest;
|
|
import vip.xiaonuo.common.page.CommonPageRequest;
|
|
import vip.xiaonuo.biz.modular.bizsettle.entity.BizSettle;
|
|
import vip.xiaonuo.biz.modular.bizsettle.entity.BizSettle;
|
|
import vip.xiaonuo.biz.modular.bizsettle.mapper.BizSettleMapper;
|
|
import vip.xiaonuo.biz.modular.bizsettle.mapper.BizSettleMapper;
|
|
-import vip.xiaonuo.biz.modular.bizsettle.param.BizSettleAddParam;
|
|
|
|
-import vip.xiaonuo.biz.modular.bizsettle.param.BizSettleEditParam;
|
|
|
|
-import vip.xiaonuo.biz.modular.bizsettle.param.BizSettleIdParam;
|
|
|
|
-import vip.xiaonuo.biz.modular.bizsettle.param.BizSettlePageParam;
|
|
|
|
import vip.xiaonuo.biz.modular.bizsettle.service.BizSettleService;
|
|
import vip.xiaonuo.biz.modular.bizsettle.service.BizSettleService;
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
@@ -59,10 +62,27 @@ public class BizSettleServiceImpl extends ServiceImpl<BizSettleMapper, BizSettle
|
|
private BizSettleOrderService bizSettleOrderService;
|
|
private BizSettleOrderService bizSettleOrderService;
|
|
@Resource
|
|
@Resource
|
|
private BizOrderService bizOrderService;
|
|
private BizOrderService bizOrderService;
|
|
|
|
+ @Resource
|
|
|
|
+ private BizConfigService bizConfigService;
|
|
|
|
+ @Resource
|
|
|
|
+ private BizAuditLogService bizAuditLogService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Page<BizSettle> page(BizSettlePageParam bizSettlePageParam) {
|
|
public Page<BizSettle> page(BizSettlePageParam bizSettlePageParam) {
|
|
QueryWrapper<BizSettle> queryWrapper = new QueryWrapper<BizSettle>().checkSqlInjection();
|
|
QueryWrapper<BizSettle> queryWrapper = new QueryWrapper<BizSettle>().checkSqlInjection();
|
|
|
|
+ if(ObjectUtil.isNotEmpty(bizSettlePageParam.getSettleNo())){
|
|
|
|
+ queryWrapper.lambda().like(BizSettle::getSettleNo,bizSettlePageParam.getSettleNo());
|
|
|
|
+ }
|
|
|
|
+ if(ObjectUtil.isNotEmpty(bizSettlePageParam.getSettleType())){
|
|
|
|
+ queryWrapper.lambda().eq(BizSettle::getSettleType,bizSettlePageParam.getSettleType());
|
|
|
|
+ }
|
|
|
|
+ if(ObjectUtil.isNotEmpty(bizSettlePageParam.getStartCreateTime()) && ObjectUtil.isNotEmpty(bizSettlePageParam.getEndCreateTime())){
|
|
|
|
+ String format = DateUtil.format(new Date(), "yyyy-MM-dd");
|
|
|
|
+ queryWrapper.lambda().between(BizSettle::getCreateTime,format+" 00:00:00",format+" 23:59:59");
|
|
|
|
+ }
|
|
|
|
+ if(ObjectUtil.isNotEmpty(bizSettlePageParam.getSettleStatus())){
|
|
|
|
+ queryWrapper.lambda().eq(BizSettle::getSettleStatus,bizSettlePageParam.getSettleStatus());
|
|
|
|
+ }
|
|
Page<BizSettle> page = this.page(CommonPageRequest.defaultPage(), queryWrapper);
|
|
Page<BizSettle> page = this.page(CommonPageRequest.defaultPage(), queryWrapper);
|
|
return page;
|
|
return page;
|
|
}
|
|
}
|
|
@@ -70,6 +90,14 @@ public class BizSettleServiceImpl extends ServiceImpl<BizSettleMapper, BizSettle
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Override
|
|
@Override
|
|
public void add(BizSettleAddParam bizSettleAddParam) {
|
|
public void add(BizSettleAddParam bizSettleAddParam) {
|
|
|
|
+
|
|
|
|
+ if(ObjectUtil.isNotEmpty(bizSettleAddParam.getSettleAccount())){
|
|
|
|
+ BizConfig bizConfig = bizConfigService.getOne(new QueryWrapper<BizConfig>().lambda().last("limit 1"));
|
|
|
|
+ if(bizSettleAddParam.getSettleAccount().compareTo(bizConfig.getSettleAccount()) < 0){
|
|
|
|
+ throw new CommonException("结算总金额低于结算基础金额,不可计算!");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
BizSettle bizSettle = BeanUtil.toBean(bizSettleAddParam, BizSettle.class);
|
|
BizSettle bizSettle = BeanUtil.toBean(bizSettleAddParam, BizSettle.class);
|
|
String settleNo = getNumber();
|
|
String settleNo = getNumber();
|
|
bizSettle.setSettleNo(settleNo);
|
|
bizSettle.setSettleNo(settleNo);
|
|
@@ -210,4 +238,127 @@ public class BizSettleServiceImpl extends ServiceImpl<BizSettleMapper, BizSettle
|
|
bizSettle.setOrderList(orderList);
|
|
bizSettle.setOrderList(orderList);
|
|
return bizSettle;
|
|
return bizSettle;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void submit(BizSettleEditParam bizSettleEditParam) {
|
|
|
|
+ BizSettle bizSettle = this.queryEntity(bizSettleEditParam.getId());
|
|
|
|
+ bizSettle.setSettleStatus("2");
|
|
|
|
+ this.updateById(bizSettle);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**管理员审批*/
|
|
|
|
+ @Transactional
|
|
|
|
+ @Override
|
|
|
|
+ public void auditAdmin(BizSettleAuditParam bizSettleAuditParam) {
|
|
|
|
+ BizSettle bizSettle = this.queryEntity(bizSettleAuditParam.getId());
|
|
|
|
+ String status = "2";
|
|
|
|
+ String auditStatus = "";
|
|
|
|
+ if(StringUtils.equals(bizSettleAuditParam.getAuditFlag(),"true")){
|
|
|
|
+ status="4";
|
|
|
|
+ auditStatus = "1";
|
|
|
|
+ }else{
|
|
|
|
+ status = "3";
|
|
|
|
+ auditStatus = "2";
|
|
|
|
+ }
|
|
|
|
+ //修改状态
|
|
|
|
+ UpdateWrapper<BizSettle> updateWrapper = new UpdateWrapper<>();
|
|
|
|
+ updateWrapper.set("settle_status",status).eq("id",bizSettle.getId());
|
|
|
|
+ this.update(updateWrapper);
|
|
|
|
+
|
|
|
|
+ //插入审核记录
|
|
|
|
+ BizAuditLog bizAuditLog = new BizAuditLog();
|
|
|
|
+ bizAuditLog.setType("YFJS");
|
|
|
|
+ bizAuditLog.setDataId(bizSettle.getId());
|
|
|
|
+ bizAuditLog.setStatus(auditStatus);
|
|
|
|
+ bizAuditLog.setRemark(bizSettleAuditParam.getSettleReason());
|
|
|
|
+ bizAuditLogService.save(bizAuditLog);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**财务审批*/
|
|
|
|
+ @Transactional
|
|
|
|
+ @Override
|
|
|
|
+ public void auditFinance(BizSettleAuditParam bizSettleAuditParam) {
|
|
|
|
+ BizSettle bizSettle = this.queryEntity(bizSettleAuditParam.getId());
|
|
|
|
+ String status = "";
|
|
|
|
+ String auditStatus = "";
|
|
|
|
+ if(StringUtils.equals(bizSettleAuditParam.getAuditFlag(),"true")){
|
|
|
|
+ status="5";
|
|
|
|
+ auditStatus = "1";
|
|
|
|
+ }else{
|
|
|
|
+ status = "3";
|
|
|
|
+ auditStatus = "2";
|
|
|
|
+ }
|
|
|
|
+ //修改状态
|
|
|
|
+ UpdateWrapper<BizSettle> updateWrapper = new UpdateWrapper<>();
|
|
|
|
+ updateWrapper.set("settle_status",status).eq("id",bizSettle.getId());
|
|
|
|
+ this.update(updateWrapper);
|
|
|
|
+
|
|
|
|
+ //插入审核记录
|
|
|
|
+ BizAuditLog bizAuditLog = new BizAuditLog();
|
|
|
|
+ bizAuditLog.setType("YFJS");
|
|
|
|
+ bizAuditLog.setDataId(bizSettle.getId());
|
|
|
|
+ bizAuditLog.setStatus(auditStatus);
|
|
|
|
+ bizAuditLog.setRemark(bizSettleAuditParam.getSettleReason());
|
|
|
|
+ bizAuditLogService.save(bizAuditLog);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void uploadInvoice(BizSettleEditParam bizSettleEditParam) {
|
|
|
|
+ BizSettle bizSettle = this.queryEntity(bizSettleEditParam.getId());
|
|
|
|
+ if(ObjectUtil.isNotEmpty(bizSettleEditParam.getFileNameList())){
|
|
|
|
+ StringBuffer fileNameBuffer = new StringBuffer();
|
|
|
|
+ for(String fileName : bizSettleEditParam.getFileNameList()){
|
|
|
|
+ fileNameBuffer.append(fileName+",");
|
|
|
|
+ }
|
|
|
|
+ bizSettle.setFileInvoiceName(fileNameBuffer.substring(0,fileNameBuffer.length()-1));
|
|
|
|
+ }
|
|
|
|
+ if(ObjectUtil.isNotEmpty(bizSettleEditParam.getFilePathList())){
|
|
|
|
+ StringBuffer filePathBuffer = new StringBuffer();
|
|
|
|
+ for(String filePath : bizSettleEditParam.getFilePathList()){
|
|
|
|
+ filePathBuffer.append(filePath+",");
|
|
|
|
+ }
|
|
|
|
+ bizSettle.setFileInvoicePath(filePathBuffer.substring(0,filePathBuffer.length()-1));
|
|
|
|
+ }
|
|
|
|
+ bizSettle.setSettleStatus("6");
|
|
|
|
+ this.updateById(bizSettle);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void uploadVoucher(BizSettleEditParam bizSettleEditParam) {
|
|
|
|
+ BizSettle bizSettle = this.queryEntity(bizSettleEditParam.getId());
|
|
|
|
+ if(ObjectUtil.isNotEmpty(bizSettleEditParam.getFileNameList())){
|
|
|
|
+ StringBuffer fileNameBuffer = new StringBuffer();
|
|
|
|
+ for(String fileName : bizSettleEditParam.getFileNameList()){
|
|
|
|
+ fileNameBuffer.append(fileName+",");
|
|
|
|
+ }
|
|
|
|
+ bizSettle.setFileVoucherName(fileNameBuffer.substring(0,fileNameBuffer.length()-1));
|
|
|
|
+ }
|
|
|
|
+ if(ObjectUtil.isNotEmpty(bizSettleEditParam.getFilePathList())){
|
|
|
|
+ StringBuffer filePathBuffer = new StringBuffer();
|
|
|
|
+ for(String filePath : bizSettleEditParam.getFilePathList()){
|
|
|
|
+ filePathBuffer.append(filePath+",");
|
|
|
|
+ }
|
|
|
|
+ bizSettle.setFileVoucherPath(filePathBuffer.substring(0,filePathBuffer.length()-1));
|
|
|
|
+ }
|
|
|
|
+ bizSettle.setSettleStatus("7");
|
|
|
|
+ this.updateById(bizSettle);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void auditReject(BizSettleAuditParam bizSettleAuditParam) {
|
|
|
|
+ BizSettle bizSettle = this.queryEntity(bizSettleAuditParam.getId());
|
|
|
|
+
|
|
|
|
+ //修改状态
|
|
|
|
+ UpdateWrapper<BizSettle> updateWrapper = new UpdateWrapper<>();
|
|
|
|
+ updateWrapper.set("settle_status","5").eq("id",bizSettle.getId());
|
|
|
|
+ this.update(updateWrapper);
|
|
|
|
+
|
|
|
|
+ //插入审核记录
|
|
|
|
+ BizAuditLog bizAuditLog = new BizAuditLog();
|
|
|
|
+ bizAuditLog.setType("YFJS");
|
|
|
|
+ bizAuditLog.setDataId(bizSettle.getId());
|
|
|
|
+ bizAuditLog.setStatus("2");
|
|
|
|
+ bizAuditLog.setRemark(bizSettleAuditParam.getSettleReason());
|
|
|
|
+ bizAuditLogService.save(bizAuditLog);
|
|
|
|
+ }
|
|
}
|
|
}
|