Browse Source

贸易代理 2024年8月16日17:30:14

纪新园 1 year ago
parent
commit
f246f0e3bf

+ 18 - 3
blade-service/blade-los/src/main/java/org/springblade/los/statisticAnalysis/service/impl/StatisticAnalysisServiceImpl.java

@@ -29,6 +29,7 @@ import org.springblade.los.finance.stl.mapper.FinStlBillsMapper;
 import org.springblade.los.statisticAnalysis.*;
 import org.springblade.los.statisticAnalysis.service.IStatisticAnalysisService;
 import org.springblade.los.trade.entity.Agent;
+import org.springblade.los.trade.mapper.AgentMapper;
 import org.springblade.los.trade.service.IAgentService;
 import org.springblade.los.view.entity.BoxNumberProfit;
 import org.springblade.los.view.mapper.BoxNumberProfitMapper;
@@ -67,7 +68,7 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 
 	private final BoxNumberProfitMapper boxNumberProfitMapper;
 
-	private final IAgentService agentService;
+	private final AgentMapper agentMapper;
 
 	@Override
 	public R<IPage<DecisionAnalysis>> decisionAnalysis(DecisionAnalysis decisionAnalysis, IPage<DecisionAnalysis> page) {
@@ -338,9 +339,10 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 		LambdaQueryWrapper<Agent> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper1.eq(Agent::getTenantId, AuthUtil.getTenantId())
 			.eq(Agent::getIsDeleted, 0)
+			.eq(Agent::getBusinessType, "MYDL")
 			.le(Agent::getBusinessDate, dateEnd)
 			.ge(Agent::getBusinessDate, dateStart);
-		MYDL = agentService.count(lambdaQueryWrapper1);
+		MYDL = agentMapper.selectCount(lambdaQueryWrapper1);
 		Map<String, Object> map = new HashMap<>();
 		map.put("HYJK", HYJK);
 		map.put("HYCK", HYCK);
@@ -366,6 +368,7 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 		long BGAI;
 		long FFSQ;
 		long FPSQ;
+		long MYDL;
 		//海运进出口
 		LambdaQueryWrapper<Bills> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(Bills::getTenantId, AuthUtil.getTenantId())
@@ -567,6 +570,14 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 		}
 		finInvoicesLambdaQueryWrapper.eq(FinInvoices::getType, "申请");
 		FPSQ = finInvoicesMapper.selectCount(finInvoicesLambdaQueryWrapper);
+		//发票申请
+		LambdaQueryWrapper<Agent> agentLambdaQueryWrapper = new LambdaQueryWrapper<>();
+		agentLambdaQueryWrapper.eq(Agent::getTenantId, AuthUtil.getTenantId())
+			.eq(Agent::getIsDeleted, 0)
+			.ge(Agent::getBusinessDate, dateStart)
+			.le(Agent::getBusinessDate, dateEnd)
+			.apply("find_in_set(business_status,'提交审核,审核中')");
+		MYDL = agentMapper.selectCount(agentLambdaQueryWrapper);
 		Map<String, Object> map = new HashMap<>();
 		map.put("HYJK", HYJK);
 		map.put("HYCK", HYCK);
@@ -582,6 +593,7 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 		map.put("BGAI", BGAI);
 		map.put("FFSQ", FFSQ);
 		map.put("FPSQ", FPSQ);
+		map.put("MYDL", MYDL);
 		return R.data(map);
 	}
 
@@ -673,7 +685,10 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 			List<Map<String, Object>> mapList = aeaBillsMapper.trend(AuthUtil.getTenantId(), deptUtils.getDeptPid(),
 				AuthUtil.getPostId(), date);
 			return R.data(mapList);
-		} else {
+		} else if ("3".equals(type)) {
+			List<Map<String, Object>> mapList = agentMapper.trend(AuthUtil.getTenantId(), date);
+			return R.data(mapList);
+		}else {
 			return R.fail("参数错误");
 		}
 	}

+ 4 - 0
blade-service/blade-los/src/main/java/org/springblade/los/trade/mapper/AgentMapper.java

@@ -16,11 +16,13 @@
  */
 package org.springblade.los.trade.mapper;
 
+import org.apache.ibatis.annotations.Param;
 import org.springblade.los.trade.entity.Agent;
 import org.springblade.los.trade.vo.AgentVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 贸易代理表 Mapper 接口
@@ -39,4 +41,6 @@ public interface AgentMapper extends BaseMapper<Agent> {
 	 */
 	List<AgentVO> selectAgentPage(IPage page, AgentVO agent);
 
+    List<Map<String, Object>> trend(@Param("tenantId") String tenantId,
+									@Param("date") String dateStart);
 }

+ 57 - 0
blade-service/blade-los/src/main/java/org/springblade/los/trade/mapper/AgentMapper.xml

@@ -58,5 +58,62 @@
     <select id="selectAgentPage" resultMap="agentResultMap">
         select * from trade_agent where is_deleted = 0
     </select>
+    <select id="trend" resultType="java.util.Map">
+        SELECT
+        m.id moon,
+        IFNULL( n.money, 0 ) money
+        FROM
+        (
+        SELECT
+        1 AS id UNION
+        SELECT
+        2 UNION
+        SELECT
+        3 UNION
+        SELECT
+        4 UNION
+        SELECT
+        5 UNION
+        SELECT
+        6 UNION
+        SELECT
+        7 UNION
+        SELECT
+        8 UNION
+        SELECT
+        9 UNION
+        SELECT
+        10 UNION
+        SELECT
+        11 UNION
+        SELECT
+        12
+        ) m
+        LEFT JOIN (
+        SELECT
+        DATE_FORMAT( sea.business_date, '%m' ) AS moon,
+        ROUND( IFNULL( SUM( pre.TEU * 1 ), 0 ), 2 ) AS money
+        FROM
+        trade_agent sea
+        LEFT JOIN trade_agent_items pre ON sea.id = pre.pid
+        WHERE
+        sea.is_deleted = 0
+        AND pre.is_deleted = 0
+        AND pre.business_type = 'MYDL'
+        <if test="tenantId!=null and tenantId != ''">
+            AND sea.tenant_id = #{tenantId}
+        </if>
+        <if test="date==null or date == ''">
+            AND YEAR ( sea.business_date ) = YEAR (NoW())
+        </if>
+        <if test="date!=null and date != ''">
+            AND YEAR ( sea.business_date ) = #{date}
+        </if>
+        GROUP BY
+        DATE_FORMAT( sea.business_date, '%m' )
+        ) n ON m.id = n.moon
+        ORDER BY
+        m.id
+    </select>
 
 </mapper>