Selaa lähdekoodia

院内外分包合同额

lamphua 7 kuukautta sitten
vanhempi
commit
1288c96b40

+ 33
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcSubContractController.java Näytä tiedosto

@@ -12,6 +12,7 @@ import com.alibaba.fastjson2.JSONArray;
12 12
 import com.alibaba.fastjson2.JSONObject;
13 13
 import com.ruoyi.common.utils.SnowFlake;
14 14
 import com.ruoyi.oa.domain.CmcSubContract;
15
+import com.ruoyi.oa.domain.CmcSubContract;
15 16
 import com.ruoyi.oa.domain.CmcPartner;
16 17
 import com.ruoyi.oa.service.ICmcPartnerService;
17 18
 import org.springframework.beans.factory.annotation.Autowired;
@@ -85,8 +86,12 @@ public class CmcSubContractController extends BaseController
85 86
         JSONObject jsonObject = new JSONObject();
86 87
         JSONArray yearArray = new JSONArray();
87 88
         JSONObject yearObject = new JSONObject();
89
+        JSONArray sourceArray = new JSONArray();
90
+        JSONObject sourceObject = new JSONObject();
88 91
         JSONArray amountArray = new JSONArray();
89 92
         JSONObject amountObject = new JSONObject();
93
+        JSONArray cwAmountArray = new JSONArray();
94
+        JSONObject cwAmountObject = new JSONObject();
90 95
         //每年合同数量及金额
91 96
         if (cmcSubContract.getSignDate() == null) {
92 97
             for (int i = 2019; i <= Calendar.getInstance().get(Calendar.YEAR); i++) {
@@ -99,6 +104,7 @@ public class CmcSubContractController extends BaseController
99 104
                 }
100 105
                 amountObject.put(String.valueOf(i), amount);
101 106
             }
107
+            getProjectSourceStatistic(cmcSubContract, sourceObject, cwAmountObject);
102 108
         }
103 109
         else {
104 110
             //输入年份合同数量及金额
@@ -108,12 +114,16 @@ public class CmcSubContractController extends BaseController
108 114
                 amount = amount.add(subContract.getSubAmount());
109 115
             }
110 116
             amountObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), amount);
111
-
117
+            getProjectSourceStatistic(cmcSubContract, sourceObject, cwAmountObject);
112 118
         }
113 119
         yearArray.add(yearObject);
120
+        sourceArray.add(sourceObject);
114 121
         amountArray.add(amountObject);
122
+        cwAmountArray.add(cwAmountObject);
115 123
         jsonObject.put("year", yearArray);
124
+        jsonObject.put("source", sourceArray);
116 125
         jsonObject.put("amount", amountArray);
126
+        jsonObject.put("cwAmount", cwAmountArray);
117 127
         return success(jsonObject);
118 128
     }
119 129
 
@@ -152,4 +162,26 @@ public class CmcSubContractController extends BaseController
152 162
     {
153 163
         return success(cmcSubContractService.deleteCmcSubContractBySubContractIds(subContractIds));
154 164
     }
165
+
166
+    //院内外项目数量及金额
167
+    public void getProjectSourceStatistic(CmcSubContract cmcSubContract, JSONObject sourceObject, JSONObject cwAmountObject) {
168
+        cmcSubContract.setProjectSource("1");
169
+        List<CmcSubContract> sourceList = cmcSubContractService.selectCmcSubContractList(cmcSubContract);
170
+        BigDecimal cAmount = new BigDecimal(0);
171
+        BigDecimal wAmount = new BigDecimal(0);
172
+        for (CmcSubContract subContract : sourceList) {
173
+            wAmount = wAmount.add(subContract.getSubAmount());
174
+        }
175
+        sourceObject.put("院外", sourceList.size());
176
+        cwAmountObject.put("院外", wAmount);
177
+        cmcSubContract.setProjectSource("0");
178
+        sourceList = cmcSubContractService.selectCmcSubContractList(cmcSubContract);
179
+        for (CmcSubContract subContract : sourceList) {
180
+            cAmount = cAmount.add(subContract.getSubAmount());
181
+        }
182
+        sourceObject.put("院内", sourceList.size());
183
+        cwAmountObject.put("院内", cAmount);
184
+        cmcSubContract.setProjectSource(null);
185
+    }
186
+
155 187
 }

