Browse Source

运营模块公司分析

guq 7 years ago
parent
commit
ac49b75744

+ 11 - 3
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/controller/DataController.java

@@ -3,14 +3,13 @@ package com.usoftchina.saas.operation.controller;
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
-import com.usoftchina.saas.operation.dto.AccountDTO;
-import com.usoftchina.saas.operation.dto.CompanyDTO;
-import com.usoftchina.saas.operation.dto.LoginDTO;
+import com.usoftchina.saas.operation.dto.*;
 import com.usoftchina.saas.operation.service.DataService;
 import com.usoftchina.saas.page.PageDefault;
 import com.usoftchina.saas.page.PageRequest;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -42,5 +41,14 @@ public class DataController {
         return Result.success(dataService.getLogin(page, req));
     }
 
+    @GetMapping("/getConpanyAnalyze")
+    public Result<PageInfo<CompanyAnalyzeDTO>> getConpanyAnalyze(@PageDefault(size = 10) PageRequest page, ListReqDTO req) {
+        return Result.success(dataService.getConpanyAnalyze(page, req));
+    }
+
+    @GetMapping("/companyAnalyzeRead/{id}")
+    public Result<CompanyAnalyzeFormDTO> companyAnalyzeRead(@PathVariable("id") Long id) {
+        return Result.success(dataService.companyAnalyzeRead(id));
+    }
 
 }

+ 108 - 0
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/dto/CompanyAnalyzeDTO.java

@@ -0,0 +1,108 @@
+package com.usoftchina.saas.operation.dto;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class CompanyAnalyzeDTO implements Serializable{
+    private Long ca_id;
+
+    private Long ca_companyid;
+
+    private String ca_company;
+
+    private String ca_address;
+
+    private String ca_admin;
+
+    public Long getCa_id() {
+        return ca_id;
+    }
+
+    public void setCa_id(Long ca_id) {
+        this.ca_id = ca_id;
+    }
+
+    public Long getCa_companyid() {
+        return ca_companyid;
+    }
+
+    public void setCa_companyid(Long ca_companyid) {
+        this.ca_companyid = ca_companyid;
+    }
+
+    public Long getCa_creatorid() {
+        return ca_creatorid;
+    }
+
+    public void setCa_creatorid(Long ca_creatorid) {
+        this.ca_creatorid = ca_creatorid;
+    }
+
+    private Long ca_creatorid;
+
+    private Date ca_createtime;
+
+    private Date ca_newestlogtime;
+
+    private String ca_phase;
+
+    private String ca_status;
+
+
+
+    public String getCa_company() {
+        return ca_company;
+    }
+
+    public void setCa_company(String ca_company) {
+        this.ca_company = ca_company == null ? null : ca_company.trim();
+    }
+
+    public String getCa_address() {
+        return ca_address;
+    }
+
+    public void setCa_address(String ca_address) {
+        this.ca_address = ca_address == null ? null : ca_address.trim();
+    }
+
+    public String getCa_admin() {
+        return ca_admin;
+    }
+
+    public void setCa_admin(String ca_admin) {
+        this.ca_admin = ca_admin == null ? null : ca_admin.trim();
+    }
+
+    public Date getCa_createtime() {
+        return ca_createtime;
+    }
+
+    public void setCa_createtime(Date ca_createtime) {
+        this.ca_createtime = ca_createtime;
+    }
+
+    public Date getCa_newestlogtime() {
+        return ca_newestlogtime;
+    }
+
+    public void setCa_newestlogtime(Date ca_newestlogtime) {
+        this.ca_newestlogtime = ca_newestlogtime;
+    }
+
+    public String getCa_phase() {
+        return ca_phase;
+    }
+
+    public void setCa_phase(String ca_phase) {
+        this.ca_phase = ca_phase == null ? null : ca_phase.trim();
+    }
+
+    public String getCa_status() {
+        return ca_status;
+    }
+
+    public void setCa_status(String ca_status) {
+        this.ca_status = ca_status == null ? null : ca_status.trim();
+    }
+}

