1021934019@qq.com 4 лет назад
Родитель
Сommit
cc3c63dead

+ 16 - 0
blade-service-api/trade-finance-api/src/main/java/com/trade/finance/entity/Acc.java

@@ -270,5 +270,21 @@ public class Acc implements Serializable {
 		@ApiModelProperty(value = "费用名称")
 	    private String costType;
 
+		@ApiModelProperty(value = "费用名称")
+		@TableField(exist = false)
+		private String itemName;
+
+		@ApiModelProperty(value = "客户名称")
+		@TableField(exist = false)
+		private String corpName;
+
+		@ApiModelProperty(value = "录入人")
+		@TableField(exist = false)
+		private String CreateUserName;
+
+	@TableField(exist = false)
+	private String createStartDate;
+	@TableField(exist = false)
+	private String createEndDate;
 
 }

+ 3 - 0
blade-service-api/trade-finance-api/src/main/java/com/trade/finance/entity/Items.java

@@ -204,4 +204,7 @@ public class Items implements Serializable {
 	@TableField(exist = false)
 	private String itemName;
 
+	@ApiModelProperty(value = "本次金额")
+	private BigDecimal thisAmount;
+
 }

+ 10 - 0
blade-service-api/trade-finance-api/src/main/java/com/trade/finance/entity/Settlement.java

@@ -214,5 +214,15 @@ public class Settlement  implements Serializable {
 	@ApiModelProperty(value = "提单号")
 	private String billNo;
 
+	@TableField(exist = false)
+	private String settlementStartDate;
+	@TableField(exist = false)
+	private String settlementEndDate;
+
+	@TableField(exist = false)
+	private String createStartDate;
+	@TableField(exist = false)
+	private String createEndDate;
+
 
 }

+ 6 - 6
blade-service/blade-check/src/main/java/com.blade.check/entity/AuditItems.java