+ 29
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcSubContract.java Näytä tiedosto

@@ -30,6 +30,13 @@ public class CmcSubContract extends BaseEntity
30 30
     @Excel(name = "分包合同金额")
31 31
     private BigDecimal subAmount;
32 32
 
33
+    /** 项目id */
34
+    @Excel(name = "项目编号")
35
+    private String projectNumber;
36
+    @Excel(name = "项目名称")
37
+    private String projectName;
38
+    private String projectSource;
39
+
33 40
     /** 承接单位id */
34 41
     @Excel(name = "承接单位")
35 42
     private String partnerName;
@@ -110,6 +117,8 @@ public class CmcSubContract extends BaseEntity
110 117
 
111 118
     private CmcPartner partner;
112 119
 
120
+    private CmcProject project;
121
+
113 122
     public void setSubContractId(String subContractId)
114 123
     {
115 124
         this.subContractId = subContractId;
@@ -128,6 +137,26 @@ public class CmcSubContract extends BaseEntity
128 137
     {
129 138
         return subContractName;
130 139
     }
140
+    public void setProject(CmcProject project)
141
+    {
142
+        this.project = project;
143
+        this.projectNumber = project == null ? "" : project.getProjectNumber();
144
+        this.projectName = project == null ? "" : project.getProjectName();
145
+    }
146
+
147
+    public CmcProject getProject()
148
+    {
149
+        return project;
150
+    }
151
+    public void setProjectSource(String projectSource)
152
+    {
153
+        this.projectSource = projectSource;
154
+    }
155
+
156
+    public String getProjectSource()
157
+    {
158
+        return projectSource;
159
+    }
131 160
     public void setSubAmount(BigDecimal subAmount)
132 161
     {
133 162
         this.subAmount = subAmount;

+ 3
- 2
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcContractMapper.xml Näytä tiedosto

@@ -68,8 +68,8 @@
68 68
     </resultMap>
69 69
 
70 70
     <sql id="selectCmcContractVo">
71
-        select c.contract_id, c.contract_code, c.contract_name, c.contract_number, c.tender_id, t.project_name as t_project_name, p.project_number, p.project_name as project_name,
72
-               p.project_source, c.party_a_id, pa.party_a_name, t.project_name as project_name, t.a_person as a_person, t.a_phone as a_phone, t.agent as agent, t.agent_person as agent_person,
71
+        select distinct c.contract_id, c.contract_code, c.contract_name, c.contract_number, c.tender_id, t.project_name as t_project_name, p.project_number, p.project_name,
72
+               p.project_source, c.party_a_id, pa.party_a_name, t.project_name as t_project_name, t.a_person as a_person, t.a_phone as a_phone, t.agent as agent, t.agent_person as agent_person,
73 73
                t.agent_phone as agent_phone, c.amount, c.deposit, c.contract_document, c.drafter, u.nick_name as draft_nick_name, c.draft_time, c.remark, c.sign_date, c.sign_remark, c.sign_scan,
74 74
                c.comment_type, c.manager_comment, c.manager_user_id, u1.nick_name as manager_nick_name, c.manager_time, c.gm_user_id, u2.nick_name as gm_nick_name, c.gm_time, c.gm_comment from cmc_contract as c
75 75
         left join sys_user as u on u.user_id = c.drafter
@@ -101,6 +101,7 @@
101 101
             <if test="commentType != null  and commentType != ''"> and c.comment_type = #{commentType}</if>
102 102
             <if test="projectSource != null  and projectSource != ''"> and p.project_source = #{projectSource}</if>
103 103
         </where>
104
+        group by c.contract_id
104 105
         order by c.draft_time desc
105 106
     </select>
106 107
 

+ 15
- 4
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcSubContractMapper.xml Näytä tiedosto

@@ -25,10 +25,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
25 25
         <result property="gmUserId"    column="gm_user_id"    />
26 26
         <result property="gmTime"    column="gm_time"    />
27 27
         <result property="gmComment"    column="gm_comment"    />
28
+        <result property="projectSource"    column="project_source"    />
28 29
         <association property="draftUser"    javaType="SysUser"         resultMap="DraftUserResult" />
29 30
         <association property="managerUser"    javaType="SysUser"         resultMap="ManagerUserResult" />
30 31
         <association property="gmUser"    javaType="SysUser"         resultMap="GmUserResult" />
31 32
         <association property="partner"    javaType="CmcPartner"         resultMap="CmcPartnerResult" />
33
+        <association property="project"    javaType="CmcProject"         resultMap="CmcProjectResult" />
32 34
     </resultMap>
33 35
 
34 36
     <resultMap type="SysUser" id="DraftUserResult">
@@ -51,14 +53,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
51 53
         <result property="partnerName"    column="partner_name"    />
52 54
     </resultMap>
53 55
 
56
+    <resultMap type="CmcProject" id="CmcProjectResult">
57
+        <result property="projectId"    column="project_id"    />
58
+        <result property="projectNumber"    column="project_number"    />
59
+        <result property="projectName"    column="project_name"    />
60
+    </resultMap>
61
+
54 62
     <sql id="selectCmcSubContractVo">
55
-        select sc.sub_contract_id, sc.sub_contract_name, sc.sub_amount, sc.partner_id, p.partner_name, sc.contact_person, sc.telephone, sc.contract_document, sc.drafter, u.nick_name as draft_nick_name, sc.draft_time,
56
-               sc.remark, sc.sign_date, sc.sign_remark, sc.sign_scan, sc.comment_type, sc.manager_comment, sc.manager_user_id, u1.nick_name as manager_nick_name, sc.manager_time, sc.gm_user_id, u2.nick_name as gm_nick_name,
57
-               sc.gm_time, sc.gm_comment from cmc_sub_contract as sc
63
+        select distinct sc.sub_contract_id, sc.sub_contract_name, sc.sub_amount, sc.partner_id, pa.partner_name, sc.contact_person, sc.telephone, sc.contract_document, sc.drafter,
64
+               p.project_number, p.project_name, p.project_source,u.nick_name as draft_nick_name, sc.draft_time, sc.remark, sc.sign_date, sc.sign_remark, sc.sign_scan, sc.comment_type, sc.manager_comment,
65
+               sc.manager_user_id, u1.nick_name as manager_nick_name, sc.manager_time, sc.gm_user_id, u2.nick_name as gm_nick_name, sc.gm_time, sc.gm_comment from cmc_sub_contract as sc
58 66
         left join sys_user as u on u.user_id = sc.drafter
59 67
         left join sys_user as u1 on u1.user_id = sc.manager_user_id
60 68
         left join sys_user as u2 on u2.user_id = sc.gm_user_id
61
-        left join cmc_partner as p on p.partner_id = sc.partner_id
69
+        left join cmc_partner as pa on pa.partner_id = sc.partner_id
70
+        left join cmc_project_sub_contract as psc on psc.sub_contract_id = sc.sub_contract_id
71
+        left join cmc_project as p on psc.project_id = p.project_id
62 72
     </sql>
63 73
 
64 74
     <select id="selectCmcSubContractList" parameterType="CmcSubContract" resultMap="CmcSubContractResult">
@@ -77,6 +87,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
77 87
             <if test="signScan != null  and signScan != ''"> and sc.sign_scan = #{signScan}</if>
78 88
             <if test="commentType != null  and commentType != ''"> and sc.comment_type = #{commentType}</if>
79 89
         </where>
90
+        group by sc.sub_contract_id
80 91
         order by sc.draft_time desc
81 92
     </select>
82 93
     

Loading…
Peruuta
Tallenna