Browse Source

报表、APP、财务接口调整

sunhz 3 years ago
parent
commit
812442d673
14 changed files with 422 additions and 237 deletions
  1. 18 6
      blade-ops/blade-report/src/main/java/org/springblade/report/ureport/DeliveryBean.java
  2. 3 1
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/feign/ICorpsDescClient.java
  3. 4 3
      blade-service-api/blade-deliver-goods-api/src/main/java/org/springblade/deliver/goods/feign/IDeliveryReportClient.java
  4. 187 182
      blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vojo/Acc.java
  5. 8 0
      blade-service/blade-client/src/main/java/org/springblade/client/corps/feign/CorpsDescClient.java
  6. 0 1
      blade-service/blade-client/src/main/java/org/springblade/client/school/controller/SchoolTeacherController.java
  7. 4 6
      blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/controller/DeliveryReportController.java
  8. 106 0
      blade-service/blade-project/src/main/java/org/springblade/project/controller/ProjectAppController.java
  9. 4 0
      blade-service/blade-project/src/main/java/org/springblade/project/mapper/ServiceProjectItemMapper.java
  10. 36 0
      blade-service/blade-project/src/main/java/org/springblade/project/mapper/ServiceProjectItemMapper.xml
  11. 4 0
      blade-service/blade-project/src/main/java/org/springblade/project/service/ServiceProjectService.java
  12. 10 0
      blade-service/blade-project/src/main/java/org/springblade/project/service/impl/ServiceProjectServiceImpl.java
  13. 38 37
      blade-service/trade-finance/src/main/java/org/springblade/finance/controller/AccController.java
  14. 0 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/tool/JdyTool.java

+ 18 - 6
blade-ops/blade-report/src/main/java/org/springblade/report/ureport/DeliveryBean.java

@@ -1,6 +1,7 @@
 package org.springblade.report.ureport;
 
 import lombok.AllArgsConstructor;
+import org.apache.commons.lang.StringUtils;
 import org.springblade.deliver.goods.feign.IDeliveryReportClient;
 import org.springblade.deliver.goods.vo.DeliveryReportVO;
 import org.springframework.stereotype.Component;
@@ -15,16 +16,27 @@ public class DeliveryBean {
 	private final IDeliveryReportClient reportClient;
 
 	public List<DeliveryReportVO> loadCommissionData(String dsName, String datasetName, Map<String, Object> parameters) {
-		int year = (int) parameters.get("year");
+		String year = (String) parameters.get("year");
 		String quarter = (String) parameters.get("quarter");
 		String userType = (String) parameters.get("userType");
-		Long userId = parameters.get("userId") == null ? null : (Long) parameters.get("userId");
+		String goodsId = (String) parameters.get("goodsId");
+		String userId = parameters.get("userId") == null ? null : (String) parameters.get("userId");
+
+		if (StringUtils.isBlank(year) || StringUtils.isBlank(quarter) || StringUtils.isBlank(userType) || StringUtils.isBlank(goodsId)) {
+			throw new SecurityException("请检查传入参数");
+		}
+
 
 		DeliveryReportVO reportVO = new DeliveryReportVO();
-		reportVO.setYear(year);
-		reportVO.setQuarter(quarter);
-		reportVO.setUserId(userId);
-		reportVO.setUserType(userType);
+		reportVO.setYear(Integer.valueOf(year.trim()));
+		reportVO.setQuarter(quarter.trim());
+		if (StringUtils.isNotBlank(userId)) {
+			reportVO.setUserId(Long.valueOf(userId.trim()));
+		}
+		if (StringUtils.isNotBlank(goodsId)) {
+			reportVO.setGoodsId(Long.valueOf(goodsId.trim()));
+		}
+		reportVO.setUserType(userType.trim());
 		return reportClient.commission(reportVO).getData();
 	}
 }

+ 3 - 1
blade-service-api/blade-client-api/src/main/java/org/springblade/client/feign/ICorpsDescClient.java

