PurchaseAnalysisController.java 2.9 KB
package com.skua.modules.erp.controller;


import com.skua.core.api.vo.Result;
import com.skua.core.aspect.annotation.AutoLog;
import com.skua.core.context.SpringContextUtils;
import com.skua.core.query.QueryGenerator;
import com.skua.modules.erp.entity.MaterialIN;
import com.skua.modules.erp.vo.PurchaseAnalysisVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * 采购数据分析
 * @auther kangwei
 * @create 2025-02-19-14:07
 */
@Slf4j
@Api(tags="erp-药剂采购分析")
@RestController("purchaseAnalysisController")
@RequestMapping("/web/erp/purchaseAnalysis")
public class PurchaseAnalysisController {

    @AutoLog(value = "erp-药剂采购分析")
    @ApiOperation(value="erp--药剂采购分析", notes="erp--药剂采购分析")
    @GetMapping(value = "/analysis")
    public Result<PurchaseAnalysisVO> settlementList(String startDate,String endDate) {
        Result<PurchaseAnalysisVO> result = new Result<PurchaseAnalysisVO>();

        String drugStorage = getJdbcTemplate().queryForObject("select round(ifnull(sum(material_num),0),2)  from erp_material_in where audit_status = '3' and arrive_time >='"+startDate+"' and arrive_time <= '"+endDate+"'",String.class);
        String purchaseMoney = getJdbcTemplate().queryForObject("select   round(ifnull(sum(purchase_money),0),2) from erp_purchase_contract where  use_flag = 0 and  status = 3 and    project_time >='"+startDate+"' and project_time <= '"+endDate+"'",String.class);
        String distributMoney = getJdbcTemplate().queryForObject("select   round(ifnull(sum(distribut_money),0),2) from erp_distribut_contract where   status = 3 and   purchase_time >='"+startDate+"' and purchase_time <= '"+endDate+"' ",String.class);
        String supplierMoneyByJs = getJdbcTemplate().queryForObject("select round(ifnull(sum(t.total_price_tax),0),2)  from erp_settlement t  where t.settlement_type =  '0' and  t.status = '1' and settlement_time >='"+startDate+"' and settlement_time<='"+endDate+"' ",String.class);
        String waterDepartMoneyByJs = getJdbcTemplate().queryForObject("select round(ifnull(sum(t.total_price_tax),0),2)  from erp_settlement t  where t.settlement_type =  '1' and  t.status = '1'  and settlement_time >='"+startDate+"' and settlement_time<='"+endDate+"' ",String.class);

        PurchaseAnalysisVO purchaseAnalysisVO = new PurchaseAnalysisVO( drugStorage,  purchaseMoney,  distributMoney,  supplierMoneyByJs,  waterDepartMoneyByJs);
        result.setSuccess(true);
        result.setResult(purchaseAnalysisVO);
        return result;
    }
    private JdbcTemplate getJdbcTemplate(){
        JdbcTemplate jdbcTemplate = (JdbcTemplate) SpringContextUtils.getBean("master");
        return jdbcTemplate;
    }
}