Browse Source

院内外分包合同额

lamphua 7 months ago
parent
commit
1288c96b40

+ 33
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcSubContractController.java View File

12
 import com.alibaba.fastjson2.JSONObject;
12
 import com.alibaba.fastjson2.JSONObject;
13
 import com.ruoyi.common.utils.SnowFlake;
13
 import com.ruoyi.common.utils.SnowFlake;
14
 import com.ruoyi.oa.domain.CmcSubContract;
14
 import com.ruoyi.oa.domain.CmcSubContract;
15
+import com.ruoyi.oa.domain.CmcSubContract;
15
 import com.ruoyi.oa.domain.CmcPartner;
16
 import com.ruoyi.oa.domain.CmcPartner;
16
 import com.ruoyi.oa.service.ICmcPartnerService;
17
 import com.ruoyi.oa.service.ICmcPartnerService;
17
 import org.springframework.beans.factory.annotation.Autowired;
18
 import org.springframework.beans.factory.annotation.Autowired;
85
         JSONObject jsonObject = new JSONObject();
86
         JSONObject jsonObject = new JSONObject();
86
         JSONArray yearArray = new JSONArray();
87
         JSONArray yearArray = new JSONArray();
87
         JSONObject yearObject = new JSONObject();
88
         JSONObject yearObject = new JSONObject();
89
+        JSONArray sourceArray = new JSONArray();
90
+        JSONObject sourceObject = new JSONObject();
88
         JSONArray amountArray = new JSONArray();
91
         JSONArray amountArray = new JSONArray();
89
         JSONObject amountObject = new JSONObject();
92
         JSONObject amountObject = new JSONObject();
93
+        JSONArray cwAmountArray = new JSONArray();
94
+        JSONObject cwAmountObject = new JSONObject();
90
         //每年合同数量及金额
95
         //每年合同数量及金额
91
         if (cmcSubContract.getSignDate() == null) {
96
         if (cmcSubContract.getSignDate() == null) {
92
             for (int i = 2019; i <= Calendar.getInstance().get(Calendar.YEAR); i++) {
97
             for (int i = 2019; i <= Calendar.getInstance().get(Calendar.YEAR); i++) {
99
                 }
104
                 }
100
                 amountObject.put(String.valueOf(i), amount);
105
                 amountObject.put(String.valueOf(i), amount);
101
             }
106
             }
107
+            getProjectSourceStatistic(cmcSubContract, sourceObject, cwAmountObject);
102
         }
108
         }
103
         else {
109
         else {
104
             //输入年份合同数量及金额
110
             //输入年份合同数量及金额
108
                 amount = amount.add(subContract.getSubAmount());
114
                 amount = amount.add(subContract.getSubAmount());
109
             }
115
             }
110
             amountObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), amount);
116
             amountObject.put(new SimpleDateFormat("yyyy").format(cmcSubContract.getSignDate()), amount);
111
-
117
+            getProjectSourceStatistic(cmcSubContract, sourceObject, cwAmountObject);
112
         }
118
         }
113
         yearArray.add(yearObject);
119
         yearArray.add(yearObject);
120
+        sourceArray.add(sourceObject);
114
         amountArray.add(amountObject);
121
         amountArray.add(amountObject);
122
+        cwAmountArray.add(cwAmountObject);
115
         jsonObject.put("year", yearArray);
123
         jsonObject.put("year", yearArray);
124
+        jsonObject.put("source", sourceArray);
116
         jsonObject.put("amount", amountArray);
125
         jsonObject.put("amount", amountArray);
126
+        jsonObject.put("cwAmount", cwAmountArray);
117
         return success(jsonObject);
127
         return success(jsonObject);
118
     }
128
     }
119
 
129
 
