ソースを参照

1.大中型-评估效率值表返回个人产值
2.大中型统计报表新增接口效率详情列表查询/导出

GouGengquan 2 ヶ月 前
コミット
eb1365bdf3

+ 21 - 0
biz-base/src/main/java/com/dayou/controller/MajorStatisticalStatementController.java

@@ -244,6 +244,27 @@ public class MajorStatisticalStatementController extends BaseController{
     }
 
     /**
+     * 效率详情列表查询
+     * @param page 分页
+     * @param dto 查询dto
+     * @return RestResponse<Page<MajorOutputValueDetailVO>>
+     */
+    @GetMapping("/evaluate/getMajorOutputValueDetailVO")
+    public RestResponse<Page<MajorOutputValueDetailVO>> getMajorOutputValueDetailVO(Page page, MajorStatisticalSelectDTO dto) {
+        return RestResponse.data(majorStatisticalStatementService.getMajorOutputValueDetailVO(page, dto));
+    }
+
+    /**
+     * 效率详情列表导出
+     * @param dto 查询dto
+     */
+    @GetMapping("/evaluate/getMajorOutputValueDetailVO/export")
+    public void exportMajorOutputValueDetailVO(MajorStatisticalSelectDTO dto, HttpServletResponse response) throws IOException {
+        List<MajorOutputValueDetailVO> result = majorStatisticalStatementService.exportMajorOutputValueDetailVO(dto);
+        exportPlus(response, "大中型订单列表", result, MajorOutputValueDetailVO.class);
+    }
+
+    /**
      * 项目部绩效查询
      * @param dto 查询dto
      * @return List<MajorEvaluateEfficiencyVO>

+ 16 - 0
dao/src/main/java/com/dayou/mapper/MajorStatisticalStatementMapper.java

@@ -113,6 +113,22 @@ public interface MajorStatisticalStatementMapper {
     List<MajorEfficiencyDetailVO> exportMajorEfficiencyDetailVO(@Param("dto") MajorStatisticalSelectDTO dto);
 
     /**
+     * 产值详情列表查询
+     * @param page 分页
+     * @param dto 查询dto
+     * @return Page<MajorEfficiencyDetailVO>
+     */
+    Page<MajorOutputValueDetailVO> getMajorOutputValueDetailVO(@Param("page") Page page, @Param("dto") MajorStatisticalSelectDTO dto);
+
+
+    /**
+     * 产值详情列表查询
+     * @param dto 查询dto
+     * @return Page<MajorEfficiencyDetailVO>
+     */
+    List<MajorOutputValueDetailVO> exportMajorOutputValueDetailVO(@Param("dto") MajorStatisticalSelectDTO dto);
+
+    /**
      * 项目部绩效查询
      * @param dto 查询dto
      * @return List<MajorEvaluateEfficiencyVO>

+ 55 - 1
dao/src/main/resources/mapper/MajorStatisticalStatementMapper.xml

@@ -1225,7 +1225,21 @@
             WHERE principal_id = user.id
             AND financial = 1
             AND major.created BETWEEN #{dto.startTime} AND #{dto.endTime}
-           ) AS unFinancialQuoteProcessingTime
+           ) AS unFinancialQuoteProcessingTime,
+        (
+            SELECT COALESCE(SUM(pFund.real_amount * allot.ratio),0)
+            FROM major, major_production AS pro, production_fund AS pFund, major_production_allot AS allot
+            WHERE pro.major_id = major.id
+            AND pFund.business_id = major.id
+            AND pFund.production_no = pro.report_no
+            AND pFund.business_type = 'MAJOR_BUSINESS'
+            AND pFund.real_amount IS NOT NULL
+            AND allot.major_id = major.id
+            AND allot.major_production_id = pro.id
+            AND allot.user_type = 'EVALUATE'
+            AND major.created BETWEEN #{dto.startTime} AND #{dto.endTime}
+            AND allot.user_id = user.id
+        ) AS currentPeriodOutputValue
         FROM
             (SELECT DISTINCT user.id AS id,
                     user.`name` AS userName,
@@ -1394,6 +1408,46 @@
         <include refid="majorEvaEffDetailQuery" />
     </select>
 
+    <!--产值详情列表查询-->
+    <sql id="majorOutputValueDetailQuery">
+        SELECT major.id,
+               major.order_id,
+               pro.name AS projectName,
+               (SELECT customer_company.name FROM customer_company WHERE customer_company.id = clientele_id) AS customerName,
+               (SELECT customer_company.name FROM customer_company WHERE customer_company.id = clientele_sub_id) AS customerSubName,
+               (SELECT name FROM customer_linkman WHERE id = major.clientele_contact_id) AS linkmanName,
+               pro.client_name AS bailor,
+               pro.report_no,
+               (SELECT name FROM user WHERE id = major.principal_id) AS principalName,
+               members,
+               (SELECT name FROM user WHERE id = major.client_manager_id) AS clientManagerName,
+               pro.production_time AS writeReportDate,
+               pFund.production_should_amount AS shouldAmount,
+               pFund.real_amount AS realAmount,
+               allot.ratio AS ratio,
+               (pFund.real_amount * allot.ratio) AS outputValue
+        FROM major, major_production AS pro, production_fund AS pFund, major_production_allot AS allot
+        WHERE pro.major_id = major.id
+          AND pFund.business_id = major.id
+          AND pFund.production_no = pro.report_no
+          AND pFund.business_type = 'MAJOR_BUSINESS'
+          AND pFund.real_amount IS NOT NULL
+          AND allot.major_id = major.id
+          AND allot.major_production_id = pro.id
+          AND allot.user_type = 'EVALUATE'
+          AND major.created BETWEEN #{dto.startTime} AND #{dto.endTime}
+          AND allot.user_id = #{dto.userId}
+        ORDER BY major.created DESC
+    </sql>
+
+    <select id="getMajorOutputValueDetailVO" resultType="com.dayou.vo.MajorOutputValueDetailVO">
+        <include refid="majorOutputValueDetailQuery" />
+    </select>
+
+    <select id="exportMajorOutputValueDetailVO" resultType="com.dayou.vo.MajorOutputValueDetailVO">
+        <include refid="majorOutputValueDetailQuery" />
+    </select>
+
     <!--项目部绩效查询-->
     <select id="getMajorDepPerformanceOverviewVO" resultType="com.dayou.vo.MajorDepPerformanceOverviewVO">
         SELECT department.departmentId,

+ 6 - 0
domain/src/main/java/com/dayou/vo/MajorEvaluateEfficiencyVO.java

@@ -140,6 +140,12 @@ public class MajorEvaluateEfficiencyVO {
     private Double currentPeriodRealAmountSum;
 
     /**
+     * 当期个人产值
+     */
+    @Excel(name = "当期个人产值")
+    private Double currentPeriodOutputValue;
+
+    /**
      * 同比实收款
      */
     @Excel(name = "同比实收款增减率(%)")

