Selaa lähdekoodia

经销商收费明细

lazhaoqian 3 vuotta sitten
vanhempi
commit
8538823351

+ 12 - 0
blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vojo/Acc.java

@@ -316,5 +316,17 @@ public class Acc implements Serializable {
 	 */
 	@ApiModelProperty(value = "商品名称")
 	private String goodName;
+	/**
+	 * 订单日期开始
+	 */
+	@ApiModelProperty(value = "订单日期开始")
+	@TableField(exist = false)
+	private String accDateStart;
+	/**
+	 * 订单日期结束
+	 */
+	@ApiModelProperty(value = "订单日期结束")
+	@TableField(exist = false)
+	private String accDateEnd;
 
 }

+ 4 - 0
blade-service/trade-finance/pom.xml

@@ -105,6 +105,10 @@
             <artifactId>http-request</artifactId>
             <version>5.6</version>
         </dependency>
+        <dependency>
+            <groupId>org.springblade</groupId>
+            <artifactId>blade-starter-excel</artifactId>
+        </dependency>
     </dependencies>
 
 

+ 69 - 0
blade-service/trade-finance/src/main/java/org/springblade/finance/controller/AccController.java

@@ -16,17 +16,21 @@
  */
 package org.springblade.finance.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.finance.excel.FeeStatisticsExcel;
 import org.springblade.finance.vo.AccVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
+import org.springblade.core.excel.util.ExcelUtil;
 
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 
 import org.springblade.client.feign.ICorpsDescClient;
@@ -36,6 +40,7 @@ import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.finance.service.IAccService;
+import org.springblade.purchase.sales.entity.Order;
 import org.springblade.system.user.feign.IUserClient;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -43,6 +48,7 @@ import org.springblade.finance.vojo.Acc;
 
 import org.springblade.core.boot.ctrl.BladeController;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -204,5 +210,68 @@ public class AccController extends BladeController {
 		return R.data(list);
 
 	}
+	@GetMapping("/getAccMessage")
+	@ApiOperationSupport(order = 9)
+	@ApiOperation(value = "统计收付费明细", notes = "传入ids")
+	public R<List<Acc>> getAccMessage(@Valid @RequestBody Acc acc) {
+		if (StringUtils.isBlank(acc.getTradeType())){
+			throw new SecurityException("请选择查询的类型");
+		}
+		//默认为付费
+		if (StringUtils.isBlank(acc.getDc())){
+			acc.setDc("c");
+		}
+		LambdaQueryWrapper<Acc> accLambdaQueryWrapper = new LambdaQueryWrapper<>();
+		accLambdaQueryWrapper
+			.eq(Acc::getTenantId, AuthUtil.getTenantId())
+			.eq(Acc::getIsDeleted, 0)
+			.eq(Acc::getTradeType, acc.getTradeType())
+			.like(Func.isNotEmpty(acc.getAccSysNo()),Acc::getSysno,acc.getSysno())
+			.eq(Func.isNotEmpty(acc.getCorpId()),Acc::getCorpId,acc.getCorpId())
+			.eq(Acc::getDc,acc.getDc())
+			.ge(Func.isNotEmpty(acc.getAccDateStart()), Acc::getAccDate, acc.getAccDateStart())//订单日期开始
+			.le(Func.isNotEmpty(acc.getAccDateEnd()), Acc::getAccDate, acc.getAccDateEnd());//订单日期结束
+
+		List<Acc> list = accService.list(accLambdaQueryWrapper);
+		if (CollectionUtils.isNotEmpty(list)){
+			list.forEach(e -> {
+				//客户名称
+				e.setCorpName(corpsDescClient.getCorpMessage(e.getCorpId()).getData().getCname());
+			});
+		}
+		return R.data(list);
+	}
+	@GetMapping("/exportAccMessage")
+	@ApiOperationSupport(order = 10)
+	@ApiOperation(value = "导出收付费明细", notes = "传入ids")
+	public void exportAccMessage(Acc acc, HttpServletResponse response) {
+		if (StringUtils.isBlank(acc.getTradeType())){
+			throw new SecurityException("请选择查询的类型");
+		}
+		//默认为付费
+		if (StringUtils.isBlank(acc.getDc())){
+			acc.setDc("c");
+		}
+		List<FeeStatisticsExcel> feeStatisticsExcelArrayList = new ArrayList<>();
+		LambdaQueryWrapper<Acc> accLambdaQueryWrapper = new LambdaQueryWrapper<>();
+		accLambdaQueryWrapper
+			.eq(Acc::getTenantId, AuthUtil.getTenantId())
+			.eq(Acc::getIsDeleted, 0)
+			.eq(Acc::getTradeType, acc.getTradeType())
+			.like(Func.isNotEmpty(acc.getAccSysNo()),Acc::getSysno,acc.getSysno())
+			.eq(Func.isNotEmpty(acc.getCorpId()),Acc::getCorpId,acc.getCorpId())
+			.eq(Acc::getDc,acc.getDc())
+			.ge(Func.isNotEmpty(acc.getAccDateStart()), Acc::getAccDate, acc.getAccDateStart())//订单日期开始
+			.le(Func.isNotEmpty(acc.getAccDateEnd()), Acc::getAccDate, acc.getAccDateEnd());//订单日期结束
 
+		List<Acc> list = accService.list(accLambdaQueryWrapper);
+		if (CollectionUtils.isNotEmpty(list)){
+			list.forEach(e -> {
+				//客户名称
+				e.setCorpName(corpsDescClient.getCorpMessage(e.getCorpId()).getData().getCname());
+			});
+			feeStatisticsExcelArrayList = JSON.parseArray(JSON.toJSONString(list), FeeStatisticsExcel.class);
+		}
+		ExcelUtil.export(response, "收付费明细", "收付费明细", feeStatisticsExcelArrayList, FeeStatisticsExcel.class);
+	}
 }