@@ -38,17 +38,17 @@ public class AuditItems implements Serializable {
 	private static final long serialVersionUID = 1L;
 
 	@TableId(value = "id", type = IdType.AUTO)
-	private Integer id;
+	private Long id;
 	/**
 	* 活动号
 	*/
 		@ApiModelProperty(value = "活动号")
-		private Integer actId;
+		private Long actId;
 	/**
 	* 业务id
 	*/
 		@ApiModelProperty(value = "业务id")
-		private Integer billId;
+		private Long billId;
 	/**
 	* 单据编号
 	*/
@@ -73,7 +73,7 @@ public class AuditItems implements Serializable {
 	* 审核路径名
 	*/
 		@ApiModelProperty(value = "审核路径名")
-		private Integer pathId;
+		private Long pathId;
 	/**
 	* 审核级次1.2.3
 	*/
@@ -93,7 +93,7 @@ public class AuditItems implements Serializable {
 	* 请核人ID
 	*/
 		@ApiModelProperty(value = "请核人ID")
-		private Integer sendUserId;
+		private Long sendUserId;
 	/**
 	* 请核人姓名
 	*/
@@ -113,7 +113,7 @@ public class AuditItems implements Serializable {
 	* 审核人ID
 	*/
 		@ApiModelProperty(value = "审核人ID")
-		private Integer auditUserId;
+		private Long auditUserId;
 	/**
 	* 审核通过时间
 	*/

+ 3 - 3
blade-service/blade-check/src/main/java/com.blade.check/entity/AuditItemsUsers.java

@@ -37,8 +37,8 @@ public class AuditItemsUsers implements Serializable {
 	private static final long serialVersionUID = 1L;
 
 	@TableId(value = "id", type = IdType.AUTO)
-	private Integer id;
-	private Integer pid;
+	private Long id;
+	private Long pid;
 	/**
 	* 单据编号
 	*/
@@ -53,7 +53,7 @@ public class AuditItemsUsers implements Serializable {
 	* 审批人
 	*/
 		@ApiModelProperty(value = "审批人")
-		private Integer userId;
+		private Long userId;
 	/**
 	* 状态
 	*/

+ 3 - 3
blade-service/blade-check/src/main/java/com.blade.check/entity/AuditPaths.java

@@ -41,12 +41,12 @@ public class AuditPaths implements Serializable {
 	private static final long serialVersionUID = 1L;
 
 	@TableId(value = "id", type = IdType.AUTO)
-	private Integer id;
+	private Long id;
 	/**
 	* 审核路径ID
 	*/
 		@ApiModelProperty(value = "审核路径ID")
-		private Integer pathId;
+		private Long pathId;
 	/**
 	* 审核路径名称
 	*/
@@ -56,7 +56,7 @@ public class AuditPaths implements Serializable {
 	* 维护人id
 	*/
 		@ApiModelProperty(value = "维护人id")
-		private Integer opUserId;
+		private Long opUserId;
 	/**
 	* 维护人
 	*/

+ 2 - 2
blade-service/blade-check/src/main/java/com.blade.check/entity/AuditPathsActs.java

@@ -37,7 +37,7 @@ public class AuditPathsActs implements Serializable {
 	private static final long serialVersionUID = 1L;
 
 	@TableId(value = "id", type = IdType.AUTO)
-	private Integer id;
+	private Long id;
 	/**
 	* 承包单位id
 	*/
@@ -57,7 +57,7 @@ public class AuditPathsActs implements Serializable {
 	* 审核路径Id
 	*/
 		@ApiModelProperty(value = "审核路径Id")
-		private Integer pathId;
+		private Long pathId;
 	/**
 	* 存储对应审批字段
 	*/

+ 2 - 2
blade-service/blade-check/src/main/java/com.blade.check/entity/AuditPathsLevels.java

@@ -37,12 +37,12 @@ public class AuditPathsLevels implements Serializable {
 	private static final long serialVersionUID = 1L;
 
 	@TableId(value = "id", type = IdType.AUTO)
-	private Integer id;
+	private Long id;
 	/**
 	* 审批路径id
 	*/
 		@ApiModelProperty(value = "审批路径id")
-		private Integer pathId;
+		private Long pathId;
 	/**
 	* 审批级次
 	*/

+ 30 - 2
blade-service/trade-finance/src/main/java/com/trade/finance/controller/AccController.java

@@ -16,7 +16,10 @@
  */
 package com.trade.finance.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.trade.finance.entity.Settlement;
 import com.trade.finance.vo.AccVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -25,10 +28,13 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
 import javax.validation.Valid;
 
+import org.springblade.client.feign.ICorpsDescClient;
+import org.springblade.client.feign.IFeesDescClient;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.system.user.feign.IUserClient;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.trade.finance.entity.Acc;
@@ -52,6 +58,11 @@ public class AccController extends BladeController {
 
 	private final IAccService accService;
 
+	private final IFeesDescClient iFeesDescClient;
+
+	private final ICorpsDescClient corpsDescClient;//获取客户信息
+
+	private final IUserClient iUserClient;
 
 	/**
 	 * 财务账单添加
@@ -87,8 +98,25 @@ public class AccController extends BladeController {
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入acc")
-	public R<IPage<Acc>> list(Acc acc, Query query) {
-		IPage<Acc> pages = accService.page(Condition.getPage(query), Condition.getQueryWrapper(acc));
+	public R<IPage<Acc>> list(Acc acc, Query query)
+	{
+		LambdaQueryWrapper<Acc> accLambdaQueryWrapper=new LambdaQueryWrapper<>();
+		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.getCostType()),Acc::getCostType,acc.getCostType());
+		accLambdaQueryWrapper.eq(acc.getCreateUser()!=null,Acc::getCreateUser,acc.getCreateUser());
+		IPage<Acc> pages = accService.page(Condition.getPage(query), accLambdaQueryWrapper);
+		pages.getRecords().forEach(e->{
+			//录入人
+			e.setCreateUserName(iUserClient.userInfoById(e.getCreateUser()).getData().getRealName());
+			//费用名称
+			e.setItemName(iFeesDescClient.detail(Long.valueOf(e.getCostType())).getData().getCname());
+			//客户名称
+			e.setCorpName(corpsDescClient.getCorpMessage(e.getCorpId()).getData().getCname());
+		});
 		return R.data(pages);
 	}
 

+ 34 - 4
blade-service/trade-finance/src/main/java/com/trade/finance/controller/SettlementController.java

@@ -18,6 +18,7 @@ package com.trade.finance.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.trade.finance.dto.ApplyDTO;
 import com.trade.finance.dto.SettlementDTO;
 import com.trade.finance.entity.Acc;
@@ -41,6 +42,7 @@ import org.springblade.client.feign.ICorpsDescClient;
 import org.springblade.client.feign.IFeesDescClient;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
@@ -122,9 +124,20 @@ public class SettlementController extends BladeController {
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入settlement")
 	public R<IPage<Settlement>> list(Settlement settlement, Query query) {
-		settlement.setTenantId(SecureUtil.getTenantId());
-		settlement.setIsDeleted(0);
-		IPage<Settlement> pages = settlementService.page(Condition.getPage(query), Condition.getQueryWrapper(settlement));
+        LambdaQueryWrapper<Settlement> settlementLambdaQueryWrapper=new LambdaQueryWrapper<>();
+		settlementLambdaQueryWrapper.between(StringUtils.isNotBlank(settlement.getSettlementStartDate())&&StringUtils.isNotBlank(settlement.getSettlementEndDate()),Settlement::getSettlementDate,settlement.getSettlementStartDate(),settlement.getSettlementEndDate());
+		settlementLambdaQueryWrapper.between(StringUtils.isNotBlank(settlement.getCreateStartDate())&&StringUtils.isNotBlank(settlement.getCreateEndDate()),Settlement::getCreateTime,settlement.getCreateStartDate(),settlement.getCreateEndDate());
+		settlementLambdaQueryWrapper.like(StringUtils.isNotBlank(settlement.getSrcOrderno()),Settlement::getSrcOrderno,settlement.getSrcOrderno());
+		settlementLambdaQueryWrapper.like(StringUtils.isNotBlank(settlement.getBillNo()),Settlement::getBillNo,settlement.getBillNo());
+		settlementLambdaQueryWrapper.like(StringUtils.isNotBlank(settlement.getRemark()),Settlement::getRemark,settlement.getRemark());
+		settlementLambdaQueryWrapper.like(StringUtils.isNotBlank(settlement.getAccountName()),Settlement::getAccountName,settlement.getAccountName());
+		settlementLambdaQueryWrapper.like(settlement.getCorpId()!=null,Settlement::getCorpId,settlement.getCorpId());
+		settlementLambdaQueryWrapper.eq(StringUtils.isNotBlank(settlement.getFinanceStatus()),Settlement::getFinanceStatus,settlement.getFinanceStatus());
+		settlementLambdaQueryWrapper.eq(StringUtils.isNotBlank(settlement.getCheckStatus()),Settlement::getCheckStatus,settlement.getCheckStatus());
+		settlementLambdaQueryWrapper.eq(StringUtils.isNotBlank(settlement.getBillType()),Settlement::getBillType,settlement.getBillType());
+		settlementLambdaQueryWrapper.eq(Settlement::getTenantId, AuthUtil.getTenantId());
+		settlementLambdaQueryWrapper.eq(Settlement::getIsDeleted, 0);
+		IPage<Settlement> pages = settlementService.page(Condition.getPage(query), settlementLambdaQueryWrapper);
 		List<Settlement> settlementList = pages.getRecords();
 		if(CollectionUtils.isNotEmpty(settlementList))
 		{
@@ -158,6 +171,14 @@ public class SettlementController extends BladeController {
 		return R.data(dto);
 	}
 
+	@PostMapping("saveOrEdit")
+	@ApiOperation(value = "保存收付款信息", notes = "保存收付款信息")
+	public R saveOrEdit(@RequestBody SettlementDTO dto)
+	{
+		settlementService.saveOrEdit(dto);
+		return R.data(dto);
+	}
+
 	/**
 	 * 新增 结算表
 	@PostMapping("/save")
@@ -224,7 +245,16 @@ public class SettlementController extends BladeController {
 	public R check (@RequestBody Settlement settlement)
 	{
 		settlementService.check(settlement);
-		return R.data(settlement);
+		R<Settlement> detail = this.detail(settlement);
+		if(detail.getData()!=null)
+		{
+			return R.data(detail.getData());
+		}
+		else
+		{
+			return R.data(null);
+		}
+
 	}
 
 

+ 2 - 0
blade-service/trade-finance/src/main/java/com/trade/finance/service/ISettlementService.java

@@ -52,4 +52,6 @@ public interface ISettlementService extends IService<Settlement> {
 
 	void paymentApply(List<Items> itemsList, String billType);
 
+	void saveOrEdit(SettlementDTO settlementDTO);
+
 }

+ 74 - 1
blade-service/trade-finance/src/main/java/com/trade/finance/service/impl/SettlementServiceImpl.java

@@ -82,7 +82,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 		if(id==null)
 		{
 
-
+			model.setFinanceStatus("结算完成");
             model.setTenantId(AuthUtil.getTenantId());
 			model.setCreateTime(new Date());
 			model.setCreateUser(AuthUtil.getUserId());
@@ -222,6 +222,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 				  Acc acc=new Acc();
                   BeanUtils.copyProperties(e,acc);
 				  acc.setId(null);
+				  acc.setSrcBillNo(e.getBillNo());
 				  acc.setAccSysNo(e.getSrcOrderno());
 				  acc.setSrcParentId(e.getSrcParentId());
 				  acc.setBillType(settlement.getBillType());
@@ -251,6 +252,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			acc.setId(null);
 			acc.setAccSysNo(e.getSrcOrderno());
 			acc.setSrcParentId(e.getSrcParentId());
+			acc.setSrcBillNo(e.getBillNo());
 			acc.setBillType(billType);
 			acc.setCreateTime(new Date());
 			acc.setStatus(0);
@@ -261,4 +263,75 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 
 	}
 
+	@Override
+	@Transactional
+	public void saveOrEdit(SettlementDTO settlementDTO)
+	{
+		Settlement model=new Settlement();
+		BeanUtils.copyProperties(settlementDTO,model);
+		List<Files> filesList = settlementDTO.getFilesList();
+		List<Items> itemsList = settlementDTO.getItemsList();
+		//如果id=null, 无论主表还是从表, 必然都是新增
+		Long id = settlementDTO.getId();
+		if(id==null)
+		{
+			model.setSysNo(String.valueOf(System.currentTimeMillis()));
+			model.setFinanceStatus("待结算");
+			model.setTenantId(AuthUtil.getTenantId());
+			model.setCreateTime(new Date());
+			model.setCreateUser(AuthUtil.getUserId());
+			model.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
+			baseMapper.insert(model);
+			if(CollectionUtils.isNotEmpty(itemsList))
+			{
+				itemsList.forEach(e->{
+
+					e.setPid(model.getId());
+					e.setTenantId(AuthUtil.getTenantId());
+					e.setCreateTime(new Date());
+					e.setCreateUser(AuthUtil.getUserId());
+					e.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
+					itemsMapper.insert(e);
+				});
+			}
+		}
+		//主表更新, 从表视情况更新新增
+		else
+		{
+
+			model.setUpdateTime(new Date());
+			model.setUpdateUser(AuthUtil.getUserId());
+			model.setUpdateUserName(AuthUtil.getUser().getRoleName());
+			baseMapper.updateById(model);
+
+			if(CollectionUtils.isNotEmpty(itemsList))
+			{
+
+				itemsList.forEach(e->{
+
+					if(e.getId()==null)
+					{
+						e.setPid(model.getId());
+						e.setTenantId(AuthUtil.getTenantId());
+						e.setCreateTime(new Date());
+						e.setCreateUser(AuthUtil.getUserId());
+						e.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
+						itemsMapper.insert(e);
+					}
+					else
+					{
+
+						e.setUpdateTime(new Date());
+						e.setUpdateUser(AuthUtil.getUserId());
+						e.setUpdateUserName(AuthUtil.getUser().getRoleName());
+						itemsMapper.updateById(e);
+					}
+
+
+				});
+			}
+
+		}
+	}
+
 }