| | |
| | | package com.zy.crm.common.web; |
| | | |
| | | import com.core.common.Cools; |
| | | import com.core.common.R; |
| | | import com.zy.crm.common.service.DbSqlServer; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.core.io.ClassPathResource; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * Created by vincent on 2023/7/25 |
| | | */ |
| | | @RestController |
| | | @SuppressWarnings("all") |
| | | public class DatavController { |
| | | |
| | | @GetMapping("/1test") |
| | | public R test1() { |
| | | /** |
| | | * select |
| | | * (case when A.org='1002208180000267' then '嘉善' |
| | | * when A.org='1002208180000506' then '广德' |
| | | * else '' end) as 组织, |
| | | * A.DocNo as 单号,A3.Code as 项目号, |
| | | * (case when A.DocState='0' then '开立' |
| | | * when A.DocState='1' then '已审核' |
| | | * when A.DocState='2' then '开工' |
| | | * when A.DocState='3' then '完工' |
| | | * when A.DocState='4' then '核准中' |
| | | * ELSE'' end) as 状态, |
| | | * A.StartDate as 计划开工日, |
| | | * A.CompleteDate as 计划完工日,A2.Code as 料号,A2.name as 品名,A2.SPECS as 规格 , a.ProductQty as 生产数量,TotalCompleteQty as 完工数量 |
| | | * from MO_MO as A |
| | | * left join CBO_ItemMaster as A2 on (A.ItemMaster = A2.ID) |
| | | * left join CBO_Project as A3 on (A.Project = A3.ID) |
| | | * where |
| | | * A.MODocType != '1002306121624435' --过滤内部研发项目 |
| | | * and A.IsWBSTask!=1 --过滤现场施工任务 |
| | | * and A.DocState != '3' --过滤完工状态的订单 |
| | | * ORDER BY A.CompleteDate |
| | | */ |
| | | return R.ok(); |
| | | private String 生产订单; |
| | | private String 销售订单; |
| | | |
| | | { |
| | | try { |
| | | this.生产订单 = read(new ClassPathResource("datav/sql/生产订单.sql").getInputStream()); |
| | | this.销售订单 = read(new ClassPathResource("datav/sql/销售订单.sql").getInputStream()); |
| | | } catch (IOException ignore) {} |
| | | } |
| | | |
| | | @Autowired |
| | | private DbSqlServer dbSqlServer; |
| | | |
| | | @GetMapping("/data1") |
| | | public R data1() { |
| | | List<Map<String, Object>> res = dbSqlServer.select(this.生产订单); |
| | | if (Cools.isEmpty(res)) { |
| | | return R.ok(); |
| | | } |
| | | int limit = 30; |
| | | if (res.size() > limit) { |
| | | res = res.subList(0, limit); |
| | | } |
| | | return R.ok().add(res); |
| | | } |
| | | |
| | | @GetMapping("/data3") |
| | | public R data3() { |
| | | List<Map<String, Object>> res = dbSqlServer.select(this.销售订单); |
| | | if (Cools.isEmpty(res)) { |
| | | return R.ok(); |
| | | } |
| | | return R.ok().add(res); |
| | | } |
| | | |
| | | private static String read(InputStream inputStream) { |
| | | StringBuilder stringBuilder = new StringBuilder(); |
| | | byte[] buffer = new byte[1024]; |
| | | try { |
| | | int bytesRead; |
| | | while ((bytesRead = inputStream.read(buffer)) != -1) { |
| | | stringBuilder.append(new String(buffer, 0, bytesRead)); |
| | | } |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } finally { |
| | | try { |
| | | inputStream.close(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | return stringBuilder.toString(); |
| | | } |
| | | |
| | | } |