@@ -33,6 +33,7 @@ public interface ICorpsDescClient {
 	String LIST_BANK_BY_CORP_ID=API_PREFIX+"/listBankByCorpId";
 	String GET_CORPS_DESC= API_PREFIX + "/getCorpsDesc";
 	String CORPS_UPDATE= API_PREFIX + "/update";
+	String GET_COUNT= API_PREFIX + "/count";
 
 
 
@@ -100,6 +101,7 @@ public interface ICorpsDescClient {
 	@GetMapping(GET_CORPS_DESC)
 	CorpsDesc getCorpsDesc(@RequestParam("cname") String cname,@RequestParam("corpType") String corpType);
 
-
+	@GetMapping(GET_COUNT)
+	int getCount();
 
 }

+ 4 - 3
blade-service-api/blade-deliver-goods-api/src/main/java/org/springblade/deliver/goods/feign/IDeliveryReportClient.java

@@ -5,7 +5,8 @@ import org.springblade.core.tool.api.R;
 import org.springblade.deliver.goods.vo.DeliveryReportVO;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 
 import java.util.List;
 
@@ -16,6 +17,6 @@ public interface IDeliveryReportClient {
 
 	String COMMISSION = "/deliveryReport/commission";
 
-	@GetMapping(COMMISSION)
-	R<List<DeliveryReportVO>> commission(@RequestParam DeliveryReportVO report);
+	@PostMapping(COMMISSION)
+	R<List<DeliveryReportVO>> commission(@RequestBody DeliveryReportVO report);
 }

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

@@ -16,20 +16,19 @@
  */
 package org.springblade.finance.vojo;
 
-import java.math.BigDecimal;
-
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
-import lombok.Data;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
 /**
  * 财务账单实体类
  *
@@ -44,242 +43,242 @@ public class Acc implements Serializable {
 	private static final long serialVersionUID = 1L;
 
 	/**
-	* 财务账单主键
-	*/
-		@ApiModelProperty(value = "财务账单主键")
-		@TableId
-		private Long id;
+	 * 财务账单主键
+	 */
+	@ApiModelProperty(value = "财务账单主键")
+	@TableId
+	private Long id;
 	/**
-	* 系统编号
-	*/
-		@ApiModelProperty(value = "系统编号")
-		@TableField("sysNo")
+	 * 系统编号
+	 */
+	@ApiModelProperty(value = "系统编号")
+	@TableField("sysNo")
 	private String sysno;
 	/**
-	* 公司id
-	*/
-		@ApiModelProperty(value = "公司id")
-		@TableField("Companyid")
+	 * 公司id
+	 */
+	@ApiModelProperty(value = "公司id")
+	@TableField("Companyid")
 	private Long companyid;
 	/**
-	* 集团id
-	*/
-		@ApiModelProperty(value = "集团id")
-		@TableField("parent_Companyid")
+	 * 集团id
+	 */
+	@ApiModelProperty(value = "集团id")
+	@TableField("parent_Companyid")
 	private Long parentCompanyid;
 	/**
-	* 账单类型(结算外部账单还是公司内部账单)
-	*/
-		@ApiModelProperty(value = "账单类型(结算外部账单还是公司内部账单)")
-		@TableField("AccTypeID")
+	 * 账单类型(结算外部账单还是公司内部账单)
+	 */
+	@ApiModelProperty(value = "账单类型(结算外部账单还是公司内部账单)")
+	@TableField("AccTypeID")
 	private Long acctypeid;
 	/**
-	* 账单日期(财务检索日期		销售订单 合同日期	采购订单 合同日期		发货单 发货日期 	收货单 收货日期
-	*/
-		@ApiModelProperty(value = "账单日期(财务检索日期		销售订单 合同日期	采购订单 合同日期		发货单 发货日期 	收货单 收货日期	")
-		@TableField("AccDate")
+	 * 账单日期(财务检索日期		销售订单 合同日期	采购订单 合同日期		发货单 发货日期 	收货单 收货日期
+	 */
+	@ApiModelProperty(value = "账单日期(财务检索日期		销售订单 合同日期	采购订单 合同日期		发货单 发货日期 	收货单 收货日期	")
+	@TableField("AccDate")
 	private Date accDate;
 	/**
-	* 账单单号(结算检索单号	出口,内贸	销售订单 , 对应 orderno		进口	采购订单 , 对应 orderno		出口内贸	发货单对应销售订单orderno		收货单对应采购订单orderno		进口用采购订单
-	*/
-		@ApiModelProperty(value = "账单单号(结算检索单号	出口,内贸	销售订单 , 对应 orderno		进口	采购订单 , 对应 orderno		出口内贸	发货单对应销售订单orderno		收货单对应采购订单orderno		进口用采购订单")
-		@TableField("AccSysNo")
+	 * 账单单号(结算检索单号	出口,内贸	销售订单 , 对应 orderno		进口	采购订单 , 对应 orderno		出口内贸	发货单对应销售订单orderno		收货单对应采购订单orderno		进口用采购订单
+	 */
+	@ApiModelProperty(value = "账单单号(结算检索单号	出口,内贸	销售订单 , 对应 orderno		进口	采购订单 , 对应 orderno		出口内贸	发货单对应销售订单orderno		收货单对应采购订单orderno		进口用采购订单")
+	@TableField("AccSysNo")
 	private String accSysNo;
 	/**
-	* 单据类型(销售 采购 收货 发货)
-	*/
-		@ApiModelProperty(value = "单据类型(销售 采购 收货 发货)")
-		@TableField("Bill_type")
+	 * 单据类型(销售 采购 收货 发货)
+	 */
+	@ApiModelProperty(value = "单据类型(销售 采购 收货 发货)")
+	@TableField("Bill_type")
 	private String billType;
 	/**
-	* 业务数据表
-	*/
-		@ApiModelProperty(value = "业务数据表")
-		@TableField("TableName")
+	 * 业务数据表
+	 */
+	@ApiModelProperty(value = "业务数据表")
+	@TableField("TableName")
 	private String tablename;
 	/**
-	* 来源号(sysno )
-	*/
-		@ApiModelProperty(value = "来源号(sysno )")
-		@TableField("Src_SysNo")
+	 * 来源号(sysno )
+	 */
+	@ApiModelProperty(value = "来源号(sysno )")
+	@TableField("Src_SysNo")
 	private String srcSysno;
 	/**
-	* 来源(业务模块id )
-	*/
-		@ApiModelProperty(value = "来源(业务模块id )")
-		@TableField("Src_id")
+	 * 来源(业务模块id )
+	 */
+	@ApiModelProperty(value = "来源(业务模块id )")
+	@TableField("Src_id")
 	private Long srcId;
 	/**
-	* 来源主表(业务模块 主表 id)
-	*/
-		@ApiModelProperty(value = "来源主表(业务模块 主表 id)")
-		@TableField("Src_parent_id")
+	 * 来源主表(业务模块 主表 id)
+	 */
+	@ApiModelProperty(value = "来源主表(业务模块 主表 id)")
+	@TableField("Src_parent_id")
 	private Long srcParentId;
 	/**
-	* 来源业务日期(业务模块的日 订单日期 和发货单日期 收货单日期模块 )
-	*/
-		@ApiModelProperty(value = "来源业务日期(业务模块的日 订单日期 和发货单日期 收货单日期模块 )")
-		@TableField("Src_date")
+	 * 来源业务日期(业务模块的日 订单日期 和发货单日期 收货单日期模块 )
+	 */
+	@ApiModelProperty(value = "来源业务日期(业务模块的日 订单日期 和发货单日期 收货单日期模块 )")
+	@TableField("Src_date")
 	private Date srcDate;
 	/**
-	* 参考号 (出口 内贸 销售合同号 进口 采购合同号)
-	*/
-		@ApiModelProperty(value = "参考号 (出口 内贸 销售合同号 进口 采购合同号)	")
-		@TableField("Src_refno")
+	 * 参考号 (出口 内贸 销售合同号 进口 采购合同号)
+	 */
+	@ApiModelProperty(value = "参考号 (出口 内贸 销售合同号 进口 采购合同号)	")
+	@TableField("Src_refno")
 	private String srcRefno;
 	/**
-	* 参考号 (进口和出口 主提单号)
-	*/
-		@ApiModelProperty(value = "参考号 (进口和出口 主提单号)")
-		@TableField("Src_Bill_NO")
+	 * 参考号 (进口和出口 主提单号)
+	 */
+	@ApiModelProperty(value = "参考号 (进口和出口 主提单号)")
+	@TableField("Src_Bill_NO")
 	private String srcBillNo;
 	/**
-	* 收款 还是 付款
-	*/
-		@ApiModelProperty(value = "收款 还是 付款")
-		@TableField("DC")
+	 * 收款 还是 付款
+	 */
+	@ApiModelProperty(value = "收款 还是 付款")
+	@TableField("DC")
 	private String dc;
 	/**
-	* 供应商
-	*/
-		@ApiModelProperty(value = "供应商")
-		@TableField("Corpid")
+	 * 供应商
+	 */
+	@ApiModelProperty(value = "供应商")
+	@TableField("Corpid")
 	private Long corpId;
 	/**
-	* 数量
-	*/
-		@ApiModelProperty(value = "数量")
-		private BigDecimal quantity;
+	 * 数量
+	 */
+	@ApiModelProperty(value = "数量")
+	private BigDecimal quantity;
 	/**
-	* 计量单位
-	*/
-		@ApiModelProperty(value = "计量单位")
-		@TableField("Unit")
+	 * 计量单位
+	 */
+	@ApiModelProperty(value = "计量单位")
+	@TableField("Unit")
 	private String unit;
 	/**
-	* 单价
-	*/
-		@ApiModelProperty(value = "单价")
-		@TableField("Price")
+	 * 单价
+	 */
+	@ApiModelProperty(value = "单价")
+	@TableField("Price")
 	private BigDecimal price;
 	/**
-	* 币别
-	*/
-		@ApiModelProperty(value = "币别")
-		@TableField("Currency")
+	 * 币别
+	 */
+	@ApiModelProperty(value = "币别")
+	@TableField("Currency")
 	private String currency;
 	/**
-	* 汇率
-	*/
-		@ApiModelProperty(value = "汇率")
-		@TableField("Exchange_rate")
+	 * 汇率
+	 */
+	@ApiModelProperty(value = "汇率")
+	@TableField("Exchange_rate")
 	private BigDecimal exchangeRate;
 	/**
-	* 金额
-	*/
-		@ApiModelProperty(value = "金额")
-		@TableField("Amount")
+	 * 金额
+	 */
+	@ApiModelProperty(value = "金额")
+	@TableField("Amount")
 	private BigDecimal amount;
 	/**
-	* 开票金额
-	*/
-		@ApiModelProperty(value = "开票金额")
-		@TableField("Invoice_Amount")
+	 * 开票金额
+	 */
+	@ApiModelProperty(value = "开票金额")
+	@TableField("Invoice_Amount")
 	private BigDecimal invoiceAmount;
 	/**
-	* 结算金额
-	*/
-		@ApiModelProperty(value = "结算金额")
-		@TableField("Settlement_Amount")
+	 * 结算金额
+	 */
+	@ApiModelProperty(value = "结算金额")
+	@TableField("Settlement_Amount")
 	private BigDecimal settlementAmount;
 	/**
-	* 清核金额
-	*/
-		@ApiModelProperty(value = "清核金额")
-		@TableField("Apply_Amount")
+	 * 清核金额
+	 */
+	@ApiModelProperty(value = "清核金额")
+	@TableField("Apply_Amount")
 	private BigDecimal applyAmount;
 	/**
-	* 对账金额
-	*/
-		@ApiModelProperty(value = "对账金额")
-		@TableField("Check_Amount")
+	 * 对账金额
+	 */
+	@ApiModelProperty(value = "对账金额")
+	@TableField("Check_Amount")
 	private BigDecimal checkAmount;
 	/**
-	* 是否含税
-	*/
-		@ApiModelProperty(value = "是否含税")
-		@TableField("IFTAX")
+	 * 是否含税
+	 */
+	@ApiModelProperty(value = "是否含税")
+	@TableField("IFTAX")
 	private String iftax;
 	/**
-	* 税率
-	*/
-		@ApiModelProperty(value = "税率")
-		@TableField("Tax_rate")
+	 * 税率
+	 */
+	@ApiModelProperty(value = "税率")
+	@TableField("Tax_rate")
 	private BigDecimal taxRate;
 	/**
-	* 备注
-	*/
-		@ApiModelProperty(value = "备注")
-		private String remarks;
-	/**
-	* 版本
-	*/
-		@ApiModelProperty(value = "版本")
-		private String version;
-	/**
-	* 创建人
-	*/
-		@ApiModelProperty(value = "创建人")
-		private Long createUser;
-	/**
-	* 创建部门
-	*/
-		@ApiModelProperty(value = "创建部门")
-		private Long createDept;
-	/**
-	* 创建时间
-	*/
-		@ApiModelProperty(value = "创建时间")
-		private Date createTime;
-	/**
-	* 修改人
-	*/
-		@ApiModelProperty(value = "修改人")
-		private Long updateUser;
-	/**
-	* 修改时间
-	*/
-		@ApiModelProperty(value = "修改时间")
-		private Date updateTime;
-	/**
-	* 状态(0 正常 1停用)
-	*/
-		@ApiModelProperty(value = "状态(0 正常 1停用)")
-		private Integer status;
-	/**
-	* 是否已删除(0 否 1是)
-	*/
-		@ApiModelProperty(value = "是否已删除(0 否 1是)")
-		@TableLogic
-		private Integer isDeleted;
+	 * 备注
+	 */
+	@ApiModelProperty(value = "备注")
+	private String remarks;
+	/**
+	 * 版本
+	 */
+	@ApiModelProperty(value = "版本")
+	private String version;
+	/**
+	 * 创建人
+	 */
+	@ApiModelProperty(value = "创建人")
+	private Long createUser;
+	/**
+	 * 创建部门
+	 */
+	@ApiModelProperty(value = "创建部门")
+	private Long createDept;
+	/**
+	 * 创建时间
+	 */
+	@ApiModelProperty(value = "创建时间")
+	private Date createTime;
+	/**
+	 * 修改人
+	 */
+	@ApiModelProperty(value = "修改人")
+	private Long updateUser;
+	/**
+	 * 修改时间
+	 */
+	@ApiModelProperty(value = "修改时间")
+	private Date updateTime;
+	/**
+	 * 状态(0 正常 1停用)
+	 */
+	@ApiModelProperty(value = "状态(0 正常 1停用)")
+	private Integer status;
+	/**
+	 * 是否已删除(0 否 1是)
+	 */
+	@ApiModelProperty(value = "是否已删除(0 否 1是)")
+	@TableLogic
+	private Integer isDeleted;
 
-	    @ApiModelProperty(value = "租户id")
-		private String tenantId;
+	@ApiModelProperty(value = "租户id")
+	private String tenantId;
 
-		@ApiModelProperty(value = "费用名称")
-	    private String costType;
+	@ApiModelProperty(value = "费用名称")
+	private String costType;
 
-		@ApiModelProperty(value = "费用名称")
-		@TableField(exist = false)
-		private String itemName;
+	@ApiModelProperty(value = "费用名称")
+	@TableField(exist = false)
+	private String itemName;
 
-		@ApiModelProperty(value = "客户名称")
-		@TableField(exist = false)
-		private String corpName;
+	@ApiModelProperty(value = "客户名称")
+	@TableField(exist = false)
+	private String corpName;
 
-		@ApiModelProperty(value = "录入人")
-		@TableField(exist = false)
-		private String CreateUserName;
+	@ApiModelProperty(value = "录入人")
+	@TableField(exist = false)
+	private String CreateUserName;
 
 	@TableField(exist = false)
 	private String createStartDate;
@@ -304,4 +303,10 @@ public class Acc implements Serializable {
 
 	private String chargeMember;
 
+	private Integer invoiceStatus;
+
+	private Integer settlementStatus;
+
+	private Integer checkStatus;
+
 }

+ 8 - 0
blade-service/blade-client/src/main/java/org/springblade/client/corps/feign/CorpsDescClient.java

@@ -132,4 +132,12 @@ public class CorpsDescClient implements ICorpsDescClient {
 		corpsDesc.setIsDeleted(0);
 		return service.getOne(new QueryWrapper<CorpsDesc>().setEntity(corpsDesc));
 	}
+
+	@Override
+	@GetMapping(GET_COUNT)
+	public int getCount() {
+		return service.count(new LambdaQueryWrapper<CorpsDesc>()
+			.eq(CorpsDesc::getTenantId, SecureUtil.getTenantId())
+			.eq(CorpsDesc::getIsDeleted, 0));
+	}
 }

+ 0 - 1
blade-service/blade-client/src/main/java/org/springblade/client/school/controller/SchoolTeacherController.java

@@ -21,7 +21,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.qiniu.util.Json;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;

+ 4 - 6
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/controller/DeliveryReportController.java

@@ -19,9 +19,7 @@ import org.springblade.deliver.goods.service.IDeliveryService;
 import org.springblade.deliver.goods.vo.DeliveryReportVO;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.feign.IUserClient;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
@@ -53,10 +51,10 @@ public class DeliveryReportController extends BladeController {
 	/**
 	 * 提成统计
 	 */
-	@GetMapping("/commission")
+	@PostMapping("/commission")
 	@ApiOperationSupport(order = 1)
 	@ApiOperation(value = "提成统计", notes = "reportVO")
-	public R<List<DeliveryReportVO>> commission(DeliveryReportVO reportVO) {
+	public R<List<DeliveryReportVO>> commission(@RequestBody DeliveryReportVO reportVO) {
 		String quarter = reportVO.getQuarter();
 		String userType = reportVO.getUserType();
 
@@ -181,9 +179,9 @@ public class DeliveryReportController extends BladeController {
 						reportTemp.setReceivedAmount(receivedAmount);
 						reportTemp.setRetainedAmount(commissionAmount.subtract(receivedAmount));
 						reportList.add(reportTemp);
-						serialId += 1;
 					}
 				}
+				serialId += 1;
 			}
 		}
 

+ 106 - 0
blade-service/blade-project/src/main/java/org/springblade/project/controller/ProjectAppController.java

@@ -0,0 +1,106 @@
+package org.springblade.project.controller;
+
+import lombok.AllArgsConstructor;
+import org.springblade.client.feign.ICorpsDescClient;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.project.entity.ServiceProject;
+import org.springblade.project.mapper.ServiceProjectItemMapper;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+@RestController
+@RequestMapping("/project-app")
+@AllArgsConstructor
+public class ProjectAppController {
+
+	private final ICorpsDescClient corpsDescClient;
+
+	private final ServiceProjectItemMapper serviceProjectItemMapper;
+
+	@GetMapping("/corpAnalysis")
+	public R<Map<String, Object>> corpAnalysis() {
+		return R.data(new HashMap<String, Object>() {{
+			this.put("all", corpsDescClient.getCount());
+
+			this.put("active", serviceProjectItemMapper.getCorpIdList(AuthUtil.getTenantId(), getDayOfYear(0, -1), getDayOfYear(1, 0)));
+
+			this.put("series", new ArrayList<Map<String, Object>>() {{
+				this.add(new HashMap<String, Object>() {{
+					this.put("data", new ArrayList<Map<String, Object>>() {{
+						this.add(new HashMap<String, Object>() {{
+							this.put("name", "1-3个月");
+							this.put("value", serviceProjectItemMapper.getCorpIdList(AuthUtil.getTenantId(), getDayOfMonth(0, -4), getDayOfMonth(1, -2)));
+						}});
+						this.add(new HashMap<String, Object>() {{
+							this.put("name", "3-6个月");
+							this.put("value", serviceProjectItemMapper.getCorpIdList(AuthUtil.getTenantId(), getDayOfMonth(0, -7), getDayOfMonth(1, -4)));
+						}});
+						this.add(new HashMap<String, Object>() {{
+							this.put("name", "6-12个月");
+							this.put("value", serviceProjectItemMapper.getCorpIdList(AuthUtil.getTenantId(), getDayOfMonth(0, -13), getDayOfMonth(1, -7)));
+						}});
+						this.add(new HashMap<String, Object>() {{
+							this.put("name", "12-24个月");
+							this.put("value", serviceProjectItemMapper.getCorpIdList(AuthUtil.getTenantId(), getDayOfMonth(0, -25), getDayOfMonth(1, -13)));
+						}});
+						this.add(new HashMap<String, Object>() {{
+							this.put("name", "24个月以上");
+							this.put("value", serviceProjectItemMapper.getCorpIdList(AuthUtil.getTenantId(), null, getDayOfMonth(1, -25)));
+						}});
+					}});
+				}});
+			}});
+		}});
+	}
+
+	@GetMapping("/inactiveCorpList")
+	public R<List<ServiceProject>> inactiveCorpList(@RequestParam(name = "type", required = false) Integer type) {
+		String beginTime = null;
+		String endTime = null;
+		if (type == 1) {
+			beginTime = getDayOfMonth(0, -4);
+			endTime = getDayOfMonth(0, -2);
+		} else if (type == 2) {
+			beginTime = getDayOfMonth(0, -7);
+			endTime = getDayOfMonth(0, -4);
+		} else if (type == 3) {
+			beginTime = getDayOfMonth(0, -13);
+			endTime = getDayOfMonth(0, -7);
+		} else if (type == 4) {
+			beginTime = getDayOfMonth(0, -25);
+			endTime = getDayOfMonth(0, -13);
+		} else {
+			endTime = getDayOfMonth(0, -25);
+		}
+		return R.data(serviceProjectItemMapper.inactiveCorpList(AuthUtil.getTenantId(), beginTime, endTime));
+	}
+
+	private String getDayOfYear(int type, int year) {
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+		Calendar calendar = Calendar.getInstance();
+		calendar.add(Calendar.YEAR, year);
+		if (type == 0) {
+			return sdf.format(calendar.getTime()) + " 00:00:00";
+		}
+		return sdf.format(calendar.getTime()) + " 23:59:59";
+	}
+
+	private String getDayOfMonth(int type, int month) {
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+		Calendar calendar = Calendar.getInstance();
+		calendar.add(Calendar.MONTH, month);
+		if (type == 0) {
+			calendar.add(Calendar.DATE, 1);
+			return sdf.format(calendar.getTime()) + " 00:00:00";
+		}
+		return sdf.format(calendar.getTime()) + " 23:59:59";
+	}
+
+
+}

+ 4 - 0
blade-service/blade-project/src/main/java/org/springblade/project/mapper/ServiceProjectItemMapper.java

@@ -24,4 +24,8 @@ public interface ServiceProjectItemMapper extends BaseMapper<ServiceProjectItem>
 	ServiceProject calculateServiceCharge(@Param("tenantId") String tenantId,@Param("year") String year,@Param("corpId") Long corpId,@Param("createUser") Long createUser,@Param("userName")String userName);
 
     List<ServiceProject> statisticalAnalysisOutData(@Param("tenantId") String tenantId,@Param("year") Long year,@Param("corpId") Long corpId);
+
+	int getCorpIdList(@Param("tenantId") String tenantId, @Param("beginTime") String beginTime, @Param("endTime") String endTime);
+
+	List<ServiceProject> inactiveCorpList(@Param("tenantId") String tenantId, @Param("beginTime") String beginTime, @Param("endTime") String endTime);
 }

+ 36 - 0
blade-service/blade-project/src/main/java/org/springblade/project/mapper/ServiceProjectItemMapper.xml

@@ -134,4 +134,40 @@
     )a LEFT JOIN basic_corps_desc b on a.corp_id=b.id
     </select>
 
