sunhh 2 роки тому
батько
коміт
b72e5ba42a

+ 14 - 0
purchase-admin/src/main/java/com/ozs/web/controller/statisticalAnalysis/StatisticalAnalysisController.java

@@ -133,4 +133,18 @@ public class StatisticalAnalysisController extends BaseController {
         Map<String, Integer> map = pmDemandService.purchaseProjectExecute(pmDemandReqVo);
         return success(map);
     }
+
+    @ApiOperation(value = "已完成项目数量统计")
+    @PostMapping("/purchaseProjectCompleteNumber")
+    public AjaxResult purchaseProjectCompleteNumber(@RequestBody PmDemandReqVo pmDemandReqVo) {
+        // 需求单位可查看本单位及其下属单位的统计数据
+        if (StringUtils.isNull(pmDemandReqVo.getPurchaseDeptId())) {
+            return error("登录账号的单位 不能为空!");
+        }
+        if (StringUtils.isNull(pmDemandReqVo.getTimeType())) {
+            return error("统计时间类型不能为空, 1:年度,2:季度,3:月份!");
+        }
+        List<Map<String, Integer>> map = pmDemandService.purchaseProjectCompleteNumber(pmDemandReqVo);
+        return success(map);
+    }
 }

+ 9 - 1
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanYearsServiceImpl.java

@@ -1148,8 +1148,16 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
                 }
             }
             return AjaxResult.success(vo);
+        } else {
+            if (StringUtils.isNotNull(provisionalPlan)) {
+                return AjaxResult.success(provisionalPlan);
+            } else {
+                if (StringUtils.isNotNull(byId)) {
+                    return AjaxResult.success(byId);
+                }
+            }
         }
-        return AjaxResult.success(null);
+        return AjaxResult.error("没有查到相关数据!");
     }
 
     private List<SysFileInfo> getSysFileInfoList(Long redId, Integer type) {

+ 4 - 1
purchase-system/src/main/java/com/ozs/pm/doman/vo/requestVo/PmDemandReqVo.java

@@ -78,5 +78,8 @@ public class PmDemandReqVo extends PageVo
     private String detailType;
 
     @ApiModelProperty("采购单位(登录账号的单位)")
-    private Long purchaseDeptId;
+    private Integer purchaseDeptId;
+
+    @ApiModelProperty("统计时间类型 1:年度,2:季度,3:月份")
+    private String timeType;
 }

+ 27 - 0
purchase-system/src/main/java/com/ozs/pm/mapper/PmDemandMapper.java

@@ -181,4 +181,31 @@ public interface PmDemandMapper extends BaseMapper<PmDemand> {
      * @return
      */
     Map<String, Integer> purchaseProjectExecuteIncomplete(PmDemandReqVo pmDemandReqVo);
+
+    /**
+     * 查询数据库年份最小值
+     * @return
+     */
+    Integer selectMinYear();
+
+    /**
+     * 已完成项目数量统计 -- 年份
+     * @param pmDemandReqVo
+     * @return
+     */
+    List<Map<String, Integer>> selectpurchaseProjectCompleteNumberYear(PmDemandReqVo pmDemandReqVo);
+
+    /**
+     * 已完成项目数量统计 -- 季度
+     * @param pmDemandReqVo
+     * @return
+     */
+    List<Map<String, Integer>> selectpurchaseProjectCompleteNumberQuarter(PmDemandReqVo pmDemandReqVo);
+
+    /**
+     * 已完成项目数量统计 -- 月份
+     * @param pmDemandReqVo
+     * @return
+     */
+    List<Map<String, Integer>> selectpurchaseProjectCompleteNumberMonth(PmDemandReqVo pmDemandReqVo);
 }

+ 7 - 0
purchase-system/src/main/java/com/ozs/pm/service/IPmDemandService.java

@@ -309,4 +309,11 @@ public interface IPmDemandService extends IService<PmDemand> {
      * @return
      */
     Map<String, Integer> purchaseProjectExecute(PmDemandReqVo pmDemandReqVo);
+
+    /**
+     * 已完成项目数量统计
+     * @param pmDemandReqVo
+     * @return
+     */
+    List<Map<String, Integer>> purchaseProjectCompleteNumber(PmDemandReqVo pmDemandReqVo);
 }

Різницю між файлами не показано, бо вона завелика
+ 493 - 420
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java


+ 36 - 0
purchase-system/src/main/resources/mapper/pm/PmDemandMapper.xml

@@ -202,4 +202,40 @@
         from pm_demand
         where project_status in (4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
     </select>
+
+    <select id="selectMinYear" resultType="java.lang.Integer">
+        select min(year (plan_demand_sub_time))
+        from pm_demand
+    </select>
+
+    <select id="selectpurchaseProjectCompleteNumberYear" parameterType="com.ozs.pm.doman.vo.requestVo.PmDemandReqVo"
+            resultType="java.util.Map">
+        select ifnull(sum(a.evaluation), 0) evaluation, year (a.plan_demand_sub_time) yy, ifnull(sum(b.contract_amount), 0) contractAmount
+        from (
+            select evaluation, plan_demand_sub_time, demand_id from pm_demand where project_status = '17'
+        ) a left join (
+            select contract_amount, demand_id from pm_contract_info
+        ) b on a.demand_id = b.demand_id
+        group by year (a.plan_demand_sub_time)
+    </select>
+
+    <select id="selectpurchaseProjectCompleteNumberQuarter" parameterType="com.ozs.pm.doman.vo.requestVo.PmDemandReqVo"
+            resultType="java.util.Map">
+        select ifnull(sum(a.evaluation), 0) evaluation, quarter(a.plan_demand_sub_time) yy, ifnull(sum(b.contract_amount), 0) contractAmount from (
+            select evaluation, plan_demand_sub_time, demand_id from pm_demand where project_status = '17' and year (plan_demand_sub_time) = year(NOW())
+        ) a left join (
+            select contract_amount, demand_id from pm_contract_info
+        ) b on a.demand_id = b.demand_id
+        group by concat(Year (a.plan_demand_sub_time), quarter(a.plan_demand_sub_time))
+    </select>
+
+    <select id="selectpurchaseProjectCompleteNumberMonth" parameterType="com.ozs.pm.doman.vo.requestVo.PmDemandReqVo"
+            resultType="java.util.Map">
+        select ifnull(sum(a.evaluation), 0) evaluation, date_format(plan_demand_sub_time,'%m') yy, ifnull(sum(b.contract_amount), 0) contractAmount from (
+            select evaluation, plan_demand_sub_time, demand_id from pm_demand where project_status = '17' and year(plan_demand_sub_time) = year(NOW())
+        ) a left join (
+            select contract_amount, demand_id from pm_contract_info
+        ) b on a.demand_id = b.demand_id
+        group by date_format(a.plan_demand_sub_time,'%y%m')
+    </select>
 </mapper>