From 6da445a8586eae3afffa38ad00aee95a5f7bfd24 Mon Sep 17 00:00:00 2001
From: OathK1per <zhangypg@gmail.com>
Date: Wed, 17 Aug 2022 21:37:43 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9C=88=E5=BA=A6=E7=BB=93?=
 =?UTF-8?q?=E7=AE=97=E9=A1=B5=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../backend/MonthlySettleController.java      |  3 +
 .../work/service/MonthlySettleService.java    | 12 ++--
 .../templates/admin/monthly_settle_info.ftl   | 14 ++---
 .../templates/admin/monthly_settle_list.ftl   | 55 +++++++++----------
 4 files changed, 43 insertions(+), 41 deletions(-)

diff --git a/src/main/java/cn/palmte/work/controller/backend/MonthlySettleController.java b/src/main/java/cn/palmte/work/controller/backend/MonthlySettleController.java
index 8e34b7e..bd0fbf3 100644
--- a/src/main/java/cn/palmte/work/controller/backend/MonthlySettleController.java
+++ b/src/main/java/cn/palmte/work/controller/backend/MonthlySettleController.java
@@ -69,6 +69,9 @@ public class MonthlySettleController extends BaseController {
     @RequestMapping("/infoByTime")
     public String infoByTime(@RequestParam String month, @RequestParam("projectName") String projectName, Map<String, Object> model) {
         MonthlySettle monthlySettle = monthlySettleRepository.findByMonthAndProjectName(month, projectName);
+        if (monthlySettle == null) {
+            monthlySettle = new MonthlySettle();
+        }
         model.put("monthlySettle", monthlySettle);
         model.put("Utils", FreeMarkerUtil.fromStaticPackage("cn.palmte.work.utils.Utils"));
         return "/admin/monthly_settle_info";
diff --git a/src/main/java/cn/palmte/work/service/MonthlySettleService.java b/src/main/java/cn/palmte/work/service/MonthlySettleService.java
index 91a3599..98a96ec 100644
--- a/src/main/java/cn/palmte/work/service/MonthlySettleService.java
+++ b/src/main/java/cn/palmte/work/service/MonthlySettleService.java
@@ -322,11 +322,11 @@ public class MonthlySettleService {
     }
 
     private QueryHelper getQueryHelper(Map<String, String> searchInfo) {
-        QueryHelper queryHelper = new QueryHelper("SELECT *","(select project_name as name, max(ms.month) as time from monthly_settle ms group by ms.project_name)","ms");
+        QueryHelper queryHelper = new QueryHelper("SELECT s.*, ms.*","(select project_name as name, max(ms.month) as time from monthly_settle ms group by ms.project_name)","ms");
         queryHelper.leftJoin("monthly_settle s", "ms.time = s.month and ms.name = s.project_name");
 
         queryHelper.addCondition(StrUtil.isNotEmpty(searchInfo.get("projectNo")),"s.project_no LIKE ?", "%"+searchInfo.get("projectNo")+"%");
-        queryHelper.addCondition(StrUtil.isNotEmpty(searchInfo.get("name")),"s.name LIKE ?", "%"+searchInfo.get("name")+"%");
+        queryHelper.addCondition(StrUtil.isNotEmpty(searchInfo.get("name")),"s.project_name LIKE ?", "%"+searchInfo.get("name")+"%");
         queryHelper.addCondition(StrUtil.isNotEmpty(searchInfo.get("owner")),"s.owner LIKE ?", "%"+searchInfo.get("owner")+"%");
         queryHelper.addCondition(StrUtil.isNotEmpty(searchInfo.get("contractParty")),"s.contract_party LIKE ?", "%"+searchInfo.get("contractParty")+"%");
         queryHelper.addCondition(StrUtil.isNotEmpty(searchInfo.get("contractNo")),"s.contract_no LIKE ?", "%"+searchInfo.get("contractNo")+"%");
@@ -337,18 +337,18 @@ public class MonthlySettleService {
 
         if(StrUtil.isNotEmpty(searchInfo.get("startTime"))){
             String time = searchInfo.get("startTime") + " 00:00:00";
-            queryHelper.addCondition("s.start_time>=?", time);
+            queryHelper.addCondition("s.collect_actual_time>=?", time);
         }
         if(StrUtil.isNotEmpty(searchInfo.get("endTime"))){
-            String time = searchInfo.get("endTime") + " 00:00:00";
-            queryHelper.addCondition("s.end_time<=?", time);
+            String time = searchInfo.get("endTime") + " 23:59:59";
+            queryHelper.addCondition("s.collect_actual_time<=?", time);
         }
         if(StrUtil.isNotEmpty(searchInfo.get("contractStartTime"))){
             String time = searchInfo.get("contractStartTime") + " 00:00:00";
             queryHelper.addCondition("s.contract_time>=?", time);
         }
         if(StrUtil.isNotEmpty(searchInfo.get("contractEndTime"))){
-            String time = searchInfo.get("contractEndTime") + " 00:00:00";
+            String time = searchInfo.get("contractEndTime") + " 23:59:59";
             queryHelper.addCondition("s.contract_time<=?", time);
         }
 
diff --git a/src/main/resources/templates/admin/monthly_settle_info.ftl b/src/main/resources/templates/admin/monthly_settle_info.ftl
index 40dcb13..64e0c2d 100644
--- a/src/main/resources/templates/admin/monthly_settle_info.ftl
+++ b/src/main/resources/templates/admin/monthly_settle_info.ftl
@@ -111,7 +111,7 @@
             <div class="am-tabs am-margin" data-am-tabs>
                 <div class="am-tabs-bd">
                     <div class="am-tab-panel am-fade am-in am-active" id="tab1">
-                        <input name="id" id="id" type="hidden" value="${monthlySettle.id}" />
+                        <input name="id" id="id" type="hidden" value="${monthlySettle.id!}" />
 <#--                        <div class="am-u-sm-10">-->
 <#--                            <div class="am-form am-form-inline">-->
 <#--                                <div class="am-form-group am-form-icon">-->
@@ -126,7 +126,7 @@
                         <div class="am-g am-form-group am-margin-top">
                             <div class="am-u-sm-4 am-u-md-2 am-text-right"><input readonly style="text-align: right;width: 69px; margin-bottom: 13px;" value="月份(请选择)"></div>
                             <div class="am-u-sm-6 am-u-md-6">
-                                <input readonly id="time" name="time" value="${monthlySettle.month}"></input>
+                                <input readonly id="time" name="time" value="${monthlySettle.month!}"></input>
                             </div>
                             <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
                         </div>
@@ -182,7 +182,7 @@
                         <div class="am-g am-form-group am-margin-top">
                             <div class="am-u-sm-4 am-u-md-2 am-text-right"><input readonly style="text-align: right;width: 134px ;margin-bottom: 6px;" value="合同签订时间"></div>
                             <div class="am-u-sm-6 am-u-md-6">
-                                <input readonly id="contractSignTime" value="${monthlySettle.contractSignTime?string("yyyy-MM-dd")}"></input>
+                                <input readonly id="contractSignTime" value="${(monthlySettle.contractSignTime?string("yyyy-MM-dd"))!}"></input>
                             </div>
                             <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
                         </div>
@@ -262,7 +262,7 @@
                         <div class="am-g am-form-group am-margin-top">
                             <div class="am-u-sm-4 am-u-md-2 am-text-right"><input readonly style="text-align: right;margin-left: -15px" value="收款要求时间"></div>
                             <div class="am-u-sm-6 am-u-md-6">
-                                <input readonly value="${monthlySettle.contractSignTime?string("yyyy-MM-dd")}"></input>
+                                <input readonly value="${(monthlySettle.contractSignTime?string("yyyy-MM-dd"))!}"></input>
                             </div>
                             <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
                         </div>
@@ -278,7 +278,7 @@
                         <div class="am-g am-form-group am-margin-top">
                             <div class="am-u-sm-4 am-u-md-2 am-text-right"><input readonly style="text-align: right;margin-left: -15px" value="实际收款时间"></div>
                             <div class="am-u-sm-6 am-u-md-6">
-                                <input readonly value="${monthlySettle.collectActualTime?string("yyyy-MM-dd")}"></input>
+                                <input readonly value="${(monthlySettle.collectActualTime?string("yyyy-MM-dd"))!}"></input>
                             </div>
                             <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
                         </div>
@@ -318,7 +318,7 @@
                         <div class="am-g am-form-group am-margin-top">
                             <div class="am-u-sm-4 am-u-md-2 am-text-right"><input readonly style="text-align: right;width: 69px ;margin-bottom: 12px;" value="验收报告时间"></div>
                             <div class="am-u-sm-6 am-u-md-6">
-                                <input readonly value="${monthlySettle.inspectionReportTime?string("yyyy-MM-dd")}" />
+                                <input readonly value="${(monthlySettle.inspectionReportTime?string("yyyy-MM-dd"))!}" />
                             </div>
                             <div class="am-u-sm-2 am-u-md-4 input-msg"></div>
                         </div>
@@ -378,7 +378,7 @@
                 var projectName = $("#projectName").val();
                 var time = $(this.elem).val();
                 console.log("time:" + time)
-                $("#pmsForm").attr("action","${base}/monthlySettle/infoByTime?projectName=" + projectName + "&month=2022-07&listFrom=list");
+                $("#pmsForm").attr("action","${base}/monthlySettle/infoByTime?projectName=" + projectName + "&month=" + time + "&listFrom=list");
                 $("#pmsForm").submit();
             }
         });
diff --git a/src/main/resources/templates/admin/monthly_settle_list.ftl b/src/main/resources/templates/admin/monthly_settle_list.ftl
index 382dc45..a1c820d 100644
--- a/src/main/resources/templates/admin/monthly_settle_list.ftl
+++ b/src/main/resources/templates/admin/monthly_settle_list.ftl
@@ -245,28 +245,28 @@
         </footer>
     </div>
 </@defaultLayout.layout>
-<script type="text/javascript" src="${base}/common/js/jquery.ajaxfileupload.js"></script>
-<script src="${base}/common/jQuery-File-Upload/js/vendor/jquery.ui.widget.js"></script>
-<script type="text/javascript" src="${base}/common/jQuery-File-Upload/js/jquery.iframe-transport.js"></script>
-<script type="text/javascript" src="${base}/common/jQuery-File-Upload/js/jquery.fileupload.js"></script>
-<script src="${base}/common/jQuery-File-Upload/js/jquery.fileupload-process.js"></script>
-<script src="${base}/common/jQuery-File-Upload/js/jquery.fileupload-validate.js"></script>
+<script type="text/javascript" src="../common/js/jquery.ajaxfileupload.js"></script>
+<script src="../common/jQuery-File-Upload/js/vendor/jquery.ui.widget.js"></script>
+<script type="text/javascript" src="../common/jQuery-File-Upload/js/jquery.iframe-transport.js"></script>
+<script type="text/javascript" src="../common/jQuery-File-Upload/js/jquery.fileupload.js"></script>
+<script src="../common/jQuery-File-Upload/js/jquery.fileupload-process.js"></script>
+<script src="../common/jQuery-File-Upload/js/jquery.fileupload-validate.js"></script>
 <script src="../assets/js/amazeui.switch.js"></script>
 <script src="${base}/layui/layui.js"></script>
 <script type="text/javascript">
-    // layui.use('laydate', function(){
-    //     var laydate = layui.laydate;
-    //
-    //     laydate.render({
-    //         elem: '#time',
-    //         type: 'month',
-    //         btns: ['confirm'],
-    //         trigger: 'click',
-    //         ready: function(date){
-    //             console.log(date);
-    //         }
-    //     });
-    // });
+    layui.use('laydate', function(){
+        var laydate = layui.laydate;
+
+        laydate.render({
+            elem: '#time',
+            type: 'month',
+            btns: ['confirm'],
+            trigger: 'click',
+            ready: function(date){
+                console.log(date);
+            }
+        });
+    });
 
     function windows() {
         layui.use('layer', function(){
@@ -275,7 +275,7 @@
                 '<input id="doc-form-file" type="file" name="file" onChange="ajaxUploadFile(\'doc-form-file\',\'${base}/monthlySettle/batchImport\')">'
             layer.open({
                 type: 1,
-                title: "请选择导入的月份",
+                title: "选择导入时间",
                 offset: '0px',
                 id: 'layerDemo',
                 content: html,
@@ -296,25 +296,27 @@
     };
 
     function ajaxUploadFile(id, url) {
+        var date = $("#layTime").val();
+        console.log("date:" + date);
         $.ajaxFileUpload({
-            url: url,
+            url: url + '?date=' + date,
             secureuri: false,
             fileElementId: id,// file标签的id
             dataType: 'json',// 返回数据的类型
             success: function (data, status) {
                 console.log("--------success---------" + data)
-                if (data.status == 0) {
+                if(data.status ==0) {
                     var list = data.data;
                     var content = '';
                     $.each(list, function (i, r) {
-                        content += (i + 1) + '、' + r + '<br>';
+                        content += (i+1) + '、' + r + '<br>';
                     });
                     console.log('---> ' + content);
                     parent.layer.open({
-                        title: '导入结果:',
+                        title: '导入结果:' ,
                         content: data.msg + '<br><br>' + content
                     });
-                } else {
+                }else{
                     parent.layer.msg(data.msg);
                 }
 
@@ -324,9 +326,6 @@
             error: function (data, status, e) {
                 console.log("--------error---------" + data)
                 alert("-----------------" + data);
-                // if ($('#modal')) {
-                //     $('#modal').modal('close');
-                // }
                 alert(e);
                 $("#" + id).val("");
             }