Преглед изворни кода

上报情况查询及完成

yuedefeng пре 4 година
родитељ
комит
10a85453d4

+ 1 - 2
src/dashoo.cn/backend/api/business/oilcontract/contract/contract.go

@@ -107,6 +107,5 @@ type HandOnStatisticsQuery struct {
 	Asc 			string
 	SecondUnit		string
 	YearNum			int
-	StartTime		time.Time
-	EndTime			time.Time
+	SupplierType	string
 }

+ 20 - 14
src/dashoo.cn/backend/api/business/oilcontract/contract/contractService.go

@@ -3,6 +3,7 @@ package contract
 import (
 	. "dashoo.cn/backend/api/mydb"
 	"github.com/go-xorm/xorm"
+	"strconv"
 )
 
 type OilContractService struct {
@@ -19,32 +20,37 @@ func (s *OilContractService) GetHandOnStatisticsList (queryParam HandOnStatistic
 	if queryParam.PageIndex < 1 { queryParam.PageIndex = 1 }
 	if queryParam.ItemsPerPage < 1 { queryParam.ItemsPerPage = 10 }
 	// var resultsSlice []map[string][]byte
-
 	/*sqlCount := "SELECT COUNT(*) " +
 		         " FROM OilContract a " +
 		         " LEFT JOIN OilContractReview b ON b.ContractId=a.Id " +
 		         " GROUP BY a.SecondUnit "*/
 
-	sql := "SELECT a.SecondUnit, COUNT(DISTINCT a.Id) AS ContractNum,  COUNT(DISTINCT b.ContractId) AS HasNum " +
+	sql := "SELECT c.FullName as SecondUnit, COUNT(DISTINCT a.Id) AS ContractNum,  COUNT(DISTINCT b.ContractId) AS HasNum " +
 		" FROM OilContract a " +
-		" LEFT JOIN OilContractReview b ON b.ContractId=a.Id " +
-		" GROUP BY a.SecondUnit "
+		" LEFT JOIN OilContractReview b ON a.Id = b.ContractId " +
+		" LEFT JOIN Base_Organize c on SecondUnit = c.Id"
+	sql += " WHERE 1=1 "
+	if queryParam.YearNum > 0 {
+		sql += " AND " + strconv.Itoa(queryParam.YearNum) + " BETWEEN YEAR(a.StartDate) AND YEAR(a.EndDate)"
+	}
+	if queryParam.SupplierType != "" {
+		sql += " AND a.ContractClass='" + queryParam.SupplierType + "'"
+	}
+
+	sql += " GROUP BY a.SecondUnit "
+	if queryParam.SecondUnit != "" {
+		sql += " HAVING c.FullName like '%" + queryParam.SecondUnit + "%'"
+	}
+
+	if queryParam.Order != "" {
+		sql += " ORDER BY " + queryParam.Order  + " " + queryParam.Asc
+	}
 
-	// resultsSlice, err = s.DBE.Query(sqlCount)
 	startLimit := int((queryParam.PageIndex-1) * queryParam.ItemsPerPage)
 	endLimit := int((queryParam.PageIndex) * queryParam.ItemsPerPage)
 	var totalCnt int64
 	totalCnt, _ = s.DBE.SQL(sql).Limit(startLimit, endLimit).FindAndCount(entitiesPtr)
 
-	// LogError(err)
-	/** if len(resultsSlice) > 0 {
-		results := resultsSlice[0]
-		for _, value := range results {
-			total, err = strconv.ParseInt(string(value), 10, 64)
-			LogError(err)
-			break
-		}
-	} */
 	return totalCnt
 
 }

+ 12 - 21
src/dashoo.cn/frontend_web/src/pages/oilcontract/report/handon-statistics.vue

@@ -18,24 +18,19 @@
             <el-input size="mini" clearable v-model="searchForm.SecondUnit" placeholder="请输入企业名称"></el-input>
           </el-form-item>
           <el-form-item label="类型" style="width: 170px">
-            <el-select size="mini" v-model="searchForm.SupplierType" placeholder="请选择" style="width: 100px" clearable>
-              <el-option label="全部" value="" key="01"></el-option>
-              <el-option label="物资类" value="1" key="02"></el-option>
-              <el-option label="服务类" value="2" key="03"></el-option>
-              <el-option label="基建类" value="3" key="04"></el-option>
+            <el-select size="mini" v-model="searchForm.SupplierType" placeholder="请选择" style="width: 100px">
+              <el-option label="全部" value="" key="00"></el-option>
+              <el-option label="物资类" value="01" key="01"></el-option>
+              <el-option label="服务类" value="02" key="02"></el-option>
+              <el-option label="基建类" value="03" key="03"></el-option>
             </el-select>
           </el-form-item>
           <el-form-item label="年度">
-            <el-select size="mini" style="width:100px" v-model="searchForm.Year" placeholder="年度">
+            <el-select size="mini" style="width:100px" v-model="searchForm.YearNum" placeholder="年度">
               <el-option label="全部" value=""></el-option>
               <el-option v-for="(item, index) in yearList" :key="index" :label="item" :value="item" style="width: 100%"></el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="合同时间">
-            <el-date-picker size="mini" style="width: 220px" v-model="CreateOn" type="daterange" range-separator="至"
-                            start-placeholder="生成日期" end-placeholder="结束日期"></el-date-picker>
-          </el-form-item>
-
           <el-form-item>
             <el-dropdown split-button type="primary" size="mini" @click="handleSearch" @command="searchCommand">
               查询
@@ -90,8 +85,12 @@
         searchForm: {
           SecondUnit: '',
           SupplierType: '',
-          Year: '',
-          CreateOn: ''
+          YearNum: ''
+        },
+        searchFormReset: {
+          SecondUnit: '',
+          SupplierType: '',
+          YearNum: ''
         }
       }
     },
@@ -118,14 +117,6 @@
           Order: this.Column.Order,
           Prop: this.Column.Prop
         }
-        // 解析时间
-        if (this.CreateOn.length === 2) {
-          this.CreateOn[1].setHours(23)
-          this.CreateOn[1].setMinutes(59)
-          this.CreateOn[1].setSeconds(59)
-          params.StartTime = this.formatDateTime(this.CreateOn[0])
-          params.EndTime = this.formatDateTime(this.CreateOn[1])
-        }
         // 查询条件
         Object.assign(params, this.searchForm)
         // 访问接口