+ 103 - 0
domain/src/main/java/com/dayou/vo/MajorOutputValueDetailVO.java

@@ -0,0 +1,103 @@
+package com.dayou.vo;
+
+import com.dayou.annotation.Excel;
+import lombok.Data;
+
+import java.time.LocalDate;
+
+@Data
+public class MajorOutputValueDetailVO {
+
+    private Integer id;
+
+    /**
+     * 项目编号
+     */
+    @Excel(name = "项目编号")
+    private String orderId;
+
+    /**
+     * 项目名称
+     */
+    @Excel(name = "项目名称")
+    private String projectName;
+
+    /**
+     * 客户名称
+     */
+    @Excel(name = "客户名称")
+    private String customerName;
+
+    /**
+     * 业务来源(客户子级名称)
+     */
+    @Excel(name = "业务来源")
+    private String customerSubName;
+
+    /**
+     * 客户联系人
+     */
+    @Excel(name = "客户联系人")
+    private String linkmanName;
+
+    /**
+     * 委托人
+     */
+    @Excel(name = "委托人")
+    private String bailor;
+
+    /**
+     * 报告号
+     */
+    @Excel(name = "报告号")
+    private String reportNo;
+
+    /**
+     * 项目负责人名
+     */
+    @Excel(name = "项目负责人")
+    private String principalName;
+
+    /**
+     * 项目参与人
+     */
+    @Excel(name = "项目参与人")
+    private String members;
+
+    /**
+     * 客户经理名
+     */
+    @Excel(name = "客户经理")
+    private String clientManagerName;
+
+    /**
+     * 出报告时间
+     */
+    @Excel(name = "出报告时间")
+    private LocalDate writeReportDate;
+
+    /**
+     * 产品应收款(元)
+     */
+    @Excel(name = "产品应收款(元)")
+    private Double shouldAmount;
+
+    /**
+     * 产品实收款(元)
+     */
+    @Excel(name = "产品实收款(元)")
+    private Double realAmount;
+
+    /**
+     * 绩效比例
+     */
+    @Excel(name = "绩效比例")
+    private Double ratio;
+
+    /**
+     * 产值(元)
+     */
+    @Excel(name = "产值(元)")
+    private Double outputValue;
+
+}

