Browse Source

Merge remote-tracking branch 'origin/dev' into dev

纪新园 3 years ago
parent
commit
37a32d17b4

+ 6 - 0
blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/entity/Biding.java

@@ -290,4 +290,10 @@ public class Biding implements Serializable {
 	 */
 	@TableField(exist = false)
 	private Integer nonEditable;
+
+	/**
+	 * 代理状态
+	 */
+	@TableField(exist = false)
+	private Integer agentStatus;
 }

+ 3 - 0
blade-service/blade-client/src/main/java/org/springblade/client/corps/mapper/CorpsDescMapper.xml

@@ -77,6 +77,9 @@
         <if test="CorpsDesc.cname!=null and CorpsDesc.cname != ''">
             and cname like CONCAT(CONCAT('%', #{CorpsDesc.cname}), '%')
         </if>
+        <if test="CorpsDesc.line!=null and CorpsDesc.line != ''">
+            and line like CONCAT(CONCAT('%', #{CorpsDesc.line}), '%')
+        </if>
         <if test="CorpsDesc.enname!=null and CorpsDesc.enname != ''">
             and enname = #{CorpsDesc.enname}
         </if>

+ 6 - 2
blade-service/blade-client/src/main/java/org/springblade/client/land/controller/LandVehicleController.java

@@ -18,6 +18,7 @@ package org.springblade.client.land.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -162,8 +163,11 @@ public class LandVehicleController extends BladeController {
 
 			if (ObjectUtil.isNotEmpty(vehicle.getDriverId())) {
 				if (driverList != null) {
-					vehicle.setDriverName(driverList.stream().filter(e -> e.getId().equals(vehicle.getDriverId())).findFirst().get().getName());
-					vehicle.setTel(driverList.stream().filter(e -> e.getId().equals(vehicle.getDriverId())).findFirst().get().getTel());
+					LandDriver landDriver = driverList.stream().filter(e -> e.getId().equals(vehicle.getDriverId())).findFirst().orElse(null);
+					if (ObjectUtils.isNotNull(landDriver)){
+						vehicle.setDriverName(landDriver.getName());
+						vehicle.setTel(landDriver.getTel());
+					}
 				}
 			}
 		});

+ 7 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/BidingServiceImpl.java

@@ -11,12 +11,14 @@ import org.springblade.check.entity.AuditPathsActs;
 import org.springblade.check.entity.AuditPathsLevels;
 import org.springblade.check.feign.ICheckClient;
 import org.springblade.client.entity.CorpsAttn;
+import org.springblade.client.entity.CorpsDesc;
 import org.springblade.client.feign.ISerialClient;
 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;
 import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.purchase.sales.entity.Biding;
@@ -121,6 +123,11 @@ public class BidingServiceImpl extends ServiceImpl<BidingMapper, Biding> impleme
 		lambdaQueryWrapper.eq(StringUtil.isNotBlank(biding.getObjectiveHarbor()), Biding::getObjectiveHarbor, biding.getObjectiveHarbor());//目的港
 		lambdaQueryWrapper.eq(ObjectUtil.isNotEmpty(biding.getCreateUser()), Biding::getCreateUser, biding.getCreateUser());//制单人
 		lambdaQueryWrapper.eq(ObjectUtil.isNotEmpty(biding.getStatus()), Biding::getStatus, biding.getStatus());//状态
+
+		String role = AuthUtil.getUserRole();
+		if (!role.contains("admin")){//admin能看全部标书,其他用户浏览自己的标书
+			lambdaQueryWrapper.eq(Biding::getCreateUser, AuthUtil.getUserId());
+		}
 		lambdaQueryWrapper.orderByDesc(Biding::getId);
 
 		IPage<Biding> iPage = baseMapper.selectPage(Condition.getPage(query), lambdaQueryWrapper);

+ 6 - 5
blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java

@@ -1576,9 +1576,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 		if (dModule == null) {
 			throw new SecurityException("获取采购订单科目号失败");
 		}
-		if (null != subjectNumber && !subjectNumber.equals("")) {
-			dModule.setProjectCode(subjectNumber);
-		} else {
+		if (dModule.getProjectCode() == null){
 			throw new SecurityException("科目编码为空");
 		}
 		d.setExplanation(dModule.getAbstractStatic() + "-" + corpName);
@@ -1601,6 +1599,9 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 		if (cModule == null) {
 			throw new SecurityException("获取采购订单科目号失败");
 		}
+		if (subjectNumber != null && !subjectNumber.equals("")){
+			cModule.setProjectCode(subjectNumber);
+		}
 		c.setExplanation(cModule.getAbstractStatic() + "-" + corpName);
 		c.setAccount_number(cModule.getProjectCode());
 		c.setCreditamount(account);
@@ -1611,7 +1612,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 
 		//查询业务员
 		//String jdCorpName="测试业务员";//具体到时候用哪个客户,需要关联查询传参,今天先用测试的
-		LambdaQueryWrapper<JdCorps> corpsQueryWrapper = new LambdaQueryWrapper<>();
+		/*LambdaQueryWrapper<JdCorps> corpsQueryWrapper = new LambdaQueryWrapper<>();
 		corpsQueryWrapper
 			.eq(JdCorps::getCorpsType, 3)
 			.eq(JdCorps::getAccountId, accountId)
@@ -1625,7 +1626,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 		if (jdCorps != null) {
 			jdYassist.setNumber(jdCorps.getCorpsCode());
 		}
-		cList.add(jdYassist);
+		cList.add(jdYassist);*/
 
 
 		//查询供应商

+ 43 - 42
blade-service/trade-purchase/src/main/java/com/trade/purchase/extra/service/impl/ClaimServiceImpl.java

@@ -361,19 +361,12 @@ public class ClaimServiceImpl extends ServiceImpl<ClaimMapper, Claim> implements
 			if (jdTenant != null)
 			{
 				if (ObjectUtil.isNotEmpty(itemList)){
-					String finalAccountName = accountName;
-					itemList.forEach(item -> {
-						if (!StringUtil.isNotBlank(item.getSubjectName())){
-							throw new SecurityException("明细科目名称不能为空");
-						}
-						try {
-							//财务保存凭证
-							this.ClaimSaveVoucher(claimOne.getPaymentTime(), finalAccountName, claimOne.getSubjectCode(), item.getSubjectName(),
-								item.getAccountingItemsName(), item.getAmount().toString(), item.getExplanation());
-						} catch (Exception exception) {
-							throw new SecurityException(exception.getMessage());
-						}
-					});
+					try {
+						//财务保存凭证
+						this.ClaimSaveVoucher(claimOne.getPaymentTime(), accountName, claimOne.getSubjectCode(), itemList, claimOne.getUserName());
+					} catch (Exception exception) {
+						throw new SecurityException(exception.getMessage());
+					}
 				}
 			}
 
@@ -384,18 +377,13 @@ public class ClaimServiceImpl extends ServiceImpl<ClaimMapper, Claim> implements
 	}
 
 	//财务生成账单
-	public void ClaimSaveVoucher(Date PaymentTime, String accountName, String subjectCode, String subjectName, String corpNumber, String account, String explanation) throws Exception {
+	public void ClaimSaveVoucher(Date PaymentTime, String accountName, String subjectCode, List<ClaimItem> itemList, String userName) throws Exception {
 		// TODO 临时屏蔽
 
 		//非达沃特用户直接返回
 		if (!"681169".equals(AuthUtil.getTenantId())) {
 			return;
 		}
-		//如果金额大于0,才生成凭证
-		if (new BigDecimal(account).compareTo(BigDecimal.ZERO) < 1) {
-			return;
-		}
-
 		//获取token
 		String token = this.getAccountGroupRequest();
 		//获取套账url
@@ -429,7 +417,7 @@ public class ClaimServiceImpl extends ServiceImpl<ClaimMapper, Claim> implements
 			return;
 		}
 		//保存凭证
-		JdyTool.voucher voucher = toSaleCollectionJinDie(PaymentTime, subjectCode, subjectName, account, corpNumber, jdTenant.getAccountId(), group.getGroupName(), explanation);
+		JdyTool.voucher voucher = toSaleCollectionJinDie(PaymentTime, subjectCode, jdTenant.getAccountId(), group.getGroupName(), itemList, userName);
 		if (voucher == null) {
 			throw new SecurityException("获取凭证信息失败");
 		}
@@ -437,36 +425,49 @@ public class ClaimServiceImpl extends ServiceImpl<ClaimMapper, Claim> implements
 	}
 
 	//金蝶保存凭证测试-生成凭证
-	public JdyTool.voucher toSaleCollectionJinDie(Date date,String subjectCode,String subjectNumber, String account,String corpNumber, String accountId, String groupName, String explanation) {
+	public JdyTool.voucher toSaleCollectionJinDie(Date date,String subjectCode, String accountId, String groupName, List<ClaimItem> itemList, String userName) {
 		JDYitems item = new JDYitems();
 		item.setDate(new SimpleDateFormat("yyyy-MM-dd").format(date));
 		List<JDYentries> entriesList = new ArrayList<>();
 		List<JDYitems> jdYitems = new ArrayList<>();
 
-		//财务借方
-		JDYentries d = new JDYentries();
-		d.setDc("1");
+		itemList.forEach(claimItem -> {
+			if (!StringUtil.isNotBlank(claimItem.getSubjectName())){
+				throw new SecurityException("明细科目名称不能为空");
+			}
 
-		if (null != subjectNumber && !subjectNumber.equals("")){
-			d.setAccount_number(subjectNumber);
-		}else {
-			throw new SecurityException("科目编码为空");
-		}
-		d.setExplanation(explanation);
-		d.setDebitamount(account);
-		entriesList.add(d);
+			if (claimItem.getAmount().compareTo(BigDecimal.ZERO) < 1) {
+				throw new SecurityException("明细金额不能为空或为0");
+			}
+
+			JDYentries d = new JDYentries();
+			d.setDc("1");
+
+			if (null != claimItem.getSubjectName() && !claimItem.getSubjectName().equals("")){
+				d.setAccount_number(claimItem.getSubjectName());
+			}else {
+				throw new SecurityException("科目编码为空");
+			}
+			d.setExplanation(claimItem.getExplanation());
+			d.setDebitamount(claimItem.getAmount().toString());
+			entriesList.add(d);
 
-		//===========辅助核算=================
-		List<JDYassist> cList = new ArrayList<>();
+			//===========辅助核算=================
+			List<JDYassist> cList = new ArrayList<>();
 
-		JDYassist jdYassist = new JDYassist();
-		jdYassist.setType("bd_employee");
+			JDYassist jdYassist = new JDYassist();
+			jdYassist.setType("bd_employee");
 
-		jdYassist.setNumber(corpNumber);
+			jdYassist.setNumber(claimItem.getAccountingItemsName());
+
+			cList.add(jdYassist);
+			d.setAssist(cList);
+			//===========辅助核算=================
+
+		});
 
-		cList.add(jdYassist);
-		d.setAssist(cList);
-		//===========辅助核算=================
+		//金额合计
+		String sumAccount = itemList.stream().map(ClaimItem :: getAmount).reduce(BigDecimal.ZERO, BigDecimal::add).toString();
 
 		//财务贷方
 		JDYentries c = new JDYentries();
@@ -477,8 +478,8 @@ public class ClaimServiceImpl extends ServiceImpl<ClaimMapper, Claim> implements
 		}else {
 			throw new SecurityException("科目编码为空");
 		}
-		c.setExplanation(explanation);
-		c.setCreditamount(account);
+		c.setExplanation(userName + "报销");
+		c.setCreditamount(sumAccount);
 		entriesList.add(c);
 
 		//组装数据