+ 88 - 0
blade-service/trade-finance/src/main/java/org/springblade/finance/excel/FeeStatisticsExcel.java

@@ -0,0 +1,88 @@
+package org.springblade.finance.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 费用统计
+ */
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class FeeStatisticsExcel implements Serializable {
+	private static final long serialVersionUID = 1L;
+	/**
+	 * 订单号
+	 */
+	@ExcelProperty(value = "订单号")
+	private String accSysNo;
+	/**
+	 * 客户名称
+	 */
+	@ExcelProperty(value = "客户名称")
+	private String corpName;
+	/**
+	 * 收款 还是 付款
+	 */
+	@ExcelProperty(value = "收费类别")
+	private String dc;
+	/**
+	 * 商品名称
+	 */
+	@ExcelProperty(value = "商品名称")
+	private String goodName;
+	/**
+	 * 型号
+	 */
+	@ExcelProperty(value = "型号")
+	private String goodType;
+	/**
+	 * 数量
+	 */
+	@ExcelProperty(value = "数量")
+	private BigDecimal quantity;
+	/**
+	 * 单价
+	 */
+	@ExcelProperty(value = "销售单价")
+	private BigDecimal price;
+	/**
+	 * 金额
+	 */
+	@ExcelProperty(value = "金额")
+	private BigDecimal amount;
+	/**
+	 * 币别
+	 */
+	@ExcelProperty(value = "币别")
+	private String currency;
+	/**
+	 * 汇率
+	 */
+	@ExcelProperty(value = "汇率")
+	private BigDecimal exchangeRate;
+	/**
+	 * 结算金额
+	 */
+	@ExcelProperty(value = "结算金额")
+	private BigDecimal settlementAmount;
+	/**
+	 * 发票号
+	 */
+	@ExcelProperty(value = "发票号")
+	private String invoice;
+	/**
+	 * 备注
+	 */
+	@ExcelProperty(value = "备注")
+	private String remarks;
+}