emis-api-service/emis-api-web/src/main/java/com/xdadan/erp/apiweb/SettleBillController.java
2024-08-31 22:57:44 +08:00

162 lines
5.5 KiB
Java

/**
* @Project: emis
* @Title: EmisSettleBillController.java
* @author linfso
* @date 2024-07-03 18:54:51
* @Copyright: ShangHai Duta 2022 All rights reserved.
* @version v1.0
* @Description: <p> 结算总账单 控制器 </p>
*/
package com.xdadan.erp.apiweb;
import cn.hutool.core.io.resource.ResourceUtil;
import cn.hutool.core.map.MapUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.support.ExcelTypeEnum;
import com.alibaba.excel.util.MapUtils;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.metadata.fill.FillConfig;
import com.alibaba.fastjson.JSON;
import com.xdadan.erp.common.annotation.Log;
import com.xdadan.erp.common.core.controller.BaseController;
import com.xdadan.erp.common.core.domain.AjaxResult;
import com.xdadan.erp.common.core.page.TableDataInfo;
import com.xdadan.erp.common.enums.BusinessType;
import com.xdadan.erp.common.utils.DateUtils;
import com.xdadan.erp.common.utils.DictUtils;
import com.xdadan.erp.common.utils.poi.ExcelUtil;
import com.xdadan.erp.emis.domain.EmisSettleBill;
import com.xdadan.erp.emis.domain.EmisSettleSubBill;
import com.xdadan.erp.emis.domain.EmisSettleSubBillFeeitem;
import com.xdadan.erp.emis.domain.exception.EmisBizError;
import com.xdadan.erp.emis.service.EmisBaseService;
import com.xdadan.erp.emis.service.IEmisSettleBillPayLogService;
import com.xdadan.erp.emis.service.IEmisSettleBillService;
import com.xdadan.erp.emis.utils.WaybillHelper;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.*;
/**
* 结算总账单Controller
*
* @author linfso
* @date 2024-07-03 18:54:51
*/
@RestController
@RequestMapping("/apiweb/emisSettleBill")
public class SettleBillController extends BaseController
{
@Autowired
private IEmisSettleBillService emisSettleBillService;
@Autowired
private IEmisSettleBillPayLogService emisSettleBillPayLogService;
@Autowired
private EmisBaseService emisBaseService;
/**
* 查询结算总账单列表
*/
@GetMapping("/listSimple")
public TableDataInfo listSimple(EmisSettleBill emisSettleBill)
{
startPage();
setPrivParams(emisSettleBill);
String billCodeStr = MapUtil.getStr(emisSettleBill.getParams(),"billCode");
if(!StringUtils.isEmpty(billCodeStr)){
emisSettleBill.getParams().put("billCode", WaybillHelper.formatQueryValue(billCodeStr));
String[] billCodeSortList = billCodeStr.split(",");
if(billCodeSortList.length>1){
emisSettleBill.getParams().put("billCodeSortList", Arrays.asList(billCodeSortList));
}
}
if(!StringUtils.isEmpty(emisSettleBill.getSettleBillNo())){
emisSettleBill.setSettleBillNo(WaybillHelper.formatQueryValue(emisSettleBill.getSettleBillNo()));
String[] settleBillNoSortList = emisSettleBill.getSettleBillNo().split(",");
if(settleBillNoSortList.length>1){
emisSettleBill.getParams().put("settleBillNoSortList",Arrays.asList(settleBillNoSortList));
}
}
List<EmisSettleBill> list = emisSettleBillService.selectEmisSettleBillList(emisSettleBill);
return getDataTable(list);
}
/**
* 获取结算总账单详细信息
*/
// @PreAuthorize("@ss.hasPermi('emis:emisSettleBill:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(emisSettleBillService.selectEmisSettleBillById(id));
}
/**
* 获取结算总账单详细信息
*/
@GetMapping(value = "/getInfoBySettleBillNo")
public AjaxResult getInfoBySettleBillNo(String settleBillNo)
{
EmisSettleBill emisSettleBill=emisBaseService.getSettleBillBySettleBillNo(settleBillNo);
BigDecimal thisPayMoney=emisSettleBill.getRecMoney().subtract(emisSettleBill.getRecedMoney());
emisSettleBill.setThisPayMoney(thisPayMoney);
// subBillList , 返回子账单列表
List<EmisSettleSubBill> subBillList=emisBaseService.selectSubBillListBySettleBillNo(settleBillNo);
emisSettleBill.setSubBillList(subBillList);
return AjaxResult.success("成功",emisSettleBill);
}
@GetMapping(value = "/getWxPayQrCode")
public AjaxResult getWxPayQrCode(EmisSettleBill emisSettleBill)
{
try {
// String customerCode=emisSettleBill.getCustomerCode();
String qrPicUrl=emisSettleBillPayLogService.genWxPayQR(emisSettleBill.getSettleBillNo());
return AjaxResult.success("成功",qrPicUrl);
} catch (EmisBizError emisBizError) {
emisBizError.printStackTrace();
return AjaxResult.error(emisBizError.getMessage());
}
}
@PostMapping(value = "/sumbitWxPay")
public AjaxResult sumbitWxPay(@RequestBody EmisSettleBill emisSettleBill)
{
String customerCode=emisSettleBill.getCustomerCode();
emisSettleBill.setCustomerCode(customerCode);
return AjaxResult.success("123");
}
}