+ 30 - 0
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/dto/CompanyAnalyzeFormDTO.java

@@ -0,0 +1,30 @@
+package com.usoftchina.saas.operation.dto;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author: guq
+ * @create: 2019-01-07 15:36
+ **/
+public class CompanyAnalyzeFormDTO implements Serializable{
+
+    private CompanyAnalyzeDTO main;
+    private List<CompanyAnalyzedetailDTO> items;
+
+    public CompanyAnalyzeDTO getMain() {
+        return main;
+    }
+
+    public void setMain(CompanyAnalyzeDTO main) {
+        this.main = main;
+    }
+
+    public List<CompanyAnalyzedetailDTO> getItems() {
+        return items;
+    }
+
+    public void setItems(List<CompanyAnalyzedetailDTO> items) {
+        this.items = items;
+    }
+}

+ 115 - 0
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/dto/CompanyAnalyzedetailDTO.java

@@ -0,0 +1,115 @@
+package com.usoftchina.saas.operation.dto;
+
+import java.io.Serializable;
+
+public class CompanyAnalyzedetailDTO implements Serializable{
+    private Long cd_id;
+
+    private Long cd_companyid;
+
+    private Integer cd_accountnum;
+
+    private Integer cd_productnum;
+
+    private Integer cd_customernum;
+
+    private Integer cd_vendornum;
+
+    private Integer cd_salenum;
+
+    private Integer cd_purchasenum;
+
+    private Integer cd_prodionum;
+
+    private Integer cd_paynum;
+
+    private Integer cd_receivenum;
+
+    public Long getCd_id() {
+        return cd_id;
+    }
+
+    public void setCd_id(Long cd_id) {
+        this.cd_id = cd_id;
+    }
+
+    public Long getCd_companyid() {
+        return cd_companyid;
+    }
+
+    public void setCd_companyid(Long cd_companyid) {
+        this.cd_companyid = cd_companyid;
+    }
+
+    public Integer getCd_accountnum() {
+        return cd_accountnum;
+    }
+
+    public void setCd_accountnum(Integer cd_accountnum) {
+        this.cd_accountnum = cd_accountnum;
+    }
+
+    public Integer getCd_productnum() {
+        return cd_productnum;
+    }
+
+    public void setCd_productnum(Integer cd_productnum) {
+        this.cd_productnum = cd_productnum;
+    }
+
+    public Integer getCd_customernum() {
+        return cd_customernum;
+    }
+
+    public void setCd_customernum(Integer cd_customernum) {
+        this.cd_customernum = cd_customernum;
+    }
+
+    public Integer getCd_vendornum() {
+        return cd_vendornum;
+    }
+
+    public void setCd_vendornum(Integer cd_vendornum) {
+        this.cd_vendornum = cd_vendornum;
+    }
+
+    public Integer getCd_salenum() {
+        return cd_salenum;
+    }
+
+    public void setCd_salenum(Integer cd_salenum) {
+        this.cd_salenum = cd_salenum;
+    }
+
+    public Integer getCd_purchasenum() {
+        return cd_purchasenum;
+    }
+
+    public void setCd_purchasenum(Integer cd_purchasenum) {
+        this.cd_purchasenum = cd_purchasenum;
+    }
+
+    public Integer getCd_prodionum() {
+        return cd_prodionum;
+    }
+
+    public void setCd_prodionum(Integer cd_prodionum) {
+        this.cd_prodionum = cd_prodionum;
+    }
+
+    public Integer getCd_paynum() {
+        return cd_paynum;
+    }
+
+    public void setCd_paynum(Integer cd_paynum) {
+        this.cd_paynum = cd_paynum;
+    }
+
+    public Integer getCd_receivenum() {
+        return cd_receivenum;
+    }
+
+    public void setCd_receivenum(Integer cd_receivenum) {
+        this.cd_receivenum = cd_receivenum;
+    }
+}

