Просмотр исходного кода

Merge remote-tracking branch 'origin/master'

liyuan 1 месяц назад
Родитель
Сommit
dff31d5db7

+ 25 - 5
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/BillsController.java

@@ -34,7 +34,6 @@ import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.los.Util.IDeptUtils;
-import org.springblade.los.app.dto.ProfitCustomersSort;
 import org.springblade.los.business.release.entity.SeaReleaseBillItems;
 import org.springblade.los.business.sea.entity.Bills;
 import org.springblade.los.business.sea.entity.SeaBillsDetail;
@@ -173,12 +172,16 @@ public class BillsController extends BladeController {
 				if (AuthUtil.getUserRole().contains("操作经理")) {
 					lambdaQueryWrapper.and(i -> i.eq(Bills::getOperatorDept, AuthUtil.getDeptId()).or()
 						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
+					lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getOperatorId()), Bills::getOperatorId, bills.getOperatorId());
+					lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getCustomerServiceId()), Bills::getCustomerServiceId, bills.getCustomerServiceId());
 				} else if (AuthUtil.getUserRole().contains("操作员")) {
 					lambdaQueryWrapper.and(i -> i.eq(Bills::getOperatorId, AuthUtil.getUserId()).or()
 						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
 				} else if (AuthUtil.getUserRole().contains("销售经理")) {
 					lambdaQueryWrapper.and(i -> i.eq(Bills::getSrcDeptId, AuthUtil.getDeptId()).or()
 						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
+					lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getOperatorId()), Bills::getOperatorId, bills.getOperatorId());
+					lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getCustomerServiceId()), Bills::getCustomerServiceId, bills.getCustomerServiceId());
 				} else if (AuthUtil.getUserRole().contains("业务员")) {
 					lambdaQueryWrapper.and(i -> i.eq(Bills::getSrcId, AuthUtil.getUserId()).or()
 						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
@@ -189,6 +192,9 @@ public class BillsController extends BladeController {
 					lambdaQueryWrapper.eq(Bills::getCreateUser, AuthUtil.getUserId());
 				}
 				lambdaQueryWrapper.eq(Bills::getBranchId, deptUtils.getDeptPid());
+			} else {
+				lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getOperatorId()), Bills::getOperatorId, bills.getOperatorId());
+				lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getCustomerServiceId()), Bills::getCustomerServiceId, bills.getCustomerServiceId());
 			}
 		} else if ("2".equals(jurisdiction)) {
 			//动态权限不做任何处理
@@ -347,12 +353,16 @@ public class BillsController extends BladeController {
 				if (AuthUtil.getUserRole().contains("操作经理")) {
 					lambdaQueryWrapper.and(i -> i.eq(Bills::getOperatorDept, AuthUtil.getDeptId()).or()
 						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
+					lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getOperatorId()), Bills::getOperatorId, bills.getOperatorId());
+					lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getCustomerServiceId()), Bills::getCustomerServiceId, bills.getCustomerServiceId());
 				} else if (AuthUtil.getUserRole().contains("操作员")) {
 					lambdaQueryWrapper.and(i -> i.eq(Bills::getOperatorId, AuthUtil.getUserId()).or()
 						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
 				} else if (AuthUtil.getUserRole().contains("销售经理")) {
 					lambdaQueryWrapper.and(i -> i.eq(Bills::getSrcDeptId, AuthUtil.getDeptId()).or()
 						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
+					lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getOperatorId()), Bills::getOperatorId, bills.getOperatorId());
+					lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getCustomerServiceId()), Bills::getCustomerServiceId, bills.getCustomerServiceId());
 				} else if (AuthUtil.getUserRole().contains("业务员")) {
 					lambdaQueryWrapper.and(i -> i.eq(Bills::getSrcId, AuthUtil.getUserId()).or()
 						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
@@ -363,6 +373,9 @@ public class BillsController extends BladeController {
 					lambdaQueryWrapper.eq(Bills::getCreateUser, AuthUtil.getUserId());
 				}
 				lambdaQueryWrapper.eq(Bills::getBranchId, deptUtils.getDeptPid());
+			} else {
+				lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getOperatorId()), Bills::getOperatorId, bills.getOperatorId());
+				lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getCustomerServiceId()), Bills::getCustomerServiceId, bills.getCustomerServiceId());
 			}
 		} else if ("2".equals(jurisdiction)) {
 			//动态权限不做任何处理
@@ -796,12 +809,16 @@ public class BillsController extends BladeController {
 				if (AuthUtil.getUserRole().contains("操作经理")) {
 					lambdaQueryWrapper.and(i -> i.eq(Bills::getOperatorDept, AuthUtil.getDeptId()).or()
 						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
+					lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getOperatorId()), Bills::getOperatorId, bills.getOperatorId());
+					lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getCustomerServiceId()), Bills::getCustomerServiceId, bills.getCustomerServiceId());
 				} else if (AuthUtil.getUserRole().contains("操作员")) {
 					lambdaQueryWrapper.and(i -> i.eq(Bills::getOperatorId, AuthUtil.getUserId()).or()
 						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
 				} else if (AuthUtil.getUserRole().contains("销售经理")) {
 					lambdaQueryWrapper.and(i -> i.eq(Bills::getSrcDeptId, AuthUtil.getDeptId()).or()
 						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
+					lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getOperatorId()), Bills::getOperatorId, bills.getOperatorId());
+					lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getCustomerServiceId()), Bills::getCustomerServiceId, bills.getCustomerServiceId());
 				} else if (AuthUtil.getUserRole().contains("业务员")) {
 					lambdaQueryWrapper.and(i -> i.eq(Bills::getSrcId, AuthUtil.getUserId()).or()
 						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
@@ -812,6 +829,9 @@ public class BillsController extends BladeController {
 					lambdaQueryWrapper.eq(Bills::getCreateUser, AuthUtil.getUserId());
 				}
 				lambdaQueryWrapper.eq(Bills::getBranchId, deptUtils.getDeptPid());
+			} else {
+				lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getOperatorId()), Bills::getOperatorId, bills.getOperatorId());
+				lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getCustomerServiceId()), Bills::getCustomerServiceId, bills.getCustomerServiceId());
 			}
 		} else if ("2".equals(jurisdiction)) {
 			//动态权限不做任何处理
@@ -999,9 +1019,9 @@ public class BillsController extends BladeController {
 		lambdaQueryWrapper.select(Bills::getId, Bills::getCorpId, Bills::getShortName,
 			Bills::getCorpCnName, Bills::getCorpEnName, Bills::getBillNo, Bills::getVesselCnName,
 			Bills::getVoyageNo, Bills::getMblno, Bills::getHblno, Bills::getEta, Bills::getEtd,
-			Bills::getPolEnName, Bills::getPodEnName,  Bills::getCarrierCnName, Bills::getPodCnName, Bills::getPolCnName,
+			Bills::getPolEnName, Bills::getPodEnName, Bills::getCarrierCnName, Bills::getPodCnName, Bills::getPolCnName,
 			Bills::getVesselEnName, Bills::getCarrierShortName, Bills::getCarrierEnName, Bills::getCyShortName,
-			Bills::getPlaceDeliveryName, Bills::getDestinationName,Bills::getQuantityCntrDescr);
+			Bills::getPlaceDeliveryName, Bills::getDestinationName, Bills::getQuantityCntrDescr);
 
 		// String defTeamId = ObjectUtils.isNotNull(AuthUtil.getPostId()) ? AuthUtil.getPostId().split(",")[0] : "";
 
@@ -1013,7 +1033,7 @@ public class BillsController extends BladeController {
 			.apply("find_in_set(team_id,'" + AuthUtil.getPostId() + "')")
 			.in(Bills::getBillType, Arrays.asList("DD", "MM"))
 			.like(ObjectUtils.isNotNull(bills.getMblno()), Bills::getMblno, bills.getMblno());
-			// .apply(ObjectUtils.isNotNull(bills.getCreateDeptName()), "find_in_set('" + bills.getCreateDeptName() + "',create_dept_name)");
+		// .apply(ObjectUtils.isNotNull(bills.getCreateDeptName()), "find_in_set('" + bills.getCreateDeptName() + "',create_dept_name)");
 		String jurisdiction = sysClient.getParamService("data.jurisdiction");
 		jurisdiction = "2";
 		if ("1".equals(jurisdiction)) {
@@ -1079,7 +1099,7 @@ public class BillsController extends BladeController {
 						.collect(Collectors.toList());
 					if (!feeCenters.isEmpty()) {
 						item.setFeeCenterListAll(feeCenters);
-					}else{
+					} else {
 						item.setFeeCenterListAll(new ArrayList<>());
 					}
 				}

+ 20 - 22
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/mapper/OrderMapper.xml

@@ -457,30 +457,28 @@
     </select>
     <select id="orderInventory"  resultType="org.springblade.purchase.sales.vo.OrderVO">
         SELECT
-            bo.id,
-            bo.order_no,
-            bo.busines_date,
-            item.corp_id,
-            SUM(item.order_quantity) as orderQuantity
+        bo.id,
+        bo.order_no,
+        bo.busines_date,
+        item.corp_id,
+        SUM(item.order_quantity) as orderQuantity
         FROM
-            business_order bo
-            LEFT JOIN business_order_items item ON bo.id = item.pid
+        business_order bo
+        LEFT JOIN business_order_items item ON bo.id = item.pid
         WHERE
-            bo.is_deleted = '0'
-            AND bo.`status` != '0'
-            AND item.is_deleted = '0'
-            AND bo.tenant_id = #{tenantId}
-            AND bo.trade_type = #{tradeType}
-            AND bo.bill_type = #{billType}
-            AND item.item_id = #{itemId}
-            AND item.corp_id = #{corpId}
-            <if test='storageId != null'>
-                AND item.storage_id = #{storageId}
-            </if>
-            <if test='tenantId != null and tenantId != "" and tenantId == tenantId'>
-                and bo.actual_delivery_date is NULL
-                AND bo.order_status NOT IN ('录入')
-            </if>
+        bo.is_deleted = '0'
+        AND bo.`status` != '0'
+        AND item.is_deleted = '0'
+        AND bo.tenant_id = #{tenantId}
+        AND bo.trade_type = #{tradeType}
+        AND bo.bill_type = #{billType}
+        AND item.item_id = #{itemId}
+        AND item.corp_id = #{corpId}
+        <if test='storageId != null'>
+            AND item.storage_id = #{storageId}
+        </if>
+        and bo.actual_delivery_date is NULL
+        AND bo.order_status NOT IN ('录入')
         GROUP BY bo.id,
         bo.actual_delivery_date,
         bo.order_no,

+ 11 - 4
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -586,10 +586,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				//有销售政策:产生返利=销售明细中的(特价-真实特价)X 条数 的明细和
 				correctCreateProfit = list.stream().filter(e -> ObjectUtils.isNotNull(e.getPriceType())).
 					reduce(BigDecimal.ZERO, (x, y) -> x.add((y.getPrice().subtract(y.getRealSpecialOffer() == null ? BigDecimal.ZERO : y.getRealSpecialOffer())).multiply(y.getOrderQuantity())), BigDecimal::add);
-
-				//无销售政策:产生返利=(单价*数量)* (2%+1%+1%)
-				faultCreateProfit = list.stream().filter(e -> ObjectUtils.isNull(e.getPriceType())).
-					reduce(BigDecimal.ZERO, (x, y) -> x.add((y.getPrice().multiply(y.getOrderQuantity())).multiply(new BigDecimal(0.04))), BigDecimal::add);
+				String interestRate = sysClient.getParamService("interest.rate");
+				if(ObjectUtils.isNotNull(interestRate) && !"681169".equals(AuthUtil.getTenantId())){
+					BigDecimal rate = new BigDecimal(interestRate).divide(new BigDecimal("100"),2,RoundingMode.HALF_DOWN);
+					//无销售政策:产生返利=(单价*数量)* (2%+1%+1%)
+					faultCreateProfit = list.stream().filter(e -> ObjectUtils.isNull(e.getPriceType())).
+						reduce(BigDecimal.ZERO, (x, y) -> x.add((y.getPrice().multiply(y.getOrderQuantity())).multiply(rate)), BigDecimal::add);
+				}else{
+					//无销售政策:产生返利=(单价*数量)* (2%+1%+1%)
+					faultCreateProfit = list.stream().filter(e -> ObjectUtils.isNull(e.getPriceType())).
+						reduce(BigDecimal.ZERO, (x, y) -> x.add((y.getPrice().multiply(y.getOrderQuantity())).multiply(new BigDecimal(0.04))), BigDecimal::add);
+				}
 
 				//最终销售订单中产生返利=有销售政策:产生返利+无销售政策:产生返利
 				order.setCreateProfit(correctCreateProfit.add(faultCreateProfit));

+ 3 - 4
blade-service/blade-stock/src/main/java/org/springblade/stock/mapper/StockGoodsMapper.xml

@@ -668,10 +668,9 @@
         <if test='corpId != null'>
             and item.corp_id = #{corpId}
         </if>
-        <if test='tenantId != null and tenantId != "" and tenantId == tenantId'>
-            and bo.actual_delivery_date is NULL
-            AND bo.order_status NOT IN ('录入')
-        </if>
+        and bo.actual_delivery_date is NULL
+        AND bo.order_status NOT IN ('录入')
+
         GROUP BY bo.id,
         bo.actual_delivery_date,
         bo.order_no,