+    <select id="getCorpIdList" resultType="java.lang.Integer">
+        select count(corpNames) from (
+            select t1.pay_time as payTime, t3.cname as corpNames
+            from service_project_item t1
+                left join service_project t2 on t1.p_id = t2.id
+                left join basic_corps_desc t3 on t2.corp_id = t3.id
+            where t1.tenant_id = #{tenantId}
+                and t1.is_deleted = 0
+                and t2.corp_id is not null
+            group by corpNames
+        ) a
+        <where>
+            <if test="beginTime != null and beginTime != ''">and payTime &gt;= #{beginTime}</if>
+            <if test="endTime != null and endTime != ''">and payTime &lt;= #{endTime}</if>
+        </where>
+        order by payTime desc
+    </select>
+
+    <select id="inactiveCorpList" resultType="org.springblade.project.entity.ServiceProject">
+        select * from (
+            select t1.pay_time as payTime, t3.cname as corpNames
+            from service_project_item t1
+                left join service_project t2 on t1.p_id = t2.id
+                left join basic_corps_desc t3 on t2.corp_id = t3.id
+            where t1.tenant_id = #{tenantId}
+                and t1.is_deleted = 0
+                and t2.corp_id is not null
+            group by corpNames
+        ) a
+        <where>
+            <if test="beginTime != null and beginTime != ''">and payTime &gt;= #{beginTime}</if>
+            <if test="endTime != null and endTime != ''">and payTime &lt;= #{endTime}</if>
+        </where>
+        order by payTime desc
+    </select>
+
 </mapper>