+ 5 - 0
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/mapper/AccountMapper.java

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.operation.mapper;
 
 import com.usoftchina.saas.operation.dto.AccountDTO;
+import com.usoftchina.saas.operation.dto.CompanyAnalyzeDTO;
 import com.usoftchina.saas.operation.dto.LoginDTO;
 
 import java.util.List;
@@ -10,4 +11,8 @@ public interface AccountMapper {
     List<AccountDTO> findAccountByCondition(String con);
 
     List<LoginDTO> getLogin(String con);
+
+    List<CompanyAnalyzeDTO> getConpanyAnalyze(String con);
+
+    void analyzeCompany();
 }

+ 9 - 0
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/mapper/CompanyMapper.java

@@ -1,8 +1,11 @@
 package com.usoftchina.saas.operation.mapper;
 
+import com.usoftchina.saas.operation.dto.CompanyAnalyzeDTO;
+import com.usoftchina.saas.operation.dto.CompanyAnalyzedetailDTO;
 import com.usoftchina.saas.operation.dto.CompanyDTO;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author: guq
@@ -11,4 +14,10 @@ import java.util.List;
 public interface CompanyMapper {
 
     List<CompanyDTO> findCompanyByCondition(String con);
+
+    CompanyAnalyzeDTO selectCompanyAnalyze(Long id);
+
+    List<CompanyAnalyzedetailDTO> selectCompanyAnalyzeDetail(Long id);
+
+    void analyzeDetail(Map<String, Object> map);
 }

+ 5 - 3
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/service/DataService.java

