Browse Source

金蝶凭证生成多条修改

lichao 3 years ago
parent
commit
e75b61669a

+ 3 - 0
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryServiceImpl.java

@@ -781,6 +781,9 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 		if (select.getDeliveryStatus() == null || !DeliveryStatusEnum.REVOCATION.getType().equals(select.getDeliveryStatus())) {
 			throw new SecurityException("此单据已撤回或者不存在,禁止重复操作");
 		}
+		if (select.getDeliveryStatus() != null && DeliveryStatusEnum.REVOCATION.getType().equals(select.getDeliveryStatus())){
+			throw new SecurityException("此单据已生成凭证,禁止撤销");
+		}
 
 		List<DeliveryItems> deliveryItemsList = delivery.getDeliveryItemsList();
 		if (CollectionUtils.isNotEmpty(deliveryItemsList)) {

+ 6 - 1
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/mapper/OrderMapper.java

@@ -118,11 +118,16 @@ public interface OrderMapper extends BaseMapper<Order> {
 	List<SalesDetailsVo> purchaseReconciliation(IPage<SalesDetailsVo> page,@Param("detailsVo") SalesDetailsVo detailsVo);
 
 	/**
-	 * 统计分析 销售人员提成列表导出
+	 * 统计分析 品牌采购对账列表导出
 	 */
 	List<PurchaseExcel> selPurchaseList(@Param("detailsVo") SalesDetailsVo detailsVo);
 
 	/**
+	 * 统计分析 销售利润列表和检索条件查询
+	 */
+	List<SalesDetailsVo> selSalesProfit(IPage<SalesDetailsVo> page,@Param("detailsVo") SalesDetailsVo detailsVo);
+
+	/**
 	 * 首页获取销售趋势
 	 * @param tenantId 租户id
 	 * @param tradeType 贸易类型

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

@@ -850,7 +850,37 @@ ORDER BY
         </where>
         order by BO.create_time desc
     </select>
-
+    <select id="selSalesProfit" resultType="org.springblade.purchase.sales.vo.SalesDetailsVo">
+        SELECT
+        BO.id AS orderId,
+        BO.order_no as orderNo,
+        BGD.Brand AS brand,
+        BCD.cname AS corpName,
+        BO.create_time AS careteTime,
+        BO.charge_member AS salesName,
+        BO.create_time AS careteTime,
+        BOI.order_quantity AS quantity
+        FROM business_order_items AS BOI
+        LEFT JOIN business_order BO ON BOI.pid = BO.id
+        LEFT JOIN basic_goods_desc BGD ON BOI.Item_id = BGD.id
+        LEFT JOIN business_order_fees BOF ON BOF.pid = BO.id
+        LEFT JOIN basic_corps_desc BCD ON BO.Corp_id = BCD.id
+        <where>
+            BOI.is_deleted = 0
+            AND BO.bill_type = 'XS'
+            AND BO.tenant_id = #{detailsVo.tenantId}
+            <if test="detailsVo.brand != null and detailsVo.brand != ''">
+                AND BGD.Brand like concat('%', #{detailsVo.brand}, '%')
+            </if>
+            <if test="detailsVo.beginCreateTime !=null and detailsVo.beginCreateTime != ''">
+                and BO.create_time &gt;= #{detailsVo.beginCreateTime}
+            </if>
+            <if test="detailsVo.endCreateTime !=null and detailsVo.endCreateTime != ''">
+                and BO.create_time &lt;= #{detailsVo.endCreateTime}
+            </if>
+        </where>
+        order by BO.create_time desc
+    </select>
     <update id="updateOrderMessage" parameterType="org.springblade.purchase.sales.entity.Order">
         update  business_order
         <trim prefix="SET" suffixOverrides=",">

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

@@ -1404,7 +1404,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	 */
 	@Override
 	public IPage<SalesDetailsVo> selSalesProfit(IPage<SalesDetailsVo> page, SalesDetailsVo detailsVo) {
-		return null;
+		return page.setRecords(baseMapper.selSalesProfit(page, detailsVo));
 	}
 
 

+ 4 - 0
blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java

@@ -161,6 +161,9 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 		if ("待结算".equals(settlement.getFinanceStatus())) {
 			throw new SecurityException("此结算单未结算 或者 已经撤销,禁止重复操作");
 		}
+		if ("结算完成".equals(settlement.getFinanceStatus())){
+			throw new SecurityException("此结算单已生成凭证,禁止撤销");
+		}
 
 		//国内财务需要判断溢付款
 		if ("681169".equals(settlement.getTenantId())) {
@@ -245,6 +248,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			//获取来源订单号
 			LambdaQueryWrapper<Items> itemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
 			itemsLambdaQueryWrapper.eq(Items::getPid, settlement.getId()).eq(Items::getIsDeleted, 0);
+			itemsLambdaQueryWrapper.last("limit 1");
 			List<Items> list = itemsMapper.selectList(itemsLambdaQueryWrapper);
 			if (CollectionUtils.isNotEmpty(list)){
 				//获取来源订单号