jiangbiao 1 vuosi sitten
vanhempi
commit
83b54eeb8c

+ 9 - 0
cpms-admin/src/main/java/com/cpms/project/asset/controller/TLeakagePointsController.java

@@ -56,6 +56,15 @@ public class TLeakagePointsController extends BaseController
         return getDataTable(list);
     }
 
+    @PreAuthorize("@ss.hasPermi('asset:points:query')")
+    @GetMapping("/lastPointNum")
+    public AjaxResult lastPointNum()
+    {
+        return AjaxResult.success(tLeakagePointsService.selectMaxPointNo());
+    }
+
+
+
     /**
      * 导出漏点清单列表
      */

+ 17 - 3
cpms-admin/src/main/java/com/cpms/project/asset/controller/TSpecdevMainController.java

@@ -10,10 +10,13 @@ import com.cpms.common.enums.BusinessType;
 import com.cpms.common.utils.file.ExcelUtils;
 import com.cpms.common.utils.poi.ExcelUtil;
 import com.cpms.project.asset.domain.TSpecdevMain;
+import com.cpms.project.file.domain.TFile;
+import com.cpms.project.file.service.ITFileService;
 import com.cpms.project.sems.service.ITSpecdevAqfService;
 import com.cpms.project.asset.service.ITSpecdevFixedAssetService;
 import com.cpms.project.asset.service.ITSpecdevMainService;
 import com.cpms.system.service.ISysDictTypeService;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
@@ -50,6 +53,9 @@ public class TSpecdevMainController extends BaseController {
     @Autowired
     private ITSpecdevFixedAssetService tSpecdevFixedAssetService;
 
+    @Autowired
+    private ITFileService tFileService;
+
     /**
      * 查询设备总列表
      */
@@ -58,9 +64,17 @@ public class TSpecdevMainController extends BaseController {
     public TableDataInfo list(TSpecdevMain tSpecdevMain) {
         startPage();
         List<TSpecdevMain> list = tSpecdevMainService.selectTSpecdevMainList(tSpecdevMain);
-//        for (TSpecdevMain specdevMain : list) {
-//            getDevType2(specdevMain);
-//        }
+        for (TSpecdevMain specdevMain : list) {
+            TFile tFile = new TFile();
+            tFile.setLinkId(specdevMain.getId());
+            tFile.setLinkName("specMain");
+            List<TFile> tFiles = tFileService.selectTFileList(tFile);
+            if (CollectionUtils.isNotEmpty(tFiles)){
+                specdevMain.setCountNum(String.valueOf(tFiles.size()));
+            }else{
+                specdevMain.setCountNum("0");
+            }
+        }
         return getDataTable(list);
     }
 

+ 10 - 0
cpms-admin/src/main/java/com/cpms/project/asset/domain/TSpecdevMain.java

@@ -164,6 +164,16 @@ public class TSpecdevMain extends BaseEntity
 
     private String fuzzy;
 
+    private String countNum;
+
+    public String getCountNum() {
+        return countNum;
+    }
+
+    public void setCountNum(String countNum) {
+        this.countNum = countNum;
+    }
+
     public String getFuzzy() {
         return fuzzy;
     }

+ 2 - 0
cpms-admin/src/main/java/com/cpms/project/asset/mapper/TLeakagePointsMapper.java

@@ -19,6 +19,8 @@ public interface TLeakagePointsMapper
      */
     public TLeakagePoints selectTLeakagePointsById(Long id);
 
+    public TLeakagePoints selectMaxPointNo();
+
     /**
      * 查询漏点清单列表
      * 

+ 1 - 0
cpms-admin/src/main/java/com/cpms/project/asset/service/ITLeakagePointsService.java

@@ -18,6 +18,7 @@ public interface ITLeakagePointsService
      * @return 漏点清单
      */
     public TLeakagePoints selectTLeakagePointsById(Long id);
+    public TLeakagePoints selectMaxPointNo();
 
     /**
      * 查询漏点清单列表

+ 6 - 0
cpms-admin/src/main/java/com/cpms/project/asset/service/impl/TLeakagePointsServiceImpl.java

@@ -32,6 +32,12 @@ public class TLeakagePointsServiceImpl implements ITLeakagePointsService
         return tLeakagePointsMapper.selectTLeakagePointsById(id);
     }
 
+    @Override
+    public TLeakagePoints selectMaxPointNo()
+    {
+        return tLeakagePointsMapper.selectMaxPointNo();
+    }
+
     /**
      * 查询漏点清单列表
      * 

+ 9 - 0
cpms-admin/src/main/java/com/cpms/project/plant/controller/TStaffmgrRecordController.java

@@ -9,11 +9,13 @@ import com.cpms.project.plant.domain.TStaffmgr;
 import com.cpms.project.plant.domain.TStaffmgrRecord;
 import com.cpms.project.plant.service.ITStaffmgrRecordService;
 import com.cpms.project.plant.service.ITStaffmgrService;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
+import java.util.Collection;
 import java.util.Date;
 import java.util.List;
 
@@ -73,6 +75,13 @@ public class TStaffmgrRecordController extends BaseController {
             TStaffmgr tStaffmgr = new TStaffmgr();
             tStaffmgr.setId(tStaffmgrRecord.getStaffmgrId());
             tStaffmgr.setTeam(tStaffmgrRecord.getChange());
+            TStaffmgr monitor = new TStaffmgr();
+            monitor.setActualpost("12");
+            monitor.setTeam(tStaffmgr.getTeam());
+            List<TStaffmgr> tStaffmgrs = tStaffmgrService.selectTStaffmgrList(monitor);
+            if (CollectionUtils.isNotEmpty(tStaffmgrs)) {
+                tStaffmgr.setpId(tStaffmgrs.get(0).getId());
+            }
             tStaffmgr.setUpdatedate(new Date());
             tStaffmgr.setUpdaterCode(getUserId().toString());
             tStaffmgrService.updateTStaffmgr(tStaffmgr);

+ 8 - 1
cpms-admin/src/main/resources/mapper/asset/TLeakagePointsMapper.xml

@@ -61,13 +61,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="deptId != null "> and dept_id = #{deptId}</if>
         and del_flag=0
         </where>
+        order by createdate desc
     </select>
     
     <select id="selectTLeakagePointsById" parameterType="Long" resultMap="TLeakagePointsResult">
         <include refid="selectTLeakagePointsVo"/>
         where id = #{id}
     </select>
-        
+
+    <select id="selectMaxPointNo" resultMap="TLeakagePointsResult">
+        select max(point_no) as point_no
+        from t_leakage_points
+        where del_flag = 0
+    </select>
+
     <insert id="insertTLeakagePoints" parameterType="TLeakagePoints" useGeneratedKeys="true" keyProperty="id">
         insert into t_leakage_points
         <trim prefix="(" suffix=")" suffixOverrides=",">

+ 1 - 1
cpms-system/src/main/java/com/cpms/system/domain/SysOperLog.java

@@ -79,7 +79,7 @@ public class SysOperLog extends BaseEntity
     private String errorMsg;
 
     /** 操作时间 */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
     @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date operTime;
 

+ 8 - 0
cpms-ui/src/api/asset/points.js

@@ -17,6 +17,14 @@ export function getPoints(id) {
   })
 }
 