+ 4 - 0
blade-service/blade-project/src/main/java/org/springblade/project/service/ServiceProjectService.java

@@ -43,4 +43,8 @@ public interface ServiceProjectService extends IService<ServiceProject>
 	ServiceProject calculateServiceCharge(String tenantId,  String year,  Long corpId,  Long createUser,String userName);
 
 	List<ServiceProject> statisticalAnalysisOutData(String tenantId,  Long year,  Long corpId);
+
+	int getCorpIdList(String tenantId, String beginTime, String endTime);
+
+	List<ServiceProject> inactiveCorpList(String tenantId, String beginTime, String endTime);
 }

+ 10 - 0
blade-service/blade-project/src/main/java/org/springblade/project/service/impl/ServiceProjectServiceImpl.java

@@ -528,6 +528,16 @@ public class ServiceProjectServiceImpl extends ServiceImpl<ServiceProjectMapper,
 		return serviceProjectItemMapper.statisticalAnalysisOutData(tenantId,year,corpId);
 	}
 
+	@Override
+	public int getCorpIdList(String tenantId, String beginTime, String endTime) {
+		return serviceProjectItemMapper.getCorpIdList(tenantId, beginTime, endTime);
+	}
+
+	@Override
+	public List<ServiceProject> inactiveCorpList(String tenantId, String beginTime, String endTime) {
+		return serviceProjectItemMapper.inactiveCorpList(tenantId, beginTime, endTime);
+	}
+
 	public void checkMoney(Long serviceId,List<ServiceProjectItem> items)
 	{
 		ServiceProject serviceProject = serviceProjectMapper.selectById(serviceId);

+ 38 - 37
blade-service/trade-finance/src/main/java/org/springblade/finance/controller/AccController.java

@@ -26,6 +26,7 @@ import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
+
 import javax.validation.Valid;
 
 import org.springblade.client.feign.ICorpsDescClient;
@@ -66,14 +67,12 @@ public class AccController extends BladeController {
 
 	/**
 	 * 财务账单添加
-	 * */
+	 */
 	@PostMapping("/createAcc")
 	@ApiOperationSupport(order = 1)
 	@ApiOperation(value = "生成财务账单", notes = "传入acc")
-	public R createAcc(@RequestBody  List<Acc> acc)
-	{
-		if(CollectionUtils.isEmpty(acc))
-		{
+	public R createAcc(@RequestBody List<Acc> acc) {
+		if (CollectionUtils.isEmpty(acc)) {
 			throw new SecurityException("传入数据为空");
 		}
 		accService.submit(acc);
@@ -98,29 +97,32 @@ public class AccController extends BladeController {
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入acc")
-	public R<IPage<Acc>> list(Acc acc, Query query)
-	{
-		LambdaQueryWrapper<Acc> accLambdaQueryWrapper=new LambdaQueryWrapper<>();
-		if(acc.getFlag()!=null&&acc.getFlag()==1)
-		{
-			accLambdaQueryWrapper.apply(" Amount >Settlement_Amount");
-		}
-		else if(acc.getFlag()!=null&&acc.getFlag()==2)
-		{
-			accLambdaQueryWrapper.apply(" Amount >Invoice_Amount");
+	public R<IPage<Acc>> list(Acc acc, Query query) {
+		LambdaQueryWrapper<Acc> accLambdaQueryWrapper = new LambdaQueryWrapper<>();
+		if (acc.getFlag() != null && acc.getFlag() == 1) {
+			accLambdaQueryWrapper.apply(" Amount > Settlement_Amount");
+		} else if (acc.getFlag() != null && acc.getFlag() == 2) {
+			accLambdaQueryWrapper.apply(" Amount > Invoice_Amount");
 		}
-		accLambdaQueryWrapper.between(StringUtils.isNotBlank(acc.getCreateStartDate())&&StringUtils.isNotBlank(acc.getCreateEndDate()), Acc::getCreateTime,acc.getCreateStartDate(),acc.getCreateEndDate());
-		accLambdaQueryWrapper.like(StringUtils.isNotBlank(acc.getBillType()),Acc::getBillType,acc.getBillType());
-		accLambdaQueryWrapper.like(StringUtils.isNotBlank(acc.getAccSysNo()),Acc::getAccSysNo,acc.getAccSysNo());
-		accLambdaQueryWrapper.like(StringUtils.isNotBlank(acc.getSrcBillNo()),Acc::getSrcBillNo,acc.getSrcBillNo());
-		accLambdaQueryWrapper.eq(acc.getCorpId()!=null,Acc::getCorpId,acc.getCorpId());
-		accLambdaQueryWrapper.eq(StringUtils.isNotBlank(acc.getItemType()),Acc::getItemType,acc.getItemType());
-		accLambdaQueryWrapper.eq(StringUtils.isNotBlank(acc.getCostType()),Acc::getCostType,acc.getCostType());
-		accLambdaQueryWrapper.eq(acc.getCreateUser()!=null,Acc::getCreateUser,acc.getCreateUser());
-		accLambdaQueryWrapper.eq(acc.getSrcParentId()!=null,Acc::getSrcParentId,acc.getSrcParentId());
-		accLambdaQueryWrapper.orderByDesc(Acc::getCreateTime);
+		accLambdaQueryWrapper.between(StringUtils.isNotBlank(acc.getCreateStartDate()) && StringUtils.isNotBlank(acc.getCreateEndDate()), Acc::getCreateTime, acc.getCreateStartDate(), acc.getCreateEndDate())
+			.like(StringUtils.isNotBlank(acc.getBillType()), Acc::getBillType, acc.getBillType())
+			.like(StringUtils.isNotBlank(acc.getAccSysNo()), Acc::getAccSysNo, acc.getAccSysNo())
+			.like(StringUtils.isNotBlank(acc.getSrcBillNo()), Acc::getSrcBillNo, acc.getSrcBillNo())
+			.eq(acc.getCorpId() != null, Acc::getCorpId, acc.getCorpId())
+			.eq(StringUtils.isNotBlank(acc.getItemType()), Acc::getItemType, acc.getItemType())
+			.eq(StringUtils.isNotBlank(acc.getCostType()), Acc::getCostType, acc.getCostType())
+			.eq(acc.getCreateUser() != null, Acc::getCreateUser, acc.getCreateUser())
+			.eq(acc.getSrcParentId() != null, Acc::getSrcParentId, acc.getSrcParentId())
+			.eq(StringUtils.isNotBlank(acc.getDc()), Acc::getDc, acc.getDc())
+			.gt(acc.getCheckStatus() == 1, Acc::getCheckAmount, 0)
+			.eq(acc.getCheckStatus() == 2, Acc::getCheckAmount, 0)
+			.gt(acc.getSettlementStatus() == 1, Acc::getSettlementAmount, 0)
+			.eq(acc.getSettlementStatus() == 2, Acc::getSettlementAmount, 0)
+			.gt(acc.getInvoiceStatus() == 1, Acc::getInvoiceAmount, 0)
+			.eq(acc.getInvoiceStatus() == 2, Acc::getInvoiceAmount, 0)
+			.orderByDesc(Acc::getCreateTime);
 		IPage<Acc> pages = accService.page(Condition.getPage(query), accLambdaQueryWrapper);
-		pages.getRecords().forEach(e->{
+		pages.getRecords().forEach(e -> {
 			//录入人
 			e.setCreateUserName(iUserClient.userInfoById(e.getCreateUser()).getData().getRealName());
 			//费用名称
@@ -186,19 +188,18 @@ public class AccController extends BladeController {
 	@PostMapping("/getAccListByCondition")
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "获取", notes = "传入ids")
-	public R<List<Acc>> getAccListByCondition(@Valid @RequestBody Acc acc)
-	{
-        LambdaQueryWrapper<Acc> accLambdaQueryWrapper=new LambdaQueryWrapper<>();
+	public R<List<Acc>> getAccListByCondition(@Valid @RequestBody Acc acc) {
+		LambdaQueryWrapper<Acc> accLambdaQueryWrapper = new LambdaQueryWrapper<>();
 		accLambdaQueryWrapper
-			.in(CollectionUtils.isNotEmpty(acc.getSrcFeesIds()),Acc::getSrcFeesId,acc.getSrcFeesIds())
+			.in(CollectionUtils.isNotEmpty(acc.getSrcFeesIds()), Acc::getSrcFeesId, acc.getSrcFeesIds())
 			.eq(Acc::getTenantId, AuthUtil.getTenantId())
-			.eq(Acc::getIsDeleted,0)
-			.eq(Acc::getSrcType,acc.getSrcType())
-			.eq(acc.getCorpId()!=null,Acc::getCorpId,acc.getCorpId())
-			.eq(StringUtils.isNotBlank(acc.getBillType()),Acc::getBillType,acc.getBillType())
-			.eq(StringUtils.isNotBlank(acc.getItemType()),Acc::getItemType,acc.getItemType())
-			.eq(acc.getSrcParentId()!=null,Acc::getSrcParentId,acc.getSrcParentId())
-			.eq(acc.getSrcFeesId()!=null,Acc::getSrcFeesId,acc.getSrcFeesId());
+			.eq(Acc::getIsDeleted, 0)
+			.eq(Acc::getSrcType, acc.getSrcType())
+			.eq(acc.getCorpId() != null, Acc::getCorpId, acc.getCorpId())
+			.eq(StringUtils.isNotBlank(acc.getBillType()), Acc::getBillType, acc.getBillType())
+			.eq(StringUtils.isNotBlank(acc.getItemType()), Acc::getItemType, acc.getItemType())
+			.eq(acc.getSrcParentId() != null, Acc::getSrcParentId, acc.getSrcParentId())
+			.eq(acc.getSrcFeesId() != null, Acc::getSrcFeesId, acc.getSrcFeesId());
 		List<Acc> list = accService.list(accLambdaQueryWrapper);
 		return R.data(list);
 

+ 0 - 1
blade-service/trade-finance/src/main/java/org/springblade/finance/tool/JdyTool.java

@@ -15,7 +15,6 @@ import com.jdy.v7sdk.models.AccountGroupRequest;
 import com.github.kevinsawicki.http.HttpRequest;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.poi.ss.formula.functions.T;
 import org.springblade.finance.TokenRequestQuery;
 import org.springblade.finance.vojo.JDYitems;