@@ -2,9 +2,7 @@ package com.usoftchina.saas.operation.service;
 
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
-import com.usoftchina.saas.operation.dto.AccountDTO;
-import com.usoftchina.saas.operation.dto.CompanyDTO;
-import com.usoftchina.saas.operation.dto.LoginDTO;
+import com.usoftchina.saas.operation.dto.*;
 import com.usoftchina.saas.page.PageRequest; /**
  * @author: guq
  * @create: 2019-01-04 15:27
@@ -16,4 +14,8 @@ public interface DataService {
     PageInfo<AccountDTO> getAccount(PageRequest page, ListReqDTO req);
 
     PageInfo<LoginDTO> getLogin(PageRequest page, ListReqDTO req);
+
+    PageInfo<CompanyAnalyzeDTO> getConpanyAnalyze(PageRequest page, ListReqDTO req);
+
+    CompanyAnalyzeFormDTO companyAnalyzeRead(Long id);
 }

+ 41 - 3
applications/operation/operation-server/src/main/java/com/usoftchina/saas/operation/service/impl/DataServiceImpl.java

@@ -3,17 +3,18 @@ package com.usoftchina.saas.operation.service.impl;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
-import com.usoftchina.saas.operation.dto.AccountDTO;
-import com.usoftchina.saas.operation.dto.CompanyDTO;
-import com.usoftchina.saas.operation.dto.LoginDTO;
+import com.usoftchina.saas.operation.dto.*;
 import com.usoftchina.saas.operation.mapper.AccountMapper;
 import com.usoftchina.saas.operation.mapper.CompanyMapper;
 import com.usoftchina.saas.operation.service.DataService;
 import com.usoftchina.saas.page.PageRequest;
+import com.usoftchina.saas.utils.BeanMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author: guq
@@ -68,4 +69,41 @@ public class DataServiceImpl implements DataService{
         PageInfo<LoginDTO> pageInfo = new PageInfo<LoginDTO>(info);
         return pageInfo;
     }
+
+    @Override
+    public PageInfo<CompanyAnalyzeDTO> getConpanyAnalyze(PageRequest page, ListReqDTO req) {
+        //调用过程产生数据
+        if (page.getNumber() <= 1) {
+            accountMapper.analyzeCompany();
+        }
+        PageHelper.startPage(page.getNumber(), page.getSize());
+        //查询数据
+        String con = req.getFinalCondition();
+        if (null == con) {
+            con = "1=1";
+        }
+        List<CompanyAnalyzeDTO> info = accountMapper.getConpanyAnalyze(con);
+        //取分页信息
+        PageInfo<CompanyAnalyzeDTO> pageInfo = new PageInfo<CompanyAnalyzeDTO>(info);
+        return pageInfo;
+    }
+
+    @Override
+    public CompanyAnalyzeFormDTO companyAnalyzeRead(Long id) {
+        if (null == id || "0".equals(id)) {
+            return null;
+        }
+        //调用过程 生成明细数据
+        Map<String, Object> map = new HashMap<>();
+        map.put("companyId", id);
+        companyMapper.analyzeDetail(map);
+        CompanyAnalyzeFormDTO formDTO = new CompanyAnalyzeFormDTO();
+        //查询主表信息
+        CompanyAnalyzeDTO main = companyMapper.selectCompanyAnalyze(id);
+        //查询从表
+        List<CompanyAnalyzedetailDTO> items = companyMapper.selectCompanyAnalyzeDetail(id);
+        formDTO.setMain(main);
+        formDTO.setItems(items);
+        return  formDTO;
+    }
 }

+ 1 - 1
applications/operation/operation-server/src/main/resources/application.yml

@@ -24,7 +24,7 @@ spring:
       probability: 1.0
   datasource:
     driver-class-name: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://10.1.81.79:3306/saas_auth?characterEncoding=utf-8&useSSL=false
+    url: jdbc:mysql://10.1.81.79:3306/saas_manage?characterEncoding=utf-8&useSSL=false
     username: root
     password: select111***
     hikari:

+ 1 - 1
applications/operation/operation-server/src/main/resources/config/application-docker-prod.yml

@@ -13,7 +13,7 @@ spring:
     username: saas
     password: select123***
   datasource:
-    url: jdbc:mysql://10.10.100.18:3306/saas_auth?characterEncoding=utf-8&useSSL=false
+    url: jdbc:mysql://10.10.100.18:3306/saas_manage?characterEncoding=utf-8&useSSL=false
     username: saas
     password: select111***
   redis:

+ 21 - 0
applications/operation/operation-server/src/main/resources/mapper/AccoutMapper.xml

@@ -24,6 +24,19 @@
         <result column="mobile" jdbcType="VARCHAR" property="mobile"/>
     </resultMap>
 
+    <resultMap id="companymap" type="com.usoftchina.saas.operation.dto.CompanyAnalyzeDTO">
+        <id column="ca_id" jdbcType="INTEGER" property="ca_id"/>
+        <result column="ca_companyid" jdbcType="INTEGER" property="ca_companyid"/>
+        <result column="ca_company" jdbcType="VARCHAR" property="ca_company"/>
+        <result column="ca_address" jdbcType="VARCHAR" property="ca_address"/>
+        <result column="ca_admin" jdbcType="VARCHAR" property="ca_admin"/>
+        <result column="ca_creatorid" jdbcType="INTEGER" property="ca_creatorid"/>
+        <result column="ca_createtime" property="ca_createtime" jdbcType="TIMESTAMP" />
+        <result column="ca_newestlogtime" property="ca_newestlogtime" jdbcType="TIMESTAMP" />
+        <result column="ca_phase" property="ca_phase" jdbcType="VARCHAR" />
+        <result column="ca_status" property="ca_status" jdbcType="VARCHAR" />
+    </resultMap>
+
     <select id="findAccountByCondition" parameterType="string" resultMap="BaseResultMap">
         select * from saas_account.ac_account  where #{con}
     </select>
@@ -31,4 +44,12 @@
         SELECT * FROM (select account_id  ,count(account_id) login_num,max(ac_account.realname) username,max(login_time) lastesttime, max(ac_account.mobile) mobile from au_authorize_log left join saas_account.ac_account on account_id= ac_account.id  where login_time >  date_sub(now(),interval 3 MONTH) GROUP BY account_id order by lastesttime desc
         )login_info where #{con}
     </select>
+
+    <select id="getConpanyAnalyze" parameterType="string" resultMap="companymap">
+        select  *  from company_analyze  where #{con} order by ca_createtime desc
+    </select>
+
+    <select id="analyzeCompany"  statementType="CALLABLE">
+        CALL sp_company_analyze()
+    </select>
 </mapper>

+ 45 - 0
applications/operation/operation-server/src/main/resources/mapper/CompanyMapper.xml

@@ -17,4 +17,49 @@
          select name,business_code,address,tel,fax,realname,mobile,ac_company.create_time,ac_company.uu from saas_account.ac_company
         left join saas_account.ac_account on ac_account.id = ac_company.creator_id where #{con}
     </select>
+
+
+
+    <resultMap id="companymap" type="com.usoftchina.saas.operation.dto.CompanyAnalyzeDTO">
+        <id column="ca_id" jdbcType="INTEGER" property="ca_id"/>
+        <result column="ca_companyid" jdbcType="INTEGER" property="ca_companyid"/>
+        <result column="ca_company" jdbcType="VARCHAR" property="ca_company"/>
+        <result column="ca_address" jdbcType="VARCHAR" property="ca_address"/>
+        <result column="ca_admin" jdbcType="VARCHAR" property="ca_admin"/>
+        <result column="ca_creatorid" jdbcType="INTEGER" property="ca_creatorid"/>
+        <result column="ca_createtime" property="ca_createtime" jdbcType="TIMESTAMP" />
+        <result column="ca_newestlogtime" property="ca_newestlogtime" jdbcType="TIMESTAMP" />
+        <result column="ca_phase" property="ca_phase" jdbcType="VARCHAR" />
+        <result column="ca_status" property="ca_status" jdbcType="VARCHAR" />
+    </resultMap>
+
+    <resultMap id="detailMap" type="com.usoftchina.saas.operation.dto.CompanyAnalyzedetailDTO" >
+        <result column="cd_id" property="cd_id" jdbcType="INTEGER" />
+        <result column="cd_companyid" property="cd_companyid" jdbcType="INTEGER" />
+        <result column="cd_accountnum" property="cd_accountnum" jdbcType="INTEGER" />
+        <result column="cd_productnum" property="cd_productnum" jdbcType="INTEGER" />
+        <result column="cd_customernum" property="cd_customernum" jdbcType="INTEGER" />
+        <result column="cd_vendornum" property="cd_vendornum" jdbcType="INTEGER" />
+        <result column="cd_salenum" property="cd_salenum" jdbcType="INTEGER" />
+        <result column="cd_purchasenum" property="cd_purchasenum" jdbcType="INTEGER" />
+        <result column="cd_prodionum" property="cd_prodionum" jdbcType="INTEGER" />
+        <result column="cd_paynum" property="cd_paynum" jdbcType="INTEGER" />
+        <result column="cd_receivenum" property="cd_receivenum" jdbcType="INTEGER" />
+    </resultMap>
+
+    <select id="selectCompanyAnalyze" parameterType="long" resultMap="companymap">
+        select * from company_analyze where ca_companyid=#{id}
+    </select>
+
+    <select id="selectCompanyAnalyzeDetail" parameterType="long" resultMap="detailMap">
+        select * from company_analyzedetail where cd_companyid=#{id}
+    </select>
+
+    <select id="analyzeDetail" parameterMap="postParamMap" statementType="CALLABLE">
+        CALL sp_company_analyzedetail(?)
+    </select>
+
+    <parameterMap id="postParamMap" type="java.util.Map">
+        <parameter property="companyId" jdbcType="INTEGER" mode="IN" />
+    </parameterMap>
 </mapper>