+// 查询漏点清单最大漏点号
+export function getLastPointNum() {
+  return request({
+    url: '/asset/points/lastPointNum',
+    method: 'get'
+  })
+}
+
 // 新增漏点清单
 export function addPoints(data) {
   return request({

+ 46 - 46
cpms-ui/src/views/asset/points/index.vue

@@ -249,7 +249,7 @@
       </div>
     </el-dialog>
 
-    <el-dialog title="日常巡检记录" :visible.sync="record.open" width="80%" append-to-body
+    <el-dialog title="日常巡检记录" :visible.sync="record.open" width="70%" append-to-body
                :close-on-click-modal="false">
       <el-form :model="record.queryParams" ref="recordQueryForm" size="small" :inline="true" label-width="68px">
         <el-form-item label="日期" prop="checkDateM">
@@ -321,41 +321,29 @@
           <td>{{ item.leakagePosition }}</td>
           <td>{{ item.leakageMedium }}</td>
           <td>
-            <el-checkbox-group v-model="item.suspendPlateMTmpl" :disabled="record.isEdit">
-              <el-checkbox label="是"></el-checkbox>
-              <el-checkbox label="否"></el-checkbox>
-            </el-checkbox-group>
+            ▢ 是 ▢ 否
           </td>
           <td>
-            <el-checkbox-group v-model="item.leakageStatusMTmpl" :disabled="record.isEdit">
-              <el-checkbox label="未检出"></el-checkbox>
-              <el-checkbox label="轻微"></el-checkbox>
-              <el-checkbox label="严重"></el-checkbox>
-            </el-checkbox-group>
+            ▢ 未检出 ▢ 轻微 ▢ 严重
           </td>
           <td>
-            <el-checkbox-group v-model="item.suspendPlateNTmpl" :disabled="record.isEdit">
-              <el-checkbox label="是"></el-checkbox>
-              <el-checkbox label="否"></el-checkbox>
-            </el-checkbox-group>
+            ▢ 是 ▢ 否
           </td>
           <td>
-            <el-checkbox-group v-model="item.leakageStatusNTmpl" :disabled="record.isEdit">
-              <el-checkbox label="未检出"></el-checkbox>
-              <el-checkbox label="轻微"></el-checkbox>
-              <el-checkbox label="严重"></el-checkbox>
-            </el-checkbox-group>
+            ▢ 未检出 ▢ 轻微 ▢ 严重
           </td>
         </tr>
         <tr>
           <td colspan="7">
-            备注:<el-input type="textarea" v-model="record.pointPatrol.remarks"  style="width: 95%"/>
+            备注:
+            <el-input type="textarea" v-model="record.pointPatrol.remarks" style="width: 95%"/>
           </td>
         </tr>
         <tr>
           <td colspan="7" style="text-align: left">
             ● 根据每日巡检状况在相应处打 “✔”<br>
-            <span class="no-print">● 每日首次打开时请先点击保存按钮</span>
+            <span class="no-print">● 每日首次打开时请先点击保存按钮</span><br>
+            <span class="no-print">● 打印时请调整纸张为横向或设置纵向页面缩放</span>
           </td>
         </tr>
       </table>
@@ -406,7 +394,7 @@
 </template>
 
 <script>
-import {addPoints, delPoints, getPoints, listPoints, updatePoints} from "@/api/asset/points";
+import {addPoints, delPoints, getLastPointNum, getPoints, listPoints, updatePoints} from "@/api/asset/points";
 import PointRecord from "@/views/asset/pointRecord/index.vue";
 import PointPatrol from "@/views/asset/pointPatrol/index.vue";
 import {getToken} from "@/utils/auth";
@@ -419,10 +407,10 @@ export default {
   data() {
     return {
       // 打印区域配置对象
-      printInfoObj:{
-        id:"printInfo",
-        popTitle:"漏点清单",
-        preview:false,  // 是否开启预览
+      printInfoObj: {
+        id: "printInfo",
+        popTitle: "漏点清单",
+        preview: false,  // 是否开启预览
       },
       fullscreenLoading: false,
       record: {
@@ -513,7 +501,14 @@ export default {
       // 表单参数
       form: {},
       // 表单校验
-      rules: {}
+      rules: {
+        pointNo:[
+          {required: true, message: "漏点编号不能为空", trigger: "blur"}
+        ],
+        leakagePosition:[
+          {required: true, message: "漏点位置不能为空", trigger: "blur"}
+        ]
+      }
     };
   },
   created() {
@@ -524,10 +519,10 @@ export default {
     });
   },
   methods: {
-    isNotEmpty(value){
+    isNotEmpty(value) {
       if (value !== null && value !== "" && typeof (value) !== "undefined") {
         return true
-      }else {
+      } else {
         return false
       }
     },
@@ -548,19 +543,19 @@ export default {
         let list = response.rows;
         if (list.length > 0) {
           for (let item of list[0].records) {
-            item.suspendPlateMTmpl=item.suspendPlateM==null?[]:item.suspendPlateM.split(",");
-            item.suspendPlateNTmpl=item.suspendPlateN==null?[]:item.suspendPlateN.split(",");
-            item.leakageStatusMTmpl=item.leakageStatusM==null?[]:item.leakageStatusM.split(",");
-            item.leakageStatusNTmpl=item.leakageStatusN==null?[]:item.leakageStatusN.split(",");
+            item.suspendPlateMTmpl = item.suspendPlateM == null ? [] : item.suspendPlateM.split(",");
+            item.suspendPlateNTmpl = item.suspendPlateN == null ? [] : item.suspendPlateN.split(",");
+            item.leakageStatusMTmpl = item.leakageStatusM == null ? [] : item.leakageStatusM.split(",");
+            item.leakageStatusNTmpl = item.leakageStatusN == null ? [] : item.leakageStatusN.split(",");
           }
           this.record.pointPatrol = list[0];
           console.log(this.record.pointPatrol)
           this.record.isEdit = false
         } else {
-          getTeams(this.record.queryParams.checkDateM).then(res=>{
+          getTeams(this.record.queryParams.checkDateM).then(res => {
             this.record.pointPatrol = {};
-            this.record.pointPatrol.teamM=res.data.teamM;
-            this.record.pointPatrol.teamN=res.data.teamN;
+            this.record.pointPatrol.teamM = res.data.teamM;
+            this.record.pointPatrol.teamN = res.data.teamN;
           })
           this.record.isEdit = true;
 
@@ -582,10 +577,10 @@ export default {
       this.record.pointPatrol.checkDateM = this.record.queryParams.checkDateM;
       if (this.record.pointPatrol.id != null) {
         for (let item of this.record.pointPatrol.records) {
-          item.suspendPlateM=item.suspendPlateMTmpl.join(',')
-          item.suspendPlateN=item.suspendPlateNTmpl.join(',')
-          item.leakageStatusM=item.leakageStatusMTmpl.join(',')
-          item.leakageStatusN=item.leakageStatusNTmpl.join(',')
+          item.suspendPlateM = item.suspendPlateMTmpl.join(',')
+          item.suspendPlateN = item.suspendPlateNTmpl.join(',')
+          item.leakageStatusM = item.leakageStatusMTmpl.join(',')
+          item.leakageStatusN = item.leakageStatusNTmpl.join(',')
         }
         updatePointPatrol(this.record.pointPatrol).then(response => {
           this.$modal.msgSuccess("修改成功");
@@ -690,8 +685,8 @@ export default {
     /** 重置按钮操作 */
     resetQuery() {
       this.resetForm("queryForm");
-      this.queryParams.leakageEliminationResults=[]
-      this.queryParams.leakageEliminationResult=null;
+      this.queryParams.leakageEliminationResults = []
+      this.queryParams.leakageEliminationResult = null;
       this.handleQuery();
     },
     // 多选框选中数据
@@ -705,6 +700,10 @@ export default {
       this.reset();
       this.open = true;
       this.title = "添加漏点清单";
+      getLastPointNum().then(res => {
+        let pointNo = res.data.pointNo;
+        this.form.pointNo = pointNo.substring(0, pointNo.indexOf('-')+1) + (parseInt(pointNo.substring(pointNo.indexOf('-')+1, pointNo.length)) + 1)
+      })
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
@@ -774,15 +773,16 @@ table td {
   padding: 10px;
   text-align: center;
 }
+
 @media print {
   .no-print {
     display: none;
   }
   ::v-deep .el-radio__input,
-  ::v-deep .el-checkbox__input{
-    -webkit-print-color-adjust:exact;
-    -moz-print-color-adjust:exact;
-    color-adjust:exact;
+  ::v-deep .el-checkbox__input {
+    -webkit-print-color-adjust: exact;
+    -moz-print-color-adjust: exact;
+    color-adjust: exact;
   }
 }
 </style>

+ 21 - 7
cpms-ui/src/views/asset/specMain/index.vue

@@ -120,18 +120,18 @@
     </el-row>
 
     <el-table v-loading="loading" :data="mainList" :height="clientHeight" border
-              @selection-change="handleSelectionChange">
+              @selection-change="handleSelectionChange" :row-class-name="tableRowClassName">
       <el-table-column align="center" fixed="left" type="selection" width="55"/>
       <el-table-column :index="indexMethod" align="center" fixed="left" label="序号" type="index" width="50"/>
-      <el-table-column :show-overflow-tooltip="true" align="center" fixed="left" label="设备中文名" prop="devName"
+      <el-table-column :show-overflow-tooltip="true" align="center"  label="设备中文名" prop="devName"
                        width="150"/>
-      <el-table-column :show-overflow-tooltip="true" align="center" fixed="left" label="设备英文名" prop="devEnname"
+      <el-table-column :show-overflow-tooltip="true" align="center"  label="设备英文名" prop="devEnname"
                        width="150"/>
       <el-table-column :show-overflow-tooltip="true" align="center" fixed="left" label="位号" prop="devno"/>
-      <el-table-column :formatter="yseOrNoFormat" :show-overflow-tooltip="true" align="center" label="是否在PID上"
+      <el-table-column :formatter="yseOrNoFormat" :show-overflow-tooltip="true" fixed="left" align="center" label="是否在PID上"
                        prop="isPid"
                        width="150"/>
-      <el-table-column :show-overflow-tooltip="true" align="center" label="P&ID图号/其他图号" prop="pidNo" width="150"/>
+      <el-table-column :show-overflow-tooltip="true" align="center" fixed="left" label="P&ID图号/其他图号" prop="pidNo" width="150"/>
       <el-table-column :show-overflow-tooltip="true" align="center" label="安装位置" prop="installPosition"/>
       <el-table-column :show-overflow-tooltip="true" align="center" label="功能位置" prop="funcPosition"/>
       <el-table-column :show-overflow-tooltip="true" align="center" label="资产号" prop="assetNo"/>
@@ -171,6 +171,7 @@
               size="mini"
               type="text"
               @click="handleUpdate(scope.row)"
+              v-if="scope.row.delFlag!=2"
           >修改
           </el-button>
           <el-button
@@ -179,6 +180,7 @@
               size="mini"
               type="text"
               @click="handleDelete(scope.row)"
+              v-if="scope.row.delFlag!=2"
           >删除
           </el-button>
           <el-button
@@ -187,7 +189,7 @@
               size="mini"
               type="text"
               @click="toFile(scope.row)"
-          >附件
+          >附件({{scope.row.countNum}})
           </el-button>
         </template>
       </el-table-column>
@@ -592,7 +594,7 @@ export default {
         case "isPid":
           return this.selectDictLabel(this.yesOrNoOptions, row.isPid);
         case "delFlag":
-          return this.selectDictLabel(this.yesOrNoOptions, row.delFlag);
+          return row.delFlag==2?"是":"否";
       }
     },
     // 资产状态字典翻译
@@ -803,7 +805,19 @@ export default {
     //翻页后继续计算序列值
     indexMethod(index) {
       return (this.queryParams.pageNum - 1) * this.queryParams.pageSize + index + 1;
+    },
+    tableRowClassName({row, rowIndex}) {
+      if (row.delFlag==2){
+        return 'del-row';
+      }
+      return '';
     }
   }
 };
 </script>
+<style>
+
+.el-table .del-row {
+  background: rgb(251, 112, 112);
+}
+</style>

+ 26 - 27
cpms-ui/src/views/shiftmgr/log/index.vue

@@ -98,7 +98,6 @@
               icon="el-icon-download"
               size="mini"
               type="text"
-              v-if="scope.row.status==1"
               @click="exportLog(scope.row.id)"
           >导出
           </el-button>
@@ -309,32 +308,32 @@
           <el-collapse-item title="►Miscellaneous / Comments 其他/评述">
             <el-input v-model="form.comments" placeholder="请输入内容" type="textarea"/>
           </el-collapse-item>
-          <el-descriptions :column="4" border direction="vertical" label-class-name="des-label label-hh" size="">
-            <el-descriptions-item :span="2" label="Hand-Over Shift Supervisor 交班班组人员">
-              <el-form-item prop="hoShiftSup">
-                <el-select v-model="form.hoShiftSup" clearable filterable placeholder="请选择交班班组人员"
-                           style="width: 100%;">
-                  <el-option v-for="user in userList"
-                             :key="user.userId"
-                             :label="user.nickName"
-                             :value="user.userId"
-                  />
-                </el-select>
-              </el-form-item>
-            </el-descriptions-item>
-            <el-descriptions-item :span="2" label="Take-Over Shift Supervisor 接班班组人员">
-              <el-form-item prop="toShiftSup">
-                <el-select v-model="form.toShiftSup" clearable filterable placeholder="请选择接班班组人员"
-                           style="width: 100%;">
-                  <el-option v-for="user in userList"
-                             :key="user.userId"
-                             :label="user.nickName"
-                             :value="user.userId"
-                  />
-                </el-select>
-              </el-form-item>
-            </el-descriptions-item>
-          </el-descriptions>
+<!--          <el-descriptions :column="4" border direction="vertical" label-class-name="des-label label-hh" size="">-->
+<!--            <el-descriptions-item :span="2" label="Hand-Over Shift Supervisor 交班班组人员">-->
+<!--              <el-form-item prop="hoShiftSup">-->
+<!--                <el-select v-model="form.hoShiftSup" clearable filterable placeholder="请选择交班班组人员"-->
+<!--                           style="width: 100%;">-->
+<!--                  <el-option v-for="user in userList"-->
+<!--                             :key="user.userId"-->
+<!--                             :label="user.nickName"-->
+<!--                             :value="user.userId"-->
+<!--                  />-->
+<!--                </el-select>-->
+<!--              </el-form-item>-->
+<!--            </el-descriptions-item>-->
+<!--            <el-descriptions-item :span="2" label="Take-Over Shift Supervisor 接班班组人员">-->
+<!--              <el-form-item prop="toShiftSup">-->
+<!--                <el-select v-model="form.toShiftSup" clearable filterable placeholder="请选择接班班组人员"-->
+<!--                           style="width: 100%;">-->
+<!--                  <el-option v-for="user in userList"-->
+<!--                             :key="user.userId"-->
+<!--                             :label="user.nickName"-->
+<!--                             :value="user.userId"-->
+<!--                  />-->
+<!--                </el-select>-->
+<!--              </el-form-item>-->
+<!--            </el-descriptions-item>-->
+<!--          </el-descriptions>-->
           <el-collapse-item title="备注">
             <el-input v-model="form.remarks" placeholder="请输入内容" type="textarea"/>
           </el-collapse-item>