152
     {
162
     {
153
         return success(cmcSubContractService.deleteCmcSubContractBySubContractIds(subContractIds));
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 View File

30
     @Excel(name = "分包合同金额")
30
     @Excel(name = "分包合同金额")
31
     private BigDecimal subAmount;
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
     /** 承接单位id */
40
     /** 承接单位id */
34
     @Excel(name = "承接单位")
41
     @Excel(name = "承接单位")
35
     private String partnerName;
42
     private String partnerName;
110
 
117
 
111
     private CmcPartner partner;
118
     private CmcPartner partner;
112
 
119
 
120
+    private CmcProject project;
121
+
113
     public void setSubContractId(String subContractId)
122
     public void setSubContractId(String subContractId)
114
     {
123
     {
115
         this.subContractId = subContractId;
124
         this.subContractId = subContractId;
128
     {
137
     {
129
         return subContractName;
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
     public void setSubAmount(BigDecimal subAmount)
160
     public void setSubAmount(BigDecimal subAmount)
132
     {
161
     {
133
         this.subAmount = subAmount;
162
         this.subAmount = subAmount;

+ 3
- 2
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcContractMapper.xml View File

68
     </resultMap>
68
     </resultMap>
69
 
69
 
70
     <sql id="selectCmcContractVo">
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
                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,
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
                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
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
         left join sys_user as u on u.user_id = c.drafter
75
         left join sys_user as u on u.user_id = c.drafter
101
             <if test="commentType != null  and commentType != ''"> and c.comment_type = #{commentType}</if>
101
             <if test="commentType != null  and commentType != ''"> and c.comment_type = #{commentType}</if>
102
             <if test="projectSource != null  and projectSource != ''"> and p.project_source = #{projectSource}</if>
102
             <if test="projectSource != null  and projectSource != ''"> and p.project_source = #{projectSource}</if>
103
         </where>
103
         </where>
104
+        group by c.contract_id
104
         order by c.draft_time desc
105
         order by c.draft_time desc
105
     </select>
106
     </select>
106
 
107
 

+ 15
- 4
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcSubContractMapper.xml View File

25
         <result property="gmUserId"    column="gm_user_id"    />
25
         <result property="gmUserId"    column="gm_user_id"    />
26
         <result property="gmTime"    column="gm_time"    />
26
         <result property="gmTime"    column="gm_time"    />
27
         <result property="gmComment"    column="gm_comment"    />
27
         <result property="gmComment"    column="gm_comment"    />
28
+        <result property="projectSource"    column="project_source"    />
28
         <association property="draftUser"    javaType="SysUser"         resultMap="DraftUserResult" />
29
         <association property="draftUser"    javaType="SysUser"         resultMap="DraftUserResult" />
29
         <association property="managerUser"    javaType="SysUser"         resultMap="ManagerUserResult" />
30
         <association property="managerUser"    javaType="SysUser"         resultMap="ManagerUserResult" />
30
         <association property="gmUser"    javaType="SysUser"         resultMap="GmUserResult" />
31
         <association property="gmUser"    javaType="SysUser"         resultMap="GmUserResult" />
31
         <association property="partner"    javaType="CmcPartner"         resultMap="CmcPartnerResult" />
32
         <association property="partner"    javaType="CmcPartner"         resultMap="CmcPartnerResult" />
33
+        <association property="project"    javaType="CmcProject"         resultMap="CmcProjectResult" />
32
     </resultMap>
34
     </resultMap>
33
 
35
 
34
     <resultMap type="SysUser" id="DraftUserResult">
36
     <resultMap type="SysUser" id="DraftUserResult">
51
         <result property="partnerName"    column="partner_name"    />
53
         <result property="partnerName"    column="partner_name"    />
52
     </resultMap>
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
     <sql id="selectCmcSubContractVo">
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
         left join sys_user as u on u.user_id = sc.drafter
66
         left join sys_user as u on u.user_id = sc.drafter
59
         left join sys_user as u1 on u1.user_id = sc.manager_user_id
67
         left join sys_user as u1 on u1.user_id = sc.manager_user_id
60
         left join sys_user as u2 on u2.user_id = sc.gm_user_id
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
     </sql>
72
     </sql>
63
 
73
 
64
     <select id="selectCmcSubContractList" parameterType="CmcSubContract" resultMap="CmcSubContractResult">
74
     <select id="selectCmcSubContractList" parameterType="CmcSubContract" resultMap="CmcSubContractResult">
77
             <if test="signScan != null  and signScan != ''"> and sc.sign_scan = #{signScan}</if>
87
             <if test="signScan != null  and signScan != ''"> and sc.sign_scan = #{signScan}</if>
78
             <if test="commentType != null  and commentType != ''"> and sc.comment_type = #{commentType}</if>
88
             <if test="commentType != null  and commentType != ''"> and sc.comment_type = #{commentType}</if>
79
         </where>
89
         </where>
90
+        group by sc.sub_contract_id
80
         order by sc.draft_time desc
91
         order by sc.draft_time desc
81
     </select>
92
     </select>
82
     
93
     

Loading…
Cancel
Save