+ 15 - 0
service/src/main/java/com/dayou/service/IMajorStatisticalStatementService.java

@@ -111,6 +111,21 @@ public interface IMajorStatisticalStatementService {
     List<MajorEfficiencyDetailVO> exportMajorEfficiencyDetailVO(MajorStatisticalSelectDTO dto);
 
     /**
+     * 产值详情列表查询
+     * @param page 分页
+     * @param dto 查询dto
+     * @return Page<MajorEfficiencyDetailVO>
+     */
+    Page<MajorOutputValueDetailVO> getMajorOutputValueDetailVO(Page page, MajorStatisticalSelectDTO dto);
+
+    /**
+     * 产值详情列表导出
+     * @param dto 查询dto
+     * @return List<MajorEfficiencyDetailVO>
+     */
+    List<MajorOutputValueDetailVO> exportMajorOutputValueDetailVO(MajorStatisticalSelectDTO dto);
+
+    /**
      * 项目部绩效查询
      * @param dto 查询dto
      * @return List<MajorEvaluateEfficiencyVO>

+ 37 - 0
service/src/main/java/com/dayou/service/impl/MajorStatisticalStatementServiceImpl.java

@@ -386,6 +386,43 @@ public class MajorStatisticalStatementServiceImpl implements IMajorStatisticalSt
     }
 
     /**
+     * 产值详情列表查询
+     * @param page 分页
+     * @param dto 查询dto
+     * @return Page<MajorEfficiencyDetailVO>
+     */
+    @Override
+    public Page<MajorOutputValueDetailVO> getMajorOutputValueDetailVO(Page page, MajorStatisticalSelectDTO dto) {
+        Page<MajorOutputValueDetailVO> detailVOPage = majorStatisticalStatementMapper.getMajorOutputValueDetailVO(page, dto);
+        for (MajorOutputValueDetailVO detailVO : detailVOPage.getRecords()){
+            if (ObjectUtil.isNotNull(detailVO.getMembers())){
+                JSONArray jsonArray = JSONArray.parseArray(detailVO.getMembers());
+                List<Long> membersId = jsonArray.toJavaList(Long.class);
+                String names = null;
+                for (Long id : membersId) {
+                    if (ObjectUtil.isNull(names)) {
+                        names = userService.getById(id).getName() + ';';
+                    } else {
+                        names += userService.getById(id).getName() + ';';
+                    }
+                }
+                detailVO.setMembers(names);
+            }
+        }
+        return detailVOPage;
+    }
+
+    /**
+     * 产值详情列表导出
+     * @param dto 查询dto
+     * @return List<MajorEfficiencyDetailVO>
+     */
+    @Override
+    public List<MajorOutputValueDetailVO> exportMajorOutputValueDetailVO(MajorStatisticalSelectDTO dto) {
+        return majorStatisticalStatementMapper.exportMajorOutputValueDetailVO(dto);
+    }
+
+    /**
      * 项目部绩效查询
      * @param dto 查询dto
      * @return List<MajorEvaluateEfficiencyVO>