From 7efc6ed86025b610cab109a2e9f83362740d8ed4 Mon Sep 17 00:00:00 2001
From: 李旭东 <woaiguo66@sina.com>
Date: 星期五, 08 十二月 2023 13:29:07 +0800
Subject: [PATCH] Merge branch 'master' of http://111.30.93.211:10101/r/supipe
---
web/src/views/GoodManage/MixingScreen.vue | 526 +++
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/entity/HiddenDangerEntity.java | 4
web/src/router/index.js | 208 +
web/src/views/GoodManage/StockManage.vue | 4
hd/pipe/screen/src/main/java/com/thhy/screen/config/StartListener.java | 24
hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelcheck/entity/SteelStockRecord.java | 82
web/src/views/DuctpiecePLM/ReinManage/components/ReinsInvent.vue | 5
xcx/robePages/safeManage/approveHidden.vue | 4
hd/pipe/secure/src/main/resources/mapping/HiddenDangerMapper.xml | 42
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/entity/dto/ProduceExportDto.java | 2
web/src/views/GoodManage/BearSignboard.vue | 373 ++
hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/entity/RingCompleteCheck.java | 5
web/src/assets/mixing/list_bg.png | 0
hd/pipe/materialsManage/src/main/resources/mapping/MinXingPlantMapper.xml | 219
web/src/views/GoodManage/MixRatioScreen.vue | 573 ++++
web/src/api/modules/materials.js | 41
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/mapper/RegionInspectionRecordMapper.java | 8
web/src/views/SecureManage/NipCheck/components/ScoreMarket.vue | 225 +
hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/controller/AudioController.java | 13
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suSteelCageMaterialLabel/controller/SuSteelCageMaterialLabelController.java | 42
hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/service/PlatUserService.java | 7
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/entity/dto/SteelDto.java | 16
hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/mapper/BigScreenMapper.java | 16
web/src/views/Basics/ConsigneeIndex.vue | 12
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/service/IntegralDetailService.java | 55
web/src/views/SecureManage/RiskGrad/components/PollingTask.vue | 13
hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/entity/AreaAdmin.java | 16
web/src/api/modules/mixing.js | 5
web/src/assets/mixing/name_bg.png | 0
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/service/impl/TSteelProduceServiceImpl.java | 4
hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/controller/ExecProListener.java | 26
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/service/impl/IntegralDetailServiceImpl.java | 222 +
xcx/robePages/safeManage/detailsHidden.vue | 20
web/src/assets/mixing/list_l_bg.png | 0
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/controller/IntegraDetailController.java | 84
web/src/assets/mixing/container_80.png | 0
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/mapper/TMaterialReleaseMappper.java | 24
hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeListVo.java | 2
hd/pipe/screen/src/main/resources/mapping/BigScreenMapper.xml | 100
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/mapper/IntegralDetailMapper.java | 60
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/controller/MixingPlantNewScheduled.java | 35
web/src/views/MixingInfo/workShop.vue | 187 +
hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/entity/DoorUserVo.java | 5
hd/pipe/screen/src/main/java/com/thhy/screen/utils/HttpUtils.java | 2
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/entity/SuMaterialWarehouseEntity.java | 2
web/src/views/DuctpiecePLM/DuctProduct/ProductAnalyse.vue | 6
hd/pipe/filectrl/src/main/resources/fastdfs.properties | 3
hd/pipe/materialsManage/src/main/resources/mapping/SuSteelCageMaterialLabelMapper.xml | 238 +
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/service/impl/MinXingPlantServiceImpl.java | 5
web/src/views/ProjectManage/SectionManage.vue | 6
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/service/WeighService.java | 14
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/entity/dto/MaterialStockRecordDto.java | 14
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionServiceImpl.java | 10
xcx/robePages/safeManage/checkHidden.vue | 2
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/entity/TMixingConsume.java | 5
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/controller/WeighController.java | 36
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/entity/IntegralDetailDto.java | 54
web/src/views/GoodManage/components/MixingIncome.vue | 18
web/src/views/SecureManage/RiskGrad/AreaPolling.vue | 13
hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/AudioService.java | 5
hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/controller/ExecFaceListener.java | 22
hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/service/PipeInfoService.java | 4
web/src/assets/mixing/container_100.png | 0
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suSteelCageMaterialLabel/service/impl/SuSteelCageMaterialLabelServiceImpl.java | 68
web/src/views/DuctpiecePLM/ReinManage/components/ProductsData.vue | 6
hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/controller/PipeScreenController.java | 15
web/src/views/MixingInfo/mixRatio.vue | 253 +
web/src/views/SecureManage/RiskGrad/components/TaskPunchcard.vue | 21
hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/entity/GroupInfoVo.java | 16
web/src/assets/mixing/header.png | 0
hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/mapper/PipeInfoMapper.java | 12
web/src/assets/mixing/container_90.png | 0
hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/service/impl/ModCheckServiceImpl.java | 21
web/src/views/MixingInfo/mixing.vue | 317 ++
hd/pipe/materialsManage/src/main/resources/mapping/TSteelProduceMapper.xml | 6
web/src/assets/mixing/container_60.png | 0
web/src/views/SecureManage/BroadcastSystem.vue | 351 ++
hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/service/impl/ProduceListenServiceImpl.java | 14
hd/pipe/materialsManage/src/main/resources/mapping/WeighMapper.xml | 399 ++
hd/pipe/materialsManage/src/main/resources/mapping/TMaterialReleaseMapper.xml | 190 +
web/src/assets/work_shop.png | 0
web/src/views/DuctpiecePLM/ProductTerminal/components/ReinsPrint.vue | 20
hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/controller/FaceServer.java | 21
web/src/views/MixingInfo/components/List.vue | 91
web/src/views/ProjectManage/components/RawConsump.vue | 10
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/entity/dto/MouldDto.java | 15
hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/entity/AudioFile.java | 19
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/service/impl/WeighServiceImpl.java | 81
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/entity/IntegralDetailEntity.java | 47
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/entity/dto/PieceDto.java | 3
web/src/assets/mixing/container_40.png | 0
hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/impl/AudioServiceImpl.java | 22
hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/MaterialThingDto.java | 32
web/src/views/MixingInfo/messageInfo.vue | 293 +
hd/pipe/secure/src/main/resources/mapping/RegionInspectionRecordMapper.xml | 77
hd/pipe/screen/src/main/java/com/thhy/screen/utils/AudioUtils.java | 20
hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/controller/ModCheckController.java | 6
hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelcheck/service/impl/SteelCheckServiceImpl.java | 18
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionRecordServiceImpl.java | 26
hd/pipe/common/src/main/java/com/thhy/general/common/enums/ProListenType.java | 4
hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/mapper/PlatUserMapper.java | 11
hd/pipe/secure/src/main/resources/mapping/IntegralDetailMapper.xml | 325 ++
web/src/views/DuctpiecePLM/DuctpieceIndex.vue | 1
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/entity/TMixing.java | 6
web/src/views/ReincageManage/ReincageProduct.vue | 3
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suSteelCageMaterialLabel/entity/SuSteelCageMaterialLabelEntity.java | 41
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/service/impl/TMaterialReleaseServiceImpl.java | 92
web/src/views/DuctpiecePLM/ReinManage/components/RingsNumber.vue | 3
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java | 74
web/src/assets/mixing/container_20.png | 0
hd/pipe/common/src/main/java/com/thhy/general/utils/UUIDUtils.java | 4
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/service/TMaterialReleaseService.java | 14
web/src/views/DuctpiecePLM/DuctProduct/ProductIndex.vue | 35
web/src/views/SecureManage/NipCheck/NipTips.vue | 35
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/mapper/WeighMapper.java | 38
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/entity/IntegralAccountEntity.java | 34
web/src/views/GoodManage/CostStatistics/RawCost.vue | 6
hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelstock/mapper/SteelStockMapper.java | 6
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/entity/MinXingPlantVo.java | 15
hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/service/ModCheckService.java | 2
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suSteelCageMaterialLabel/service/SuSteelCageMaterialLabelService.java | 22
xcx/robePages/safeManage/addHidden.vue | 67
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/dto/MinXingPlantDto.java | 3
hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/MaterialThingNumDto.java | 13
hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/service/impl/PipeInfoServiceImpl.java | 16
web/src/assets/mixing/container_10.png | 0
web/src/assets/mixing/list_r_bg.png | 0
xcx/pages/loginIndex/index.vue | 132
web/src/api/modules/ductpiecePLM.js | 3
web/src/api/modules/safety.js | 56
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suSteelCageMaterialLabel/mapper/SuSteelCageMaterialLabelMapper.java | 25
web/src/assets/mixing/mixing_bg1.png | 0
web/src/components/uploadImage.vue | 8
web/src/views/ProjectManage/AmountManage.vue | 25
hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/entity/ModCheckDto.java | 2
hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/entity/NamePhoneDepart.java | 19
xcx/robePages/safeManage/hiddenReport.vue | 4
hd/pipe/StaffManage/src/main/resources/mapping/PlatUserMapper.xml | 49
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixmateria/service/impl/MixMaterialServiceImpl.java | 2
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/entity/dto/AssistGoodDto.java | 16
hd/pipe/mobile/src/main/resources/mapping/SteelStockMapper.xml | 72
hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/service/impl/PlatUserServiceImpl.java | 35
hd/pipe/materialsManage/src/main/resources/mapping/SuMaterialWarehouseMapper.xml | 4
web/src/views/DuctpiecePLM/ReinManage/ReinsProduct.vue | 3
web/src/views/SecureManage/NipCheck/components/ScoreDetails.vue | 256 +
web/src/assets/mixing/mixing_bg3.png | 0
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/entity/TSuMaterialWarehouseRecord.java | 103
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/controller/TMaterialReleaseController.java | 42
hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/entity/AudioDto.java | 5
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/controller/RegionInspectionRecordController.java | 3
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionHazardInformEntity.java | 4
web/src/views/LayoutIndex/components/LayoutAside.vue | 2
xcx/pages/labourHome/index.vue | 2
hd/pipe/mobile/src/main/resources/mapping/PipeInfoMapper.xml | 97
hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionRecordEntity.java | 2
155 files changed, 7,515 insertions(+), 584 deletions(-)
diff --git a/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/controller/ExecFaceListener.java b/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/controller/ExecFaceListener.java
index 982d62f..128e09a 100644
--- a/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/controller/ExecFaceListener.java
+++ b/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/controller/ExecFaceListener.java
@@ -4,6 +4,7 @@
import com.thhy.general.common.BasicResult;
import com.thhy.general.config.GlobalConfig;
import com.thhy.general.utils.SpringContextUtils;
+import com.thhy.staff.modules.biz.platuser.entity.AreaAdmin;
import com.thhy.staff.modules.biz.platuser.service.PlatUserService;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
@@ -19,6 +20,7 @@
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CopyOnWriteArraySet;
@@ -70,8 +72,28 @@
dataMapList.add(map);
Map<String,Object> map1 = userService.groupUserWork(userToken);
Map<String,Object> map2 = userService.faceRecord(userToken);
+
+ List<HashMap<String,Object>> AudioGroupList = userService.queryGroups();
+ Map<String, Object> map3 = new HashMap<>();
+ map3.put("mod","audioGroup");
+ map3.put("groupList",AudioGroupList);
+
+
+ List<HashMap<String,Object>> HelmetWarnList = userService.queryHelmetWarn();
+ Map<String, Object> map4 = new HashMap<>();
+ map4.put("mod","helmetWarn");
+ map4.put("helmetWarnList",HelmetWarnList);
+
+ List<AreaAdmin> areaAdminList = userService.areaAdminInfo();
+ Map<String, Object> map5 = new HashMap<>();
+ map5.put("mod","areaAdmin");
+ map5.put("areaAdminList",areaAdminList);
+
dataMapList.add(map1);
dataMapList.add(map2);
+ dataMapList.add(map3);
+ dataMapList.add(map4);
+ dataMapList.add(map5);
try {
session.getBasicRemote().sendText(JSON.toJSONString(dataMapList));
} catch (IOException e) {
diff --git a/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/controller/FaceServer.java b/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/controller/FaceServer.java
index 1729fca..a2eda24 100644
--- a/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/controller/FaceServer.java
+++ b/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/controller/FaceServer.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSON;
import com.thhy.general.config.GlobalConfig;
import com.thhy.general.utils.SpringContextUtils;
+import com.thhy.staff.modules.biz.platuser.entity.AreaAdmin;
import com.thhy.staff.modules.biz.platuser.service.PlatUserService;
import org.redisson.api.RBucket;
import org.redisson.api.RedissonClient;
@@ -68,8 +69,28 @@
dataMapList.add(map);
Map<String,Object> map1 = userService.groupUserWork(userToken);
Map<String,Object> map2 = userService.faceRecord(userToken);
+
+
+ List<HashMap<String,Object>> AudioGroupList = userService.queryGroups();
+ Map<String, Object> map3 = new HashMap<>();
+ map3.put("mod","audioGroup");
+ map3.put("groupList",AudioGroupList);
+
+
+ List<HashMap<String,Object>> HelmetWarnList = userService.queryHelmetWarn();
+ Map<String, Object> map4 = new HashMap<>();
+ map4.put("mod","helmetWarn");
+ map4.put("helmetWarnList",HelmetWarnList);
+
+ List<AreaAdmin> areaAdminList = userService.areaAdminInfo();
+ Map<String, Object> map5 = new HashMap<>();
+ map5.put("mod","areaAdmin");
+ map5.put("areaAdminList",areaAdminList);
dataMapList.add(map1);
dataMapList.add(map2);
+ dataMapList.add(map3);
+ dataMapList.add(map4);
+ dataMapList.add(map5);
try {
session.getBasicRemote().sendText(JSON.toJSONString(dataMapList));
} catch (IOException e) {
diff --git a/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/entity/AreaAdmin.java b/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/entity/AreaAdmin.java
new file mode 100644
index 0000000..4d71a81
--- /dev/null
+++ b/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/entity/AreaAdmin.java
@@ -0,0 +1,16 @@
+package com.thhy.staff.modules.biz.platuser.entity;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class AreaAdmin implements Serializable {
+
+ private String areaId;
+
+ private String areaName;
+
+ private List<NamePhoneDepart> npdList;
+}
diff --git a/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/entity/DoorUserVo.java b/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/entity/DoorUserVo.java
index 529288b..ba00bfb 100644
--- a/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/entity/DoorUserVo.java
+++ b/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/entity/DoorUserVo.java
@@ -3,11 +3,12 @@
import lombok.Data;
import java.io.Serializable;
+import java.util.Date;
@Data
public class DoorUserVo implements Serializable {
- private String createTime;
+ private Date createTime;
private String realName;
@@ -18,4 +19,6 @@
private String jobNum;
private String id;
+
+ private String photo;
}
diff --git a/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/entity/NamePhoneDepart.java b/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/entity/NamePhoneDepart.java
new file mode 100644
index 0000000..3c3e808
--- /dev/null
+++ b/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/entity/NamePhoneDepart.java
@@ -0,0 +1,19 @@
+package com.thhy.staff.modules.biz.platuser.entity;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class NamePhoneDepart implements Serializable {
+
+ private String userId;
+
+ private String realName;
+
+ private String phone;
+
+ private String photo;
+
+ private String departName;
+}
diff --git a/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/mapper/PlatUserMapper.java b/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/mapper/PlatUserMapper.java
index c9398a4..28a68c6 100644
--- a/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/mapper/PlatUserMapper.java
+++ b/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/mapper/PlatUserMapper.java
@@ -9,6 +9,7 @@
import org.springframework.stereotype.Component;
import java.io.Serializable;
+import java.util.HashMap;
import java.util.List;
/**
@@ -119,4 +120,14 @@
int countByFaceId(String faceId);
void insertSamplePlatUser(PlatUser platUser);
+
+ List<HashMap<String,Object>> queryGroups();
+
+ List<HashMap<String,Object>> queryHelmetWarn();
+
+ List<AreaAdmin> queryAreaInfo();
+
+ List<NamePhoneDepart> queryAdminByArea(String regionWarrantyId);
+
+ List<String> faceArea();
}
diff --git a/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/service/PlatUserService.java b/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/service/PlatUserService.java
index 9899ab2..41da0fd 100644
--- a/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/service/PlatUserService.java
+++ b/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/service/PlatUserService.java
@@ -6,6 +6,7 @@
import javax.servlet.http.HttpServletRequest;
import java.io.Serializable;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -55,4 +56,10 @@
Map<String,Object> groupUserWork(String token);
void doorlisWithPic(DoorLisPic doorLisPic);
+
+ List<HashMap<String,Object>> queryGroups();
+
+ List<HashMap<String,Object>> queryHelmetWarn();
+
+ List<AreaAdmin> areaAdminInfo();
}
diff --git a/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/service/impl/PlatUserServiceImpl.java b/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/service/impl/PlatUserServiceImpl.java
index c9fbf76..f4210ea 100644
--- a/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/service/impl/PlatUserServiceImpl.java
+++ b/hd/pipe/StaffManage/src/main/java/com/thhy/staff/modules/biz/platuser/service/impl/PlatUserServiceImpl.java
@@ -25,6 +25,7 @@
import com.thhy.staff.utils.ProcessFlag;
import com.thhy.staff.utils.StaffNoUtils;
import io.netty.channel.ChannelHandlerContext;
+import net.bytebuddy.build.Plugin;
import org.checkerframework.checker.units.qual.A;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -34,6 +35,7 @@
import java.io.Serializable;
import java.math.BigDecimal;
import java.math.RoundingMode;
+import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.CopyOnWriteArraySet;
@@ -530,13 +532,18 @@
int userCount = platUserMapper.queryPlatUser(userInfo.getCompanyId());
Map<String, Object> map = new HashMap<>();
map.put("mod","facerecord");
- map.put("totalUserCount",userCount);
- map.put("watchUserCount",0);
- map.put("dangerUserCount",0);
+ //map.put("totalUserCount",userCount);
+ //map.put("watchUserCount",0);
+ //map.put("dangerUserCount",0);
+
+ List<String> faceAreas = platUserMapper.faceArea();
+ map.put("faceAreas",faceAreas);
+
List<DoorUserVo> list = platUserMapper.queryDoorUser();
map.put("doorUserList",list);
PlatUserFace platUserFace = platUserMapper.queryFaceUserByJobNum(list.get(0).getJobNum());
- platUserFace.setPassTime(list.get(0).getCreateTime());
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ platUserFace.setPassTime(sdf.format(list.get(0).getCreateTime()));
platUserFace.setRecordId(list.get(0).getId());
map.put("firstUserInfo",platUserFace);
return map;
@@ -593,6 +600,26 @@
platUserMapper.insertDoorListener(doorLisPic);
}
+ @Override
+ public List<HashMap<String, Object>> queryGroups() {
+ return platUserMapper.queryGroups();
+ }
+
+ @Override
+ public List<HashMap<String, Object>> queryHelmetWarn() {
+ return platUserMapper.queryHelmetWarn();
+ }
+
+ @Override
+ public List<AreaAdmin> areaAdminInfo() {
+ List<AreaAdmin> areaAdminList = platUserMapper.queryAreaInfo();
+ for(AreaAdmin areaAdmin : areaAdminList){
+ List<NamePhoneDepart> namePhoneDepartList = platUserMapper.queryAdminByArea(areaAdmin.getAreaId());
+ areaAdmin.setNpdList(namePhoneDepartList);
+ }
+ return areaAdminList;
+ }
+
public static void main(String[] args) {
MqContent mqContent = new MqContent("sync_person", "notify");
String uu = "02d32ee86bec2b11e4b23eb6";
diff --git a/hd/pipe/StaffManage/src/main/resources/mapping/PlatUserMapper.xml b/hd/pipe/StaffManage/src/main/resources/mapping/PlatUserMapper.xml
index 70a6c79..d8e6366 100644
--- a/hd/pipe/StaffManage/src/main/resources/mapping/PlatUserMapper.xml
+++ b/hd/pipe/StaffManage/src/main/resources/mapping/PlatUserMapper.xml
@@ -109,9 +109,12 @@
<if test="userId !=null and userId !=''">
sdu.user_id=#{userId} AND
</if>
+ <if test="userType !=null and userType !=''">
+ spu.user_type=#{userType} AND
+ </if>
</trim>
</where>
-
+ order by spu.create_time desc
</select>
<select id="queryForPullDownDorm" resultType="com.thhy.staff.modules.biz.platuser.entity.PlatUserPullDown">
@@ -858,7 +861,8 @@
<select id="queryDoorUser" resultType="com.thhy.staff.modules.biz.platuser.entity.DoorUserVo">
- select fr.id,fr.create_time,fr.employee_no_string as userId,fd.through_type,spu.real_name as realName,spu.job_num as jobNum,sg.group_name as groupName,1 as staffStatus
+ select fr.id,fr.create_time as createTime,fr.employee_no_string as userId,fd.through_type,spu.real_name as realName,spu.job_num as jobNum,
+ sg.group_name as groupName,1 as staffStatus,spu.photo
from t_face_record fr
left join t_face_device fd on fd.dev_sno = fr.mac_address
left join sys_plat_user spu on spu.user_id = fr.employee_no_string
@@ -874,16 +878,13 @@
</select>
<select id="countInDoorUserToday" resultType="int">
- select count(distinct fr.employee_no_string)
- from t_face_record fr
- left join sys_plat_user spu on spu.job_num = fr.employee_no_string
- where fr.notice_type = 5 and fr.verify = 1 and spu.user_id is not null and (fr.mac_address='e0:ca:3c:f0:d9:3a' or fr.mac_address = 'e0:ca:3c:f0:a7:34' or fr.mac_address = 'e0:ca:3c:f0:d9:3b')
- and DATE_FORMAT(sysdate(),'%Y-%m-%d') = DATE_FORMAT(fr.create_time,'%Y-%m-%d')
+ select count(employee_no_string) from t_face_record fr
+ where fr.verify = 1 and employee_no_string is not null and DATE_FORMAT(create_time,'%Y-%m-%d') = DATE_FORMAT(SYSDATE(),'%Y-%m-%d')
</select>
<select id="groupUserWorking" resultType="com.thhy.staff.modules.biz.platuser.entity.GroupWorking">
select sg.group_id as groupId,sg.group_name as groupName,
- (select count(user_id) from sys_group_user where and is_use = 1 and group_id = sg.group_id) as groupUserCount
+ (select count(user_id) from sys_group_user where is_use = 1 and group_id = sg.group_id) as groupUserCount
from sys_group sg
left join sys_com_depart sd on sg.depart_id = sd.depart_id
where sg.is_use = 1 and sd.company_id = #{companyId}
@@ -894,7 +895,7 @@
from t_face_record fr
left join sys_plat_user spu on spu.job_num = fr.employee_no_string
left join sys_group_user sgu on sgu.user_id = spu.user_id and sgu.is_use = 1
- where sgu.group_id = #{groupId} and fr.notice_type = 5 and fr.verify = 1 and DATE_FORMAT(sysdate(),'%Y-%m-%d') = DATE_FORMAT(fr.create_time,'%Y-%m-%d') and (fr.mac_address='e0:ca:3c:f0:d9:3a' or fr.mac_address = 'e0:ca:3c:f0:a7:34' or fr.mac_address = 'e0:ca:3c:f0:d9:3b')
+ where sgu.group_id = #{groupId} and fr.verify = 1 and DATE_FORMAT(sysdate(),'%Y-%m-%d') = DATE_FORMAT(fr.create_time,'%Y-%m-%d')
</select>
<select id="queryFaceUserByJobNum" resultType="com.thhy.staff.modules.biz.platuser.entity.PlatUserFace">
@@ -966,4 +967,34 @@
</trim>
</insert>
+ <select id="queryGroups" resultType="hashmap">
+ select id,group_id as groupId,group_name as groupName from t_audio_group
+ </select>
+
+ <select id="queryHelmetWarn" resultType="hashmap">
+ select hr.device_id as deviceId,hr.sos_type,hr.user_name as userName,'' as position,hr.sm_time
+ from t_helmet_report hr
+ order by hr.sm_time
+ limit 10
+ </select>
+
+ <select id="queryAreaInfo" resultType="com.thhy.staff.modules.biz.platuser.entity.AreaAdmin">
+ select reg.id as areaId,reg.region as areaName
+ from t_region_hazard_inform reg
+ </select>
+
+ <select id="queryAdminByArea" resultType="com.thhy.staff.modules.biz.platuser.entity.NamePhoneDepart">
+ select rwu.user_id,spu.real_name as realName,spu.phone,spu.photo,sd.depart_name as departName
+ from t_region_warranty_user rwu
+ left join sys_plat_user spu on spu.user_id = rwu.user_id
+ left join sys_depart_user sdu on sdu.user_id = spu.user_id
+ left join sys_depart sd on sd.depart_id = sdu.depart_id
+ where rwu.region_warranty_id = #{regionWarrantyId}
+ order by rwu.user_type
+ </select>
+
+ <select id="faceArea" resultType="string">
+ select DISTINCT area_name as areaName from t_face_device where area_name is not null
+ </select>
+
</mapper>
diff --git a/hd/pipe/common/src/main/java/com/thhy/general/common/enums/ProListenType.java b/hd/pipe/common/src/main/java/com/thhy/general/common/enums/ProListenType.java
index fe98bf6..ce0fdcf 100644
--- a/hd/pipe/common/src/main/java/com/thhy/general/common/enums/ProListenType.java
+++ b/hd/pipe/common/src/main/java/com/thhy/general/common/enums/ProListenType.java
@@ -6,9 +6,9 @@
public final static String PIPEPLANACTUAL = "pipePlanActual";
- public final static String PIPEMONTHPLANACTUAL = "pipeMonthPlanActual";
+ public final static String STEELUSE = "steelUse";
- public final static String MATERIALWEEKANDMONTHS = "materialWeekAndMonths";
+ public final static String RESTINFO = "restInfo";
public final static String WATERCULINFO = "waterCulInfo";
diff --git a/hd/pipe/common/src/main/java/com/thhy/general/utils/UUIDUtils.java b/hd/pipe/common/src/main/java/com/thhy/general/utils/UUIDUtils.java
index cad5d90..f76a4bd 100644
--- a/hd/pipe/common/src/main/java/com/thhy/general/utils/UUIDUtils.java
+++ b/hd/pipe/common/src/main/java/com/thhy/general/utils/UUIDUtils.java
@@ -46,7 +46,7 @@
public static String createRingNum(Integer num){
StringBuilder sb = new StringBuilder();
- sb.append(addZero(num,6));
+ sb.append(addZero(num,4));
return sb.toString();
}
@@ -74,7 +74,7 @@
}
public static void main(String[] args) {
- System.out.println(createSteelNum("001",70));
+ System.out.println(createRingNum(5));
}
}
diff --git a/hd/pipe/filectrl/src/main/resources/fastdfs.properties b/hd/pipe/filectrl/src/main/resources/fastdfs.properties
index fb50d53..1814e9f 100644
--- a/hd/pipe/filectrl/src/main/resources/fastdfs.properties
+++ b/hd/pipe/filectrl/src/main/resources/fastdfs.properties
@@ -14,4 +14,5 @@
fastdfs.connection_pool.max_count_per_entry = 500
fastdfs.connection_pool.max_idle_time = 3600
fastdfs.connection_pool.max_wait_time_in_ms = 1000
-fastdfs.tracker_servers=60.205.226.79:22122
\ No newline at end of file
+#fastdfs.tracker_servers=60.205.226.79:22122
+fastdfs.tracker_servers=192.168.0.248:22122
\ No newline at end of file
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/controller/MixingPlantNewScheduled.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/controller/MixingPlantNewScheduled.java
index c70f37a..e52fa33 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/controller/MixingPlantNewScheduled.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/controller/MixingPlantNewScheduled.java
@@ -1,6 +1,7 @@
package com.thhy.materials.modules.biz.concret.controller;
+import com.thhy.materials.modules.biz.concret.entity.SysSteel;
import com.thhy.materials.modules.biz.concret.entity.dto.DicetName;
import com.thhy.materials.modules.biz.concret.entity.dto.TMinxingPlant;
import com.thhy.materials.modules.biz.concret.entity.dto.WeighDto;
@@ -238,5 +239,39 @@
}
+ //苏州项目------- 地磅入库 记录,及库存修改 钢筋
+ @Scheduled(fixedRate = 2000000) // 每隔3秒执行一次任务
+ public void weighbridgeSteel() {
+ //查询搅拌 所有类型
+ List<SysSteel> steels = weighService.steelType();
+
+ List<TWeighbridge> tWeighbridges = weighMapper.weighbridgeListType();
+ for (SysSteel steel : steels){
+ for (TWeighbridge weighbridge :tWeighbridges){
+ if(steel.getSteelName().equals(weighbridge.getMatname())&&steel.getSteelModel().equals(weighbridge.getMatmodel())){
+ //净重
+ String jweight = weighbridge.getJweight();
+ HashMap<String, Object> hashMap = new HashMap<>();
+ hashMap.put("id","");
+ hashMap.put("steelId",steel.getSteelId());
+ hashMap.put("stockType",1);
+ hashMap.put("changeStock",jweight);
+ hashMap.put("companyId","031e3dd577e8ed28e96aa69b");
+ BigDecimal b1 = new BigDecimal(jweight);
+ BigDecimal b2 = new BigDecimal(steel.getStock());
+ RLock lock = redissonclient.getLock("materlock");
+ if(!lock.isLocked()) {
+ lock.lock(10, TimeUnit.SECONDS);
+ //插入记录表//苏州项目(入库计入增加)
+ weighMapper.steelRecordIn(hashMap);
+ //更改记录值
+ weighMapper.steelUp(steel.getSteelId(),b1.add(b2).doubleValue());
+ lock.unlock();
+ }
+ weighMapper.weighbridgeUpdateType(weighbridge.getWeighbridgeId());
+ }
+ }
+ }
+ }
}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/controller/TMaterialReleaseController.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/controller/TMaterialReleaseController.java
index a9d2e96..bffdcd8 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/controller/TMaterialReleaseController.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/controller/TMaterialReleaseController.java
@@ -88,6 +88,10 @@
//搅拌站 (2023-11-14) 添加原料 入站
@PostMapping("/mixingInsert")
public BasicResult mixingInsert(@RequestBody HashMap<String,Object> values) {
+ System.out.println("-------");
+ System.out.println("-------");
+ System.out.println("-------");
+ System.out.println(values);
return materialReleaseService.mixingInsert(values);
}
@@ -109,13 +113,51 @@
return materialReleaseService.mixingConsumeIn(values);
}
+ // 拌合站 (2023-12-5) 标识牌, 手动修改 原料消耗 t_mixing_consume -> t_mixing_signboard
+ @PostMapping("/mixingConsumeUp")
+ public BasicResult mixingConsumeUp(@RequestBody Map<String,Object> values){
+ return materialReleaseService.mixingConsumeUp(values);
+ }
+ //搅拌站 删除
+ @PostMapping("/mixingConsumeDel")
+ public BasicResult mixingConsumeDel(@RequestBody HashMap<String,Object> values) {
+ return materialReleaseService.mixingConsumeDel(values);
+ }
+
+
// !!!列表 :拌合站 (2023-11-16) 标识牌, 手动添加 原料消耗 t_mixing_consume -> t_mixing_signboard
@PostMapping("/mixingConsumeList")
public BasicResult mixingConsumeList(@RequestBody Map<String,Object> values){
return materialReleaseService.mixingConsumeList(values);
}
+ // !!!列表 :拌合站 (2023-11-16) 标识牌下拉
+ @GetMapping("/mixingConsumePull")
+ public BasicResult mixingConsumePull(){
+ return materialReleaseService.mixingConsumePull();
+ }
+ //
+ @GetMapping("/siloPull")
+ public BasicResult siloPull(){
+ return materialReleaseService.siloPull();
+ }
+ // web 端拌合站屏 列表
+ @PostMapping("/siloMixingList")
+ public BasicResult siloMixingList(@RequestBody Map<String,Object> values){
+ return materialReleaseService.siloMixingList(values);
+ }
+ //搅拌站 (2023-11-14) 修改
+ @PostMapping("/mixingUpdate")
+ public BasicResult mixingUpdate(@RequestBody HashMap<String,Object> values) {
+ return materialReleaseService.mixingUpdate(values);
+ }
+
+ //搅拌站 删除
+ @PostMapping("/mixingDel")
+ public BasicResult mixingDel(@RequestBody HashMap<String,Object> values) {
+ return materialReleaseService.mixingDel(values);
+ }
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/entity/TMixing.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/entity/TMixing.java
index 0ea19b1..3325f12 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/entity/TMixing.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/entity/TMixing.java
@@ -63,9 +63,11 @@
private Integer stata;
/**
- * 报告编号
+ * id
*/
private String siloId;
+ //拌合站名称
+ private String siloName;
/**
* 报告编号
*/
@@ -74,6 +76,8 @@
* 检验时间
*/
private String inspectDate;
+ //1 展示 2不展示
+ private Integer types;
/**
* This field was generated by MyBatis Generator.
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/entity/TMixingConsume.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/entity/TMixingConsume.java
index 0a243a9..49b95b8 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/entity/TMixingConsume.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/entity/TMixingConsume.java
@@ -1,5 +1,6 @@
package com.thhy.materials.modules.biz.concret.entity;
+import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
@@ -64,6 +65,10 @@
private String dictName;
private Integer star;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private String createTime;
+ //施工单位
+ private String constructionUnit;
/**
* This field was generated by MyBatis Generator.
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/entity/dto/PieceDto.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/entity/dto/PieceDto.java
index f5bc41f..970c692 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/entity/dto/PieceDto.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/entity/dto/PieceDto.java
@@ -11,6 +11,9 @@
private Integer byId;
+ private String bldTim;
+
+ private Integer types;
private List<TRawMaterial> rawMaterials;
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/mapper/TMaterialReleaseMappper.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/mapper/TMaterialReleaseMappper.java
index 06a02d4..574b207 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/mapper/TMaterialReleaseMappper.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/mapper/TMaterialReleaseMappper.java
@@ -26,9 +26,9 @@
List<PieceDto> pieceList(HashMap<String, Object> values);
- List<TRawMaterial> materialRew(Integer byId);
+ List<TRawMaterial> materialRew(@Param("byId") Integer byId,@Param("types")Integer types);
- void mixingInsert(@Idkey("mixingId") HashMap<String, Object> values);
+ void mixingInsert(@Idkey("mixingId") Map<String,Object> mixing);
List<TMixing> mixingList(HashMap<String, Object> values);
@@ -38,7 +38,7 @@
void mixingConsumeIn(@Idkey("mixingSignboardId") Map<String, Object> values);
- void mixingConsumeInTwo(@Idkey("mixingConsumeId") TMixingConsume mixingConsume);
+ void mixingConsumeInTwo(@Idkey("mixingConsumeId") Map<String,Object> mixingConsume);
Integer starInt();
@@ -47,4 +47,22 @@
Integer starIntSig(String mixingSignboardId);
List<TMixingConsume> mixingConsumes(@Param("mixingSignboardId") String mixingSignboardId,@Param("star") Integer star);
+
+ List<TMixingSignboard> mixingConsumePull();
+
+ List<TSilo> siloPull();
+
+ void mixingUpdateType(String siloId);
+
+ List<TMixing> siloMixingList(Map<String, Object> values);
+
+ void mixingUpdate(Map<String, Object> mixing);
+
+ void mixingDel(String mixingId);
+
+ void mixingConsumeUpTwo(Map<String, Object> mixingConsume);
+
+ void mixingConsumeDel(@Param("mixingConsumeId") String mixingConsumeId,@Param("star") Integer star);
+
+ void mixingConsumeDelSign(@Param("mixingSignboardId") String mixingSignboardId,@Param("star") Integer star);
}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/service/TMaterialReleaseService.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/service/TMaterialReleaseService.java
index 8876597..4009295 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/service/TMaterialReleaseService.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/service/TMaterialReleaseService.java
@@ -31,4 +31,18 @@
BasicResult mixingConsumeIn(Map<String, Object> values);
BasicResult mixingConsumeList(Map<String, Object> values);
+
+ BasicResult mixingConsumePull();
+
+ BasicResult siloPull();
+
+ BasicResult siloMixingList(Map<String, Object> values);
+
+ BasicResult mixingUpdate(HashMap<String, Object> values);
+
+ BasicResult mixingDel(HashMap<String, Object> values);
+
+ BasicResult mixingConsumeUp(Map<String, Object> values);
+
+ BasicResult mixingConsumeDel(HashMap<String, Object> values);
}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/service/impl/TMaterialReleaseServiceImpl.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/service/impl/TMaterialReleaseServiceImpl.java
index 8e1befc..778f6af 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/service/impl/TMaterialReleaseServiceImpl.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/service/impl/TMaterialReleaseServiceImpl.java
@@ -1,5 +1,6 @@
package com.thhy.materials.modules.biz.concret.service.impl;
+import com.alibaba.nacos.api.utils.StringUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.thhy.general.common.BasicResult;
@@ -213,7 +214,7 @@
PageHelper.startPage(pageNum,pageSize);
List<PieceDto> pieceDtos = materialReleaseMappper.pieceList(values);
for (PieceDto pieceDto : pieceDtos){
- List<TRawMaterial> rawMaterials = materialReleaseMappper.materialRew(pieceDto.getById());
+ List<TRawMaterial> rawMaterials = materialReleaseMappper.materialRew(pieceDto.getById(),pieceDto.getTypes());
pieceDto.setRawMaterials(rawMaterials);
}
PageInfo<PieceDto> pieceDtoPageInfo = new PageInfo<>(pieceDtos);
@@ -222,8 +223,14 @@
@Override
public BasicResult mixingInsert(HashMap<String, Object> values) {
- values.put("mixingId","");
- materialReleaseMappper.mixingInsert(values);
+ List<Map<String,Object>> mixingList = (List<Map<String,Object>>) values.get("mixingList");
+ for (Map<String,Object> mixing : mixingList){
+ materialReleaseMappper.mixingUpdateType(mixing.get("siloId").toString());
+ mixing.put("types",1);
+ mixing.put("mixingId","");
+ mixing.put("stata",2);
+ materialReleaseMappper.mixingInsert(mixing);
+ }
return BasicResult.success();
}
@@ -250,14 +257,19 @@
@Override
@Transactional
public BasicResult mixingConsumeIn(Map<String, Object> values) {
- values.put("mixingSignboardId","");
- materialReleaseMappper.mixingConsumeIn(values);
+// values.put("mixingSignboardId","");
+// materialReleaseMappper.mixingConsumeIn(values);
String mixingSignboardId = values.get("mixingSignboardId").toString();
Integer star = materialReleaseMappper.starInt();
- List<TMixingConsume> mixingConsumes = (List<TMixingConsume>) values.get("mixingConsume");
- for (TMixingConsume mixingConsume :mixingConsumes){
- mixingConsume.setMixingSignboardId(mixingSignboardId);
- mixingConsume.setStar(star+1);
+ List<Map<String,Object>> mixingConsumes = (List<Map<String,Object>>) values.get("mixingConsume");
+ for (Map<String,Object> mixingConsume :mixingConsumes){
+ mixingConsume.put("mixingSignboardId",mixingSignboardId);
+ if(star!=null){
+ mixingConsume.put("star",star+1);
+ }else {
+ mixingConsume.put("star",1);
+ }
+ //mixingConsume.put("mixingConsumeId","");
materialReleaseMappper.mixingConsumeInTwo(mixingConsume);
}
return BasicResult.success();
@@ -271,10 +283,72 @@
List<TMixingSignboard> mixingSignboards = materialReleaseMappper.mixingSignboardList(values);
for (TMixingSignboard mixingSignboard : mixingSignboards){
Integer star = materialReleaseMappper.starIntSig(mixingSignboard.getMixingSignboardId());
+ //values.put("")
List<TMixingConsume> mixingConsumes = materialReleaseMappper.mixingConsumes(mixingSignboard.getMixingSignboardId(),star);
mixingSignboard.setTMixingConsumes(mixingConsumes);
}
PageInfo<TMixingSignboard> tMixingSignboardPageInfo = new PageInfo<>(mixingSignboards);
return BasicResult.success(tMixingSignboardPageInfo);
}
+
+ @Override
+ public BasicResult mixingConsumePull() {
+ List<TMixingSignboard> mixingSignboards = materialReleaseMappper.mixingConsumePull();
+ return BasicResult.success(mixingSignboards);
+ }
+
+ @Override
+ public BasicResult siloPull() {
+ List<TSilo> silos = materialReleaseMappper.siloPull();
+ return BasicResult.success(silos);
+ }
+
+ @Override
+ public BasicResult siloMixingList(Map<String, Object> values) {
+ List<TMixing> tMixings = materialReleaseMappper.siloMixingList(values);
+ return BasicResult.success(tMixings);
+ }
+
+ @Override
+ public BasicResult mixingUpdate(HashMap<String, Object> values) {
+ List<Map<String,Object>> mixingList = (List<Map<String,Object>>) values.get("mixingList");
+ for (Map<String,Object> mixing : mixingList){
+ materialReleaseMappper.mixingUpdate(mixing);
+ }
+ return BasicResult.success();
+ }
+
+ @Override
+ public BasicResult mixingDel(HashMap<String, Object> values) {
+ List<String> mixingList = (List<String>) values.get("mixingIds");
+ for (String mixingId : mixingList){
+ materialReleaseMappper.mixingDel(mixingId);
+ }
+ return BasicResult.success();
+ }
+
+ @Override
+ public BasicResult mixingConsumeUp(Map<String, Object> values) {
+ String mixingSignboardId = values.get("mixingSignboardId").toString();
+ Integer star = materialReleaseMappper.starInt();
+ materialReleaseMappper.mixingConsumeDelSign(mixingSignboardId,star);
+ List<Map<String,Object>> mixingConsumes = (List<Map<String,Object>>) values.get("mixingConsume");
+ for (Map<String,Object> mixingConsume :mixingConsumes){
+ mixingConsume.put("mixingSignboardId",mixingSignboardId);
+ mixingConsume.put("star",star);
+ //mixingConsume.put("mixingConsumeId","");
+ materialReleaseMappper.mixingConsumeInTwo(mixingConsume);
+ }
+ return BasicResult.success();
+ }
+
+ @Override
+ public BasicResult mixingConsumeDel(HashMap<String, Object> values) {
+ Integer star = Integer.valueOf(values.get("star").toString());
+ List<String> mixingConsumeIds = (List<String>) values.get("mixingConsumeIds");
+ for (String mixingConsumeId : mixingConsumeIds){
+ materialReleaseMappper.mixingConsumeDel(mixingConsumeId,star);
+ }
+ return BasicResult.success();
+ }
}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/dto/MinXingPlantDto.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/dto/MinXingPlantDto.java
index 05a2dea..965d030 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/dto/MinXingPlantDto.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/dto/MinXingPlantDto.java
@@ -11,9 +11,10 @@
public class MinXingPlantDto {
private String dictId;// 管片原料类型(字典表)
private String companyId;//分公司id
- private String supplierId;//供应商ID
+ private String supplierName;//供应商ID
private String startTime;
private String endTime;
private Integer pageNum;
private Integer pageSize;
+
}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/entity/MinXingPlantVo.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/entity/MinXingPlantVo.java
index 145f97a..977222e 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/entity/MinXingPlantVo.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/entity/MinXingPlantVo.java
@@ -27,7 +27,7 @@
private Integer byId;//序号
@Excel(sort = 1,title = "入库时间")
- private String createDate;//字符串的入库时间
+ private Date createDate;//字符串的入库时间
@Excel(sort = 2,title = "供应商")
private String supplierName;//供应商名称
@@ -43,4 +43,17 @@
@Excel(sort = 6,title = "入库人")
private String username;
+
+
+ private String id;
+ private Integer type;
+ private Integer opType;
+ private String materialName;
+ private double materialValue;
+ private double beforeStock;
+ private double afterStock;
+ private String remark;
+ private String pipeId;
+ private String pipeNum;
+
}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/service/impl/MinXingPlantServiceImpl.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/service/impl/MinXingPlantServiceImpl.java
index 869529a..460e94d 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/service/impl/MinXingPlantServiceImpl.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/service/impl/MinXingPlantServiceImpl.java
@@ -8,6 +8,7 @@
import com.thhy.general.config.SysUserInfo;
import com.thhy.general.exception.BasicException;
import com.thhy.general.utils.ExcelUtils;
+import com.thhy.general.utils.UUIDUtils;
import com.thhy.general.utils.UserInfoUtils;
import com.thhy.materials.modules.biz.materialsplan.entity.RsbStatDto;
import com.thhy.materials.modules.biz.materialsplan.entity.StatResultVo;
@@ -59,6 +60,10 @@
String companyId = sysUserInfo.getCompanyId();
minXingPlantVo.setCompanyId(companyId);
minXingPlantVo.setCreateUser(sysUserInfo.getUserId());
+ minXingPlantVo.setId(UUIDUtils.create());
+ minXingPlantVo.setOpType(1);
+ minXingPlantVo.setMaterialValue(minXingPlantVo.getChangeStock());
+ minXingPlantVo.setType(4);
minXingPlantMapper.insert(minXingPlantVo);
RLock lock = redissonClient.getLock("materlock");
try {
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixmateria/service/impl/MixMaterialServiceImpl.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixmateria/service/impl/MixMaterialServiceImpl.java
index d7e3448..1d9bf5f 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixmateria/service/impl/MixMaterialServiceImpl.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixmateria/service/impl/MixMaterialServiceImpl.java
@@ -103,7 +103,7 @@
ml.setMixMaterialId(mixMaterial.getId());
infoMapper.insert(ml);
});
- screenMqUtils.send(ProListenType.MATERIALWEEKANDMONTHS);
+ //screenMqUtils.send(ProListenType.MATERIALWEEKANDMONTHS);
}
/**
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/entity/dto/ProduceExportDto.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/entity/dto/ProduceExportDto.java
index 3eb944c..d1a44e3 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/entity/dto/ProduceExportDto.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/entity/dto/ProduceExportDto.java
@@ -47,5 +47,7 @@
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private String printTime;
+ private String platUserName;
+
}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/service/impl/TSteelProduceServiceImpl.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/service/impl/TSteelProduceServiceImpl.java
index fed3638..23e4dbd 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/service/impl/TSteelProduceServiceImpl.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/service/impl/TSteelProduceServiceImpl.java
@@ -238,7 +238,7 @@
}else {
exportDto.setQualityTime(produceDto.getQualityTime().toString());
}
- exportDto.setRealName(produceDto.getRealName());
+ exportDto.setPlatUserName(produceDto.getPlatUserName());
exportDto.setQualityUserName(produceDto.getQualityUserName());
if(produceDto.getIsQualified()!=null && produceDto.getIsQualified()==1){
@@ -263,7 +263,7 @@
excel.addHeaderAlias("blockName", "块号");
excel.addHeaderAlias("groupName", "生产班组");
excel.addHeaderAlias("printTime", "打印时间");
- excel.addHeaderAlias("realName", "制作人");
+ excel.addHeaderAlias("platUserName", "制作人");
excel.addHeaderAlias("qualityUserName", "质检人");
excel.addHeaderAlias("qualityTime", "质检时间");
excel.addHeaderAlias("isQualified", "是否合格");
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/entity/SuMaterialWarehouseEntity.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/entity/SuMaterialWarehouseEntity.java
index 606c4c6..806751e 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/entity/SuMaterialWarehouseEntity.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suMaterialWarehouse/entity/SuMaterialWarehouseEntity.java
@@ -25,7 +25,7 @@
private String nameOfOrigin;//场地名称
private String materialName;//物料名称
- private Integer incomingQuantity;//进厂数量
+ private Double incomingQuantity;//进厂数量
private Date createTime;//创建时间
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suSteelCageMaterialLabel/controller/SuSteelCageMaterialLabelController.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suSteelCageMaterialLabel/controller/SuSteelCageMaterialLabelController.java
new file mode 100644
index 0000000..5f20734
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suSteelCageMaterialLabel/controller/SuSteelCageMaterialLabelController.java
@@ -0,0 +1,42 @@
+package com.thhy.materials.modules.biz.suSteelCageMaterialLabel.controller;
+
+import com.thhy.general.common.BasicResult;
+import com.thhy.materials.modules.biz.suSteelCageMaterialLabel.entity.SuSteelCageMaterialLabelEntity;
+import com.thhy.materials.modules.biz.suSteelCageMaterialLabel.service.SuSteelCageMaterialLabelService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-29 13:17:17
+ * 钢筋笼标识牌控制层
+ */
+@RestController
+@RequestMapping("suSteelCageMaterialLabel")
+public class SuSteelCageMaterialLabelController {
+
+ @Autowired
+ private SuSteelCageMaterialLabelService service;
+
+ @PostMapping("insertAndUpdate")
+ public BasicResult insertAndUpdate(@RequestBody SuSteelCageMaterialLabelEntity suVo) {
+ return service.insertAndUpdate(suVo);
+ }
+
+ @GetMapping("delete")
+ public BasicResult delete(@RequestParam String id) {
+ return service.delete(id);
+ }
+
+ @PostMapping("selectPageList")
+ public BasicResult selectPageList(@RequestBody Map map) {
+ return service.selectPageList(map);
+ }
+
+ @GetMapping("selectInfo")
+ public BasicResult selectInfo(@RequestParam(required = false) String id,@RequestParam(required = false) String region) {
+ return service.selectInfo(id,region);
+ }
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suSteelCageMaterialLabel/entity/SuSteelCageMaterialLabelEntity.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suSteelCageMaterialLabel/entity/SuSteelCageMaterialLabelEntity.java
new file mode 100644
index 0000000..463dec5
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suSteelCageMaterialLabel/entity/SuSteelCageMaterialLabelEntity.java
@@ -0,0 +1,41 @@
+package com.thhy.materials.modules.biz.suSteelCageMaterialLabel.entity;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.checkerframework.checker.units.qual.A;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-29 13:18:51
+ * 钢筋笼标识牌实体
+ */
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class SuSteelCageMaterialLabelEntity implements Serializable {
+
+ private String id;//
+ private String region;// 区域
+ private String materialName;// 材料名称
+ private String manufacturer;// 生产厂家
+ private String specifications;// 规格型号
+ private String heatNumber;// 炉(批)号
+ private String inNumber;// 进场数量
+ private String reportTime;// 报检日期
+ private String reportNum;// 报告编号
+ private Integer status;// 检验状态
+ private String companyId;// varchar
+ private Integer isUse;
+ private Date createTime;
+ private String createUser;
+ private Date updateTime;
+ private String updateUser;
+ private Integer type;// 录入方式 0自动 1手动
+
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suSteelCageMaterialLabel/mapper/SuSteelCageMaterialLabelMapper.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suSteelCageMaterialLabel/mapper/SuSteelCageMaterialLabelMapper.java
new file mode 100644
index 0000000..61d3877
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suSteelCageMaterialLabel/mapper/SuSteelCageMaterialLabelMapper.java
@@ -0,0 +1,25 @@
+package com.thhy.materials.modules.biz.suSteelCageMaterialLabel.mapper;
+
+import com.thhy.general.common.BasicResult;
+import com.thhy.materials.modules.biz.suSteelCageMaterialLabel.entity.SuSteelCageMaterialLabelEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-29 13:23:53
+ */
+@Mapper
+public interface SuSteelCageMaterialLabelMapper {
+
+ void insertAndUpdate(SuSteelCageMaterialLabelEntity suSteelCageMaterialLabelEntity);
+
+ void delete(String id);
+
+ List<SuSteelCageMaterialLabelEntity> selectPageList(Map map);
+
+ SuSteelCageMaterialLabelEntity selectInfo(@Param("id") String id,@Param("region") String region);
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suSteelCageMaterialLabel/service/SuSteelCageMaterialLabelService.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suSteelCageMaterialLabel/service/SuSteelCageMaterialLabelService.java
new file mode 100644
index 0000000..9dbc345
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suSteelCageMaterialLabel/service/SuSteelCageMaterialLabelService.java
@@ -0,0 +1,22 @@
+package com.thhy.materials.modules.biz.suSteelCageMaterialLabel.service;
+
+import com.thhy.general.common.BasicResult;
+import com.thhy.materials.modules.biz.suSteelCageMaterialLabel.entity.SuSteelCageMaterialLabelEntity;
+
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-29 13:24:06
+ * 钢筋笼材料标识牌接口
+ */
+public interface SuSteelCageMaterialLabelService {
+
+ BasicResult insertAndUpdate(SuSteelCageMaterialLabelEntity suSteelCageMaterialLabelEntity);
+
+ BasicResult delete(String id);
+
+ BasicResult selectPageList(Map map);
+
+ BasicResult selectInfo(String id,String region);
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suSteelCageMaterialLabel/service/impl/SuSteelCageMaterialLabelServiceImpl.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suSteelCageMaterialLabel/service/impl/SuSteelCageMaterialLabelServiceImpl.java
new file mode 100644
index 0000000..e645c6d
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/suSteelCageMaterialLabel/service/impl/SuSteelCageMaterialLabelServiceImpl.java
@@ -0,0 +1,68 @@
+package com.thhy.materials.modules.biz.suSteelCageMaterialLabel.service.impl;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.thhy.general.common.BasicResult;
+import com.thhy.general.config.SysUserInfo;
+import com.thhy.general.utils.UUIDUtils;
+import com.thhy.general.utils.UserInfoUtils;
+import com.thhy.materials.modules.biz.suSteelCageMaterialLabel.entity.SuSteelCageMaterialLabelEntity;
+import com.thhy.materials.modules.biz.suSteelCageMaterialLabel.mapper.SuSteelCageMaterialLabelMapper;
+import com.thhy.materials.modules.biz.suSteelCageMaterialLabel.service.SuSteelCageMaterialLabelService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-29 13:26:31
+ * 钢筋笼材料标示牌实现
+ */
+@Service
+public class SuSteelCageMaterialLabelServiceImpl implements SuSteelCageMaterialLabelService {
+
+ @Autowired
+ private SuSteelCageMaterialLabelMapper suSteelCageMaterialLabelMapper;
+
+ @Override
+ public BasicResult insertAndUpdate(SuSteelCageMaterialLabelEntity suVo) {
+ SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+ String userId = sysUserInfo.getUserId();
+ String companyId = sysUserInfo.getCompanyId();
+ if (suVo.getId() == null){
+ suVo.setId(UUIDUtils.create());
+ suVo.setCreateTime(new Date());
+ suVo.setCreateUser(userId);
+ suVo.setCompanyId(companyId);
+ }else {
+ suVo.setUpdateTime(new Date());
+ suVo.setUpdateUser(userId);
+ }
+ suSteelCageMaterialLabelMapper.insertAndUpdate(suVo);
+ return BasicResult.success();
+ }
+
+ @Override
+ public BasicResult delete(String id) {
+ suSteelCageMaterialLabelMapper.delete(id);
+ return BasicResult.success();
+ }
+
+ @Override
+ public BasicResult selectPageList(Map map) {
+ SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+ String companyId = sysUserInfo.getCompanyId();
+ int pageNum = (int) map.get("pageNum");
+ int pageSize = (int) map.get("pageSize");
+ map.put("companyId",companyId);
+ PageHelper.startPage(pageNum,pageSize);
+ return BasicResult.success(new PageInfo<>(suSteelCageMaterialLabelMapper.selectPageList(map)));
+ }
+
+ @Override
+ public BasicResult selectInfo(String id, String region) {
+ return BasicResult.success(suSteelCageMaterialLabelMapper.selectInfo(id,region ));
+ }
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/controller/WeighController.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/controller/WeighController.java
index c782925..d6c047d 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/controller/WeighController.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/controller/WeighController.java
@@ -8,10 +8,7 @@
import com.thhy.materials.modules.biz.weigh.service.WeighService;
import org.omg.CORBA.StringHolder;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.util.Map;
@@ -40,6 +37,35 @@
return weighService.weighbridgeList(values);
}
+ //原料库存
+ @PostMapping("/headThingJsInventory")
+ public BasicResult headThingJsInventory(){
+ return weighService.headThingJsInventory();
+ }
+ //料仓列表
+ @PostMapping("/materialWarehouseRecordList")
+ public BasicResult materialWarehouseRecordList(@RequestBody Map<String,Object> values){
+ return weighService.materialWarehouseRecordList(values);
+ }
-
+ //料仓添加进仓
+ @PostMapping("/materialWarehouseRecordInsert")
+ public BasicResult materialWarehouseRecordInsert(@RequestBody Map<String,Object> values){
+ return weighService.materialWarehouseRecordInsert(values);
+ }
+ //料仓修改进仓
+ @PostMapping("/materialWarehouseRecordUpdate")
+ public BasicResult materialWarehouseRecordUpdate(@RequestBody Map<String,Object> values){
+ return weighService.materialWarehouseRecordUpdate(values);
+ }
+ //删除
+ @GetMapping("/materialWarehouseRecordDel")
+ public BasicResult materialWarehouseRecordDel(@RequestParam String id){
+ return weighService.materialWarehouseRecordDel(id);
+ }
+ // 环境监测 thingjs 数据
+ @PostMapping("/headThingJsDateValue")
+ public BasicResult headThingJsDateValue(){
+ return weighService.headThingJsDateValue();
+ }
}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/entity/TSuMaterialWarehouseRecord.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/entity/TSuMaterialWarehouseRecord.java
new file mode 100644
index 0000000..fcbef74
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/entity/TSuMaterialWarehouseRecord.java
@@ -0,0 +1,103 @@
+package com.thhy.materials.modules.biz.weigh.entity;
+
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@Getter
+@Setter
+@ToString
+public class TSuMaterialWarehouseRecord implements Serializable {
+ /**
+ *
+ */
+ private String id;
+
+ /**
+ * 桌号
+ */
+ private Integer tableNum;
+
+ /**
+ * 产地名称
+ */
+ private String nameOfOrigin;
+
+ /**
+ * 物料名称
+ */
+ private String materialName;
+
+ /**
+ * 进厂数量
+ */
+ private Double incomingQuantity;
+
+ /**
+ * 进厂日期
+ */
+ private Date inTime;
+
+ /**
+ * 检验状态
+ */
+ private Integer status;
+
+ /**
+ * 检验日期
+ */
+ private Date inspectionDate;
+
+ /**
+ * 报告编号
+ */
+ private String reportNumber;
+
+ /**
+ * 创建日期
+ */
+ private Date createTime;
+
+ /**
+ *
+ */
+ private String createUser;
+
+ /**
+ *
+ */
+ private Date updateTime;
+
+ /**
+ *
+ */
+ private String updateUser;
+
+ /**
+ *
+ */
+ private Integer isUse;
+
+ /**
+ *
+ */
+ private String companyId;
+
+ /**
+ * 入库方式 1手动 2自动
+ */
+ private Integer type;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database table t_su_material_warehouse_record
+ *
+ * @mbg.generated Thu Nov 30 14:55:49 CST 2023
+ */
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/entity/dto/AssistGoodDto.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/entity/dto/AssistGoodDto.java
new file mode 100644
index 0000000..f317633
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/entity/dto/AssistGoodDto.java
@@ -0,0 +1,16 @@
+package com.thhy.materials.modules.biz.weigh.entity.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+@Data
+public class AssistGoodDto implements Serializable {
+ //辅材名称
+ private String assistName;
+ //辅材类型
+ private String assistType;
+ //辅材库存
+ private String stock;
+
+
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/entity/dto/MaterialStockRecordDto.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/entity/dto/MaterialStockRecordDto.java
new file mode 100644
index 0000000..a229fcc
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/entity/dto/MaterialStockRecordDto.java
@@ -0,0 +1,14 @@
+package com.thhy.materials.modules.biz.weigh.entity.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+@Data
+public class MaterialStockRecordDto implements Serializable {
+ //原料名称
+ private String materialName;
+ //原料值
+ private String materialValue;
+
+
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/entity/dto/MouldDto.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/entity/dto/MouldDto.java
new file mode 100644
index 0000000..b3b9fbc
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/entity/dto/MouldDto.java
@@ -0,0 +1,15 @@
+package com.thhy.materials.modules.biz.weigh.entity.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+@Data
+public class MouldDto implements Serializable {
+ //模具编号
+ private String mouldNum;
+ //使用状态
+ private String free;
+ //次数
+ private String currentCycleTime;
+
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/entity/dto/SteelDto.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/entity/dto/SteelDto.java
new file mode 100644
index 0000000..dbc5e11
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/entity/dto/SteelDto.java
@@ -0,0 +1,16 @@
+package com.thhy.materials.modules.biz.weigh.entity.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+@Data
+public class SteelDto implements Serializable {
+ //钢筋名
+ private String steelName;
+ //钢筋型号
+ private String steelModel;
+ //库存
+ private String stock;
+
+
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/mapper/WeighMapper.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/mapper/WeighMapper.java
index 9b87258..e1d4fb8 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/mapper/WeighMapper.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/mapper/WeighMapper.java
@@ -1,13 +1,21 @@
package com.thhy.materials.modules.biz.weigh.mapper;
import com.thhy.general.annotations.Idkey;
+import com.thhy.materials.modules.biz.concret.entity.SysSteel;
import com.thhy.materials.modules.biz.concret.entity.dto.DicetName;
import com.thhy.materials.modules.biz.concret.entity.dto.TMinxingPlant;
import com.thhy.materials.modules.biz.concret.entity.dto.WeighDto;
+import com.thhy.materials.modules.biz.helmet.entity.TDataSmock;
+import com.thhy.materials.modules.biz.helmet.entity.TDataValue;
import com.thhy.materials.modules.biz.video.entity.TVideoNo;
import com.thhy.materials.modules.biz.weigh.dto.QueryWeighDto;
+import com.thhy.materials.modules.biz.weigh.entity.TSuMaterialWarehouseRecord;
import com.thhy.materials.modules.biz.weigh.entity.TWeighbridge;
import com.thhy.materials.modules.biz.weigh.entity.WeighVo;
+import com.thhy.materials.modules.biz.weigh.entity.dto.AssistGoodDto;
+import com.thhy.materials.modules.biz.weigh.entity.dto.MaterialStockRecordDto;
+import com.thhy.materials.modules.biz.weigh.entity.dto.MouldDto;
+import com.thhy.materials.modules.biz.weigh.entity.dto.SteelDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.PostMapping;
@@ -81,4 +89,34 @@
void materialStockRecordIns(HashMap<String, Object> hashMap);
void weighbridgeUpdateType(Integer weighbridgeId);
+
+ List<MaterialStockRecordDto> materialStockInventory();
+
+ List<SteelDto> steelInventory();
+
+ List<AssistGoodDto> assistGoodInventory();
+
+ List<MouldDto> mouldInventory();
+
+ List<SysSteel> steelType();
+
+ void steelRecordIn(@Idkey("id") HashMap<String, Object> hashMap);
+
+ void steelUp(@Param("steelId") String steelId,@Param("doubleValue") double doubleValue);
+
+ List<TSuMaterialWarehouseRecord> materialWarehouseRecordList(Map<String, Object> values);
+
+ void materialWarehouseRecordInsert(@Idkey("id") Map<String, Object> values);
+
+ void materialWarehouseRecordUpdate(Map<String, Object> values);
+
+ void materialWarehouseRecordDel(String id);
+
+ List<TDataValue> headThingJsDateValue();
+
+ TDataSmock headThingJsDateSmock();
+
+ TDataValue headThingJsDateValueByOne();
+
+ List<TDataValue> headThingJsDateValueMonth();
}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/service/WeighService.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/service/WeighService.java
index 895dc22..169a7af 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/service/WeighService.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/service/WeighService.java
@@ -1,6 +1,7 @@
package com.thhy.materials.modules.biz.weigh.service;
import com.thhy.general.common.BasicResult;
+import com.thhy.materials.modules.biz.concret.entity.SysSteel;
import com.thhy.materials.modules.biz.concret.entity.dto.DicetName;
import com.thhy.materials.modules.biz.concret.entity.dto.TMinxingPlant;
import com.thhy.materials.modules.biz.concret.entity.dto.WeighDto;
@@ -40,4 +41,17 @@
BasicResult weighbridgeList(Map<String, Object> values);
+ BasicResult headThingJsInventory();
+
+ List<SysSteel> steelType();
+
+ BasicResult materialWarehouseRecordList(Map<String, Object> values);
+
+ BasicResult materialWarehouseRecordInsert(Map<String, Object> values);
+
+ BasicResult materialWarehouseRecordUpdate(Map<String, Object> values);
+
+ BasicResult materialWarehouseRecordDel(String id);
+
+ BasicResult headThingJsDateValue();
}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/service/impl/WeighServiceImpl.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/service/impl/WeighServiceImpl.java
index 3e1f773..d50bf9c 100644
--- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/service/impl/WeighServiceImpl.java
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/service/impl/WeighServiceImpl.java
@@ -3,18 +3,27 @@
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.thhy.general.common.BasicResult;
+import com.thhy.materials.modules.biz.concret.entity.SysSteel;
import com.thhy.materials.modules.biz.concret.entity.dto.DicetName;
import com.thhy.materials.modules.biz.concret.entity.dto.TMinxingPlant;
import com.thhy.materials.modules.biz.concret.entity.dto.WeighDto;
+import com.thhy.materials.modules.biz.helmet.entity.TDataSmock;
+import com.thhy.materials.modules.biz.helmet.entity.TDataValue;
import com.thhy.materials.modules.biz.weigh.dto.QueryWeighDto;
+import com.thhy.materials.modules.biz.weigh.entity.TSuMaterialWarehouseRecord;
import com.thhy.materials.modules.biz.weigh.entity.TWeighbridge;
import com.thhy.materials.modules.biz.weigh.entity.WeighVo;
+import com.thhy.materials.modules.biz.weigh.entity.dto.AssistGoodDto;
+import com.thhy.materials.modules.biz.weigh.entity.dto.MaterialStockRecordDto;
+import com.thhy.materials.modules.biz.weigh.entity.dto.MouldDto;
+import com.thhy.materials.modules.biz.weigh.entity.dto.SteelDto;
import com.thhy.materials.modules.biz.weigh.mapper.WeighMapper;
import com.thhy.materials.modules.biz.weigh.service.WeighService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -95,4 +104,76 @@
PageInfo<TWeighbridge> tWeighbridgePageInfo = new PageInfo<>(weighbridges);
return BasicResult.success(tWeighbridgePageInfo);
}
+
+ @Override
+ public BasicResult headThingJsInventory() {
+
+ //原料库存
+ List<MaterialStockRecordDto> materialStockDtos =weighMapper.materialStockInventory();
+ //钢筋
+ List<SteelDto> steelDtos = weighMapper.steelInventory();
+ //辅材
+ List<AssistGoodDto> assistGoodDtos = weighMapper.assistGoodInventory();
+
+ //模具
+ List<MouldDto> mouldDtos = weighMapper.mouldInventory();
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("materialStockDtos",materialStockDtos);
+ map.put("steelDtos",steelDtos);
+ map.put("assistGoodDtos",assistGoodDtos);
+ map.put("mouldDtos",mouldDtos);
+ return BasicResult.success(map);
+ }
+
+ @Override
+ public List<SysSteel> steelType() {
+ return weighMapper.steelType();
+ }
+
+ @Override
+ public BasicResult materialWarehouseRecordList(Map<String, Object> values) {
+ Integer pageSize = Integer.valueOf(values.get("pageSize").toString());
+ Integer pageNum = Integer.valueOf(values.get("pageNum").toString());
+ PageHelper.startPage(pageNum,pageSize);
+ List<TSuMaterialWarehouseRecord> records = weighMapper.materialWarehouseRecordList(values);
+ PageInfo<TSuMaterialWarehouseRecord> recordPageInfo = new PageInfo<>(records);
+ return BasicResult.success(recordPageInfo);
+ }
+
+ @Override
+ public BasicResult materialWarehouseRecordInsert(Map<String, Object> values) {
+ values.put("id","");
+ weighMapper.materialWarehouseRecordInsert(values);
+ return BasicResult.success();
+ }
+
+ @Override
+ public BasicResult materialWarehouseRecordUpdate(Map<String, Object> values) {
+ weighMapper.materialWarehouseRecordUpdate(values);
+ return BasicResult.success();
+ }
+
+ @Override
+ public BasicResult materialWarehouseRecordDel(String id) {
+ weighMapper.materialWarehouseRecordDel(id);
+ return BasicResult.success();
+ }
+
+ @Override
+ public BasicResult headThingJsDateValue() {
+ //每小时数据值
+ List<TDataValue> tDataValues = weighMapper.headThingJsDateValue();
+ //烟尘 开关
+ TDataSmock tDataSmock = weighMapper.headThingJsDateSmock();
+ //环境最新一条
+ TDataValue tDataValue = weighMapper.headThingJsDateValueByOne();
+ //pm10 pm25 本月数据
+ List<TDataValue> tDataValuesMonth = weighMapper.headThingJsDateValueMonth();
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("tDataValues",tDataValues);
+ map.put("tDataSmock",tDataSmock);
+ map.put("tDataValue",tDataValue);
+ map.put("tDataValuesMonth",tDataValuesMonth);
+ return BasicResult.success(map);
+ }
}
diff --git a/hd/pipe/materialsManage/src/main/resources/mapping/MinXingPlantMapper.xml b/hd/pipe/materialsManage/src/main/resources/mapping/MinXingPlantMapper.xml
index 89404d4..66cddb8 100644
--- a/hd/pipe/materialsManage/src/main/resources/mapping/MinXingPlantMapper.xml
+++ b/hd/pipe/materialsManage/src/main/resources/mapping/MinXingPlantMapper.xml
@@ -1,125 +1,110 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.thhy.materials.modules.biz.mixingstationstorage.mapper.MinXingPlantMapper">
- <resultMap id="BaseResultMap" type="com.thhy.materials.modules.biz.mixingstationstorage.entity.MinXingPlantVo">
-
- <id column="mixing_plant_id" jdbcType="VARCHAR" property="mixingPlantId" />
- <result column="dict_id" jdbcType="VARCHAR" property="dictId" />
- <result column="stock_type" jdbcType="INTEGER" property="stockType" />
- <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
- <result column="change_stock" jdbcType="DOUBLE" property="changeStock" />
- <result column="supplier_id" jdbcType="VARCHAR" property="supplierId" />
- <result column="is_use" jdbcType="INTEGER" property="isUse" />
- <result column="company_id" jdbcType="VARCHAR" property="companyId" />
- <result column="car_name" jdbcType="VARCHAR" property="carName" />
- <result column="pro_id" jdbcType="VARCHAR" property="proId" />
- <result column="create_user" jdbcType="VARCHAR" property="createUser" />
- <result column="by_id" jdbcType="INTEGER" property="byId" />
- </resultMap>
<insert id="insert" >
- insert into t_minxing_plant
- <trim prefix="(" suffix=")" suffixOverrides=",">
- <if test="mixingPlantId != null">
- mixing_plant_id,
- </if>
- <if test="dictId != null">
- dict_id,
- </if>
- <if test="stockType != null">
- stock_type,
- </if>
- <if test="createTime != null">
- create_time,
- </if>
- <if test="changeStock != null">
- change_stock,
- </if>
- <if test="supplierId != null">
- supplier_id,
- </if>
- <if test="isUse != null">
- is_use,
- </if>
- <if test="companyId != null">
- company_id,
- </if>
- <if test="carName != null">
- car_name,
- </if>
- <if test="proId != null">
- pro_id,
- </if>
- <if test="createUser != null">
- create_user,
- </if>
- <if test="byId != null">
- by_id,
- </if>
- </trim>
- <trim prefix="values (" suffix=")" suffixOverrides=",">
- <if test="mixingPlantId != null">
- #{mixingPlantId},
- </if>
- <if test="dictId != null">
- #{dictId},
- </if>
- <if test="stockType != null">
- #{stockType},
- </if>
- <if test="createTime != null">
- #{createTime},
- </if>
- <if test="changeStock != null">
- #{changeStock},
- </if>
- <if test="supplierId != null">
- #{supplierId},
- </if>
- <if test="isUse != null">
- #{isUse},
- </if>
- <if test="companyId != null">
- #{companyId},
- </if>
- <if test="carName != null">
- #{carName},
- </if>
- <if test="proId != null">
- #{proId},
- </if>
- <if test="createUser != null">
- #{createUser},
- </if>
- <if test="byId != null">
- #{byId},
- </if>
- </trim>
+ insert into t_material_stock_record
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ id,
+ </if>
+ <if test="createDate != null">
+ create_date,
+ </if>
+ <if test="type != null">
+ type,
+ </if>
+ <if test="opType != null">
+ op_type,
+ </if>
+ <if test="dictId != null">
+ material_name,
+ </if>
+ <if test="materialValue != null">
+ material_value,
+ </if>
+ <if test="beforeStock != null">
+ before_stock,
+ </if>
+ <if test="afterStock != null">
+ after_stock,
+ </if>
+ <if test="companyId != null">
+ company_id,
+ </if>
+ <if test="remark != null">
+ remark,
+ </if>
+ <if test="createUser != null">
+ create_user,
+ </if>
+ <if test="supplierName != null">
+ supplier_name,
+ </if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ #{id},
+ </if>
+ <if test="createDate != null">
+ #{createDate},
+ </if>
+ <if test="type != null">
+ #{type},
+ </if>
+ <if test="opType != null">
+ #{opType},
+ </if>
+ <if test="dictId != null">
+ #{dictId},
+ </if>
+ <if test="materialValue != null">
+ #{materialValue},
+ </if>
+ <if test="beforeStock != null">
+ #{beforeStock},
+ </if>
+ <if test="afterStock != null">
+ #{afterStock},
+ </if>
+ <if test="companyId != null">
+ #{companyId},
+ </if>
+ <if test="remark != null">
+ #{remark},
+ </if>
+ <if test="createUser != null">
+ #{createUser},
+ </if>
+ <if test="supplierName != null">
+ #{supplierName},
+ </if>
+ </trim>
</insert>
<select id="selectAllList" parameterType="com.thhy.materials.modules.biz.mixingstationstorage.dto.MinXingPlantDto" resultType="com.thhy.materials.modules.biz.mixingstationstorage.entity.MinXingPlantVo">
- SELECT
- DATE_FORMAT(a.create_time, '%Y-%m-%d %H:%i:%S') createDate,
- c.supplier_name supplierName,
- b.dict_name dictName,
- a.change_stock changeStock,
- d.real_name username,
- '吨' unit
- FROM t_minxing_plant a
- LEFT JOIN sys_dict b ON b.dict_id = a.dict_id
- LEFT JOIN sys_supplier c ON c.id = a.supplier_id
- LEFT JOIN sys_users d ON d.user_id = a.create_user
- WHERE a.is_use = 1 and company_id = #{companyId}
- <if test="dictId != null and dictId != ''">
- AND a.dict_id = #{dictId}
- </if>
- <if test="supplierId != null and supplierId != ''">
- AND a.supplier_id = #{supplierId}
- </if>
- <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
- AND a.create_time BETWEEN #{startTime} AND #{endTime}
- </if>
- order by a.create_time desc
+ SELECT
+ DATE_FORMAT(a.create_date, '%Y-%m-%d %H:%i:%S') createDate,
+ b.dict_name dictName,
+ a.material_value changeStock,
+ d.real_name username,
+ '吨' unit,
+ a.supplier_name supplierName
+ FROM t_material_stock_record a
+ LEFT JOIN sys_dict b ON b.dict_id = a.material_name
+ LEFT JOIN sys_users d ON d.user_id = a.create_user
+ where
+ a.op_type =1 and a.company_id = #{companyId}
+ <if test="dictId != null and dictId != ''">
+ AND a.material_name = #{dictId}
+ </if>
+ <if test="supplierName != null and supplierName != ''">
+ AND a.supplier_name regexp #{supplierName}
+ </if>
+ <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
+ AND a.create_date BETWEEN #{startTime} AND #{endTime}
+ </if>
+ order by a.create_date desc
</select>
<!-- 库存管理 -->
@@ -189,6 +174,9 @@
<if test="createUser != null">
create_user,
</if>
+ <if test="supplierName != null">
+ supplier_name,
+ </if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@@ -224,6 +212,9 @@
<if test="createUser != null">
#{createUser},
</if>
+ <if test="supplierName != null">
+ #{supplierName},
+ </if>
</trim>
</insert>
<select id="selectInventoryRecordList" parameterType="com.thhy.materials.modules.biz.mixingstationstorage.dto.TMaterialStockRecordDto" resultType="com.thhy.materials.modules.biz.mixingstationstorage.entity.TMaterialStockRecordVo">
diff --git a/hd/pipe/materialsManage/src/main/resources/mapping/SuMaterialWarehouseMapper.xml b/hd/pipe/materialsManage/src/main/resources/mapping/SuMaterialWarehouseMapper.xml
index c85c199..93b3eff 100644
--- a/hd/pipe/materialsManage/src/main/resources/mapping/SuMaterialWarehouseMapper.xml
+++ b/hd/pipe/materialsManage/src/main/resources/mapping/SuMaterialWarehouseMapper.xml
@@ -66,7 +66,7 @@
#{materialName,jdbcType=VARCHAR},
</if>
<if test="incomingQuantity != null">
- #{incomingQuantity,jdbcType=INTEGER},
+ #{incomingQuantity,jdbcType=DOUBLE},
</if>
<if test="status != null">
#{status,jdbcType=INTEGER},
@@ -111,7 +111,7 @@
material_name = #{materialName,jdbcType=VARCHAR},
</if>
<if test="incomingQuantity != null">
- incoming_quantity = #{incomingQuantity,jdbcType=INTEGER},
+ incoming_quantity = #{incomingQuantity,jdbcType=DOUBLE},
</if>
<if test="status != null">
`status` = #{status,jdbcType=INTEGER},
diff --git a/hd/pipe/materialsManage/src/main/resources/mapping/SuSteelCageMaterialLabelMapper.xml b/hd/pipe/materialsManage/src/main/resources/mapping/SuSteelCageMaterialLabelMapper.xml
new file mode 100644
index 0000000..61f22a1
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/resources/mapping/SuSteelCageMaterialLabelMapper.xml
@@ -0,0 +1,238 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.thhy.materials.modules.biz.suSteelCageMaterialLabel.mapper.SuSteelCageMaterialLabelMapper">
+
+
+ <insert id="insertAndUpdate">
+ insert into t_su_steel_cage_material_label
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ id,
+ </if>
+ <if test="region != null">
+ region,
+ </if>
+ <if test="materialName != null">
+ materialName,
+ </if>
+ <if test="manufacturer != null">
+ manufacturer,
+ </if>
+ <if test="specifications != null">
+ specifications,
+ </if>
+ <if test="heatNumber != null">
+ heatNumber,
+ </if>
+ <if test="inNumber != null">
+ inNumber,
+ </if>
+ <if test="reportTime != null">
+ reportTime,
+ </if>
+ <if test="reportNum != null">
+ reportNum,
+ </if>
+ <if test="status != null">
+ status,
+ </if>
+ <if test="companyId != null">
+ companyId,
+ </if>
+ <if test="isUse != null">
+ isUse,
+ </if>
+ <if test="createTime != null">
+ createTime,
+ </if>
+ <if test="createUser != null">
+ createUser,
+ </if>
+ <if test="updateTime != null">
+ updateTime,
+ </if>
+ <if test="updateUser != null">
+ updateUser,
+ </if>
+ <if test="type != null">
+ type,
+ </if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ <if test="id != null">
+ #{id,jdbcType=VARCHAR},
+ </if>
+ <if test="region != null">
+ #{region,jdbcType=VARCHAR},
+ </if>
+ <if test="materialName != null">
+ #{materialName,jdbcType=VARCHAR},
+ </if>
+ <if test="manufacturer != null">
+ #{manufacturer,jdbcType=VARCHAR},
+ </if>
+ <if test="specifications != null">
+ #{specifications,jdbcType=VARCHAR},
+ </if>
+ <if test="heatNumber != null">
+ #{heatNumber,jdbcType=VARCHAR},
+ </if>
+ <if test="inNumber != null">
+ #{inNumber,jdbcType=VARCHAR},
+ </if>
+ <if test="reportTime != null">
+ #{reportTime,jdbcType=VARCHAR},
+ </if>
+ <if test="reportNum != null">
+ #{reportNum,jdbcType=VARCHAR},
+ </if>
+ <if test="status != null">
+ #{status,jdbcType=INTEGER},
+ </if>
+ <if test="companyId != null">
+ #{companyId,jdbcType=VARCHAR},
+ </if>
+ <if test="isUse != null">
+ #{isUse,jdbcType=INTEGER},
+ </if>
+ <if test="createTime != null">
+ #{createTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="createUser != null">
+ #{createUser,jdbcType=VARCHAR},
+ </if>
+ <if test="updateTime != null">
+ #{updateTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="updateUser != null">
+ #{updateUser,jdbcType=VARCHAR},
+ </if>
+ <if test="type != null">
+ #{type,jdbcType=INTEGER},
+ </if>
+ </if>
+
+ </trim>
+ on duplicate key update
+ <trim suffixOverrides=",">
+ <if test="region != null">
+ region = #{region,jdbcType=VARCHAR},
+ </if>
+ <if test="materialName != null">
+ materialName = #{materialName,jdbcType=VARCHAR},
+ </if>
+ <if test="manufacturer != null">
+ manufacturer = #{manufacturer,jdbcType=VARCHAR},
+ </if>
+ <if test="specifications != null">
+ specifications = #{specifications,jdbcType=VARCHAR},
+ </if>
+ <if test="heatNumber != null">
+ heatNumber = #{heatNumber,jdbcType=VARCHAR},
+ </if>
+ <if test="inNumber != null">
+ inNumber = #{inNumber,jdbcType=VARCHAR},
+ </if>
+ <if test="reportTime != null">
+ reportTime = #{reportTime,jdbcType=VARCHAR},
+ </if>
+ <if test="reportNum != null">
+ reportNum = #{reportNum,jdbcType=VARCHAR},
+ </if>
+ <if test="status != null">
+ status = #{status,jdbcType=INTEGER},
+ </if>
+ <if test="companyId != null">
+ companyId = #{companyId,jdbcType=VARCHAR},
+ </if>
+ <if test="isUse != null">
+ isUse = #{isUse,jdbcType=INTEGER},
+ </if>
+ <if test="createTime != null">
+ createTime = #{createTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="createUser != null">
+ createUser = #{createUser,jdbcType=VARCHAR},
+ </if>
+ <if test="updateTime != null">
+ updateTime = #{updateTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="updateUser != null">
+ updateUser = #{updateUser,jdbcType=VARCHAR},
+ </if>
+ <if test="type != null">
+ type = #{type,jdbcType=INTEGER},
+ </if>
+ </trim>
+ </insert>
+
+ <delete id="delete">
+ update t_su_steel_cage_material_label set isUse = 0 where id = #{id,jdbcType=VARCHAR}
+ </delete>
+
+ <select id="selectPageList" resultType="com.thhy.materials.modules.biz.suSteelCageMaterialLabel.entity.SuSteelCageMaterialLabelEntity">
+ SELECT
+ t.id,
+ t.region,
+ t.materialName,
+ t.manufacturer,
+ t.specifications,
+ t.heatNumber,
+ t.inNumber,
+ t.reportTime,
+ t.reportNum,
+ t.status,
+ t.companyId,
+ t.isUse,
+ t.createTime,
+ t.createUser,
+ t.updateTime,
+ t.updateUser,
+ t.type
+ FROM `t_su_steel_cage_material_label` t
+ where t.isUse = 1 and t.companyId = #{companyId}
+ <if test="region != null and region !=''">
+ and t.region = #{region}
+ </if>
+ <if test="type != null and type != ''">
+ and t.type = #{type}
+ </if>
+ <if test="startTime != null and endTime != null">
+ and t.createTime between #{startTime} and #{endTime}
+ </if>
+ order by t.createTime desc
+ </select>
+
+ <select id="selectInfo" resultType="com.thhy.materials.modules.biz.suSteelCageMaterialLabel.entity.SuSteelCageMaterialLabelEntity">
+ SELECT
+ t.id,
+ t.region,
+ t.materialName,
+ t.manufacturer,
+ t.specifications,
+ t.heatNumber,
+ t.inNumber,
+ t.reportTime,
+ t.reportNum,
+ t.status,
+ t.companyId,
+ t.isUse,
+ t.createTime,
+ t.createUser,
+ t.updateTime,
+ t.updateUser,
+ t.type
+ FROM `t_su_steel_cage_material_label` t
+ where t.isUse = 1
+ <if test="id != null and id !=''">
+ and t.id = #{id}
+ </if>
+ <if test="region != null and region !=''">
+ and t.region = #{region}
+ </if>
+ order by t.createTime desc
+
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/hd/pipe/materialsManage/src/main/resources/mapping/TMaterialReleaseMapper.xml b/hd/pipe/materialsManage/src/main/resources/mapping/TMaterialReleaseMapper.xml
index 1c3c6d1..179b10e 100644
--- a/hd/pipe/materialsManage/src/main/resources/mapping/TMaterialReleaseMapper.xml
+++ b/hd/pipe/materialsManage/src/main/resources/mapping/TMaterialReleaseMapper.xml
@@ -147,10 +147,16 @@
where material_release_id=#{materialReleaseId}
</update>
<select id="pieceList" resultType="com.thhy.materials.modules.biz.concret.entity.dto.PieceDto">
- select by_id as byId from t_piece
+ select by_id as byId,
+ BldTim as bldTim,
+ types as types
+ from t_piece
where 1=1
<if test="byId!=null and byId!='' ">
and by_id=#{byId}
+ </if>
+ <if test="types!=null and types!=''">
+ and types=#{types}
</if>
ORDER BY by_id desc
</select>
@@ -161,7 +167,7 @@
PlanAmnt as planamnt,
FactAmnt as factamnt
from t_raw_material
- where Piece=#{byId}
+ where Piece=#{byId} and types=#{types}
</select>
<insert id="mixingInsert" >
insert into t_mixing
@@ -205,6 +211,9 @@
<if test="inspectDate != null">
inspect_date,
</if>
+ <if test="types != null">
+ types,
+ </if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="mixingId != null">
@@ -246,6 +255,9 @@
<if test="inspectDate != null">
#{inspectDate,jdbcType=VARCHAR},
</if>
+ <if test="types != null">
+ #{types},
+ </if>
</trim>
</insert>
<select id="mixingList" resultType="com.thhy.materials.modules.biz.concret.entity.TMixing">
@@ -279,9 +291,10 @@
report_number as reportNumber,
stata as stata,
silo_id as siloId,
- percentage as percentage
+ percentage as percentage,
+ inspect_date as inspectDate
from t_mixing where silo_id=#{siloId}
- order by in_date desc limit 0,1
+ and types=1
</select>
<select id="siloList" resultType="com.thhy.materials.modules.biz.concret.entity.TSilo">
select
@@ -321,12 +334,10 @@
</if>
</trim>
</insert>
- <insert id="mixingConsumeInTwo" parameterType="com.thhy.materials.modules.biz.concret.entity.TMixingConsume">
+ <insert id="mixingConsumeInTwo" >
insert into t_mixing_consume
<trim prefix="(" suffix=")" suffixOverrides=",">
- <if test="mixingConsumeId != null">
mixing_consume_id,
- </if>
<if test="dictId != null">
dict_id,
</if>
@@ -357,11 +368,15 @@
<if test="star != null">
star,
</if>
+ <if test="constructionUnit != null">
+ construction_unit,
+ </if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
- <if test="mixingConsumeId != null">
- #{mixingConsumeId,jdbcType=VARCHAR},
- </if>
+<!-- <if test="mixingConsumeId != null">-->
+<!-- #{mixingConsumeId,jdbcType=VARCHAR},-->
+<!-- </if>-->
+ REPLACE(UUID(),'-',''),
<if test="dictId != null">
#{dictId,jdbcType=VARCHAR},
</if>
@@ -392,6 +407,9 @@
<if test="star != null">
#{star},
</if>
+ <if test="constructionUnit != null">
+ #{constructionUnit},
+ </if>
</trim>
</insert>
<select id="starInt" resultType="java.lang.Integer">
@@ -413,12 +431,16 @@
<if test="signboardName!=null and signboardName!='' ">
and tms.signboard_name like concat('%',#{signboardName},'%')
</if>
+ <if test="mixingSignboardId !=null and mixingSignboardId !='' ">
+ and tms.mixing_signboard_id=#{mixingSignboardId}
+ </if>
</select>
<select id="mixingConsumes" resultType="com.thhy.materials.modules.biz.concret.entity.TMixingConsume">
select
mc.mixing_consume_id as mixingConsumeId,
- sd.dict_name as dictName,
+ -- sd.dict_name as dictName,
+ mc.dict_id as dictId,
mc.spec as spec,
mc.manufacturer as manufacturer,
mc.wat_full as watFull,
@@ -427,10 +449,150 @@
mc.save_stamp as saveStamp,
mc.construction as construction,
mc.mixing_signboard_id as mixingSignboardId,
- mc.star as star
+ mc.star as star,
+ mc.create_time as createTime,
+ mc.construction_unit as constructionUnit
from t_mixing_consume mc
- left join sys_dict sd on mc.dict_id=sd.dict_id
+ -- left join sys_dict sd on mc.dict_id=sd.dict_id
where mc.mixing_signboard_id=#{mixingSignboardId} and mc.star=#{star}
+<!-- <if test="strTime!=null and strTime!='' and endTime !=null and endTime!=''">-->
+<!-- and mc.create_time between #{strTime} and #{endTime}-->
+<!-- </if>-->
</select>
-
+ <select id="mixingConsumePull" resultType="com.thhy.materials.modules.biz.concret.entity.TMixingSignboard">
+ select
+ tms.mixing_signboard_id as mixingSignboardId,
+ tms.signboard_name as signboardName,
+ sp.pro_name as proName,
+ sp.construction_unit as constructionUnit
+ from t_mixing_signboard tms left join sys_project sp
+ on tms.pro_id=sp.pro_id
+ </select>
+ <select id="siloPull" resultType="com.thhy.materials.modules.biz.concret.entity.TSilo">
+ select silo_id as siloId,
+silo_name as siloName,
+types
+ from t_silo
+ </select>
+ <update id="mixingUpdateType" parameterType="java.lang.String">
+ update t_mixing set types=2 where silo_id=#{siloId}
+ </update>
+ <select id="siloMixingList" resultType="com.thhy.materials.modules.biz.concret.entity.TMixing">
+ SELECT
+ tm.mixing_id as mixingId,
+ tm.material as material,
+ tm.spec as spec,
+ tm.producer as producer,
+ tm.stove as stove,
+ tm.in_num as inNum,
+ tm.in_date as inDate,
+ tm.inspect_state as inspectState,
+ tm.report_number as reportNumber,
+ tm.stata as stata,
+ tm.silo_id as siloId,
+ tm.percentage as percentage,
+ tm.inspect_date as inspectDate,
+ ts.silo_name as siloName,
+ ts.types as types
+FROM
+ t_silo ts
+ LEFT JOIN t_mixing tm ON ts.silo_id=tm.silo_id
+ where tm.types=1
+ <if test="types!=null and types!='' ">
+ and ts.types=#{types}
+ </if>
+ <if test="stata!=null and stata!='' ">
+ and tm.stata=#{stata}
+ </if>
+ <if test="strTime!=null and strTime!=null and endTime!=null and endTime!='' ">
+ and tm.in_date between #{strTime} and #{endTime}
+ </if>
+ </select>
+ <update id="mixingUpdate" >
+ update t_mixing
+ <set>
+ <if test="material != null">
+ material = #{material,jdbcType=VARCHAR},
+ </if>
+ <if test="spec != null">
+ spec = #{spec,jdbcType=VARCHAR},
+ </if>
+ <if test="producer != null">
+ producer = #{producer,jdbcType=VARCHAR},
+ </if>
+ <if test="stove != null">
+ stove = #{stove,jdbcType=VARCHAR},
+ </if>
+ <if test="inNum != null">
+ in_num = #{inNum,jdbcType=VARCHAR},
+ </if>
+ <if test="inDate != null">
+ in_date = #{inDate,jdbcType=VARCHAR},
+ </if>
+ <if test="inspectState != null">
+ inspect_state = #{inspectState,jdbcType=INTEGER},
+ </if>
+ <if test="reportNumber != null">
+ report_number = #{reportNumber,jdbcType=VARCHAR},
+ </if>
+ <if test="stata != null">
+ stata = #{stata},
+ </if>
+ <if test="siloId != null">
+ silo_id = #{siloId},
+ </if>
+ <if test="percentage != null">
+ percentage = #{percentage},
+ </if>
+ <if test="inspectDate != null">
+ inspect_date = #{inspectDate},
+ </if>
+ </set>
+ where mixing_id = #{mixingId,jdbcType=VARCHAR}
+ </update>
+ <delete id="mixingDel" parameterType="java.lang.String">
+ delete from t_mixing where mixing_id=#{mixingId}
+ </delete>
+ <update id="mixingConsumeUpTwo" >
+ update t_mixing_consume
+ <set>
+ <if test="dictId != null">
+ dict_id = #{dictId,jdbcType=VARCHAR},
+ </if>
+ <if test="spec != null">
+ spec = #{spec,jdbcType=VARCHAR},
+ </if>
+ <if test="manufacturer != null">
+ manufacturer = #{manufacturer,jdbcType=VARCHAR},
+ </if>
+ <if test="watFull != null">
+ wat_full = #{watFull,jdbcType=VARCHAR},
+ </if>
+ <if test="planAmnt != null">
+ plan_amnt = #{planAmnt,jdbcType=VARCHAR},
+ </if>
+ <if test="factAmnt != null">
+ fact_amnt = #{factAmnt,jdbcType=VARCHAR},
+ </if>
+ <if test="saveStamp != null">
+ save_stamp = #{saveStamp,jdbcType=VARCHAR},
+ </if>
+ <if test="construction != null">
+ construction = #{construction,jdbcType=VARCHAR},
+ </if>
+ <if test="mixingSignboardId != null">
+ mixing_signboard_id = #{mixingSignboardId,jdbcType=VARCHAR},
+ </if>
+ <if test="star != null">
+ star = #{star},
+ </if>
+ </set>
+ where mixing_consume_id = #{mixingConsumeId,jdbcType=VARCHAR}
+ </update>
+ <delete id="mixingConsumeDel" >
+ delete from t_mixing_consume where mixing_consume_id=#{mixingConsumeId} and star=#{star}
+ </delete>
+ <delete id="mixingConsumeDelSign" >
+ delete from t_mixing_consume where mixing_signboard_id=#{mixingSignboardId} and star=#{star}
+ </delete>
</mapper>
\ No newline at end of file
diff --git a/hd/pipe/materialsManage/src/main/resources/mapping/TSteelProduceMapper.xml b/hd/pipe/materialsManage/src/main/resources/mapping/TSteelProduceMapper.xml
index aeef5b4..8ed1052 100644
--- a/hd/pipe/materialsManage/src/main/resources/mapping/TSteelProduceMapper.xml
+++ b/hd/pipe/materialsManage/src/main/resources/mapping/TSteelProduceMapper.xml
@@ -88,9 +88,13 @@
<if test="isModel!=null and isModel!='' ">
and tsp.is_model=#{isModel}
</if>
- <if test="isModel!=null and isModel!='' ">
+ <if test="sizeId!=null and sizeId!='' ">
and tsp.size_id=#{sizeId}
</if>
+ <if test="platUserName!=null and platUserName!='' ">
+ and spu.real_name regexp #{platUserName}
+ </if>
+
order by tsp.produce_number desc
</select>
<select id="steelProduceInfo" parameterType="java.lang.String" resultType="com.thhy.materials.modules.biz.rebarprint.entity.dto.ProduceDto">
diff --git a/hd/pipe/materialsManage/src/main/resources/mapping/WeighMapper.xml b/hd/pipe/materialsManage/src/main/resources/mapping/WeighMapper.xml
index 55cbeb7..382fe5d 100644
--- a/hd/pipe/materialsManage/src/main/resources/mapping/WeighMapper.xml
+++ b/hd/pipe/materialsManage/src/main/resources/mapping/WeighMapper.xml
@@ -711,4 +711,403 @@
types=2
where weighbridge_id=#{weighbridgeId}
</update>
+
+ <select id="materialStockInventory" resultType="com.thhy.materials.modules.biz.weigh.entity.dto.MaterialStockRecordDto">
+ SELECT
+ s.dict_name AS materialName,
+ t.material_value AS materialValue
+FROM
+ t_material_stock t
+ LEFT JOIN sys_dict s ON t.material_name = s.dict_id
+ </select>
+ <select id="steelInventory" resultType="com.thhy.materials.modules.biz.weigh.entity.dto.SteelDto">
+ select
+ steel_name as steelName,
+ steel_model as steelModel,
+ stock as stock
+ from sys_steel
+ </select>
+ <select id="assistGoodInventory" resultType="com.thhy.materials.modules.biz.weigh.entity.dto.AssistGoodDto">
+ select s.assist_name as assistName,
+ d.dict_name as assistType,
+ s.stock as stock
+ from sys_assist_good s left join sys_dict d on s.assist_type=d.dict_id
+ </select>
+ <select id="mouldInventory" resultType="com.thhy.materials.modules.biz.weigh.entity.dto.MouldDto">
+ select
+ mould_num as mouldNum,
+ free as free,
+ current_cycle_time as currentCycleTime
+ from sys_mould
+ </select>
+ <select id="steelType" resultType="com.thhy.materials.modules.biz.concret.entity.SysSteel">
+ select
+ steel_id as steelId,
+ steel_name as steelName,
+ steel_model as steelModel,
+ stock as stock
+ from
+ sys_steel
+ </select>
+ <insert id="steelRecordIn" >
+ insert into sys_steel_record
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ id,
+ </if>
+ <if test="steelId != null">
+ steel_id,
+ </if>
+ <if test="stockType != null">
+ stock_type,
+ </if>
+ <if test="createTime != null">
+ create_time,
+ </if>
+ <if test="changeStock != null">
+ change_stock,
+ </if>
+ <if test="supplierId != null">
+ supplier_id,
+ </if>
+ <if test="factoryName != null">
+ factory_name,
+ </if>
+ <if test="brand != null">
+ brand,
+ </if>
+ <if test="lineCode != null">
+ line_code,
+ </if>
+ <if test="proId != null">
+ pro_id,
+ </if>
+ <if test="createUser != null">
+ create_user,
+ </if>
+ <if test="companyId != null">
+ company_id,
+ </if>
+ <if test="carName != null">
+ car_name,
+ </if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ #{id,jdbcType=VARCHAR},
+ </if>
+ <if test="steelId != null">
+ #{steelId,jdbcType=VARCHAR},
+ </if>
+ <if test="stockType != null">
+ #{stockType,jdbcType=INTEGER},
+ </if>
+ <if test="createTime != null">
+ #{createTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="changeStock != null">
+ #{changeStock,jdbcType=DOUBLE},
+ </if>
+ <if test="supplierId != null">
+ #{supplierId,jdbcType=VARCHAR},
+ </if>
+ <if test="factoryName != null">
+ #{factoryName,jdbcType=VARCHAR},
+ </if>
+ <if test="brand != null">
+ #{brand,jdbcType=VARCHAR},
+ </if>
+ <if test="lineCode != null">
+ #{lineCode,jdbcType=VARCHAR},
+ </if>
+ <if test="proId != null">
+ #{proId,jdbcType=VARCHAR},
+ </if>
+ <if test="createUser != null">
+ #{createUser,jdbcType=VARCHAR},
+ </if>
+ <if test="companyId != null">
+ #{companyId,jdbcType=VARCHAR},
+ </if>
+ <if test="carName != null">
+ #{carName,jdbcType=VARCHAR},
+ </if>
+ </trim>
+ </insert>
+ <update id="steelUp" >
+ update sys_steel set
+ stock=#{doubleValue}
+ where steel_id=#{steelId}
+ </update>
+
+ <select id="materialWarehouseRecordList" resultType="com.thhy.materials.modules.biz.weigh.entity.TSuMaterialWarehouseRecord">
+ select
+ id,
+ table_num as tableNum,
+ name_of_origin as nameOfOrigin,
+ material_name as materialName,
+ incoming_quantity as incomingQuantity,
+ in_time as inTime,
+ status as status,
+ inspection_date as inspectionDate,
+ report_number as reportNumber,
+ create_time as createTime,
+ `type`
+ from t_su_material_warehouse_record
+ where 1=1
+ <if test="tableNum!=null and tableNum!='' ">
+ and table_num=#{tableNum}
+ </if>
+ <if test="type!=null and type!='' ">
+ and `type`=#{type}
+ </if>
+ <if test="strTime!=null and strTime!='' and endTime!=null and endTime!='' ">
+ and create_time between #{strTime} and #{endTime}
+ </if>
+ order by create_time desc
+ </select>
+ <insert id="materialWarehouseRecordInsert" >
+ insert into t_su_material_warehouse_record
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ id,
+ </if>
+ <if test="tableNum != null">
+ table_num,
+ </if>
+ <if test="nameOfOrigin != null">
+ name_of_origin,
+ </if>
+ <if test="materialName != null">
+ material_name,
+ </if>
+ <if test="incomingQuantity != null">
+ incoming_quantity,
+ </if>
+ <if test="inTime != null">
+ in_time,
+ </if>
+ <if test="status != null">
+ status,
+ </if>
+ <if test="inspectionDate != null">
+ inspection_date,
+ </if>
+ <if test="reportNumber != null">
+ report_number,
+ </if>
+ <if test="createTime != null">
+ create_time,
+ </if>
+ <if test="createUser != null">
+ create_user,
+ </if>
+ <if test="updateTime != null">
+ update_time,
+ </if>
+ <if test="updateUser != null">
+ update_user,
+ </if>
+ <if test="isUse != null">
+ is_use,
+ </if>
+ <if test="companyId != null">
+ company_id,
+ </if>
+ <if test="type != null">
+ type,
+ </if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ #{id,jdbcType=VARCHAR},
+ </if>
+ <if test="tableNum != null">
+ #{tableNum,jdbcType=INTEGER},
+ </if>
+ <if test="nameOfOrigin != null">
+ #{nameOfOrigin,jdbcType=VARCHAR},
+ </if>
+ <if test="materialName != null">
+ #{materialName,jdbcType=VARCHAR},
+ </if>
+ <if test="incomingQuantity != null">
+ #{incomingQuantity,jdbcType=DOUBLE},
+ </if>
+ <if test="inTime != null">
+ #{inTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="status != null">
+ #{status,jdbcType=INTEGER},
+ </if>
+ <if test="inspectionDate != null">
+ #{inspectionDate,jdbcType=TIMESTAMP},
+ </if>
+ <if test="reportNumber != null">
+ #{reportNumber,jdbcType=VARCHAR},
+ </if>
+ <if test="createTime != null">
+ #{createTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="createUser != null">
+ #{createUser,jdbcType=VARCHAR},
+ </if>
+ <if test="updateTime != null">
+ #{updateTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="updateUser != null">
+ #{updateUser,jdbcType=VARCHAR},
+ </if>
+ <if test="isUse != null">
+ #{isUse,jdbcType=INTEGER},
+ </if>
+ <if test="companyId != null">
+ #{companyId,jdbcType=VARCHAR},
+ </if>
+ <if test="type != null">
+ #{type,jdbcType=INTEGER},
+ </if>
+ </trim>
+ </insert>
+ <update id="materialWarehouseRecordUpdate" >
+ update t_su_material_warehouse_record
+ <set>
+ <if test="tableNum != null">
+ table_num = #{tableNum,jdbcType=INTEGER},
+ </if>
+ <if test="nameOfOrigin != null">
+ name_of_origin = #{nameOfOrigin,jdbcType=VARCHAR},
+ </if>
+ <if test="materialName != null">
+ material_name = #{materialName,jdbcType=VARCHAR},
+ </if>
+ <if test="incomingQuantity != null">
+ incoming_quantity = #{incomingQuantity,jdbcType=DOUBLE},
+ </if>
+ <if test="inTime != null">
+ in_time = #{inTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="status != null">
+ status = #{status,jdbcType=INTEGER},
+ </if>
+ <if test="inspectionDate != null">
+ inspection_date = #{inspectionDate,jdbcType=TIMESTAMP},
+ </if>
+ <if test="reportNumber != null">
+ report_number = #{reportNumber,jdbcType=VARCHAR},
+ </if>
+ <if test="createTime != null">
+ create_time = #{createTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="createUser != null">
+ create_user = #{createUser,jdbcType=VARCHAR},
+ </if>
+ <if test="updateTime != null">
+ update_time = #{updateTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="updateUser != null">
+ update_user = #{updateUser,jdbcType=VARCHAR},
+ </if>
+ <if test="isUse != null">
+ is_use = #{isUse,jdbcType=INTEGER},
+ </if>
+ <if test="companyId != null">
+ company_id = #{companyId,jdbcType=VARCHAR},
+ </if>
+ <if test="type != null">
+ type = #{type,jdbcType=INTEGER},
+ </if>
+ </set>
+ where id = #{id,jdbcType=VARCHAR}
+ </update>
+ <delete id="materialWarehouseRecordDel" parameterType="java.lang.String">
+ delete from t_su_material_warehouse_record where id=#{id}
+ </delete>
+ <select id="headThingJsDateValue" resultType="com.thhy.materials.modules.biz.helmet.entity.TDataValue">
+ SELECT
+ DATE_FORMAT( upload_time, "%Y-%m-%d %H:00:00" ) AS uploadTime,
+ TRUNCATE(SUM(pm10)/count(pm10),0) as pm10,
+ TRUNCATE(SUM(pm25)/count(pm25),0) as pm25,
+ TRUNCATE(SUM(tsp)/count(tsp),0) as tsp,
+ TRUNCATE(SUM(temperature)/count(temperature),1) as temperature,
+ TRUNCATE(SUM(humidity)/count(humidity),1) as humidity,
+ TRUNCATE(SUM(wind_speed)/count(wind_speed),1) as windSpeed
+FROM
+ t_data_value
+WHERE
+ year(upload_time)=year(NOW()) AND MONTH(upload_time)=MONTH(NOW()) and DAY(upload_time)=DAY(NOW())
+-- upload_time BETWEEN "2023-11-08 00:00:00" and "2023-11-08 23:59:59"
+GROUP BY
+ DATE_FORMAT( upload_time, "%Y-%m-%d %H:00:00" );
+ </select>
+ <select id="headThingJsDateSmock" resultType="com.thhy.materials.modules.biz.helmet.entity.TDataSmock">
+ select
+ smoke_id as smokeId,
+ `time` as `time`,
+ I00 as i00,
+ I01 as i01,
+ I02 as i02,
+ I03 as i03,
+ I04 as i04,
+ I05 as i05,
+ I06 as i06,
+ I07 as i07,
+ I10 as i10,
+ I11 as i11,
+ Q00 as q00,
+ Q01 as q01,
+ Q02 as q02,
+ Q03 as q03,
+ Q04 as q04,
+ Q05 as q05,
+ VB0 as vb0,
+ VB10 as vb10,
+ VB11 as vb11,
+ VB12 as vb12
+ from t_data_smock
+ order by `time` desc
+ limit 0,1
+ </select>
+ <select id="headThingJsDateValueByOne" resultType="com.thhy.materials.modules.biz.helmet.entity.TDataValue">
+ select
+ data_id as dataId,
+ device_id as deviceId,
+ device_name as deviceName,
+ account_number as accountNumber,
+ upload_time as uploadTime,
+ pm25 as pm25,
+ pm10 as pm10,
+ tsp as tsp,
+ temperature as temperature,
+ humidity as humidity,
+ data6 as data6,
+ wind_speed as windSpeed,
+ wind_direction as windDirection,
+ tvoc as tvoc,
+ no2 as no2,
+ co as co,
+ so2 as so2,
+ o3 as o3,
+ noise as noise
+ from t_data_value
+ order by upload_time desc
+ limit 0,1
+ </select>
+ <select id="headThingJsDateValueMonth" resultType="com.thhy.materials.modules.biz.helmet.entity.TDataValue">
+ SELECT
+ DATE_FORMAT( upload_time, "%Y-%m-%d" ) AS uploadTime,
+ TRUNCATE(SUM(pm10)/count(pm10),0) as pm10,
+ TRUNCATE(SUM(pm25)/count(pm25),0) as pm25,
+ TRUNCATE(SUM(tsp)/count(tsp),0) as tsp,
+ TRUNCATE(SUM(temperature)/count(temperature),1) as temperature,
+ TRUNCATE(SUM(humidity)/count(humidity),1) as humidity,
+ TRUNCATE(SUM(wind_speed)/count(wind_speed),1) as windSpeed
+FROM
+ t_data_value
+WHERE
+ year(upload_time)=year(NOW()) AND MONTH(upload_time)=MONTH(NOW())
+ -- upload_time BETWEEN "2023-11-01 00:00:00" and "2023-11-30 23:59:59"
+GROUP BY
+ DATE_FORMAT( upload_time, "%Y-%m-%d" );
+ </select>
</mapper>
\ No newline at end of file
diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/controller/ModCheckController.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/controller/ModCheckController.java
index 3f7833c..2f65eb3 100644
--- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/controller/ModCheckController.java
+++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/controller/ModCheckController.java
@@ -34,6 +34,12 @@
return BasicResult.success();
}
+ @RequestMapping("allNumType")
+ public BasicResult allNumType(){
+ List<Integer> list = modCheckService.allNumType();
+ return BasicResult.success(list);
+ }
+
@RequestMapping("addPipe")
public BasicResult addPipe(@RequestBody ModCheckDto modCheckDto){
modCheckService.addPipe(modCheckDto);
diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/entity/ModCheckDto.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/entity/ModCheckDto.java
index 38b6f63..6eec115 100644
--- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/entity/ModCheckDto.java
+++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/entity/ModCheckDto.java
@@ -24,4 +24,6 @@
private String proId;
private String ringNum;
+
+ private Integer numType;
}
diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/entity/RingCompleteCheck.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/entity/RingCompleteCheck.java
index c4c2047..86b9909 100644
--- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/entity/RingCompleteCheck.java
+++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/entity/RingCompleteCheck.java
@@ -13,4 +13,9 @@
private Integer isExist;
+
+ private String pipeModNum;
+
+ private String allModNum;
+
}
diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/service/ModCheckService.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/service/ModCheckService.java
index 4761faf..a86cd4b 100644
--- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/service/ModCheckService.java
+++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/service/ModCheckService.java
@@ -20,4 +20,6 @@
void delete(ModCheckDto modCheckDto);
Map<String,Object> getH5MouldInfo(String mouldId);
+
+ List<Integer> allNumType();
}
diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/service/impl/ModCheckServiceImpl.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/service/impl/ModCheckServiceImpl.java
index ce9a32b..7ce7f75 100644
--- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/service/impl/ModCheckServiceImpl.java
+++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/service/impl/ModCheckServiceImpl.java
@@ -17,6 +17,7 @@
import com.thhy.mobile.modules.biz.pipeinfo.entity.MaterialInfo;
import com.thhy.mobile.modules.biz.pipeinfo.entity.PipeInfo;
import com.thhy.mobile.modules.biz.pipeinfo.mapper.PipeInfoMapper;
+import com.thhy.mobile.modules.biz.steelcheck.entity.SteelStockRecord;
import com.thhy.mobile.modules.biz.steelproduce.entity.ProduceDto;
import com.thhy.mobile.modules.biz.steelproduce.entity.SteelProduce;
import com.thhy.mobile.modules.biz.steelproduce.mapper.SteelProduceMapper;
@@ -141,6 +142,10 @@
if(compareResult){//匹配成功
//更改钢筋笼产品入模状态
steelProduceMapper.updateisModel(new ProduceDto(1,modCheckDto.getProduceNumber()));
+ //钢筋笼库存记录
+ SteelStockRecord steelStockRecord = new SteelStockRecord(steelProduce,true);
+ steelStockRecord.setModCheckId(mouldCheck.getModCheckId());
+ steelStockMapper.insertSteelStockRecord(steelStockRecord);
//减掉钢筋笼库存
steelStockMapper.updateMinusStock(new SteelStock(steelProduce));
//更新模具循环次数
@@ -154,7 +159,7 @@
pipeInfo.setOutMod(PipeOutModType.IN.getValue()); //入模
pipeInfo.setPipeNum(UUIDUtils.createPipeNum(proNumber,countPipeInPro));
//pipeInfo.setRingNum();
- RingCompleteCheck completeCheck = pipeInfoMapper.queryRingComplete(pipeInfo);
+ RingCompleteCheck completeCheck = pipeInfoMapper.queryRingCompleteByMod(mould.getMouldNum(),pipeInfo.getProId());
if(completeCheck==null){
int maxRingNum = pipeInfoMapper.queryMaxRingNum(userInfo.getCompanyId());
pipeInfo.setRingNum(UUIDUtils.createRingNum(maxRingNum));
@@ -199,7 +204,7 @@
String proId = modCheckDto.getProId();
try {
- if(ringNum.length()>5){
+ if(ringNum.length()>4){
throw new BasicException(BasicStatus.RING_NOT_DIS);
}
Integer.parseInt(ringNum);
@@ -207,14 +212,14 @@
throw new BasicException(BasicStatus.RING_NOT_DIS);
}
- String newRingNum = UUIDUtils.addZeroNoPlus(Integer.parseInt(ringNum),5);
+ String newRingNum = UUIDUtils.addZeroNoPlus(Integer.parseInt(ringNum),4);
int count = pipeInfoMapper.countByRingNum(newRingNum);
if(count>0){
throw new BasicException(BasicStatus.RING_NUM_IS_REPEAT);
}
- List<Mould> mouldList = pipeInfoMapper.queryMouldTypeByPro(proId);
+ List<Mould> mouldList = pipeInfoMapper.queryMouldByNumType(proId,modCheckDto.getNumType());
/*mouldList.forEach(ml->{
ml = mouldMapper.queryById(ml.getMouldId());
});*/
@@ -233,7 +238,7 @@
steelProduce.setReinforcementId("02d336f47ea0eff7ec70c64f"); //配筋写死值
for(Mould m : mouldList){
- m = mouldMapper.queryById(m.getMouldId());
+ //m = mouldMapper.queryById(m.getMouldId());
String proNumber = steelProduceMapper.queryProNumByProject(proId);
int maxSteelNum = pipeInfoMapper.queryMaxNumBySteelProduce();
steelProduce.setProduceNumber(UUIDUtils.createSteelNum(proNumber,maxSteelNum));
@@ -291,6 +296,8 @@
}*/
}
+
+
@Override
public List<MouldCheckListVo> findModCheckList(ModCheckDto modCheckDto) {
SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo();
@@ -339,4 +346,8 @@
return mouldMapper.getH5MouldInfo(mouldId);
}
+ @Override
+ public List<Integer> allNumType() {
+ return pipeInfoMapper.queryAllNumType();
+ }
}
diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/controller/PipeScreenController.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/controller/PipeScreenController.java
index d00bea6..738edb4 100644
--- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/controller/PipeScreenController.java
+++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/controller/PipeScreenController.java
@@ -3,9 +3,7 @@
import com.thhy.general.common.BasicResult;
import com.thhy.general.config.SysUserInfo;
import com.thhy.general.utils.UserInfoUtils;
-import com.thhy.mobile.modules.biz.pipeinfo.entity.MaterialInfo;
-import com.thhy.mobile.modules.biz.pipeinfo.entity.PipeListVo;
-import com.thhy.mobile.modules.biz.pipeinfo.entity.ScreenPipeCompare;
+import com.thhy.mobile.modules.biz.pipeinfo.entity.*;
import com.thhy.mobile.modules.biz.pipeinfo.service.PipeInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -76,4 +74,15 @@
return BasicResult.success(mapto);
}
+ //thing.js 原料实际消耗数量列表 前10条数据
+ @RequestMapping("/materialInfo")
+ public BasicResult materialInfo(){
+ return BasicResult.success(pipeInfoService.materialInfo());
+ }
+ //thing.js 原料消耗总量
+ @RequestMapping("/materialNumInfo")
+ public BasicResult materialNumInfo(){
+ List<MaterialThingNumDto> materialInfo = pipeInfoService.materialNumInfo();
+ return BasicResult.success(materialInfo);
+ }
}
diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/MaterialThingDto.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/MaterialThingDto.java
new file mode 100644
index 0000000..ceea258
--- /dev/null
+++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/MaterialThingDto.java
@@ -0,0 +1,32 @@
+package com.thhy.mobile.modules.biz.pipeinfo.entity;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class MaterialThingDto implements Serializable {
+ //盘次
+ private Integer piece;
+ //河砂
+ private String sand;
+ //小石子
+ private String pebbles;
+ //水泥3
+ private String cement3;
+ //粉煤灰2
+ private String flyAsh2;
+ //水
+ private String water;
+ //大石子
+ private String dashizi;
+ //外剂1
+ private String externalAgent1;
+ //粉煤灰1
+ private String flyAsh1;
+ //水泥4
+ private String cement4;
+ //水泥2
+ private String cement2;
+
+}
diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/MaterialThingNumDto.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/MaterialThingNumDto.java
new file mode 100644
index 0000000..7af299c
--- /dev/null
+++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/MaterialThingNumDto.java
@@ -0,0 +1,13 @@
+package com.thhy.mobile.modules.biz.pipeinfo.entity;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class MaterialThingNumDto implements Serializable {
+ //原料名称
+ private String material;
+ //数量
+ private String counts;
+}
diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeListVo.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeListVo.java
index 918c54e..7935835 100644
--- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeListVo.java
+++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeListVo.java
@@ -66,7 +66,7 @@
//入模人员
private String intoModUser;
public String getCheckResultStr() {
- return checkResult==1?"合格":checkResult==2?"不合格":"报废";
+ return checkResult==1?"合格":checkResult==2?"不合格":checkResult==0?"未质检":"报废";
}
private ModIdlThing modIdlThing;
diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/mapper/PipeInfoMapper.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/mapper/PipeInfoMapper.java
index ff68acb..4dca6a4 100644
--- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/mapper/PipeInfoMapper.java
+++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/mapper/PipeInfoMapper.java
@@ -63,6 +63,8 @@
RingCompleteCheck queryRingComplete(PipeInfo pipeinfo);
+ RingCompleteCheck queryRingCompleteByMod(@Param("mouldNum") String mouldNum,@Param("proId") String proId);
+
int queryMaxRingNum(String companyId);
void updateCheckResult(PipeInfo pipeInfo);
@@ -150,6 +152,8 @@
List<Mould> queryMouldTypeByPro(String proId);
+ List<Mould> queryMouldByNumType(@Param("proId")String proId,@Param("numType")Integer numType);
+
int queryMaxNumBySteelProduce();
int countByRingNum(String ringNum);
@@ -169,4 +173,12 @@
void updateOutWaterTime(PipeCultivated pipeCultivated);
void updateInRepoTime(RepoRecord repoRecord);
+
+ List<Integer> queryAllNumType();
+
+ List<MaterialThingDto> materialInfo();
+
+ List<MaterialThingNumDto> materialNumInfo();
+
+ List<MaterialThingDto> materialInfoTwo();
}
diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/service/PipeInfoService.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/service/PipeInfoService.java
index 9cc442a..b084723 100644
--- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/service/PipeInfoService.java
+++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/service/PipeInfoService.java
@@ -59,4 +59,8 @@
Map<String,Object> updateDateInfo(PipeInfo pipeInfo);
void updatePipeDate(PipeDateDto pipeDateDto);
+
+ Map<String,Object> materialInfo();
+
+ List<MaterialThingNumDto> materialNumInfo();
}
diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/service/impl/PipeInfoServiceImpl.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/service/impl/PipeInfoServiceImpl.java
index 19d0ea5..2ad0f8b 100644
--- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/service/impl/PipeInfoServiceImpl.java
+++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/service/impl/PipeInfoServiceImpl.java
@@ -345,4 +345,20 @@
calendar.add(Calendar.MINUTE,amount);
return calendar.getTime();
}
+ @Override
+ public Map<String, Object> materialInfo() {
+ List<MaterialThingDto> materialThingDtos1 = pipeInfoMapper.materialInfo();
+ List<MaterialThingDto> materialThingDtos2 = pipeInfoMapper.materialInfoTwo();
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("materialThingDtos1",materialThingDtos1);
+ map.put("materialThingDtos2",materialThingDtos2);
+ return map;
+ }
+
+ @Override
+ public List<MaterialThingNumDto> materialNumInfo() {
+ List<MaterialThingNumDto> materialThingNumDtos = pipeInfoMapper.materialNumInfo();
+
+ return materialThingNumDtos;
+ }
}
diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelcheck/entity/SteelStockRecord.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelcheck/entity/SteelStockRecord.java
new file mode 100644
index 0000000..1dca7a5
--- /dev/null
+++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelcheck/entity/SteelStockRecord.java
@@ -0,0 +1,82 @@
+package com.thhy.mobile.modules.biz.steelcheck.entity;
+
+import com.thhy.general.annotations.Idkey;
+import com.thhy.mobile.modules.biz.steelproduce.entity.SteelProduce;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+public class SteelStockRecord implements Serializable {
+
+ @Idkey
+ private String recordId;
+
+ private String steelRecordId;
+
+ private String modCheckId;
+
+ /**
+ * 块ID
+ */
+
+
+ private String blockId;
+
+
+
+ private Date createTime;
+
+ /**
+ * 项目ID
+ */
+
+
+ private String proId;
+
+ /**
+ * 配筋ID
+ */
+
+
+ private String reinforcementId;
+
+ /**
+ * 尺寸
+ */
+
+
+ private String sizeId;
+
+ /**
+ * 库存
+ */
+
+
+ private double stock;
+
+ private int type;
+
+
+ public SteelStockRecord() {
+ }
+
+ public SteelStockRecord(SteelProduce steelProduce) {
+ this.proId = steelProduce.getProId();
+ this.sizeId = steelProduce.getSizeId();
+ this.reinforcementId = steelProduce.getReinforcementId();
+ this.blockId = steelProduce.getBlockNum();
+ this.type = 1;
+ this.stock = 1;
+ }
+
+ public SteelStockRecord(SteelProduce steelProduce,boolean plus) {
+ this.proId = steelProduce.getProId();
+ this.sizeId = steelProduce.getSizeId();
+ this.reinforcementId = steelProduce.getReinforcementId();
+ this.blockId = steelProduce.getBlockNum();
+ this.type = 2;
+ this.stock = 1;
+ }
+}
diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelcheck/service/impl/SteelCheckServiceImpl.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelcheck/service/impl/SteelCheckServiceImpl.java
index 55212f0..3bebac9 100644
--- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelcheck/service/impl/SteelCheckServiceImpl.java
+++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelcheck/service/impl/SteelCheckServiceImpl.java
@@ -7,10 +7,7 @@
import com.thhy.general.exception.BasicException;
import com.thhy.general.utils.DeepCopyUtils;
import com.thhy.general.utils.UserInfoUtils;
-import com.thhy.mobile.modules.biz.steelcheck.entity.CheckFile;
-import com.thhy.mobile.modules.biz.steelcheck.entity.SteelCheckDto;
-import com.thhy.mobile.modules.biz.steelcheck.entity.SteelCheckListVo;
-import com.thhy.mobile.modules.biz.steelcheck.entity.UpdateCheckResultDto;
+import com.thhy.mobile.modules.biz.steelcheck.entity.*;
import com.thhy.mobile.modules.biz.steelcheck.service.SteelCheckService;
import com.thhy.mobile.modules.biz.steelcheckrecord.entity.SteelCheckRecord;
import com.thhy.mobile.modules.biz.steelcheckrecord.mapper.SteelCheckRecordMapper;
@@ -72,7 +69,10 @@
steelCheckRecord.setSteelProduceNum(produceNum);
steelCheckRecord.setCreateUser(userInfo.getUserId());
recordMapper.insert(steelCheckRecord);
- //增加钢筋笼库存
+ //增加钢筋笼库存记录
+ SteelStockRecord steelStockRecord = new SteelStockRecord(steelProduce);
+ steelStockRecord.setSteelRecordId(steelCheckRecord.getCheckId());
+ steelStockMapper.insertSteelStockRecord(steelStockRecord);
int stockRecord = steelStockMapper.countStockByPSRB(new SteelStock(steelProduce));
if(stockRecord>0){
//增加钢筋笼库存
@@ -137,7 +137,10 @@
}
//更新住状态
steelProduceMapper.updateQualified(new SteelProduce(updateCheckResultDto.getSteelProduceNum(), steelCheckRecord.getCheckResult(),userInfo.getUserId()));
+ //合格状态————————>不合格
if (steelCheckRecord.getCheckResult()!=3) {
+ //减【钢筋笼】库存就记录删除标志
+ steelStockMapper.updateSteelStockRecordByCheckId(2,steelCheckRecord.getCheckId());
//减【钢筋笼】库存
steelStockMapper.updateMinusStock(new SteelStock(steelProduce));
//加【钢筋】库存记录
@@ -150,6 +153,8 @@
}
//合格状态————————>报废
if(qualified==1&&updateCheckResultDto.getCheckResult()==3){
+ //减【钢筋笼】库存就记录删除标志
+ steelStockMapper.updateSteelStockRecordByCheckId(2,steelCheckRecord.getCheckId());
//减【钢筋笼】库存
steelStockMapper.updateMinusStock(new SteelStock(steelProduce));
}
@@ -192,6 +197,9 @@
//更新住状态
steelProduceMapper.updateQualified(new SteelProduce(updateCheckResultDto.getSteelProduceNum(), 1,userInfo.getUserId()));
+ //钢筋笼】库存就记录删除标志改为未删除
+ steelStockMapper.updateSteelStockRecordByCheckId(1,steelCheckRecord.getCheckId());
+ //加【钢筋笼】库存
steelStockMapper.updatePlusStock(new SteelStock(steelProduce));
//钢筋消耗的理论耗量
List<SteelConsume> steelConsumeList = steelStockMapper.queryByPSRB(new SteelStock(steelProduce));
diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelstock/mapper/SteelStockMapper.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelstock/mapper/SteelStockMapper.java
index 2ec8a7c..ee21e0d 100644
--- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelstock/mapper/SteelStockMapper.java
+++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelstock/mapper/SteelStockMapper.java
@@ -1,8 +1,10 @@
package com.thhy.mobile.modules.biz.steelstock.mapper;
+import com.thhy.mobile.modules.biz.steelcheck.entity.SteelStockRecord;
import com.thhy.mobile.modules.biz.steelstock.entity.SteelConsume;
import com.thhy.mobile.modules.biz.steelstock.entity.SteelStock;
import com.thhy.mobile.modules.biz.steelstock.entity.SteelStockListVo;
+import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
import java.io.Serializable;
@@ -46,4 +48,8 @@
void updateMinusSteelStock(SteelConsume steelConsume);
void updatePlusSteelStock(SteelConsume steelConsume);
+
+ void insertSteelStockRecord(SteelStockRecord steelStockRecord);
+
+ void updateSteelStockRecordByCheckId(@Param("isUse") int isUse,@Param("checkRecordId") String checkRecordId);
}
diff --git a/hd/pipe/mobile/src/main/resources/mapping/PipeInfoMapper.xml b/hd/pipe/mobile/src/main/resources/mapping/PipeInfoMapper.xml
index 442cde4..93127b1 100644
--- a/hd/pipe/mobile/src/main/resources/mapping/PipeInfoMapper.xml
+++ b/hd/pipe/mobile/src/main/resources/mapping/PipeInfoMapper.xml
@@ -490,6 +490,25 @@
)c where c.isExist = 0 order by c.ringnum limit 1
</select>
+ <select id="queryRingCompleteByMod" resultType="com.thhy.mobile.modules.biz.mouldcheck.entity.RingCompleteCheck">
+ select a.ringnum,a.pipeModNum,a.allModNum
+ from
+ (
+ select tpi.ring_num as ringnum,GROUP_CONCAT(sm.mould_num order by sm.mould_num) as pipeModNum,
+ (
+ select GROUP_CONCAT(sm1.mould_num order by sm1.mould_num)
+ from sys_mould sm1
+ where SUBSTRING_INDEX(sm1.mould_num,'-',-1) = SUBSTRING_INDEX(#{mouldNum},'-',-1) and sm1.is_use = 1 and sm1.pro_id = #{proId}
+ group by sm1.is_use
+ ) as allModNum
+ from t_pipe_info tpi
+ left join sys_mould sm on sm.mould_id = tpi.mod_id
+ where SUBSTRING_INDEX(sm.mould_num,'-',-1) = SUBSTRING_INDEX(#{mouldNum},'-',-1) and sm.is_use = 1 and tpi.pro_id = #{proId}
+ GROUP BY tpi.ring_num
+ ) a
+ where a.pipeModNum != a.allModNum and a.pipeModNum not LIKE CONCAT('%',#{mouldNum},'%')
+ </select>
+
<select id="queryMaxRingNum" resultType="int">
select case when a.maxRingNum is null then 1 else a.maxRingNum end as maxRingNum
from
@@ -827,6 +846,32 @@
group by m.mould_type
</select>
+ <select id="queryMouldByNumType" resultType="com.thhy.mobile.modules.biz.mouldcheck.entity.Mould">
+ select
+ t.mould_id as mouldId,
+ t.come_factory_time as comeFactoryTime,
+ t.create_time as createTime,
+ t.create_user as createUser,
+ t.current_cycle_time as currentCycleTime,
+ t.is_use as isUse,
+ t.max_cycle_time as maxCycleTime,
+ t.mould_code as mouldCode,
+ t.mould_num as mouldNum,
+ t.mould_size as mouldSize,
+ t.mould_turn as mouldTurn,
+ t.mould_type as mouldType,
+ t.pro_id as proId,
+ t.product_date as productDate,
+ t.status as status,
+ t.supplier_id as supplierId,
+ t.update_time as updateTime,
+ t.update_user as updateUser,
+ t.grouting_holes as groutingHoles,
+ t.free
+ from sys_mould t
+ where t.pro_id = #{proId} and SUBSTRING_INDEX(t.mould_num,'-',-1) = #{numType}
+ </select>
+
<select id="queryMaxNumBySteelProduce" resultType="int">
select
max(a.number)
@@ -922,4 +967,56 @@
<update id="updateInRepoTime">
update t_repo_record set create_time = #{createTime} where record_id =#{recordId}
</update>
+
+
+ <select id="queryAllNumType" resultType="integer">
+ select DISTINCT a.numType from (select SUBSTRING_INDEX(m.mould_num,'-',-1) as numType from sys_mould m) a
+ </select>
+
+ <select id="materialInfo" resultType="com.thhy.mobile.modules.biz.pipeinfo.entity.MaterialThingDto">
+ select
+ Piece as piece,
+ MAX(CASE WHEN Material = '河砂' THEN FactAmnt END) AS sand,
+ MAX(CASE WHEN Material = '小石子' THEN FactAmnt END) AS pebbles,
+ MAX(CASE WHEN Material = '水泥3' THEN FactAmnt END) AS cement3,
+ MAX(CASE WHEN Material = '粉煤灰2' THEN FactAmnt END) AS flyAsh2,
+ MAX(CASE WHEN Material = '大石子' THEN FactAmnt END) AS dashizi,
+ MAX(CASE WHEN Material = '水' THEN FactAmnt END) AS water,
+ MAX(CASE WHEN Material = '外剂1' THEN FactAmnt END) AS externalAgent1,
+ MAX(CASE WHEN Material = '粉煤灰1' THEN FactAmnt END) AS flyAsh1,
+ MAX(CASE WHEN Material = '水泥4' THEN FactAmnt END) AS cement4,
+ MAX(CASE WHEN Material = '水泥2' THEN FactAmnt END) AS cement2
+ from
+ t_raw_material where types=1
+ GROUP BY Piece
+ ORDER BY Piece desc limit 0,10
+ </select>
+
+ <select id="materialInfoTwo" resultType="com.thhy.mobile.modules.biz.pipeinfo.entity.MaterialThingDto">
+ select
+ Piece as piece,
+ MAX(CASE WHEN Material = '河砂' THEN FactAmnt END) AS sand,
+ MAX(CASE WHEN Material = '小石子' THEN FactAmnt END) AS pebbles,
+ MAX(CASE WHEN Material = '水泥3' THEN FactAmnt END) AS cement3,
+ MAX(CASE WHEN Material = '粉煤灰2' THEN FactAmnt END) AS flyAsh2,
+ MAX(CASE WHEN Material = '大石子' THEN FactAmnt END) AS dashizi,
+ MAX(CASE WHEN Material = '水' THEN FactAmnt END) AS water,
+ MAX(CASE WHEN Material = '外剂1' THEN FactAmnt END) AS externalAgent1,
+ MAX(CASE WHEN Material = '粉煤灰1' THEN FactAmnt END) AS flyAsh1,
+ MAX(CASE WHEN Material = '水泥4' THEN FactAmnt END) AS cement4,
+ MAX(CASE WHEN Material = '水泥2' THEN FactAmnt END) AS cement2
+ from
+ t_raw_material where types=2
+ GROUP BY Piece
+ ORDER BY Piece desc limit 0,10
+ </select>
+ <select id="materialNumInfo" resultType="com.thhy.mobile.modules.biz.pipeinfo.entity.MaterialThingNumDto">
+ SELECT
+ Material as material,
+ CAST( SUM( FactAmnt ) AS FLOAT ) AS counts
+FROM
+ t_raw_material
+GROUP BY
+ Material
+ </select>
</mapper>
diff --git a/hd/pipe/mobile/src/main/resources/mapping/SteelStockMapper.xml b/hd/pipe/mobile/src/main/resources/mapping/SteelStockMapper.xml
index 679d0cb..adf1e93 100644
--- a/hd/pipe/mobile/src/main/resources/mapping/SteelStockMapper.xml
+++ b/hd/pipe/mobile/src/main/resources/mapping/SteelStockMapper.xml
@@ -239,4 +239,76 @@
update sys_steel set stock = (stock+#{needNum}) where steel_id = #{steelId}
</update>
+ <insert id="insertSteelStockRecord">
+ insert into t_steel_stock_record
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="recordId !=null and recordId !=''">
+ record_id,
+ </if>
+ <if test="steelRecordId !=null and steelRecordId !=''">
+ check_record_id,
+ </if>
+ <if test="modCheckId !=null and modCheckId !=''">
+ mod_check_id,
+ </if>
+ <if test="proId !=null and proId !=''">
+ pro_id,
+ </if>
+ <if test="sizeId !=null and sizeId !=''">
+ size_id,
+ </if>
+ <if test="reinforcementId !=null and reinforcementId !=''">
+ reinforcement_id,
+ </if>
+ <if test="blockId !=null and blockId !=''">
+ block_id,
+ </if>
+ <if test="stock !=null and stock !=''">
+ stock,
+ </if>
+ <if test="createTime !=null and createTime !=''">
+ create_time,
+ </if>
+ <if test="type !=null">
+ type,
+ </if>
+ </trim>
+ <trim prefix=" values (" suffix=")" suffixOverrides=",">
+ <if test="recordId !=null and recordId !=''">
+ #{recordId},
+ </if>
+ <if test="steelRecordId !=null and steelRecordId !=''">
+ #{steelRecordId},
+ </if>
+ <if test="modCheckId !=null and modCheckId !=''">
+ #{modCheckId},
+ </if>
+ <if test="proId !=null and proId !=''">
+ #{proId},
+ </if>
+ <if test="sizeId !=null and sizeId !=''">
+ #{sizeId},
+ </if>
+ <if test="reinforcementId !=null and reinforcementId !=''">
+ #{reinforcementId},
+ </if>
+ <if test="blockId !=null and blockId !=''">
+ #{blockId},
+ </if>
+ <if test="stock !=null and stock !=''">
+ #{stock},
+ </if>
+ <if test="createTime !=null and createTime !=''">
+ #{createTime},
+ </if>
+ <if test="type !=null">
+ #{type},
+ </if>
+ </trim>
+ </insert>
+
+ <update id="updateSteelStockRecordByCheckId">
+ update t_steel_stock_record set is_use = #{isUse} where check_record_id = #{checkRecordId}
+ </update>
+
</mapper>
diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/config/StartListener.java b/hd/pipe/screen/src/main/java/com/thhy/screen/config/StartListener.java
index bea7377..f6840ff 100644
--- a/hd/pipe/screen/src/main/java/com/thhy/screen/config/StartListener.java
+++ b/hd/pipe/screen/src/main/java/com/thhy/screen/config/StartListener.java
@@ -20,15 +20,19 @@
private BigScreenMapper screenMapper;
@Override
- public void run(ApplicationArguments args) throws Exception {
- String result = AudioUtils.getGroups();
- if(StringUtils.isEmpty(result)){
- return;
- }
- JSONObject groupJSON = JSON.parseObject(result);
- List<AudioGroup> groupList = JSON.parseArray(groupJSON.getString("Groups"),AudioGroup.class);
- for(AudioGroup ag : groupList){
- screenMapper.insertAudioGroup(ag);
- }
+ public void run(ApplicationArguments args){
+ /*try {
+ String result = AudioUtils.getGroups();
+ if(StringUtils.isEmpty(result)){
+ return;
+ }
+ JSONObject groupJSON = JSON.parseObject(result);
+ List<AudioGroup> groupList = JSON.parseArray(groupJSON.getString("Groups"),AudioGroup.class);
+ for(AudioGroup ag : groupList){
+ screenMapper.insertAudioGroup(ag);
+ }
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }*/
}
}
diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/controller/AudioController.java b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/controller/AudioController.java
index 86bbbf0..8bd5c5c 100644
--- a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/controller/AudioController.java
+++ b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/controller/AudioController.java
@@ -3,6 +3,7 @@
import com.thhy.general.common.BasicResult;
import com.thhy.screen.modules.biz.audio.entity.AudioDto;
import com.thhy.screen.modules.biz.audio.entity.AudioGroup;
+import com.thhy.screen.modules.biz.audio.entity.GroupInfoVo;
import com.thhy.screen.modules.biz.audio.service.AudioService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
@@ -29,4 +30,16 @@
audioService.playMusic(AudioDto);
return BasicResult.success();
}
+
+ @RequestMapping("addFile")
+ public BasicResult addFile(@RequestBody AudioDto audioDto){
+ audioService.addFile(audioDto);
+ return BasicResult.success();
+ }
+
+ @RequestMapping("groupInfo")
+ public BasicResult groupInfo(@RequestBody AudioDto audioDto){
+ GroupInfoVo infoVo = audioService.groupInfo(audioDto);
+ return BasicResult.success(infoVo);
+ }
}
diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/entity/AudioDto.java b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/entity/AudioDto.java
index 2209ef9..4c70f00 100644
--- a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/entity/AudioDto.java
+++ b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/entity/AudioDto.java
@@ -3,9 +3,14 @@
import lombok.Data;
import java.io.Serializable;
+import java.util.List;
@Data
public class AudioDto implements Serializable {
private String groupIds;
+
+ private List<AudioFile> fileList;
+
+ private String groupId;
}
diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/entity/AudioFile.java b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/entity/AudioFile.java
new file mode 100644
index 0000000..8ea7093
--- /dev/null
+++ b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/entity/AudioFile.java
@@ -0,0 +1,19 @@
+package com.thhy.screen.modules.biz.audio.entity;
+
+import com.thhy.general.annotations.Idkey;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class AudioFile implements Serializable {
+
+ @Idkey
+ private String id;
+
+ private String groupId;
+
+ private String audioFile;
+
+ private Integer defaults;
+}
diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/entity/GroupInfoVo.java b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/entity/GroupInfoVo.java
new file mode 100644
index 0000000..1d7b7b0
--- /dev/null
+++ b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/entity/GroupInfoVo.java
@@ -0,0 +1,16 @@
+package com.thhy.screen.modules.biz.audio.entity;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class GroupInfoVo implements Serializable {
+
+ private String id;
+
+ private String groupName;
+
+ private List<AudioFile> fileList;
+}
diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/AudioService.java b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/AudioService.java
index 7b14600..2c1edbd 100644
--- a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/AudioService.java
+++ b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/AudioService.java
@@ -2,6 +2,7 @@
import com.thhy.screen.modules.biz.audio.entity.AudioDto;
import com.thhy.screen.modules.biz.audio.entity.AudioGroup;
+import com.thhy.screen.modules.biz.audio.entity.GroupInfoVo;
import java.util.List;
@@ -10,4 +11,8 @@
List<AudioGroup> queryGroups();
void playMusic(AudioDto audioDto);
+
+ void addFile(AudioDto audioDto);
+
+ GroupInfoVo groupInfo(AudioDto audioDto);
}
diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/impl/AudioServiceImpl.java b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/impl/AudioServiceImpl.java
index e25d27e..627b029 100644
--- a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/impl/AudioServiceImpl.java
+++ b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/impl/AudioServiceImpl.java
@@ -1,10 +1,13 @@
package com.thhy.screen.modules.biz.audio.service.impl;
import com.thhy.screen.modules.biz.audio.entity.AudioDto;
+import com.thhy.screen.modules.biz.audio.entity.AudioFile;
import com.thhy.screen.modules.biz.audio.entity.AudioGroup;
+import com.thhy.screen.modules.biz.audio.entity.GroupInfoVo;
import com.thhy.screen.modules.biz.audio.service.AudioService;
import com.thhy.screen.modules.biz.bigscreen.mapper.BigScreenMapper;
import com.thhy.screen.utils.AudioUtils;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -26,6 +29,23 @@
String groupIds = audioDto.getGroupIds();
String[] groupIdArray = new String[]{groupIds};
AudioUtils.playMusic(groupIdArray);
- return;
+ }
+
+ @Override
+ public void addFile(AudioDto audioDto) {
+ List<AudioFile> fileList = audioDto.getFileList();
+ screenMapper.deleteAudioFile(audioDto.getGroupId());
+ for(AudioFile audioFile : fileList){
+ audioFile.setGroupId(audioDto.getGroupId());
+ screenMapper.insertAudioFile(audioFile);
+ }
+ }
+
+ @Override
+ public GroupInfoVo groupInfo(AudioDto audioDto) {
+ GroupInfoVo infoVo = screenMapper.queryGroupInfo(audioDto.getGroupId());
+ List<AudioFile> fileList = screenMapper.queryFileByGroup(audioDto.getGroupId());
+ infoVo.setFileList(fileList);
+ return infoVo;
}
}
diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/controller/ExecProListener.java b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/controller/ExecProListener.java
index e95479a..3051240 100644
--- a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/controller/ExecProListener.java
+++ b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/controller/ExecProListener.java
@@ -118,21 +118,7 @@
map1.put("mod",ProListenType.PIPEPLANACTUAL);
map1.put("pipePlanActual",yearCountList);
mapList.add(map1);
- Map<String,Object> map2 = new HashMap<>();
- List<PipeMonthPlanActual> pipeMonthPlanActuals = bigScreenMapper.pipeMonthPlanActual(companyId);
- map2.put("mod",ProListenType.PIPEMONTHPLANACTUAL);
- map2.put("pipeMonthPlanActual",pipeMonthPlanActuals);
- mapList.add(map2);
- Map<String,Object> map3 = new HashMap<>();
- List<MaterialWeekAndMonth> materialWeekAndMonths = bigScreenMapper.materialWeekMonth(companyId);
- map3.put("mod",ProListenType.MATERIALWEEKANDMONTHS);
- map3.put("materialWeekAndMonths",materialWeekAndMonths);
- mapList.add(map3);
return mapList;
- }else if(dataType.equals(ProListenType.MATERIALWEEKANDMONTHS)){
- //原料消耗 周月
- List<MaterialWeekAndMonth> materialWeekAndMonths = bigScreenMapper.materialWeekMonth(companyId);
- map.put("materialWeekAndMonths",materialWeekAndMonths);
}else if (dataType.equals(ProListenType.PIPEPLANACTUAL)){
//年度生产计划和实际完成
List<PipeYearCount> yearCountList = bigScreenMapper.queryAllProject(companyId);
@@ -141,10 +127,6 @@
yc.setPipePlanActual(pipePlanActual);
});
map.put("pipePlanActual",yearCountList);
- }else if (dataType.equals(ProListenType.PIPEMONTHPLANACTUAL)){
- //月度生产计划和实际完成
- List<PipeMonthPlanActual> pipeMonthPlanActuals = bigScreenMapper.pipeMonthPlanActual(companyId);
- map.put("pipeMonthPlanActual",pipeMonthPlanActuals);
}else if (dataType.equals(ProListenType.WATERCULINFO)){
//水养池
List<WaterCulInfo> culInfoList = bigScreenMapper.WaterCulInfo(companyId);
@@ -167,6 +149,14 @@
mapList.add(map1);
mapList.add(map2);
return mapList;
+ }else if (dataType.equals(ProListenType.STEELUSE)){
+ //钢筋消耗
+ List<HashMap<String,Object>> steelUseList = bigScreenMapper.querySteelMake();
+ map.put("steelUse",steelUseList);
+ }else if (dataType.equals(ProListenType.RESTINFO)){
+ //缓存区
+ List<HashMap<String,Object>> restInfo = bigScreenMapper.queryRestInfo();
+ map.put("restInfo",restInfo);
}
mapList.add(map);
return mapList;
diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/mapper/BigScreenMapper.java b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/mapper/BigScreenMapper.java
index 0a88200..99fdccf 100644
--- a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/mapper/BigScreenMapper.java
+++ b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/mapper/BigScreenMapper.java
@@ -1,6 +1,8 @@
package com.thhy.screen.modules.biz.bigscreen.mapper;
+import com.thhy.screen.modules.biz.audio.entity.AudioFile;
import com.thhy.screen.modules.biz.audio.entity.AudioGroup;
+import com.thhy.screen.modules.biz.audio.entity.GroupInfoVo;
import com.thhy.screen.modules.biz.bigscreen.entity.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
@@ -34,4 +36,18 @@
void insertAudioGroup(AudioGroup audioGroup);
List<AudioGroup> queryGroups();
+
+ List<HashMap<String,Object>> querySteelMake();
+
+ List<HashMap<String,Object>> queryRestInfo();
+
+ void insertAudioFile(AudioFile audioFile);
+
+ void updateAudioFile(AudioFile audioFile);
+
+ void deleteAudioFile(String groupId);
+
+ GroupInfoVo queryGroupInfo(String id);
+
+ List<AudioFile> queryFileByGroup(String groupId);
}
diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/service/impl/ProduceListenServiceImpl.java b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/service/impl/ProduceListenServiceImpl.java
index 22d4968..4f0710d 100644
--- a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/service/impl/ProduceListenServiceImpl.java
+++ b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/service/impl/ProduceListenServiceImpl.java
@@ -45,11 +45,17 @@
map.put("pipePlanActual",yearCountList);
//月度生产计划和实际完成
- List<PipeMonthPlanActual> pipeMonthPlanActuals = bigScreenMapper.pipeMonthPlanActual(companyId);
- map.put("pipeMonthPlanActual",pipeMonthPlanActuals);
+ //List<PipeMonthPlanActual> pipeMonthPlanActuals = bigScreenMapper.pipeMonthPlanActual(companyId);
+ //map.put("pipeMonthPlanActual",pipeMonthPlanActuals);
//原料消耗 周月
- List<MaterialWeekAndMonth> materialWeekAndMonths = bigScreenMapper.materialWeekMonth(companyId);
- map.put("materialWeekAndMonths",materialWeekAndMonths);
+ //List<MaterialWeekAndMonth> materialWeekAndMonths = bigScreenMapper.materialWeekMonth(companyId);
+ //map.put("materialWeekAndMonths",materialWeekAndMonths);
+ //钢筋消耗
+ List<HashMap<String,Object>> steelUseList = bigScreenMapper.querySteelMake();
+ map.put("steelUse",steelUseList);
+ //缓存区
+ List<HashMap<String,Object>> restInfo = bigScreenMapper.queryRestInfo();
+ map.put("restInfo",restInfo);
//水养池
List<WaterCulInfo> culInfoList = bigScreenMapper.WaterCulInfo(companyId);
map.put("waterCulInfo",culInfoList);
diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/utils/AudioUtils.java b/hd/pipe/screen/src/main/java/com/thhy/screen/utils/AudioUtils.java
index 9d5d23a..e14b357 100644
--- a/hd/pipe/screen/src/main/java/com/thhy/screen/utils/AudioUtils.java
+++ b/hd/pipe/screen/src/main/java/com/thhy/screen/utils/AudioUtils.java
@@ -11,7 +11,8 @@
public static void main(String[] args) {
//getGroups();
-
+ //playMusic();
+ getItemList();
}
public static void login(){
@@ -20,6 +21,12 @@
public static String getGroups(){
String result = HttpUtils.post("GetGroups",new JSONObject());
+ System.out.println(result);
+ return result;
+ }
+
+ public static String getItemList(){
+ String result = HttpUtils.post("GetItemList",new JSONObject());
System.out.println(result);
return result;
}
@@ -38,4 +45,15 @@
System.out.println(result);
return result;
}
+
+ public static String playMusic(){
+ JSONObject jsonObject = new JSONObject();
+ String[] ms = new String[]{"https://szpipe.thhy-tj.com/jingbao.mp3"};
+
+ jsonObject.put("Files",ms);
+ jsonObject.put("TextCode",1);
+ String result = HttpUtils.post("PlayMp3",jsonObject);
+ System.out.println(result);
+ return result;
+ }
}
diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/utils/HttpUtils.java b/hd/pipe/screen/src/main/java/com/thhy/screen/utils/HttpUtils.java
index 3534bcb..3212066 100644
--- a/hd/pipe/screen/src/main/java/com/thhy/screen/utils/HttpUtils.java
+++ b/hd/pipe/screen/src/main/java/com/thhy/screen/utils/HttpUtils.java
@@ -12,7 +12,7 @@
public class HttpUtils {
- private static String BaseHost = "http://150.158.37.69:8080/api/";
+ private static String BaseHost = "http://58.210.64.90:9199/api/";
private static String token = "";
diff --git a/hd/pipe/screen/src/main/resources/mapping/BigScreenMapper.xml b/hd/pipe/screen/src/main/resources/mapping/BigScreenMapper.xml
index f5a063c..51b8d7e 100644
--- a/hd/pipe/screen/src/main/resources/mapping/BigScreenMapper.xml
+++ b/hd/pipe/screen/src/main/resources/mapping/BigScreenMapper.xml
@@ -208,7 +208,7 @@
</select>
<insert id="insertAudioGroup">
- INSERT INTO
+ INSERT INTO t_audio_group
<trim suffix=")" prefix="(" suffixOverrides=",">
<if test="id != null and id !=null">
id,
@@ -234,8 +234,104 @@
</insert>
<select id="queryGroups" resultType="com.thhy.screen.modules.biz.audio.entity.AudioGroup">
- select id,group_id as groupId,group_name as groupName from t_audio_groups
+ select id,group_id as groupId,group_name as groupName from t_audio_group
</select>
+ <!--钢筋总消耗,周消耗,月消耗-->
+ <select id="querySteelMake" resultType="hashmap">
+ select steel.steel_id,CONCAT(steel.steel_name,'-',steel_model) as steelName,
+ case when a.totalStock is NULL then 0 else a.totalStock end as totalStock,
+ case when b.weekStock is NULL then 0 else b.weekStock end as weekStock,
+ case when c.monthStock is NULL then 0 else c.monthStock end as monthStock
+ from sys_steel steel
+ left join
+ (
+ select ssr.steel_id,sum(ssr.change_stock) as totalStock from sys_steel_record ssr
+ where ssr.stock_type = 2
+ group by ssr.steel_id
+ ) a on steel.steel_id = a.steel_id
+ left join
+ (
+ select ssr.steel_id,sum(ssr.change_stock) as weekStock from sys_steel_record ssr
+ where ssr.stock_type = 2 and YEAR(SYSDATE()) = YEAR(ssr.create_time) and WEEK(sysdate(),1) = WEEK(ssr.create_time,1)
+ group by ssr.steel_id
+ ) b on steel.steel_id = b.steel_id
+
+ left join
+ (
+ select ssr.steel_id,sum(ssr.change_stock) as monthStock from sys_steel_record ssr
+ where ssr.stock_type = 2 and YEAR(SYSDATE()) = YEAR(ssr.create_time) and MONTH(SYSDATE()) = MONTH(ssr.create_time)
+ group by ssr.steel_id
+ ) c on steel.steel_id = c.steel_id
+ </select>
+
+ <!--获取静养区-->
+ <select id="queryRestInfo" resultType="hashmap">
+ select sd.device_id as deviceId,sd.device_name as deviceName,(select tem from t_rest_data trd where trd.device_id = sd.device_id order by check_time desc limit 1) as tem
+ from sys_device sd where sd.produce_order = '静养'
+ </select>
+
+ <insert id="insertAudioFile">
+ insert into t_audio_group_file
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="id !=null and id !=''">
+ id,
+ </if>
+ <if test="groupId !=null and groupId !=''">
+ group_id,
+ </if>
+ <if test="audioFile !=null and audioFile !=''">
+ audio_file,
+ </if>
+ <if test="defaults !=null">
+ `defaults`,
+ </if>
+ </trim>
+ <trim prefix=" values (" suffix=")" suffixOverrides=",">
+ <if test="id !=null and id !=''">
+ #{id},
+ </if>
+ <if test="groupId !=null and groupId !=''">
+ #{groupId},
+ </if>
+ <if test="audioFile !=null and audioFile !=''">
+ #{audioFile},
+ </if>
+ <if test="defaults !=null">
+ #{defaults},
+ </if>
+ </trim>
+ </insert>
+
+ <update id="updateAudioFile">
+ UPDATE t_audio_group_file
+ <set>
+ <trim suffixOverrides=",">
+ <if test="groupId !=null and groupId !=''">
+ group_id = #{groupId},
+ </if>
+ <if test="audioFile !=null and audioFile !=''">
+ audio_file = #{groupFile},
+ </if>
+ <if test="defaults !=null">
+ `defaults` = #{defaults},
+ </if>
+ </trim>
+ </set>
+ where id = #{id}
+ </update>
+
+ <delete id="deleteAudioFile">
+ delete from t_audio_group_file where group_id = #{groupId}
+ </delete>
+
+ <select id="queryGroupInfo" resultType="com.thhy.screen.modules.biz.audio.entity.GroupInfoVo">
+ select id,group_name as groupName
+ from t_audio_group where id = #{id}
+ </select>
+
+ <select id="queryFileByGroup" resultType="com.thhy.screen.modules.biz.audio.entity.AudioFile">
+ select id,group_id as groupId,audio_file as audioFile,`defaults` from t_audio_group_file where group_id = #{groupId}
+ </select>
</mapper>
\ No newline at end of file
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/entity/HiddenDangerEntity.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/entity/HiddenDangerEntity.java
index 286940c..c15a7c2 100644
--- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/entity/HiddenDangerEntity.java
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/entity/HiddenDangerEntity.java
@@ -27,6 +27,7 @@
*/
@Excel(sort = 2,title = "隐患地点")
private String dangerLocation;
+ private String dictId;
/**
* 隐患标题
@@ -116,4 +117,7 @@
}
return name;
}
+
+ private String auditUser;
+ private Date auditTime;
}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java
index cc10f59..fcfa191 100644
--- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java
@@ -10,15 +10,17 @@
import com.thhy.secure.modules.biz.hiddenDanger.entity.HiddenDangerEntity;
import com.thhy.secure.modules.biz.hiddenDanger.mapper.HiddenDangerMapper;
import com.thhy.secure.modules.biz.hiddenDanger.service.HiddenDangerService;
+import com.thhy.secure.modules.biz.integralAccount.entity.IntegralAccountEntity;
+import com.thhy.secure.modules.biz.integralAccount.entity.IntegralDetailEntity;
+import com.thhy.secure.modules.biz.integralAccount.mapper.IntegralDetailMapper;
+import com.thhy.secure.modules.biz.regionInspection.mapper.RegionInspectionRecordMapper;
+import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* @Author QiuYuHao
@@ -31,6 +33,11 @@
@Autowired
private HiddenDangerMapper hiddenDangerMapper;
+ @Autowired
+ private IntegralDetailMapper integralDetailMapper;
+
+ @Autowired
+ private RegionInspectionRecordMapper regionInspectionRecordMapper;
private static final Object Lock = new Object();
@Override
@Transactional(rollbackFor = Exception.class)
@@ -58,6 +65,9 @@
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
String userId = sysUserInfo.getUserId();
hiddenDangerEntity.setUpdateUser(userId);
+ if (hiddenDangerEntity.getDictId() != null){
+ hiddenDangerEntity.setDangerLocation(hiddenDangerEntity.getDictId());
+ }
hiddenDangerEntity.setUpdateTime(new Date());
synchronized (Lock){
hiddenDangerMapper.update(hiddenDangerEntity);
@@ -95,10 +105,14 @@
}
PageHelper.startPage(pageNum,pageSize);
List<HiddenDangerEntity> hiddenDangerEntities = new ArrayList<>();
- if(type == 1){
+ if(type == 1){//审核列表
//小程序 待审核排前面 待审核按时间正序 审核成功的倒叙
hiddenDangerEntities = hiddenDangerMapper.selectAppList(map);
- }else {
+ }else if(type == 2){//隐患举报详情列表
+ map.put("createUser",sysUserInfo.getUserId());
+ //小程序 待审核排前面 待审核按时间正序 审核成功的倒叙
+ hiddenDangerEntities = hiddenDangerMapper.selectPageList(map);
+ } else {
//web 按时间倒序
hiddenDangerEntities = hiddenDangerMapper.selectPageList(map);
}
@@ -153,9 +167,55 @@
}
@Override
+ @Transactional(rollbackFor = Exception.class)
public BasicResult examine(HiddenDangerEntity hiddenDangerEntity) {
+ SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+ String platUserId = regionInspectionRecordMapper.selectPlatUserId(hiddenDangerEntity.getCreateUser());
+ Map platUser = regionInspectionRecordMapper.getPlatUser(platUserId);
+ int user_type = (int) platUser.get("user_type");
+ Map account = new HashMap();
+ account.put("userId",platUserId);
+ //查询账户
+ IntegralAccountEntity queryAccount = integralDetailMapper.selectByOne(account);
+ Double accumulateIntegral = 0.0;
+ Double totalIntegral = 0.0;
+ if (queryAccount != null){
+ accumulateIntegral = queryAccount.getAccumulateIntegral();//累计积分
+ totalIntegral = queryAccount.getTotalIntegral();//当前余额
+ }
hiddenDangerEntity.setAuditStatus(1);//1审核通过
- hiddenDangerMapper.update(hiddenDangerEntity);
+ hiddenDangerEntity.setDangerLocation(null);
+ hiddenDangerEntity.setAuditTime(new Date());
+ hiddenDangerEntity.setAuditUser(sysUserInfo.getUserId());
+ synchronized (Lock){
+ hiddenDangerMapper.update(hiddenDangerEntity);
+ IntegralAccountEntity integralAccountEntity = IntegralAccountEntity
+ .builder()
+ .userId(platUserId)
+ .id(UUIDUtils.create())
+ .accumulateIntegral(accumulateIntegral+hiddenDangerEntity.getIntegral())
+ .totalIntegral(totalIntegral+hiddenDangerEntity.getIntegral())
+ .userType(user_type)
+ .build();
+
+ IntegralDetailEntity integralDetailEntity = IntegralDetailEntity
+ .builder()
+ .id(UUIDUtils.create())
+ .balanc(totalIntegral+hiddenDangerEntity.getIntegral())
+ .integralSource("隐患审核")
+ .integralWater(hiddenDangerEntity.getIntegral())
+ .createTime(new Date())
+ .createUser(sysUserInfo.getUserId())
+ .userType(user_type)
+ .userId(platUserId)
+ .type(1)
+ .remark("隐患审核")
+ .companyId(sysUserInfo.getCompanyId())
+ .build();
+
+ integralDetailMapper.insertAndUpdateAccount(integralAccountEntity);
+ integralDetailMapper.insertDetailAndUpdate(integralDetailEntity);
+ }
return BasicResult.success();
}
}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/controller/IntegraDetailController.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/controller/IntegraDetailController.java
new file mode 100644
index 0000000..67242a1
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/controller/IntegraDetailController.java
@@ -0,0 +1,84 @@
+package com.thhy.secure.modules.biz.integralAccount.controller;
+
+import com.thhy.general.common.BasicResult;
+import com.thhy.general.config.SysUserInfo;
+import com.thhy.general.utils.ExcelUtils;
+import com.thhy.general.utils.UserInfoUtils;
+import com.thhy.secure.modules.biz.integralAccount.entity.IntegralAccountEntity;
+import com.thhy.secure.modules.biz.integralAccount.entity.IntegralDetailEntity;
+import com.thhy.secure.modules.biz.integralAccount.service.IntegralDetailService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-27 17:34:01
+ * 积分流水控制层
+ */
+@RestController
+@RequestMapping("integralAccount")
+public class IntegraDetailController {
+
+ @Autowired
+ private IntegralDetailService integralDetailService;
+ /**
+ * 积分超市新增和修改
+ * @param integralDetailEntity
+ */
+ @PostMapping("insertAndUpdate")
+ BasicResult insertAndUpdate(@RequestBody IntegralDetailEntity integralDetailEntity){
+ return integralDetailService.insertAndUpdate(integralDetailEntity);
+ }
+
+ /**
+ * 积分超市
+ * @param map
+ * @return
+ */
+ @PostMapping("selectPageList")
+ BasicResult selectPageList(@RequestBody Map map){
+ return integralDetailService.selectPageList(map);
+ }
+
+ /**
+ * 积分超市删除
+ * @param id
+ */
+ @GetMapping("delete")
+ BasicResult delete(@RequestParam String id){
+ return integralDetailService.delete(id);
+ }
+
+
+ /**
+ * 安全积分列表
+ */
+ @PostMapping("selectSafeIntegralPageList")
+ BasicResult selectSafeIntegralPageList(@RequestBody Map map){
+ return integralDetailService.selectSafeIntegralPageList(map);
+ }
+
+ /**
+ * 安全积分明细
+ * @param map
+ * @return
+ */
+ @PostMapping("selectSafeIntegralInfo")
+ BasicResult selectSafeIntegralInfo(@RequestBody Map map){
+ return integralDetailService.selectSafeIntegralInfo(map);
+ }
+
+ @PostMapping("exportList")
+ public void exportList(@RequestBody Map map, HttpServletResponse rsp) {
+ this.integralDetailService.exportList(map,rsp);
+ }
+
+ @PostMapping("exportSafeIntegralInfo")
+ public void exportSafeIntegralInfo(@RequestBody Map map, HttpServletResponse rsp) {
+ this.integralDetailService.exportSafeIntegralInfo(map,rsp);
+ }
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/entity/IntegralAccountEntity.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/entity/IntegralAccountEntity.java
new file mode 100644
index 0000000..cca96e8
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/entity/IntegralAccountEntity.java
@@ -0,0 +1,34 @@
+package com.thhy.secure.modules.biz.integralAccount.entity;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-27 17:34:53
+ * 积分账户实体
+ */
+@Builder
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class IntegralAccountEntity {
+
+ private String id;
+ private String userId;
+ private Double totalIntegral;//当前余额
+ private Double accumulateIntegral;//累计积分
+ private Double totalConsumption;//总消耗
+ private Date createTime;
+ private String createUser;
+ private Date updateTime;
+ private String updateUser;
+ private Integer userType;
+ private String realName;
+ private List<IntegralDetailEntity> integralDetailList;
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/entity/IntegralDetailDto.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/entity/IntegralDetailDto.java
new file mode 100644
index 0000000..616456c
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/entity/IntegralDetailDto.java
@@ -0,0 +1,54 @@
+package com.thhy.secure.modules.biz.integralAccount.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.thhy.general.annotations.Excel;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-28 11:06:19
+ */
+@Builder
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class IntegralDetailDto {
+
+ private String id;
+ private Integer type;//1、获取 2、消耗
+
+ private String createUser;
+ private String companyId;
+ private String userId;
+ private Integer userType;
+ private Double changeIntegral;//变量在积分超市 修改前的变量
+
+
+ @Excel(sort = 1,title = "时间")
+ private String createDate;
+
+ private Date createTime;
+ @Excel(sort = 2,title = "积分分值")
+ private Double integralWater;//当前可改积分流水
+
+ @Excel(sort = 3,title = "余额")
+ private Double balanc;//当前余额
+
+ @Excel(sort = 4,title = "类型")
+ private String typeName;//1、获取 2、消耗
+ private String integralSource;//积分怎么来的
+ private String userTypeName;
+
+ private String realName;//真实姓名
+
+
+ @Excel(sort = 5,title = "说明")
+ private String remark;//说明
+
+
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/entity/IntegralDetailEntity.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/entity/IntegralDetailEntity.java
new file mode 100644
index 0000000..4f9834e
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/entity/IntegralDetailEntity.java
@@ -0,0 +1,47 @@
+package com.thhy.secure.modules.biz.integralAccount.entity;
+
+import com.thhy.general.annotations.Excel;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-27 17:38:37
+ * 积分流水实体
+ */
+@Builder
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class IntegralDetailEntity {
+
+ private String id;
+ private Integer type;//1、获取 2、消耗
+ private String typeName;//1、获取 2、消耗
+
+ private String integralSource;//积分怎么来的
+ private String createUser;
+ private String companyId;
+ private String userId;
+ private Integer userType;
+ private Double balanc;//当前余额
+ private Double changeIntegral;//变量在积分超市 修改前的变量
+
+
+ private Date createTime;
+ @Excel(sort = 1,title = "时间")
+ private String createDate;
+ @Excel(sort = 2,title = "人员类别")
+ private String userTypeName;
+ @Excel(sort = 3,title = "人员姓名")
+ private String realName;//真实姓名
+ @Excel(sort = 4,title = "积分")
+ private Double integralWater;//当前可改积分流水
+
+ @Excel(sort = 5,title = "说明")
+ private String remark;//说明
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/mapper/IntegralDetailMapper.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/mapper/IntegralDetailMapper.java
new file mode 100644
index 0000000..25c3fb4
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/mapper/IntegralDetailMapper.java
@@ -0,0 +1,60 @@
+package com.thhy.secure.modules.biz.integralAccount.mapper;
+
+import com.thhy.secure.modules.biz.integralAccount.entity.IntegralAccountEntity;
+import com.thhy.secure.modules.biz.integralAccount.entity.IntegralDetailDto;
+import com.thhy.secure.modules.biz.integralAccount.entity.IntegralDetailEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao 积分明细
+ * @CreateDate 2023-11-27 17:42:43
+ */
+@Mapper
+public interface IntegralDetailMapper {
+
+ /**
+ * 积分超市新增和修改
+ * @param integralDetailEntity
+ */
+ void insertDetailAndUpdate(IntegralDetailEntity integralDetailEntity);
+ /**
+ * 积分账户
+ */
+ void insertAndUpdateAccount(IntegralAccountEntity integralAccountEntity);
+
+ /**
+ * 积分超市
+ * @param map
+ * @return
+ */
+ List<IntegralDetailEntity> selectPageList(Map map);
+ List<IntegralDetailDto> selectPageInfoList(Map map);
+
+ /**
+ * 积分超市删除
+ * @param id
+ */
+ void delete(String id);
+
+
+ /**
+ * 安全积分列表
+ */
+ List<IntegralAccountEntity> selectSafeIntegralPageList(Map map);
+
+ /**
+ * 查询账户积分
+ * @param id
+ * @return
+ */
+ IntegralAccountEntity selectByOne(Map m);
+ /**
+ * 安全积分明细
+ * @param map
+ * @return
+ */
+ List<IntegralDetailDto> selectSafeIntegralInfo(Map map);
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/service/IntegralDetailService.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/service/IntegralDetailService.java
new file mode 100644
index 0000000..6715819
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/service/IntegralDetailService.java
@@ -0,0 +1,55 @@
+package com.thhy.secure.modules.biz.integralAccount.service;
+
+import com.thhy.general.common.BasicResult;
+import com.thhy.secure.modules.biz.integralAccount.entity.IntegralDetailEntity;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-27 18:32:15
+ * 积分超市
+ */
+
+public interface IntegralDetailService {
+
+
+ /**
+ * 积分超市新增和修改
+ * @param integralDetailEntity
+ */
+ BasicResult insertAndUpdate(IntegralDetailEntity integralDetailEntity);
+
+ /**
+ * 积分超市
+ * @param map
+ * @return
+ */
+ BasicResult selectPageList(Map map);
+ /**
+ * 积分超市
+ * @param map
+ * @param rsp
+ */
+ void exportList(Map map, HttpServletResponse rsp);
+ /**
+ * 积分超市删除
+ * @param id
+ */
+ BasicResult delete(String id);
+
+
+ /**
+ * 安全积分列表
+ */
+ BasicResult selectSafeIntegralPageList(Map map);
+
+ /**
+ * 安全积分明细
+ * @param map
+ * @return
+ */
+ BasicResult selectSafeIntegralInfo(Map map);
+ void exportSafeIntegralInfo(Map map, HttpServletResponse rsp);
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/service/impl/IntegralDetailServiceImpl.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/service/impl/IntegralDetailServiceImpl.java
new file mode 100644
index 0000000..9e9c823
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/integralAccount/service/impl/IntegralDetailServiceImpl.java
@@ -0,0 +1,222 @@
+package com.thhy.secure.modules.biz.integralAccount.service.impl;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.thhy.general.common.BasicResult;
+import com.thhy.general.config.SysUserInfo;
+import com.thhy.general.utils.ExcelUtils;
+import com.thhy.general.utils.UUIDUtils;
+import com.thhy.general.utils.UserInfoUtils;
+import com.thhy.secure.modules.biz.integralAccount.entity.IntegralAccountEntity;
+import com.thhy.secure.modules.biz.integralAccount.entity.IntegralDetailDto;
+import com.thhy.secure.modules.biz.integralAccount.entity.IntegralDetailEntity;
+import com.thhy.secure.modules.biz.integralAccount.mapper.IntegralDetailMapper;
+import com.thhy.secure.modules.biz.integralAccount.service.IntegralDetailService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-27 18:33:40
+ * 积分超市实现
+ */
+@Service
+public class IntegralDetailServiceImpl implements IntegralDetailService
+{
+
+ @Autowired
+ private IntegralDetailMapper integralDetailMapper;
+
+ private static final Object Lock= new Object();
+ /**
+ * 积分超市新增和修改
+ * @param integralDetailEntity
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public BasicResult insertAndUpdate(IntegralDetailEntity integralDetailEntity){
+ String id = integralDetailEntity.getId();
+ SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+ String sysUserId = sysUserInfo.getUserId();
+ String companyId = sysUserInfo.getCompanyId();
+ //扣积分逻辑
+ synchronized (Lock){
+ IntegralAccountEntity integralAccountEntity = IntegralAccountEntity
+ .builder()
+ .userId(integralDetailEntity.getUserId())
+ .updateUser(sysUserId)
+ .updateTime(new Date())
+ .id(UUIDUtils.create())
+ .build();
+ Map map = new HashMap();
+ map.put("userId",integralDetailEntity.getUserId());
+ //查询账户
+ IntegralAccountEntity queryAccount = integralDetailMapper.selectByOne(map);
+ if(queryAccount == null || queryAccount.getTotalIntegral()<integralDetailEntity.getIntegralWater()){//无账户
+ return BasicResult.faild("500","积分不足,无法扣除积分",null);
+ }
+ //有账户
+ Double totalConsumption = queryAccount.getTotalConsumption();//总消耗
+ Double accumulateIntegral = queryAccount.getAccumulateIntegral();//累计积分
+ Double totalIntegral = queryAccount.getTotalIntegral();//当前余额
+
+ integralAccountEntity.setTotalIntegral(totalIntegral-integralDetailEntity.getIntegralWater());
+ integralAccountEntity.setAccumulateIntegral(accumulateIntegral);
+ integralAccountEntity.setTotalConsumption(totalConsumption+integralDetailEntity.getIntegralWater());
+ //修改账户
+ integralDetailMapper.insertAndUpdateAccount(integralAccountEntity);
+ if(id == null){
+ integralDetailEntity.setCompanyId(companyId);
+ integralDetailEntity.setId(UUIDUtils.create());
+ integralDetailEntity.setCreateTime(new Date());
+ integralDetailEntity.setCreateUser(sysUserId);
+ }
+ integralDetailEntity.setBalanc(totalIntegral-integralDetailEntity.getIntegralWater());//拿到当前余额
+
+ integralDetailEntity.setType(2);
+ integralDetailEntity.setIntegralSource("积分超市");
+ //添加或修改明细
+ integralDetailMapper.insertDetailAndUpdate(integralDetailEntity);
+ }
+ return BasicResult.success();
+ }
+
+ /**
+ * 积分超市
+ * @param map
+ * @return
+ */
+ @Override
+ public BasicResult selectPageList(Map map){
+ SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+ String companyId = sysUserInfo.getCompanyId();
+ int pageNum = (int) map.get("pageNum");
+ int pageSize = (int) map.get("pageSize");
+ PageHelper.startPage(pageNum,pageSize);
+ map.put("companyId",companyId);
+ List<IntegralDetailEntity> integralDetailEntities = integralDetailMapper.selectPageList(map);
+ return BasicResult.success(new PageInfo<>(integralDetailEntities));
+ }
+
+
+ /**
+ * 积分超市删除
+ * @param id
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public BasicResult delete(String id){
+ Map map =new HashMap();
+ map.put("id",id);
+ IntegralDetailDto integralDetailEntity = integralDetailMapper.selectSafeIntegralInfo(map).get(0);
+ Double integralWater = integralDetailEntity.getIntegralWater();//获取消耗积分
+ Map account = new HashMap();
+ account.put("userId",integralDetailEntity.getUserId());
+ //查询账户
+ IntegralAccountEntity queryAccount = integralDetailMapper.selectByOne(account);
+
+ Double totalConsumption = queryAccount.getTotalConsumption();//总消耗
+ Double accumulateIntegral = queryAccount.getAccumulateIntegral();//累计积分
+ Double totalIntegral = queryAccount.getTotalIntegral();//当前余额
+ synchronized (Lock){
+ IntegralAccountEntity integralAccountEntity = IntegralAccountEntity
+ .builder()
+ .userId(integralDetailEntity.getUserId())
+ .totalConsumption(totalConsumption - integralWater)
+ .accumulateIntegral(accumulateIntegral + integralWater)
+ .totalIntegral(totalIntegral + integralWater)
+ .build();
+ integralDetailMapper.insertAndUpdateAccount(integralAccountEntity);
+ integralDetailMapper.delete(id);
+ }
+ return BasicResult.success();
+ }
+
+
+ /**
+ * 安全积分列表
+ */
+ @Override
+ public BasicResult selectSafeIntegralPageList(Map map){
+ SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+ String companyId = sysUserInfo.getCompanyId();
+ int pageNum = (int) map.get("pageNum");
+ int pageSize = (int) map.get("pageSize");
+ PageHelper.startPage(pageNum,pageSize);
+ map.put("companyId",companyId);
+ List<IntegralAccountEntity> integralAccountEntities = integralDetailMapper.selectSafeIntegralPageList(map);
+ return BasicResult.success(new PageInfo<>(integralAccountEntities));
+ }
+
+ /**
+ * 安全积分明细
+ * @param map
+ * @return
+ */
+ @Override
+ public BasicResult selectSafeIntegralInfo(Map map){
+ SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+ String companyId = sysUserInfo.getCompanyId();
+ IntegralAccountEntity integralAccountEntity = integralDetailMapper.selectByOne(map);
+ map.put("integral",integralAccountEntity.getTotalIntegral());
+ int pageNum = (int) map.get("pageNum");
+ int pageSize = (int) map.get("pageSize");
+ PageHelper.startPage(pageNum,pageSize);
+ map.put("companyId",companyId);
+ List<IntegralDetailDto> integralDetailEntities = integralDetailMapper.selectSafeIntegralInfo(map);
+ map.put("data",new PageInfo<>(integralDetailEntities));
+ return BasicResult.success(map);
+ }
+
+ @Override
+ public void exportList(Map map, HttpServletResponse rsp) {
+ SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+ String companyId = sysUserInfo.getCompanyId();
+ map.put("companyId",companyId);
+ List<IntegralDetailEntity> integralDetailEntities = integralDetailMapper.selectPageList(map);
+
+ integralDetailEntities.forEach(obj->{
+ if(obj.getUserType() ==1){
+ obj.setUserTypeName("管服人员");
+ }
+ if(obj.getUserType() ==2){
+ obj.setUserTypeName("劳务人员");
+ }
+ });
+ ExcelUtils.downExcel(integralDetailEntities,IntegralDetailEntity.class,rsp,"班组列表");
+ }
+
+ @Override
+ public void exportSafeIntegralInfo(Map map, HttpServletResponse rsp) {
+ SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+ String companyId = sysUserInfo.getCompanyId();
+
+ IntegralAccountEntity integralAccountEntity = integralDetailMapper.selectByOne(map);
+ map.put("integral",integralAccountEntity.getTotalIntegral());
+ map.put("companyId",companyId);
+ List<IntegralDetailDto> integralDetailEntities = integralDetailMapper.selectSafeIntegralInfo(map);
+ integralDetailEntities.forEach(obj->{
+ if(obj.getUserType() ==1){
+ obj.setUserTypeName("管服人员");
+ }
+ if(obj.getUserType() ==2){
+ obj.setUserTypeName("劳务人员");
+ }
+ if(obj.getType() == 1){
+ obj.setTypeName("获取");
+ }
+ if(obj.getType() == 2){
+ obj.setTypeName("消耗");
+ }
+ });
+ ExcelUtils.downExcel(integralDetailEntities,IntegralDetailDto.class,rsp,"班组列表");
+ }
+
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/controller/RegionInspectionRecordController.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/controller/RegionInspectionRecordController.java
index 9c48252..df32012 100644
--- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/controller/RegionInspectionRecordController.java
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/controller/RegionInspectionRecordController.java
@@ -85,8 +85,7 @@
@PostMapping("selectAppInfo")
BasicResult selectAppInfo(@RequestBody Map map){
String regionInspectionId = map.get("regionInspectionId").toString();
- String userId = map.get("userId").toString();
- return regionInspectionRecordService.selectAppInfo(regionInspectionId,userId);
+ return regionInspectionRecordService.selectAppInfo(regionInspectionId,null);
}
/**
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionHazardInformEntity.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionHazardInformEntity.java
index 0d40b10..ad88884 100644
--- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionHazardInformEntity.java
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionHazardInformEntity.java
@@ -42,4 +42,8 @@
* 一个区域对应一个结果记录
*/
RegionInspectionRecordEntity recordEntity;
+
+ private String result;//巡检结果
+ private List<RegionInspectionRecordImgEntity> imgList;
+ private Integer status;//该区域的巡检状态
}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionRecordEntity.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionRecordEntity.java
index aa3a6b5..5ef8cea 100644
--- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionRecordEntity.java
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/entity/RegionInspectionRecordEntity.java
@@ -51,5 +51,5 @@
private String imgPaths;
- List<RegionInspectionRecordImgEntity> imgList;
+ private List<RegionInspectionRecordImgEntity> imgList;
}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/mapper/RegionInspectionRecordMapper.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/mapper/RegionInspectionRecordMapper.java
index b9be0e3..824202b 100644
--- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/mapper/RegionInspectionRecordMapper.java
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/mapper/RegionInspectionRecordMapper.java
@@ -24,6 +24,7 @@
void delete(String id);
//根据任务id删除记录
void deleteByRegionInspectionId(String regionInspectionId);
+
//任务打卡web端查询列表 或者 判断主任务完成未完成的标准
List<RegionInspectionRecordEntity> selectPageList(Map map);
Integer selectCount(Map map);
@@ -40,7 +41,14 @@
@Param("regionHazardInformId")String regionHazardInformId);
void insertIMG(RegionInspectionRecordImgEntity regionInspectionRecordImgEntity);
+ void deleteIMG(String regionInspectionRecordId);
+
+ List<RegionInspectionRecordImgEntity> selectImgByRecordId(String regionInspectionRecordId);
+
//小程序巡检打卡列表
List<Map> selectAppList(Map map);
+
+ String selectPlatUserId(String userId);
+ Map getPlatUser(String platUserId);
}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionRecordServiceImpl.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionRecordServiceImpl.java
index b12d1b6..7484f6e 100644
--- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionRecordServiceImpl.java
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionRecordServiceImpl.java
@@ -44,17 +44,18 @@
public BasicResult insertAndUpdate(RegionInspectionRecordEntity regionInspectionEntity) {
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
String userId = sysUserInfo.getUserId();
+ String platUserId = regionInspectionRecordMapper.selectPlatUserId(userId);
//修改逻辑
if (StringUtils.isNotBlank(regionInspectionEntity.getId())){
regionInspectionEntity.setUpdateUser(userId);
regionInspectionEntity.setInspectionTime(new Date());
regionInspectionEntity.setUpdateTime(new Date());
}
+ regionInspectionRecordMapper.deleteIMG(regionInspectionEntity.getId());
synchronized (this){
//修改打卡记录
regionInspectionEntity.setCreateUser(userId);
regionInspectionRecordMapper.insert(regionInspectionEntity);
-
//添加记录相对应的图片
if (!regionInspectionEntity.getImgList().isEmpty()){
regionInspectionEntity.getImgList().forEach(obj->{
@@ -158,23 +159,35 @@
@Override
public BasicResult selectAppInfo(String regionInspectionId, String userId) {
- RegionInspectionEntity obj = regionInspectionRecordMapper.selectInfo(regionInspectionId, userId);
+ SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+ userId = sysUserInfo.getUserId();
+ String platUserId = regionInspectionRecordMapper.selectPlatUserId(userId);
+ RegionInspectionEntity obj = regionInspectionRecordMapper.selectInfo(regionInspectionId, platUserId);
List<RegionInspectionHazardInformEntity> regionList = new ArrayList<>();
- if (obj.getRegionIds()!=null){
+ if (obj!=null && obj.getRegionIds()!=null){
String[] regionIds = obj.getRegionIds().intern().split(",");
String[] regions = obj.getRegions().intern().split(",");
//区域对象数组
for (int i = 0; i < regionIds.length; i++) {
RegionInspectionRecordEntity recordEntity = regionInspectionRecordMapper.regionInfo(
regionInspectionId,
- userId,
+ platUserId,
regionIds[i]);
+ List<RegionInspectionRecordImgEntity> imgEntityList=null;
+ if (recordEntity!=null){
+ imgEntityList = regionInspectionRecordMapper.selectImgByRecordId(recordEntity.getId());
+ recordEntity.setImgList(imgEntityList);
+ }
RegionInspectionHazardInformEntity regionEntity = RegionInspectionHazardInformEntity
.builder()
.regionInspectionId(obj.getId())
.regionHazardInformId(regionIds[i])
.region(regions[i])
- .recordEntity(recordEntity).build();
+ .recordEntity(recordEntity)
+ .imgList(imgEntityList)
+ .result(recordEntity.getResult())
+ .status(recordEntity.getStatus())
+ .build();
regionList.add(regionEntity);
}
}
@@ -196,7 +209,8 @@
SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
String companyId = sysUserInfo.getCompanyId();
String userId = sysUserInfo.getUserId();
- map.put("userId",userId);
+ String platUserId = regionInspectionRecordMapper.selectPlatUserId(userId);
+ map.put("userId",platUserId);
map.put("companyId",companyId);
int pageNum = (int) map.get("pageNum");
int pageSize = (int) map.get("pageSize");
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionServiceImpl.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionServiceImpl.java
index 9cd46f2..78c8956 100644
--- a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionServiceImpl.java
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/regionInspection/service/impl/RegionInspectionServiceImpl.java
@@ -79,10 +79,11 @@
regionInspectionMapper.insertInspectionHazardInform(region);
}
- //添加任务的时候添加打卡记录 新增的是待打卡状态
- if (StringUtils.isBlank(regionInspectionEntity.getId())){
- for (String addUserId : userIds) {
- for (String regionId : regionIds) {
+ //添加或修改任务的时候添加打卡记录 是待打卡状态
+ for (String addUserId : userIds) {
+ for (String regionId : regionIds) {
+ RegionInspectionRecordEntity checkIsNull = regionInspectionRecordMapper.regionInfo(regionInspectionEntity.getId(), addUserId, regionId);
+ if (checkIsNull==null){
RegionInspectionRecordEntity regionInspectionRecordEntity =
RegionInspectionRecordEntity
.builder()
@@ -97,6 +98,7 @@
}
}
+
//添加/修改区域巡检
regionInspectionEntity.setId(regionInspectId);
regionInspectionEntity.setCreateUser(userId);
diff --git a/hd/pipe/secure/src/main/resources/mapping/HiddenDangerMapper.xml b/hd/pipe/secure/src/main/resources/mapping/HiddenDangerMapper.xml
index 07cd957..5725ca3 100644
--- a/hd/pipe/secure/src/main/resources/mapping/HiddenDangerMapper.xml
+++ b/hd/pipe/secure/src/main/resources/mapping/HiddenDangerMapper.xml
@@ -89,10 +89,10 @@
<update id="update">
update t_hidden_danger
<set>
- <if test="dangerLocation != null">
+ <if test="dangerLocation != null and dangerLocation !=''">
dangerLocation = #{dangerLocation,jdbcType=VARCHAR},
</if>
- <if test="title != null">
+ <if test="title != null and title !=''">
title = #{title,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
@@ -122,7 +122,12 @@
<if test="level != null">
`level` = #{level,jdbcType=INTEGER},
</if>
-
+ <if test="auditUser != null">
+ auditUser = #{auditUser,jdbcType=VARCHAR},
+ </if>
+ <if test="auditTime != null">
+ auditTime = #{auditTime,jdbcType=TIMESTAMP},
+ </if>
</set>
where id=#{id,jdbcType=VARCHAR}
</update>
@@ -137,7 +142,8 @@
<select id="selectInfo" resultType="com.thhy.secure.modules.biz.hiddenDanger.entity.HiddenDangerEntity">
select
t.id,
- t.dangerLocation,
+ sd.dict_name dangerLocation,
+ sd.dict_id dictId,
t.title,
t.createTime,
t.auditStatus,
@@ -148,10 +154,16 @@
t.companyId,
t.level,
t.integral,
- su.real_name reporter
+ su.real_name reporter,
+ t.integral,
+ t.level,
+ su2.real_name auditUser,
+ t.auditTime
from t_hidden_danger t
LEFT JOIN sys_users su ON su.user_id = t.createUser
LEFT JOIN sys_users su1 ON su1.user_id = t.updateUser
+ LEFT JOIN sys_users su2 ON su2.user_id = t.auditUser
+ LEFT JOIN sys_dict sd on sd.dict_id = t.dangerLocation
where t.id=#{id}
</select>
@@ -159,7 +171,8 @@
<select id="selectPageList" resultType="com.thhy.secure.modules.biz.hiddenDanger.entity.HiddenDangerEntity">
SELECT
t.id,
- t.dangerLocation,
+ sd.dict_name dangerLocation,
+ sd.dict_id dictId,
t.title,
t.createTime,
t.auditStatus,
@@ -170,15 +183,22 @@
t.companyId,
t.level,
t.integral,
+ su2.real_name auditUser,
+ t.auditTime,
su.real_name reporter
from t_hidden_danger t
LEFT JOIN sys_users su ON su.user_id = t.createUser
LEFT JOIN sys_users su1 ON su1.user_id = t.updateUser
+ LEFT JOIN sys_users su2 ON su2.user_id = t.auditUser
+ LEFT JOIN sys_dict sd on sd.dict_id = t.dangerLocation
WHERE
t.isUse = 1
and t.companyId = #{companyId}
<if test="startTime!= null and endTime!=null and startTime != '' and endTime !=''">
and t.createTime BETWEEN #{startTime} and #{endTime}
+ </if>
+ <if test="createUser!= null and createUser != ''">
+ and t.createUser =#{createUser}
</if>
order by t.createTime desc
</select>
@@ -187,7 +207,8 @@
<select id="selectAppList" resultType="com.thhy.secure.modules.biz.hiddenDanger.entity.HiddenDangerEntity">
SELECT
t.id,
- t.dangerLocation,
+ sd.dict_name dangerLocation,
+ sd.dict_id dictId,
t.title,
t.createTime,
t.auditStatus,
@@ -198,16 +219,23 @@
t.companyId,
t.level,
t.integral,
+ su2.real_name auditUser,
+ t.auditTime,
su.real_name reporter
from t_hidden_danger t
LEFT JOIN sys_users su ON su.user_id = t.createUser
LEFT JOIN sys_users su1 ON su1.user_id = t.updateUser
+ LEFT JOIN sys_users su2 ON su2.user_id = t.auditUser
+ LEFT JOIN sys_dict sd on sd.dict_id = t.dangerLocation
WHERE
t.isUse = 1
and t.companyId = #{companyId}
<if test="startTime!= null and endTime!=null and startTime != '' and endTime !=''">
and t.createTime BETWEEN #{startTime} and #{endTime}
</if>
+ <if test="createUser!= null and createUser != ''">
+ and t.createUser =#{createUser}
+ </if>
ORDER BY
t.auditStatus,
case when t.auditStatus = 0 then t.createTime END,
diff --git a/hd/pipe/secure/src/main/resources/mapping/IntegralDetailMapper.xml b/hd/pipe/secure/src/main/resources/mapping/IntegralDetailMapper.xml
new file mode 100644
index 0000000..6409c6a
--- /dev/null
+++ b/hd/pipe/secure/src/main/resources/mapping/IntegralDetailMapper.xml
@@ -0,0 +1,325 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.thhy.secure.modules.biz.integralAccount.mapper.IntegralDetailMapper">
+
+ <insert id="insertDetailAndUpdate">
+ insert into t_integral_detail
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ id,
+ </if>
+ <if test="type != null">
+ type,
+ </if>
+ <if test="integralSource != null">
+ integralSource,
+ </if>
+ <if test="integralWater != null">
+ integralWater,
+ </if>
+ <if test="balanc != null">
+ balanc,
+ </if>
+ <if test="createTime != null">
+ createTime,
+ </if>
+ <if test="createUser != null">
+ createUser,
+ </if>
+ <if test="companyId != null">
+ companyId,
+ </if>
+ <if test="userId != null">
+ userId,
+ </if>
+ <if test="userType != null">
+ userType,
+ </if>
+ <if test="remark != null">
+ remark,
+ </if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ #{id,jdbcType=VARCHAR},
+ </if>
+ <if test="type != null">
+ #{type,jdbcType=INTEGER},
+ </if>
+ <if test="integralSource != null">
+ #{integralSource,jdbcType=VARCHAR},
+ </if>
+ <if test="integralWater != null">
+ #{integralWater,jdbcType=DOUBLE},
+ </if>
+ <if test="balanc != null">
+ #{balanc,jdbcType=DOUBLE},
+ </if>
+ <if test="createTime != null">
+ #{createTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="createUser != null">
+ #{createUser,jdbcType=VARCHAR},
+ </if>
+ <if test="companyId != null">
+ #{companyId,jdbcType=VARCHAR},
+ </if>
+ <if test="userId != null">
+ #{userId,jdbcType=VARCHAR},
+ </if>
+ <if test="userType != null">
+ #{userType,jdbcType=VARCHAR},
+ </if>
+ <if test="remark != null">
+ #{remark,jdbcType=VARCHAR},
+ </if>
+
+ </trim>
+ on duplicate key update
+ <trim suffixOverrides=",">
+ <if test="type != null">
+ type = #{type,jdbcType=INTEGER},
+ </if>
+ <if test="integralSource != null">
+ integralSource = #{integralSource,jdbcType=VARCHAR},
+ </if>
+ <if test="integralWater != null">
+ integralWater = #{integralWater,jdbcType=DOUBLE},
+ </if>
+ <if test="balanc != null">
+ balanc = #{balanc,jdbcType=DOUBLE},
+ </if>
+ <if test="createTime != null">
+ createTime = #{createTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="createUser != null">
+ createUser = #{createUser,jdbcType=VARCHAR},
+ </if>
+ <if test="companyId != null">
+ companyId = #{companyId,jdbcType=VARCHAR},
+ </if>
+ <if test="userId != null">
+ userId = #{userId,jdbcType=VARCHAR},
+ </if>
+ <if test="userType != null">
+ userType = #{userType,jdbcType=VARCHAR},
+ </if>
+ <if test="remark != null">
+ remark = #{remark,jdbcType=VARCHAR},
+ </if>
+ </trim>
+
+ </insert>
+
+ <insert id="insertAndUpdateAccount">
+ insert into t_integral_account
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ id,
+ </if>
+ <if test="userId != null">
+ userId,
+ </if>
+ <if test="totalIntegral != null">
+ totalIntegral,
+ </if>
+ <if test="accumulateIntegral != null">
+ accumulateIntegral,
+ </if>
+ <if test="totalConsumption != null">
+ totalConsumption,
+ </if>
+ <if test="createTime != null">
+ createTime,
+ </if>
+ <if test="createUser != null">
+ createUser,
+ </if>
+ <if test="updateTime != null">
+ updateTime,
+ </if>
+ <if test="updateUser != null">
+ updateUser,
+ </if>
+ <if test="userType != null">
+ userType,
+ </if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides="," >
+ <if test="id != null">
+ #{id,jdbcType=VARCHAR},
+ </if>
+ <if test="userId != null">
+ #{userId,jdbcType=VARCHAR},
+ </if>
+ <if test="totalIntegral != null">
+ #{totalIntegral,jdbcType=DOUBLE},
+ </if>
+ <if test="accumulateIntegral != null">
+ #{accumulateIntegral,jdbcType=DOUBLE},
+ </if>
+ <if test="totalConsumption != null">
+ #{totalConsumption,jdbcType=DOUBLE},
+ </if>
+ <if test="createTime != null">
+ #{createTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="createUser != null">
+ #{createUser,jdbcType=VARCHAR},
+ </if>
+ <if test="updateTime != null">
+ #{updateTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="updateUser != null">
+ #{updateUser,jdbcType=VARCHAR},
+ </if>
+ <if test="userType != null">
+ #{userType,jdbcType=INTEGER},
+ </if>
+
+ </trim>
+ on duplicate key update
+ <trim suffixOverrides=",">
+ <if test="totalIntegral != null">
+ totalIntegral = #{totalIntegral,jdbcType=DOUBLE},
+ </if>
+ <if test="accumulateIntegral != null">
+ accumulateIntegral = #{accumulateIntegral,jdbcType=DOUBLE},
+ </if>
+ <if test="totalConsumption != null">
+ totalConsumption = #{totalConsumption,jdbcType=DOUBLE},
+ </if>
+ <if test="createTime != null">
+ createTime=#{createTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="createUser != null">
+ createUser = #{createUser,jdbcType=VARCHAR},
+ </if>
+ <if test="updateTime != null">
+ updateTime = #{updateTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="updateUser != null">
+ updateUser = #{updateUser,jdbcType=VARCHAR},
+ </if>
+ <if test="userType != null">
+ userType = #{userType,jdbcType=INTEGER},
+ </if>
+ </trim>
+ </insert>
+ <delete id="delete">
+ update t_integral_detail set isUse = 0 where id = #{id,jdbcType=VARCHAR}
+ </delete>
+
+
+ <!-- 积分超市 -->
+ <select id="selectPageInfoList" resultType="com.thhy.secure.modules.biz.integralAccount.entity.IntegralDetailDto">
+ SELECT
+ t.*,
+ spu.real_name realName,
+ spu.user_type userTypeName
+ FROM t_integral_detail t
+ LEFT JOIN sys_plat_user spu on spu.user_id = t.userId
+ WHERE t.isUse = 1 and t.type = 2 and t.companyId = #{companyId}
+ <if test="userId != null and userId !=''">
+ AND spu.user_id =#{userId}
+ </if>
+ <if test="startTime != null and startTime != '' and endTime !=null and endTime !=''">
+ AND t.createTime BETWEEN #{startTime} and #{endTime}
+ </if>
+ <if test="userType != null and userType != ''">
+ AND t.userType = #{userType}
+ </if>
+ order by t.createTime desc
+ </select>
+ <!-- 积分超市 -->
+ <select id="selectPageList" resultType="com.thhy.secure.modules.biz.integralAccount.entity.IntegralDetailEntity">
+ SELECT
+ t.*,
+ spu.real_name realName,
+ spu.user_type userTypeName,
+ DATE_FORMAT(t.createTime, '%Y-%m-%d %H:%m:%s') createDate
+ FROM t_integral_detail t
+ LEFT JOIN sys_plat_user spu on spu.user_id = t.userId
+ WHERE t.isUse = 1 and t.type = 2 and t.companyId = #{companyId}
+ <if test="userId != null and userId !=''">
+ AND spu.user_id =#{userId}
+ </if>
+ <if test="startTime != null and startTime != '' and endTime !=null and endTime !=''">
+ AND t.createTime BETWEEN #{startTime} and #{endTime}
+ </if>
+ <if test="userType != null and userType != ''">
+ AND t.userType = #{userType}
+ </if>
+ order by t.createTime desc
+ </select>
+
+ <select id="selectSafeIntegralPageList" resultType="com.thhy.secure.modules.biz.integralAccount.entity.IntegralAccountEntity">
+ SELECT
+ t.id,
+ spu.real_name realName,
+ t.accumulateIntegral,
+ t.totalIntegral,
+ t.totalConsumption,
+ t.userType,
+ t.createTime,
+ t.userId
+ FROM t_integral_account t
+ LEFT JOIN sys_plat_user spu on spu.user_id = t.userId
+ WHERE 1=1
+ <if test="userType != null and userType !=''">
+ and t.userType = #{userType}
+ </if>
+ <if test="userId != null and userId !=''">
+ AND spu.user_id =#{userId}
+ </if>
+ <if test="startIntegral != null and startIntegral != '' and endIntegra !=null and endIntegra !=''">
+ AND t.accumulateIntegral BETWEEN #{startIntegral} and #{endIntegra}
+ </if>
+ order by t.accumulateIntegral desc
+ </select>
+
+ <select id="selectSafeIntegralInfo" resultType="com.thhy.secure.modules.biz.integralAccount.entity.IntegralDetailDto">
+ SELECT
+ t.*,
+ DATE_FORMAT(t.createTime, '%Y-%m-%d %H:%m:%s') createDate
+ FROM t_integral_detail t
+ WHERE t.isUse = 1
+ <if test="companyId != null and companyId !=''">
+ and t.companyId = #{companyId}
+ </if>
+ <if test="userId != null and userId !=''">
+ and t.userId = #{userId}
+ </if>
+ <if test="id != null and id !=''">
+ and t.id = #{id}
+ </if>
+ <if test="type != null and type !=''">
+ AND t.type = #{type}
+ </if>
+ <if test="startTime != null and startTime != '' and endTime !=null and endTime !=''">
+ AND t.createTime BETWEEN #{startTime} and #{endTime}
+ </if>
+ order by t.createTime desc
+ </select>
+ <select id="selectByOne" resultType="com.thhy.secure.modules.biz.integralAccount.entity.IntegralAccountEntity">
+ SELECT
+ t.id,
+ t.userId,
+ spu.real_name realName,
+ t.accumulateIntegral,
+ t.totalIntegral,
+ t.totalConsumption,
+ t.userType
+ FROM t_integral_account t
+ LEFT JOIN sys_plat_user spu on spu.user_id = t.userId
+ WHERE 1=1
+ <if test="id != null and id != ''">
+ AND t.id = #{id,jdbcType=VARCHAR}
+ </if>
+ <if test="userId != null and userId != ''">
+ AND t.userId = #{userId}
+ </if>
+
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/hd/pipe/secure/src/main/resources/mapping/RegionInspectionRecordMapper.xml b/hd/pipe/secure/src/main/resources/mapping/RegionInspectionRecordMapper.xml
index 0bae3bf..8040942 100644
--- a/hd/pipe/secure/src/main/resources/mapping/RegionInspectionRecordMapper.xml
+++ b/hd/pipe/secure/src/main/resources/mapping/RegionInspectionRecordMapper.xml
@@ -3,7 +3,7 @@
<mapper namespace="com.thhy.secure.modules.biz.regionInspection.mapper.RegionInspectionRecordMapper">
<insert id="insertIMG">
- insert into t_region_inspection_record
+ insert into t_region_inspection_record_img
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
@@ -153,16 +153,23 @@
<delete id="delete">
delete from t_region_inspection_record where id=#{id,jdbcType=VARCHAR}
</delete>
+ <delete id="deleteIMG">
+ delete from t_region_inspection_record_img where regionInspectionRecordId=#{regionInspectionRecordId,jdbcType=VARCHAR}
+ </delete>
<delete id="deleteByRegionInspectionId">
delete from t_region_inspection_record where regionInspectionId=#{regionInspectionId,jdbcType=VARCHAR}
</delete>
+ <select id="selectImgByRecordId" resultType="com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionRecordImgEntity">
+ select * from t_region_inspection_record_img where regionInspectionRecordId = #{regionInspectionRecordId}
+ </select>
<select id="selectPageList" resultType="com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionRecordEntity">
SELECT a.userId,
a.regionInspectionId,
a.inspectionTime,
a.task,
+ a.standard,
a.region,
a.realName,
IF(a.completeRegionNum = a.needRegionNum,"已完成","待巡检") statusName,
@@ -173,6 +180,7 @@
t.regionInspectionId,
MIN(t.inspectionTime) inspectionTime,
tri.task task,
+ tri.standard standard,
GROUP_CONCAT(DISTINCT trhi.region) region,
spu.real_name realName,
SUM(t.`status`)/(SELECT count(regionInspectionId) FROM t_region_inspection_hazard_inform WHERE regionInspectionId = t.regionInspectionId) completeRegionNum,
@@ -193,9 +201,13 @@
<if test="regionInspectionId !=null and regionInspectionId !=''">
and t.regionInspectionId = #{regionInspectionId}
</if>
+ <if test="userId !=null and userId !=''">
+ and t.userId = #{userId}
+ </if>
<if test="startTime != null and endTime != null and startTime !='' and endTime != ''">
and t.inspectionTime BETWEEN str_to_date(#{startTime}, "%Y-%m-%d %H:%i:%s") and str_to_date(#{endTime}, "%Y-%m-%d %H:%i:%s")
</if>
+
GROUP BY t.regionInspectionId,t.userId
)a
WHERE 1=1
@@ -270,6 +282,7 @@
<select id="regionInfo" resultType="com.thhy.secure.modules.biz.regionInspection.entity.RegionInspectionRecordEntity">
SELECT
+ t.id,
t.userId,
t.regionInspectionId,
t.regionHazardInformId,
@@ -278,7 +291,8 @@
t.result result,
GROUP_CONCAT(timg.imgPath) imgPaths,
t.location,
- spu.real_name realName
+ spu.real_name realName,
+ t.status
FROM t_region_inspection_record t
LEFT JOIN t_region_inspection_record_img timg on t.id = timg.regionInspectionRecordId
LEFT JOIN t_region_hazard_inform rhi on rhi.id = t.regionHazardInformId
@@ -288,27 +302,52 @@
</select>
<select id="selectAppList" resultType="java.util.Map">
+ select * from (
SELECT
- a.id,
- MIN( b.inspectionTime ) inspectionTime,
- a.`status`,
- a.task,
- GROUP_CONCAT(DISTINCT d.region) region
- FROM
- t_region_inspection a
- LEFT JOIN t_region_inspection_record b ON b.regionInspectionId = a.id
- LEFT JOIN t_region_inspection_hazard_inform c ON c.regionInspectionId = a.id
- LEFT JOIN t_region_hazard_inform d ON c.regionHazardInformId = d.id
- LEFT JOIN t_region_inspection_user e on e.regionInspectionId = a.id
- WHERE a.companyId = #{companyId} and e.userId = #{userId}
- <if test="status != null and status != ''">
- and a.status = #{status}
+ tri.id,
+ t.userId ,
+ t.regionInspectionId,
+ MIN(t.inspectionTime) inspectionTime,
+ tri.task task,
+ GROUP_CONCAT(DISTINCT trhi.region) region,
+ spu.real_name realName,
+ if(
+ SUM(t.`status`)/(SELECT count(regionInspectionId) FROM t_region_inspection_hazard_inform WHERE
+ regionInspectionId = t.regionInspectionId)
+ =
+ (SELECT count(regionInspectionId) FROM t_region_inspection_hazard_inform WHERE regionInspectionId =
+ t.regionInspectionId)
+ ,1,0) status
+ from
+ t_region_inspection_record t
+ LEFT JOIN t_region_inspection tri on tri.id = t.regionInspectionId
+ LEFT JOIN t_region_inspection_hazard_inform trihi on trihi.regionInspectionId = t.regionInspectionId
+ LEFT JOIN t_region_hazard_inform trhi on trhi.id = trihi.regionHazardInformId
+ LEFT JOIN sys_plat_user spu on spu.user_id = t.userId
+ WHERE 1=1
+ <if test="userId != null and userId != ''">
+ and t.userId = #{userId}
</if>
<if test="startTime != null and endTime != null and startTime !='' and endTime != ''">
- and t.inspectionTime BETWEEN str_to_date(#{startTime}, "%Y-%m-%d %H:%i:%s") and str_to_date(#{endTime}, "%Y-%m-%d %H:%i:%s")
+ and t.inspectionTime BETWEEN str_to_date(#{startTime}, "%Y-%m-%d %H:%i:%s") and str_to_date(#{endTime},
+ "%Y-%m-%d %H:%i:%s")
</if>
- GROUP BY
- a.id
+ GROUP BY t.regionInspectionId,t.userId
+ ) entity where 1=1
+ <if test="status != null and status != ''">
+ and entity.status = #{status}
+ </if>
+
+ </select>
+
+ <select id="selectPlatUserId" resultType="java.lang.String">
+ SELECT
+ plat_id platId
+ FROM sys_users
+ WHERE user_id= #{userId,jdbcType=VARCHAR}
+ </select>
+ <select id="getPlatUser" resultType="java.util.Map">
+ SELECT * FROM sys_plat_user where user_id = #{userId}
</select>
</mapper>
\ No newline at end of file
diff --git a/web/src/api/modules/ductpiecePLM.js b/web/src/api/modules/ductpiecePLM.js
index 68f9630..043145c 100644
--- a/web/src/api/modules/ductpiecePLM.js
+++ b/web/src/api/modules/ductpiecePLM.js
@@ -49,6 +49,9 @@
// 新增管片信息
insertPipeData: (params) =>
axios.post('/m/modcheck/addPipe', params),
+ //获取所有模具套号
+ getTotalModelNums: (params) =>
+ axios.post('/m/modcheck/allNumType', params),
// 修改环号信息
updataRingNumData: (params) =>
axios.post('m/pipeInfo/updateRingNum', params),
diff --git a/web/src/api/modules/materials.js b/web/src/api/modules/materials.js
index fcf8f95..e21807a 100644
--- a/web/src/api/modules/materials.js
+++ b/web/src/api/modules/materials.js
@@ -152,6 +152,21 @@
detailStockInfos: params =>
axios.get('/materials/suMaterialWarehouse/selectInfo', {params}),
+ /**
+ * 钢筋笼材料标识牌
+ */
+ //钢筋笼材料标识牌列表
+ searchSignBoardLists: (params) =>
+ axios.post('/materials/suSteelCageMaterialLabel/selectPageList', params),
+ //钢筋笼材料标识牌添加/修改
+ addSignBoardInfos: (params) =>
+ axios.post('/materials/suSteelCageMaterialLabel/insertAndUpdate', params),
+ // 删除钢筋笼材料标识牌信息
+ deleteSignBoardInfos: params =>
+ axios.get('/materials/suSteelCageMaterialLabel/delete', {params}),
+ // 钢筋笼材料标识牌信息
+ detailSignBoardInfos: params =>
+ axios.get('/materials/suSteelCageMaterialLabel/selectInfo', {params}),
/* 预埋件管理 */
@@ -220,5 +235,31 @@
checkGetLists: params => // 修改回显
axios.post('/materials/embedmentCorrection/inventoryList', params),
},
+ /* 配合比屏管理 */
+ mixRatioSrcreen: {
+ getLists: params =>
+ axios.post('/materials/materialRelease/mixingConsumeList', params),
+ insert: params =>
+ axios.post('/materials/materialRelease/mixingConsumeIn', params),
+ update: params =>
+ axios.post('/materials/materialRelease/mixingConsumeUp', params),
+ delete: params =>
+ axios.post('/materials/materialRelease/mixingConsumeDel', params),
+ getScreenNames: params =>
+ axios.get('/materials/materialRelease/mixingConsumePull', { params }),
+ },
+ /* 拌合站屏管理 */
+ mixingSrcreen: {
+ getLists: params =>
+ axios.post('/materials/materialRelease/siloMixingList', params),
+ insert: params =>
+ axios.post('/materials/materialRelease/mixingInsert', params),
+ update: params =>
+ axios.post('/materials/materialRelease/mixingUpdate', params),
+ delete: params =>
+ axios.post('/materials/materialRelease/mixingDel', params),
+ getScreenNames: params =>
+ axios.get('/materials/materialRelease/siloPull', { params }),
+ },
}
diff --git a/web/src/api/modules/mixing.js b/web/src/api/modules/mixing.js
index c017b66..d91fa20 100644
--- a/web/src/api/modules/mixing.js
+++ b/web/src/api/modules/mixing.js
@@ -6,5 +6,8 @@
// H5搅拌站大屏展示数据信息
showHmixings: params =>
axios.get('/materials/suMaterialWarehouse/selectNewOneByTableNum', {params}),
-
+ getMixing: params =>
+ axios.get('/materials/materialRelease/siloList', {params}),
+ getMixRatio: params =>
+ axios.post('/materials/materialRelease/mixingConsumeList', params),
}
\ No newline at end of file
diff --git a/web/src/api/modules/safety.js b/web/src/api/modules/safety.js
index ad2c24f..28e61c6 100644
--- a/web/src/api/modules/safety.js
+++ b/web/src/api/modules/safety.js
@@ -323,4 +323,60 @@
responseType: 'blob',
data: params
}),
+
+ /**
+ * 安全积分超市模块
+ */
+ //查询安全积分超市列表
+ searchMarketLists: (params) =>
+ axios.post('/secure/integralAccount/selectPageList', params),
+ //添加或修改安全积分超市
+ addUpdateMarketInfo: (params) =>
+ axios.post('/secure/integralAccount/insertAndUpdate', params),
+ //删除安全积分超市
+ deleteMarketInfo: (params) =>
+ axios.get('/secure/integralAccount/delete',{params}),
+ //安全积分超市导出
+ exportMarketFiles:params=>
+ axios({
+ method: 'post',
+ url: '/secure/integralAccount/exportList',
+ responseType: 'blob',
+ data: params
+ }),
+
+ /**
+ * 积分明细模块
+ */
+ //查询积分明细列表
+ searchIntegralLists: (params) =>
+ axios.post('/secure/integralAccount/selectSafeIntegralPageList', params),
+ //查询个人明细列表
+ searchPersonLists: (params) =>
+ axios.post('/secure/integralAccount/selectSafeIntegralInfo', params),
+ //积分明细导出
+ exportIntegralFiles:params=>
+ axios({
+ method: 'post',
+ url: '/secure/integralAccount/exportSafeIntegralInfo',
+ responseType: 'blob',
+ data: params
+ }),
+
+ /**
+ * 广播文件上传模块
+ */
+ //查询广播文件列表
+ searchBoardLists: (params) =>
+ axios.post('/secure/integralAccount/selectSafeIntegralPageList', params),
+ //查询所有区域
+ getAreaLists: (params) =>
+ axios.post('/screen/audio/groups', params),
+ //上传文件添加/修改
+ addAreaInfos: (params) =>
+ axios.post('/screen/audio/addFile', params),
+ //上传文件详情
+ detailsAreaInfos: (params) =>
+ axios.post('/screen/audio/groupInfo', params),
+
}
\ No newline at end of file
diff --git a/web/src/assets/mixing/container_10.png b/web/src/assets/mixing/container_10.png
new file mode 100644
index 0000000..15291b0
--- /dev/null
+++ b/web/src/assets/mixing/container_10.png
Binary files differ
diff --git a/web/src/assets/mixing/container_100.png b/web/src/assets/mixing/container_100.png
new file mode 100644
index 0000000..5b73dda
--- /dev/null
+++ b/web/src/assets/mixing/container_100.png
Binary files differ
diff --git a/web/src/assets/mixing/container_20.png b/web/src/assets/mixing/container_20.png
new file mode 100644
index 0000000..2bbe0dc
--- /dev/null
+++ b/web/src/assets/mixing/container_20.png
Binary files differ
diff --git a/web/src/assets/mixing/container_40.png b/web/src/assets/mixing/container_40.png
new file mode 100644
index 0000000..d2f52d3
--- /dev/null
+++ b/web/src/assets/mixing/container_40.png
Binary files differ
diff --git a/web/src/assets/mixing/container_60.png b/web/src/assets/mixing/container_60.png
new file mode 100644
index 0000000..5ced4a7
--- /dev/null
+++ b/web/src/assets/mixing/container_60.png
Binary files differ
diff --git a/web/src/assets/mixing/container_80.png b/web/src/assets/mixing/container_80.png
new file mode 100644
index 0000000..38348d1
--- /dev/null
+++ b/web/src/assets/mixing/container_80.png
Binary files differ
diff --git a/web/src/assets/mixing/container_90.png b/web/src/assets/mixing/container_90.png
new file mode 100644
index 0000000..47ee2ac
--- /dev/null
+++ b/web/src/assets/mixing/container_90.png
Binary files differ
diff --git a/web/src/assets/mixing/header.png b/web/src/assets/mixing/header.png
new file mode 100644
index 0000000..be0a727
--- /dev/null
+++ b/web/src/assets/mixing/header.png
Binary files differ
diff --git a/web/src/assets/mixing/list_bg.png b/web/src/assets/mixing/list_bg.png
new file mode 100644
index 0000000..462f5e3
--- /dev/null
+++ b/web/src/assets/mixing/list_bg.png
Binary files differ
diff --git a/web/src/assets/mixing/list_l_bg.png b/web/src/assets/mixing/list_l_bg.png
new file mode 100644
index 0000000..d8c7dc5
--- /dev/null
+++ b/web/src/assets/mixing/list_l_bg.png
Binary files differ
diff --git a/web/src/assets/mixing/list_r_bg.png b/web/src/assets/mixing/list_r_bg.png
new file mode 100644
index 0000000..63add79
--- /dev/null
+++ b/web/src/assets/mixing/list_r_bg.png
Binary files differ
diff --git a/web/src/assets/mixing/mixing_bg1.png b/web/src/assets/mixing/mixing_bg1.png
new file mode 100644
index 0000000..a9bf675
--- /dev/null
+++ b/web/src/assets/mixing/mixing_bg1.png
Binary files differ
diff --git a/web/src/assets/mixing/mixing_bg3.png b/web/src/assets/mixing/mixing_bg3.png
new file mode 100644
index 0000000..2df17a7
--- /dev/null
+++ b/web/src/assets/mixing/mixing_bg3.png
Binary files differ
diff --git a/web/src/assets/mixing/name_bg.png b/web/src/assets/mixing/name_bg.png
new file mode 100644
index 0000000..cf1da41
--- /dev/null
+++ b/web/src/assets/mixing/name_bg.png
Binary files differ
diff --git a/web/src/assets/work_shop.png b/web/src/assets/work_shop.png
new file mode 100644
index 0000000..b5104a2
--- /dev/null
+++ b/web/src/assets/work_shop.png
Binary files differ
diff --git a/web/src/components/uploadImage.vue b/web/src/components/uploadImage.vue
index b37dbec..870d7ec 100644
--- a/web/src/components/uploadImage.vue
+++ b/web/src/components/uploadImage.vue
@@ -1,5 +1,5 @@
<template>
- <div class="upload_index" style="height:132px">
+ <div class="upload_index" style="height:132px;width:100%">
<transition-group name="el-zoom-in-center" class="upload_index">
<div v-for="(item) in fileList" :key="item.id" class="file_lists_style" @mouseenter="showClose(item)" @mouseleave="setClose">
<div :class="{close_icon:close == item.id, close_icons:close != item.id}">
@@ -19,7 +19,8 @@
<el-upload
:key="5762"
ref="upload"
- class="upload_images"
+ class="upload_images"
+ :class="{'noshow':disabled===true}"
:action="action"
:http-request="requestUpload"
:show-file-list="false"
@@ -208,6 +209,9 @@
position: relative;
border: 2px dashed #39B5FE;
}
+ .noshow{
+ display: none;
+ }
.avatar_uploader_icon{
font-size: 28px;
diff --git a/web/src/router/index.js b/web/src/router/index.js
index 0488d44..d1faa3e 100644
--- a/web/src/router/index.js
+++ b/web/src/router/index.js
@@ -15,6 +15,22 @@
}
},
{
+ path: '/mixing/*',
+ name: 'mixing',
+ meta: {
+ title: '拌和站大屏'
+ },
+ component: () => import('../views/MixingInfo/mixing.vue'),
+ },
+ {
+ path: '/mixratio/*',
+ name: 'mixratio',
+ meta: {
+ title: '配和站大屏'
+ },
+ component: () => import('../views/MixingInfo/mixRatio.vue'),
+ },
+ {
path: `/mixingInfo/num=1`,
name: 'mixingInfo',
meta: {
@@ -111,6 +127,198 @@
component: () => import('../views/MixingInfo/messageInfo.vue'),
},
{
+ path: `/workShop/num=1`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌1'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=2`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌2'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=3`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌3'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=4`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌4'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=5`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌5'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=6`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌6'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=7`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌7'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=8`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌8'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=9`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌9'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=10`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌10'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=11`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌11'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=12`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌12'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=13`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌13'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=14`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌14'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=15`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌15'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=16`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌16'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=17`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌17'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=18`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌18'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=19`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌19'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=20`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌20'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=21`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌21'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=22`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌22'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=23`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌23'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
+ path: `/workShop/num=24`,
+ name: 'workShop',
+ meta: {
+ title: '钢筋材料标识牌24'
+ },
+ component: () => import('../views/MixingInfo/workShop.vue'),
+ },
+ {
path: '/ScanBear',
name: 'ScanBear',
meta: {
diff --git a/web/src/views/Basics/ConsigneeIndex.vue b/web/src/views/Basics/ConsigneeIndex.vue
index 34eacfd..7fa24a0 100644
--- a/web/src/views/Basics/ConsigneeIndex.vue
+++ b/web/src/views/Basics/ConsigneeIndex.vue
@@ -13,12 +13,12 @@
</el-select>
</div>
<div class="header_item">
- <span class="header_label">标段:</span>
- <el-select v-model="segmentId" :size="size" clearable placeholder="请选择标段">
+ <span class="header_label">单位工程:</span>
+ <el-select v-model="segmentId" :size="size" clearable placeholder="请选择单位工程">
<el-option
v-for="item in sectionData"
:key="item.segmentId"
- :label="item.segmentName"
+ :label="item.unitProjectName"
:value="item.segmentId">
</el-option>
</el-select>
@@ -87,12 +87,12 @@
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="标段:" prop="segmentId">
- <el-select v-model="formConsignee.segmentId" :size="size" clearable placeholder="请选择标段">
+ <el-form-item label="单位工程:" prop="segmentId">
+ <el-select v-model="formConsignee.segmentId" :size="size" clearable placeholder="请选择单位工程">
<el-option
v-for="item in sectionData"
:key="item.segmentId"
- :label="item.segmentName"
+ :label="item.unitProjectName"
:value="item.segmentId">
</el-option>
</el-select>
diff --git a/web/src/views/DuctpiecePLM/DuctProduct/ProductAnalyse.vue b/web/src/views/DuctpiecePLM/DuctProduct/ProductAnalyse.vue
index 1c86c71..5101815 100644
--- a/web/src/views/DuctpiecePLM/DuctProduct/ProductAnalyse.vue
+++ b/web/src/views/DuctpiecePLM/DuctProduct/ProductAnalyse.vue
@@ -131,8 +131,8 @@
},
grid: {
top: "15%",
- right: "3%",
- left: "2%",
+ right: "4%",
+ left: "4%",
bottom: "11%",
},
xAxis: [
@@ -156,7 +156,7 @@
yAxis: [
{
type: "value",
- max: 100,
+ // max: 100,
splitNumber: 10,
axisLabel: {
formatter: "{value}",
diff --git a/web/src/views/DuctpiecePLM/DuctProduct/ProductIndex.vue b/web/src/views/DuctpiecePLM/DuctProduct/ProductIndex.vue
index fc388bb..f994b8f 100644
--- a/web/src/views/DuctpiecePLM/DuctProduct/ProductIndex.vue
+++ b/web/src/views/DuctpiecePLM/DuctProduct/ProductIndex.vue
@@ -37,6 +37,7 @@
<div class="header_item">
<span class="header_label">质量标注:</span>
<el-select v-model="checkResult" clearable placeholder="请选择质量标注">
+ <el-option label="未质检" :value="0"></el-option>
<el-option label="合格" :value="1"></el-option>
<el-option label="不合格" :value="2"></el-option>
<el-option label="报废" :value="3"></el-option>
@@ -401,6 +402,21 @@
placeholder="请输入环号"
></el-input>
</el-form-item>
+ <el-form-item label="模具套号:" prop="numType" v-if="asyncTitle">
+ <el-select
+ v-model="formInsert.numType"
+ clearable
+ placeholder="请选择模具套号"
+ >
+ <el-option
+ v-for="item in modelNumber"
+ :key="item"
+ :label="item"
+ :value="item"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
</el-form>
<div slot="footer">
<el-button @click="asyncInsert = false">取 消</el-button>
@@ -550,6 +566,7 @@
checkResult: "", // 质量标注
reinforcement: "", // 配筋
reinforcementData: [], // 配筋信息
+ modelNumber:[],//模具套号
groutingHoles: "", // 注浆孔
groutingHolesData: [], // 注浆孔信息
blockNum: "", // 块号
@@ -589,6 +606,13 @@
{
required: true,
message: "请选择配筋",
+ trigger: ["blur", "change"],
+ },
+ ],
+ numType: [
+ {
+ required: true,
+ message: "请选择模具套号",
trigger: ["blur", "change"],
},
],
@@ -659,6 +683,7 @@
this.getAllProjects();
this.getAllGroupData();
this.searchDuctpiecePLMList(true);
+ this.getModelNums()
},
methods: {
// 根据项目获取钢筋笼 模具信息
@@ -674,6 +699,16 @@
this.steelData = [];
}
},
+ //获取所有模具套号
+ getModelNums(){
+ this.$api.DuctpiecePLM.getTotalModelNums().then(res=>{
+ if(res.statusMsg ==='ok'){
+ this.modelNumber = res.data
+ }else{
+ this.$message.warning(res.statusMsg)
+ }
+ })
+ },
// 获取全部班组
async getAllGroupData() {
const { data } = await this.$api.DuctpiecePLM.getAllGroupData();
diff --git a/web/src/views/DuctpiecePLM/DuctpieceIndex.vue b/web/src/views/DuctpiecePLM/DuctpieceIndex.vue
index ca0b0ed..15c75ab 100644
--- a/web/src/views/DuctpiecePLM/DuctpieceIndex.vue
+++ b/web/src/views/DuctpiecePLM/DuctpieceIndex.vue
@@ -37,6 +37,7 @@
<div class="header_item">
<span class="header_label">质量标注:</span>
<el-select v-model="checkResult" clearable placeholder="请选择质量标注">
+ <el-option label="未质检" :value="0"></el-option>
<el-option label="合格" :value="1"></el-option>
<el-option label="不合格" :value="2"></el-option>
<el-option label="报废" :value="3"></el-option>
diff --git a/web/src/views/DuctpiecePLM/ProductTerminal/components/ReinsPrint.vue b/web/src/views/DuctpiecePLM/ProductTerminal/components/ReinsPrint.vue
index d41604e..1fe85ce 100644
--- a/web/src/views/DuctpiecePLM/ProductTerminal/components/ReinsPrint.vue
+++ b/web/src/views/DuctpiecePLM/ProductTerminal/components/ReinsPrint.vue
@@ -22,6 +22,7 @@
<div class="main_item_header">
<div class="main_item_title">项目名称:</div>
<div class="main_item_datas">{{item.proName}}</div>
+ <el-button class="table_btn" style="margin-right:15px" size="mini" v-if="showButton('print')" @click="printProp(item)">打印</el-button>
</div>
<div class="main_item_contents">
<div class="main_item_left">
@@ -73,7 +74,7 @@
@current-change="changePageNum"
@size-change="changePageSize"
:current-page="pageNum"
- :page-sizes="[9, 18, 45, 90]"
+ :page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="total">
@@ -126,6 +127,17 @@
that.searchButtonInfo(true)
},
methods: {
+ //打印按钮
+ printProp(item){
+ this.gopPrints(item.produceNumber)
+ },
+ //执行去打印
+ gopPrints(numbers){
+ const link = document.createElement('a');
+ link.id = `link`;
+ link.href = `printpipe://1,${numbers},1`
+ link.click()
+ },
//改变项目
changeProjects(){
this.searchButtonInfo(true)
@@ -220,14 +232,14 @@
.main_items{
// width: 100%;
// max-width: calc(100%/3 - 25px);
- width: 512px;
- height: 300px;
+ width: 645px;
+ height: 378px;
border-top-left-radius: 6px;
border-top-right-radius: 6px;
border-bottom-left-radius: 6px;
border-bottom-right-radius: 6px;
background-color: #031A46;
- margin: 30px 20px 5px 5px;
+ margin: 30px 50px 5px 5px;
box-shadow:0px 12px 5px 0px #0C4F79;
.main_item_header{
diff --git a/web/src/views/DuctpiecePLM/ReinManage/ReinsProduct.vue b/web/src/views/DuctpiecePLM/ReinManage/ReinsProduct.vue
index 95b1a51..d1696ec 100644
--- a/web/src/views/DuctpiecePLM/ReinManage/ReinsProduct.vue
+++ b/web/src/views/DuctpiecePLM/ReinManage/ReinsProduct.vue
@@ -34,6 +34,7 @@
<div class="header_item">
<span class="header_label">质量标注:</span>
<el-select v-model="search.isQualified" placeholder="请选择质量标注" clearable>
+ <el-option label="未质检" :value="0"></el-option>
<el-option label="合格" value="1"></el-option>
<el-option label="不合格" value="2"></el-option>
<el-option label="报废" value="3"></el-option>
@@ -120,7 +121,7 @@
<el-table-column prop="qualityTime" label="质检时间" align="center" width="150"></el-table-column>
<el-table-column prop="isQualified" label="质量标注" align="center">
<template #default="{row}">
- <div :class="{'isStand':row.isQualified===2&&row.isModel ===1}">{{row.isQualified===1?'合格':row.isQualified===2?'不合格':row.isQualified===3?'报废':''}}</div>
+ <div :class="{'isStand':row.isQualified===2&&row.isModel ===1}">{{row.isQualified===1?'合格':row.isQualified===0?'未质检':row.isQualified===2?'不合格':row.isQualified===3?'报废':''}}</div>
</template>
</el-table-column>
<el-table-column prop="isModel" label="是否入模" align="center">
diff --git a/web/src/views/DuctpiecePLM/ReinManage/components/ProductsData.vue b/web/src/views/DuctpiecePLM/ReinManage/components/ProductsData.vue
index 0c9482d..bb62572 100644
--- a/web/src/views/DuctpiecePLM/ReinManage/components/ProductsData.vue
+++ b/web/src/views/DuctpiecePLM/ReinManage/components/ProductsData.vue
@@ -90,8 +90,8 @@
},
grid: {
top: "15%",
- right: "3%",
- left: "2%",
+ right: "4%",
+ left: "3%",
bottom: "11%",
},
xAxis: [
@@ -115,7 +115,7 @@
yAxis: [
{
type: "value",
- max: 100,
+ // max: 100,
splitNumber: 10,
axisLabel: {
formatter: "{value}",
diff --git a/web/src/views/DuctpiecePLM/ReinManage/components/ReinsInvent.vue b/web/src/views/DuctpiecePLM/ReinManage/components/ReinsInvent.vue
index ac992e6..a3c6a59 100644
--- a/web/src/views/DuctpiecePLM/ReinManage/components/ReinsInvent.vue
+++ b/web/src/views/DuctpiecePLM/ReinManage/components/ReinsInvent.vue
@@ -138,8 +138,11 @@
this.$api.Reinforce.searchProjectSize({proId:val,pageNum: 1,
pageSize:100000000}).then(res=>{
if(res.statusMsg === 'ok'){
- if(this.search.proId ===""){
+ if(val ===""){
this.optionsSize = []
+ this.$set(this.search,'sizeId','')
+ this.$set(this.search,'reinforcementId','')
+ this.$set(this.search,'blockId','')
}else{
this.optionsSize = res.data.list
}
diff --git a/web/src/views/DuctpiecePLM/ReinManage/components/RingsNumber.vue b/web/src/views/DuctpiecePLM/ReinManage/components/RingsNumber.vue
index 334d8a5..5ca201b 100644
--- a/web/src/views/DuctpiecePLM/ReinManage/components/RingsNumber.vue
+++ b/web/src/views/DuctpiecePLM/ReinManage/components/RingsNumber.vue
@@ -147,8 +147,9 @@
this.$api.Reinforce.searchProjectSize({proId:val,pageNum: 1,
pageSize:100000000}).then(res=>{
if(res.statusMsg === 'ok'){
- if(this.search.proId ===""){
+ if(val ===""){
this.optionsSize = []
+ this.$set(this.search,'sizeId','')
}else{
this.optionsSize = res.data.list
}
diff --git a/web/src/views/GoodManage/BearSignboard.vue b/web/src/views/GoodManage/BearSignboard.vue
new file mode 100644
index 0000000..45988f6
--- /dev/null
+++ b/web/src/views/GoodManage/BearSignboard.vue
@@ -0,0 +1,373 @@
+<template>
+ <div class="main">
+ <div class="main_header">
+ <div class="header_item">
+ <span class="header_label">区域:</span>
+ <el-select v-model="search.region" placeholder="请选择区域" clearable>
+ <el-option
+ v-for="item in 24"
+ :key="item"
+ :label="item"
+ :value="item">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="header_item">
+ <span class="header_label">录入方式:</span>
+ <el-select v-model="search.type" placeholder="请选择录入方式" clearable>
+ <el-option
+ v-for="item in optionsIncome"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="header_item">
+ <span class="header_label">创建时间:</span>
+ <el-date-picker
+ v-model="search.time"
+ type="daterange"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ :default-time="['00:00:00','23:59:59']"
+ range-separator="-"
+ start-placeholder="起始时间"
+ end-placeholder="结束时间">
+ </el-date-picker>
+ </div>
+ <div class="header_item">
+ <el-button icon="el-icon-search" v-if="showButton('search')" @click="searchButtonInfo(true)">查询</el-button>
+ <el-button class="search_btn" icon="el-icon-plus" v-if="showButton('insert')" @click="insertProp">新增</el-button>
+ </div>
+ </div>
+ <div class="main_content">
+ <el-table
+ v-loading="loading"
+ :data="dataList"
+ height="100%">
+ <el-table-column align="center" label="序号" width="60">
+ <template #default="scope">
+ <span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="region" label="区域" align="center" width="120"></el-table-column>
+ <el-table-column prop="createTime" label="创建时间" align="center" width="150"></el-table-column>
+ <el-table-column prop="materialName" label="材料名称" align="center" width="120"></el-table-column>
+ <el-table-column prop="manufacturer" label="生产厂家" align="center" width="120"></el-table-column>
+ <el-table-column prop="specifications" label="规格型号" align="center" width="150"></el-table-column>
+ <el-table-column prop="heatNumber" label="炉(批)号" align="center" width="150" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="inNumber" label="进场数量" align="center" width="120" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="reportTime" label="报检日期" align="center" width="150" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="reportNum" label="报告编号" align="center" width="150" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="status" label="检验状态" align="center" width="150">
+ <template #default="{row}">
+ {{optionsCheckstatus&&optionsCheckstatus[row.status-1].label}}
+ </template>
+ </el-table-column>
+ <el-table-column prop="type" label="录入方式" align="center">
+ <template #default="{row}">
+ {{optionsIncome&&optionsIncome[row.type].label}}
+ </template>
+ </el-table-column>
+ <el-table-column label="操作" align="center" width="200">
+ <template #default="{ row }">
+ <el-button class="table_btn" size="mini" v-if="showButton('update')" @click="updateProp(row)">修改</el-button>
+ <el-button class="delete_btn" size="mini" v-if="showButton('delete')" @click="deleteInfo(row)">删除</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ <div class="main_footer">
+ <el-pagination
+ background
+ @current-change="changePageNum"
+ @size-change="changePageSize"
+ :current-page="pageNum"
+ :page-sizes="[10, 20, 50, 100]"
+ :page-size="pageSize"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="total">
+ </el-pagination>
+ </div>
+ <el-dialog
+ class="prop_dialog"
+ :title="asyncTitle ? '添加' : '修改'"
+ :close-on-click-modal="false"
+ :visible.sync="asyncVisible"
+ width="35%">
+ <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="auto" class="rule_form">
+ <el-form-item label="区域:" prop="region">
+ <el-select v-model="ruleForm.region" placeholder="请选择区域">
+ <el-option
+ v-for="item in 24"
+ :key="item"
+ :label="item"
+ :value="item">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="材料名称:" prop="materialName">
+ <el-input v-model="ruleForm.materialName" :size="size" clearable placeholder="请输入材料名称"></el-input>
+ </el-form-item>
+ <el-form-item label="生产厂家:" prop="manufacturer">
+ <el-input v-model="ruleForm.manufacturer" :size="size" clearable placeholder="请输入生产厂家"></el-input>
+ </el-form-item>
+ <el-form-item label="规格型号:" prop="specifications">
+ <el-input v-model="ruleForm.specifications" :size="size" clearable placeholder="请输入规格型号"></el-input>
+ </el-form-item>
+ <el-form-item label="炉(批)号:" prop="heatNumber">
+ <el-input v-model="ruleForm.heatNumber" :size="size" type="textarea" :rows="5" clearable placeholder="请输入炉(批)号"></el-input>
+ </el-form-item>
+ <el-form-item label="进场数量:" prop="inNumber">
+ <el-input v-model="ruleForm.inNumber" :size="size" type="textarea" :rows="5" clearable placeholder="请输入进场数量"></el-input>
+ </el-form-item>
+ <el-form-item label="报检日期:" prop="reportTime">
+ <el-input v-model="ruleForm.reportTime" :size="size" type="textarea" :rows="5" clearable placeholder="请输入报检日期"></el-input>
+ </el-form-item>
+ <el-form-item label="报告编号:" prop="reportNum">
+ <el-input v-model="ruleForm.reportNum" :size="size" type="textarea" :rows="5" clearable placeholder="请输入报告编号"></el-input>
+ </el-form-item>
+ <el-form-item label="检验状态:" prop="status">
+ <el-select v-model="ruleForm.status" placeholder="请选择检验状态">
+ <el-option
+ v-for="item in optionsCheckstatus"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-form>
+ <div slot="footer">
+ <el-button @click="asyncVisible = false">取 消</el-button>
+ <el-button class="submit_btn" @click="asyncTitle ? submitInsert() : submitUpdate()">提 交</el-button>
+ </div>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import { buttonPinia } from '../../pinia/index';
+import { throttle, changeSize } from '../../plugins/public'; // 导入节流、动态切换组件尺寸方法
+ export default {
+ data() {
+ return {
+ size: changeSize(), // 组件尺寸
+ pageNum: 1,
+ pageSize: 10,
+ search:{},//查询条件
+ total: 0,
+ loading: false,
+ dataList: [], //钢筋材料管理信息列表
+ asyncTitle: true, // 对话框title 新增:true 修改:false
+ asyncVisible: false, // 添加 修改对话框
+ ruleForm: {
+ }, // 按钮表单
+ rules: {
+ reportNum: [{
+ required: true,
+ message: '请输入报告编号',
+ trigger: 'blur'
+ }],
+ status: [{
+ required: true,
+ message: '请选择检验状态',
+ trigger: 'change'
+ }],
+ region: [{
+ required: true,
+ message: '请选择区域',
+ trigger: 'change'
+ }],
+ reportTime: [{
+ required: true,
+ message: '请输入检验日期',
+ trigger: 'blur'
+ }],
+ inNumber: [{
+ required: true,
+ message: '请输入进场数量',
+ trigger: 'blur'
+ }],
+ manufacturer: [{
+ required: true,
+ message: '请输入生产厂家',
+ trigger: 'blur'
+ }],
+ specifications: [{
+ required: true,
+ message: '请输入规格型号',
+ trigger: 'blur'
+ }],
+ heatNumber: [{
+ required: true,
+ message: '请输入炉(批)号',
+ trigger: 'blur'
+ }],
+ materialName: [{
+ required: true,
+ message: '请输入材料名称',
+ trigger: 'blur'
+ }],
+ },
+ optionsIncome:[
+ {
+ label:'自动',
+ value:"0"
+ },
+ {
+ label:'手动',
+ value:'1'
+ }
+ ],
+ optionsCheckstatus:[
+ {
+ label:'合格',
+ value:1
+ },
+ {
+ label:'待检',
+ value:2
+ }
+ ],
+ }
+ },
+ watch: {
+ asyncVisible(bol) {
+ if(!bol) {
+ this.ruleForm = {};
+ this.$refs.ruleForm.resetFields();
+ }
+ }
+ },
+ mounted() {
+ const that = this;
+ // 根据窗口大小动态修改组件尺寸
+ window.onresize = () => {
+ that.size = changeSize();
+ }
+ that.searchButtonInfo(true);
+ },
+ methods: {
+ // 查询按钮列表信息
+ searchButtonInfo(bol) {
+ if(bol) {
+ this.pageNum = 1;
+ }
+ let params = Object.assign({},this.search,{
+ pageNum: this.pageNum,
+ pageSize: this.pageSize
+ })
+ params.startTime=this.search.time&&this.search.time[0],
+ params.endTime=this.search.time&&this.search.time[1]
+ delete params.time
+ this.loading = true;
+ this.$api.Materials.searchSignBoardLists(params).then((res) => {
+ if(res.statusMsg === 'ok') {
+ this.total = res.data.total;
+ this.dataList = res.data.list;
+ }
+ this.loading = false;
+ })
+ },
+ // 新增按钮信息
+ insertProp() {
+ this.asyncTitle = true;
+ this.asyncVisible = true;
+ },
+ // 修改按钮信息
+ updateProp(row) {
+ this.asyncTitle = false;
+ this.asyncVisible = true;
+ this.$api.Materials.detailSignBoardInfos({id: row.id}).then(res=>{
+ if(res.statusMsg === 'ok'){
+ this.ruleForm = res.data
+ let projectArr = []
+ res.data.supplierPros.forEach(item=>{
+ projectArr.push(item.proId)
+ })
+ this.$set(this.ruleForm,'proIds',projectArr)
+ }else{
+ this.$message.warning(res.statusMsg)
+ }
+ })
+ },
+ // 删除按钮信息
+ deleteInfo(row) {
+ this.$confirm("该操作将删除该信息,是否继续删除?", "提示", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ this.$api.Materials.deleteSignBoardInfos({id: row.id})
+ .then(res => {
+ if(res.statusMsg === 'ok') {
+ this.searchButtonInfo(true);
+ this.$message.success("删除成功!");
+ } else {
+ this.$message.warning(res.statusMsg);
+ }
+ })
+ })
+ .catch(() => {
+ this.$message.warning("您已取消");
+ })
+ },
+ // 提交添加按钮信息
+ submitInsert: throttle(function() {
+ this.$refs.ruleForm.validate((valid) => {
+ if(valid) {
+ const params = Object.assign({}, this.ruleForm);
+ params.type = 1
+ this.$api.Materials.addSignBoardInfos(params).then((res) => {
+ if(res.statusMsg === 'ok') {
+ this.asyncVisible = false;
+ this.searchButtonInfo(true);
+ this.$message.success('添加成功!');
+ } else {
+ this.$message.warning(res.statusMsg);
+ }
+ })
+ }
+ })
+ }, 3000),
+ // 提交修改按钮信息
+ submitUpdate: throttle(function() {
+ this.$refs.ruleForm.validate((valid) => {
+ if(valid) {
+ const params = Object.assign({}, this.ruleForm);
+ this.$api.Materials.addSignBoardInfos(params).then((res) => {
+ if(res.statusMsg === 'ok') {
+ this.asyncVisible = false;
+ this.searchButtonInfo(true);
+ this.$message.success('修改成功!');
+ } else {
+ this.$message.warning(res.statusMsg);
+ }
+ })
+ }
+ })
+ }, 3000),
+ // 判断按钮权限信息
+ showButton(str) {
+ const pinia = buttonPinia();
+ return pinia.$state.buttonInfo.includes(str);
+ },
+ // 切换页数
+ changePageNum(page) {
+ this.pageNum = page;
+ this.searchButtonInfo();
+ },
+ // 切换每页条数
+ changePageSize(size) {
+ this.pageSize = size;
+ this.searchButtonInfo();
+ }
+ }
+ }
+</script>
+
+<style lang="sass" scoped>
+@import '../../style/layout-main.scss';
+</style>
\ No newline at end of file
diff --git a/web/src/views/GoodManage/CostStatistics/RawCost.vue b/web/src/views/GoodManage/CostStatistics/RawCost.vue
index 005def8..ca4da7d 100644
--- a/web/src/views/GoodManage/CostStatistics/RawCost.vue
+++ b/web/src/views/GoodManage/CostStatistics/RawCost.vue
@@ -391,12 +391,14 @@
}
}
.main_middle_matter{
- padding-top: 15px;
+ // padding-top: 15px;
width: 100%;
display: flex;
- justify-content: space-between;
+ flex-wrap: wrap;
+ // justify-content: space-between;
.middle_items{
+ margin: 15px 10px 0px 0px;
padding: 0.6% 2.4%;
background: url('../../../assets/stir_img.png') no-repeat;
background-size: 100% 100%;
diff --git a/web/src/views/GoodManage/MixRatioScreen.vue b/web/src/views/GoodManage/MixRatioScreen.vue
new file mode 100644
index 0000000..177c8f3
--- /dev/null
+++ b/web/src/views/GoodManage/MixRatioScreen.vue
@@ -0,0 +1,573 @@
+<!-- 物资管理 ==> 配合比屏管理-->
+<template>
+ <div class="main">
+ <div class="main_header">
+ <div class="header_item">
+ <span class="header_label">配和比屏:</span>
+ <el-select size="mini" v-model="queryInfo.mixingSignboardId" placeholder="请选择配和比屏" clearable>
+ <el-option v-for="item in selects.screenNames" :key="item.value" :label="item.label"
+ :value="item.value"></el-option>
+ </el-select>
+ </div>
+ <!-- <div class="header_item">
+ <span class="header_label">录入方式:</span>
+ <el-select size="mini" v-model="queryInfo.stata" placeholder="请选择录入方式">
+ <el-option v-for="item in selects.stata" :key="item.value" :label="item.label" :value="item.value"></el-option>
+ </el-select>
+ </div> -->
+ <div class="header_item">
+ <span class="header_label">创建时间:</span>
+ <el-date-picker type="daterange" v-model="times" value-format="yyyy-MM-dd" start-placeholder="起始时间"
+ end-placeholder="结束时间" @change="changeTime" clear></el-date-picker>
+ </div>
+ <div class="header_item">
+ <el-button icon="el-icon-search" v-permission="'search'" @click="queryReset">查询</el-button>
+ <el-button icon="el-icon-plus" v-permission="'insert'" @click="addRow">新增</el-button>
+ </div>
+ </div>
+
+ <div class="main_content">
+ <div class="main_content_wrap">
+ <div class="table" v-for="(item, index) in tableData" :key="index">
+
+ <div class="row table_head">
+ <div class="table_head_item">
+ <span class="text title">{{ item.signboardName }}</span>
+ <span class="text">创建时间: {{ item.createTime }}</span>
+ <!-- <span class="text">录入方式: {{ item.inType }}</span> -->
+ </div>
+ <div class="table_head_item">
+ <el-button v-permission="'update'" @click="updateRow(index)">修改</el-button>
+ <el-button v-permission="'delete'" @click="deleteRow(index)">删除</el-button>
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="name">工程名称</div>
+ <div class="value">{{ item.proName }}</div>
+ </div>
+
+ <div class="row">
+ <div class="name">施工单位</div>
+ <div class="value">{{ item.constructionUnit }}</div>
+ </div>
+
+ <div class="row aline">
+ <div>
+ <div class="name">施工日期</div>
+ <div class="value">{{ item.saveStamp }}</div>
+ </div>
+ <div>
+ <div class="name">施工部位</div>
+ <div class="value">{{ item.construction }}</div>
+ </div>
+ </div>
+
+ <div class="row" v-for="sub in item.dataLists" :key="sub.name">
+ <div class="column">
+ <div class="name">{{ sub.name }}</div>
+ <div class="column-item" v-for="(sub, index) in sub.value" :key="index">{{ sub }}</div>
+ </div>
+ </div>
+
+ </div>
+ </div>
+ </div>
+
+ <!-- dialog -->
+ <el-dialog class="prop_dialog" width="80%" v-if="isRenderDialog" :title="dialogTitle" :visible.sync="asyncVisible"
+ @close="closeDialog">
+ <el-form ref="ruleForm" class="rule_form" :model="ruleForm" :rules="rules">
+ <el-form-item label="拌和站屏:" prop="mixingSignboardId">
+ <el-select size="mini" v-model="ruleForm.mixingSignboardId" :disabled="isUpdate" placeholder="请选择拌和站屏"
+ @change="changeSelectForm($event)">
+ <el-option v-for="item in selects.screenNames" :key="item.value" :label="item.label"
+ :value="item.value"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="工程名称:" prop="proName">
+ <el-input v-model="ruleForm.proName" size="mini" placeholder="请输入工程名称" clearable disabled></el-input>
+ </el-form-item>
+ <el-form-item label="施工单位:" prop="constructionUnit">
+ <el-input v-model="ruleForm.constructionUnit" size="mini" placeholder="请输入施工单位" clearable></el-input>
+ </el-form-item>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="施工日期:" prop="saveStamp">
+ <el-date-picker v-model="ruleForm.saveStamp" size="mini" value-format="yyyy-MM-dd" placeholder="请输入施工日期"
+ clearable></el-date-picker>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="施工部位:" prop="construction">
+ <el-input v-model="ruleForm.construction" size="mini" placeholder="请输入施工部位" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <el-button style="margin: 0 0 20px 130px;" @click="addFormCol">添加材料</el-button>
+
+ <div style="display: flex;">
+ <div style="margin-right: 10px;" v-for="(item, index) in ruleForm.infos " :key="index">
+ <el-form-item :label="index === 0 ? '材料名称' : ''" :prop="`infos.${index}.dictId`">
+ <!-- <el-select v-model="item.dictId" size="mini" placeholder="请选择材料名称">
+ <el-option v-for="item in selects.materials" :key="item.value" :label="item.label"
+ :value="item.value"></el-option>
+ </el-select> -->
+ <el-input v-model="item.dictId" size="mini" placeholder="请输入" clearable></el-input>
+ </el-form-item>
+ <el-form-item :label="index === 0 ? '规格型号' : ''" :prop="`infos.${index}.spec`">
+ <el-input v-model="item.spec" size="mini" placeholder="请输入" clearable></el-input>
+ </el-form-item>
+ <el-form-item :label="index === 0 ? '生产厂家' : ''" :prop="`infos.${index}.manufacturer`">
+ <el-input v-model="item.manufacturer" size="mini" placeholder="请输入" clearable></el-input>
+ </el-form-item>
+ <el-form-item :label="index === 0 ? '材料含水率(%)' : ''" :prop="`infos.${index}.watFull`">
+ <el-input v-model="item.watFull" size="mini" placeholder="请输入" clearable></el-input>
+ </el-form-item>
+ <el-form-item :label="index === 0 ? '理论用量(kg/m³)' : ''" :prop="`infos.${index}.planAmnt`">
+ <el-input v-model="item.planAmnt" size="mini" placeholder="请输入" clearable></el-input>
+ </el-form-item>
+ <el-form-item :label="index === 0 ? '实际用量(kg/m³)' : ''" :prop="`infos.${index}.factAmnt`">
+ <el-input v-model="item.factAmnt" size="mini" placeholder="请输入" clearable></el-input>
+ </el-form-item>
+ </div>
+ </div>
+
+ </el-form>
+ <div slot="footer">
+ <el-button @click="asyncVisible = false">取 消</el-button>
+ <el-button class="submit_btn" @click="onSubmit('ruleForm')">提 交</el-button>
+ </div>
+ </el-dialog>
+
+ </div>
+</template>
+<script>
+export default {
+ data() {
+ return {
+ loading: false,
+ isRenderDialog: false,
+ asyncVisible: false,
+ submitMode: '', // add update
+ times: [], // 时间范围
+ selects: {
+ screenNames: [], // 配合比屏
+ // materials: [] // 材料名称[先改成输入,,字典表材料不匹配]
+ }, // 下拉框状态选择汇总
+ tableData: [{
+ inType: '', // 录入方式
+ mixingSignboardId: '', // 屏id
+ createTime: '', // 创建时间
+ signboardName: '', // 标识排
+ proName: '', // 工程名称
+ constructionUnit: '', // 施工单位
+ saveStamp: '', // 施工日期
+ construction: '', // 施工部位
+ mixingConsumeId: '', // 每个材料id
+ dataLists: [
+ {name: '材料名称', type: 'dictId', value: []}, // 材料名称
+ {name: '规格型号', type: 'spec', value: []}, // 规格型号
+ {name: '生产厂家', type: 'manufacturer', value: []}, // 生产厂家
+ {name: '材料含水率(%)', type: 'watFull', value: []}, // 含水率
+ {name: '理论用量(kg/m³)', type: 'planAmnt', value: []}, // 理论用量
+ {name: '实际用量(kg/m³)', type: 'factAmnt', value: []}, // 实际用量
+ ],
+ dataListFlat: [] // 修改时赋值使用
+ }],
+ ruleForm: {
+ mixingSignboardId: '', // 屏名称id
+ proName: '', // 工程名称 [拌和站屏下拉框联动]
+ constructionUnit: '', // 施工单位
+ saveStamp: '', // 施工日期
+ construction: '', // 施工部位
+ infos: [{
+ dictId: '',
+ spec: '',
+ manufacturer: '',
+ watFull: '',
+ planAmnt: '',
+ factAmnt: '',
+ }]
+ },
+ queryInfo: {
+ pageNum: 1,
+ pageSize: 9999,
+ // stata: '', // 录入方式
+ mixingSignboardId: '', // 拌和站屏名称
+ strTime: '',
+ endTime: '',
+ },
+ }
+ },
+ computed: {
+ dialogTitle() {
+ return this.submitMode === 'update' ? '修改' : '添加'
+ },
+ isUpdate() {
+ return this.submitMode === 'update'
+ },
+ },
+ created() {
+ this.$http = this.$api.Materials.mixRatioSrcreen
+ this.rawRuleFormInfos = {...this.ruleForm.infos[0]} // 原始的infos.添加材料使用
+ this.selects.stata = [ // 录入方式
+ {value: 1, label: '自动'},
+ {value: 2, label: '手动'},
+ ]
+ this.selects.stataMap = {
+ 1: '自动',
+ 2: '手动',
+ }
+ this.rules = {
+ mixingSignboardId: [{required: true, message: '请选择拌和站屏', trigger: 'change'}],
+ proName: [{required: true, message: '请输入工程名称', trigger: 'change'}],
+ constructionUnit: [{required: true, message: '请输入工程名称', trigger: 'blur'}],
+ saveStamp: [{required: true, message: '请输入施工日期', trigger: 'blur'}],
+ construction: [{required: true, message: '请输入施工部位', trigger: 'blur'}],
+ infos: [{
+ dictId: [{required: true, message: '请输入', trigger: 'blur'}],
+ spec: [{required: true, message: '请输入', trigger: 'blur'}],
+ manufacturer: [{required: true, message: '请输入', trigger: 'blur'}],
+ watFull: [{required: true, message: '请输入', trigger: 'blur'}],
+ planAmnt: [{required: true, message: '请输入', trigger: 'blur'}],
+ factAmnt: [{required: true, message: '请输入', trigger: 'blur'}],
+ }]
+ }
+ this.getLists()
+ this.getScreenNames()
+ },
+ methods: {
+ // 获取table列表数据
+ getLists() {
+ this.$http.getLists(this.queryInfo).then(res => {
+ this.tableData = [{
+ inType: '', // 录入方式
+ mixingSignboardId: '', // 屏id
+ createTime: '', // 创建时间
+ signboardName: '', // 标识排
+ proName: '', // 工程名称
+ constructionUnit: '', // 施工单位
+ saveStamp: '', // 施工日期
+ construction: '', // 施工部位
+ mixingConsumeId: '', // 每个材料id
+ dataLists: [
+ {name: '材料名称', type: 'dictId', value: []}, // 材料名称
+ {name: '规格型号', type: 'spec', value: []}, // 规格型号
+ {name: '生产厂家', type: 'manufacturer', value: []}, // 生产厂家
+ {name: '材料含水率(%)', type: 'watFull', value: []}, // 含水率
+ {name: '理论用量(kg/m³)', type: 'planAmnt', value: []}, // 理论用量
+ {name: '实际用量(kg/m³)', type: 'factAmnt', value: []}, // 实际用量
+ ],
+ dataListFlat: [] // 修改时赋值使用
+ }]
+ if (res.statusMsg === 'ok' && res.data) {
+ const {list} = res.data
+ if (list && list.length) {
+ let temps = JSON.parse(JSON.stringify(this.tableData[0]))
+ list.forEach((item, index) => {
+ if (!this.tableData[index]) {
+ this.tableData.push(JSON.parse(JSON.stringify(temps)))
+ }
+
+ let {tmixingConsumes, signboardName, proName} = item
+ let curTableData = this.tableData[index]
+ curTableData.signboardName = signboardName
+ curTableData.proName = proName
+
+ if (tmixingConsumes && tmixingConsumes.length) {
+ if (!curTableData.mixingSignboardId) {
+ curTableData.constructionUnit = tmixingConsumes[0].constructionUnit
+ curTableData.createTime = tmixingConsumes[0].createTime
+ curTableData.mixingSignboardId = tmixingConsumes[0].mixingSignboardId
+ curTableData.saveStamp = tmixingConsumes[0].saveStamp
+ curTableData.construction = tmixingConsumes[0].construction
+ }
+
+ tmixingConsumes.forEach(item => {
+ curTableData.dataLists.forEach(val => {
+ item[val.type] && val.value.push(item[val.type])
+ })
+ curTableData.dataListFlat.push({
+ constructionUnit: item.constructionUnit,
+ mixingConsumeId: item.mixingConsumeId,
+ dictId: item.dictId,
+ spec: item.spec,
+ manufacturer: item.manufacturer,
+ watFull: item.watFull,
+ planAmnt: item.planAmnt,
+ factAmnt: item.factAmnt,
+ star: item.star
+ })
+ })
+ }
+ })
+ }
+ }
+ })
+ },
+ //获取字典表材料名称
+ // async getDicFilteredData() {
+ // let params = {pageNum: 1, pageSize: 100000000}
+ // let {data} = await this.$api.Dictionary.searchDictionary(params)
+ // data.list.forEach(item => {
+ // if (item.dictType === 'pipe_materials') {
+ // this.selects.materials.push({
+ // label: item.dictName,
+ // value: item.dictId,
+ // })
+ // }
+ // })
+ // },
+ // 获取配比屏名称
+ async getScreenNames() {
+ const params = {pageNum: 1, pageSize: 9999}
+ let {data} = await this.$http.getScreenNames(params)
+ let temps = []
+ data.forEach(item => {
+ temps.push({
+ label: item.signboardName,
+ value: item.mixingSignboardId,
+ proName: item.proName,
+ })
+ })
+ this.selects.screenNames.push(...temps)
+ },
+ // 查询按钮列表信息
+ queryReset() {
+ this.getLists()
+ },
+ resetForm(formName) {
+ this.$refs[formName].resetFields()
+
+ let ruleFormItem = this.ruleForm.infos[0]
+ let rulesItem = this.rules.infos[0]
+ this.ruleForm.infos = [{...ruleFormItem}]
+ this.rules.infos = [{...rulesItem}]
+ },
+ showDialog() {
+ // eslint-disable-next-line no-async-promise-executor
+ return new Promise(async resolve => {
+ if (!this.isRenderDialog) {
+ this.isRenderDialog = true
+ }
+ // if (!this.selects.materials.length) {
+ // await this.getDicFilteredData()
+ // }
+ this.asyncVisible = true
+ this.$nextTick(() => {
+ resolve()
+ })
+ })
+ },
+ closeDialog() {
+ this.asyncVisible = false
+ this.resetForm('ruleForm')
+ },
+ addRow() {
+ this.submitMode = 'add'
+ this.showDialog()
+ },
+ updateRow(i) {
+ this.submitMode = 'update'
+ this.showDialog().then(() => {
+ const {mixingSignboardId, proName, constructionUnit, saveStamp, construction, dataListFlat} = this.tableData[i]
+ this.ruleForm = Object.assign(this.ruleForm, {
+ mixingSignboardId,
+ proName,
+ constructionUnit,
+ saveStamp,
+ construction,
+ infos: JSON.parse(JSON.stringify(dataListFlat))
+ })
+ this.changeSelectForm(mixingSignboardId)
+ })
+ },
+ deleteRow(i) {
+ this.$confirm("该操作将删除该信息,是否继续删除?", "提示", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ }).then(() => {
+ let star = ''
+ let mixingConsumeIds = []
+ this.tableData[i].dataListFlat.forEach((item, index) => {
+ if (index === 0) {
+ star = item.star + ''
+ }
+ mixingConsumeIds.push(item.mixingConsumeId)
+ })
+ this.$http.delete({star, mixingConsumeIds}).then(res => {
+ if (res.statusMsg === 'ok') {
+ this.getLists()
+ this.$message.success("删除成功!")
+ } else {
+ this.$message.warning(res.statusMsg)
+ }
+ })
+ })
+ },
+ addFormCol() {
+ let ruleFormItem = this.rawRuleFormInfos
+ let rulesItem = this.rules.infos[0]
+
+ this.ruleForm.infos.push({...ruleFormItem})
+ this.rules.infos.push({...rulesItem})
+ },
+ onSubmit(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (!valid) return false
+ const {mixingSignboardId, proName, constructionUnit, saveStamp, construction, infos} = this.ruleForm
+
+ let newInfos = JSON.parse(JSON.stringify(infos))
+ newInfos.forEach(item => {
+ item.saveStamp = saveStamp
+ item.construction = construction
+ item.constructionUnit = constructionUnit
+ })
+ const params = {
+ mixingSignboardId,
+ proName,
+ mixingConsume: newInfos
+ }
+ if (this.isUpdate) {
+ // 更新
+ this.$http.update(params).then((res) => {
+ if (res.statusMsg === 'ok') {
+ this.closeDialog()
+ this.getLists()
+ this.$message.success('更新成功!')
+ } else {
+ this.$message.warning(res.statusMsg)
+ }
+ })
+ } else {
+ // 添加
+ this.$http.insert(params).then((res) => {
+ if (res.statusMsg === 'ok') {
+ this.closeDialog()
+ this.getLists()
+ this.$message.success('添加成功!')
+ } else {
+ this.$message.warning(res.statusMsg)
+ }
+ })
+ }
+ })
+ },
+ changeTime(times) {
+ times = times || ['', '']
+ this.queryInfo.strTime = times[0]
+ this.queryInfo.endTime = times[1]
+ },
+ changeSelectForm(val) {
+ let item = this.selects.screenNames.find(obj => obj.value === val)
+ this.ruleForm.proName = item.proName
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+@import '@/style/layout-main.scss';
+
+.main_content_wrap {
+ height: 100%;
+ overflow: auto;
+
+ .table {
+ display: flex;
+ flex-direction: column;
+ font-size: 16px;
+ margin-bottom: 26px;
+ color: #fff;
+
+ .row.table_head {
+ display: flex;
+ justify-content: space-between;
+ text-align: left;
+ color: #BEE2F0;
+ background: rgba(1, 142, 196, .35);
+
+ .table_head_item {
+ margin: 0 20px;
+
+ .title {
+ color: #39B5FE;
+ font-weight: bold;
+ }
+
+ .text {
+ margin-right: 40px;
+ }
+ }
+ }
+
+ .row {
+ flex: 1;
+ width: 100%;
+ min-height: 40px;
+ margin: 0 -1px -1px 0;
+ text-align: center;
+ line-height: 40px;
+ border: 1px solid #01B3EF;
+
+ .name {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ float: left;
+ width: 160px;
+ margin: -1px -1px -1px 0;
+ color: #BEE2F0;
+ border: 1px solid #01B3EF;
+ background: rgba(1, 142, 196, .75);
+ box-sizing: unset;
+ }
+
+ .value {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 100%;
+ overflow: hidden;
+ }
+
+ .column {
+ display: flex;
+ height: 100%;
+
+ .column-item {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex: 1;
+ padding: 0 4px;
+ line-height: 24px;
+ margin: -1px -1px -1px 0;
+ border: 1px solid #01B3EF;
+ word-break: break-all;
+ }
+ }
+ }
+
+ .row.aline {
+ display: flex;
+
+ > div {
+ flex: 1;
+ }
+ }
+ }
+}
+
+
+.rule_form {
+ overflow-x: hidden;
+
+ ::v-deep .el-form-item__label {
+ min-width: 130px;
+ }
+}
+</style>
\ No newline at end of file
diff --git a/web/src/views/GoodManage/MixingScreen.vue b/web/src/views/GoodManage/MixingScreen.vue
new file mode 100644
index 0000000..38ccb70
--- /dev/null
+++ b/web/src/views/GoodManage/MixingScreen.vue
@@ -0,0 +1,526 @@
+<!-- 物资管理 ==> 拌和站屏管理-->
+<template>
+ <div class="main">
+ <div class="main_header">
+ <div class="header_item">
+ <span class="header_label">拌和站屏:</span>
+ <el-select size="mini" v-model="queryInfo.types" placeholder="请选择拌和站屏" clearable>
+ <el-option v-for="item in selects.screenNames" :key="item.value" :label="item.label"
+ :value="item.value2"></el-option>
+ </el-select>
+ </div>
+ <div class="header_item">
+ <span class="header_label">录入方式:</span>
+ <el-select size="mini" v-model="queryInfo.stata" placeholder="请选择录入方式" clearable>
+ <el-option v-for="item in queryInfoInmodes" :key="item.value" :label="item.label"
+ :value="item.value"></el-option>
+ </el-select>
+ </div>
+ <div class="header_item">
+ <span class="header_label">创建时间:</span>
+ <el-date-picker type="daterange" v-model="times" value-format="yyyy-MM-dd" start-placeholder="起始时间"
+ end-placeholder="结束时间" @change="changeTime" clearable></el-date-picker>
+ </div>
+ <div class="header_item">
+ <el-button v-permission="'search'" @click="queryReset">查询</el-button>
+ <el-button v-permission="'insert'" @click="addRow">新增</el-button>
+ </div>
+ </div>
+ <div class="main_content">
+ <div class="main_content_wrap">
+ <div class="main_content_item" v-for="(list, index) in dataLists" :key="index">
+ <el-row>
+ <el-col :span="24 / list.length" v-for="(item, index) in list" :key="index">
+ <div class="head">
+ <span class="left_title">{{ item.siloName }}</span>
+ <span v-if="index + 1 === list.length" class="right_title">录入方式: <span style="color:#39B5FE">{{
+ queryInfoInmodeMap[item.stata] }}</span></span>
+ </div>
+ <div class="list">
+ <div class="item">
+ <span class="name">屏幕编号:</span>
+ <span class="value">{{ item.types }}</span>
+ </div>
+ <div class="item">
+ <span class="name">规格型号:</span>
+ <span class="value">{{ item.spec }}</span>
+ </div>
+ <div class="item">
+ <span class="name">产地名称:</span>
+ <span class="value">{{ item.producer }}</span>
+ </div>
+ <div class="item">
+ <span class="name">炉(批)号:</span>
+ <span class="value">{{ item.stove }}</span>
+ </div>
+ <div class="item">
+ <span class="name">进场数量:</span>
+ <span class="value">{{ item.inNum }}</span>
+ </div>
+ <div class="item">
+ <span class="name">进场日期:</span>
+ <span class="value">{{ item.inDate }}</span>
+ </div>
+ <div class="item">
+ <span class="name">检验日期:</span>
+ <span class="value">{{ item.inspectDate }}</span>
+ </div>
+ <div class="item">
+ <span class="name">检验状态:</span>
+ <span :class="['value', 'style' + item.inspectState]">{{ ruleFormStatuMap[item.inspectState] }}</span>
+ </div>
+ <div class="item">
+ <span class="name">报告编号:</span>
+ <span class="value">{{ item.reportNumber }}</span>
+ </div>
+ </div>
+ </el-col>
+ </el-row>
+ <el-row class="foot">
+ <el-button size="mini" v-permission="'delete'" @click="deleteRow(index)">删除</el-button>
+ <el-button size="mini" v-permission="'update'" @click="updateRow(index)">修改</el-button>
+ </el-row>
+ </div>
+ </div>
+ </div>
+ <!-- dialog -->
+ <el-dialog class="prop_dialog" v-if="isRenderDialog" :title="dialogTitle" :visible.sync="asyncVisible"
+ @close="closeDialog">
+ <el-form ref="ruleForm" class="rule_form" :model="ruleForm" :rules="rules" label-width="auto">
+ <el-form-item label="拌和站屏:" prop="name">
+ <el-select size="mini" v-model="ruleForm.name" :disabled="isUpdate" placeholder="请选择拌和站屏"
+ @change="changeSelectForm($event)">
+ <el-option v-for="item in selects.screenNames" :key="item.value" :label="item.label"
+ :value="item.value"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-row :gutter="100">
+ <el-col :class="'elCol elCol' + index" :span="12" v-for="(item, index) in ruleForm.infos" :key="index">
+ <el-form-item label="屏幕编号:" :prop="`infos.${index}.num`">
+ <el-input v-model="item.num" size="mini" disabled></el-input>
+ </el-form-item>
+ <el-form-item label="规格型号:" :prop="`infos.${index}.spec`">
+ <el-input v-model="item.spec" size="mini" placeholder="请输入规格型号" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="产地名称:" :prop="`infos.${index}.producer`">
+ <el-input v-model="item.producer" size="mini" placeholder="请输入产地名称" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="炉(批)号:" :prop="`infos.${index}.stove`">
+ <el-input v-model="item.stove" size="mini" placeholder="请输入炉(批)号" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="进场数量:" :prop="`infos.${index}.inNum`">
+ <el-input v-model="item.inNum" size="mini" placeholder="请输入进场数量" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="进场日期:" :prop="`infos.${index}.inDate`">
+ <el-date-picker v-model="item.inDate" size="mini" value-format="yyyy-MM-dd" placeholder="请选择检验日期"
+ clearable></el-date-picker>
+ </el-form-item>
+ <el-form-item label="检验日期:" :prop="`infos.${index}.inspectDate`">
+ <el-date-picker v-model="item.inspectDate" size="mini" value-format="yyyy-MM-dd" placeholder="请选择检验日期"
+ clearable></el-date-picker>
+ </el-form-item>
+ <el-form-item label="检验状态:" :prop="`infos.${index}.inspectState`">
+ <el-select v-model="item.inspectState" size="mini" placeholder="请选择检验状态" clearable>
+ <el-option v-for="item in ruleFormStatus" :key="item.value" :label="item.label"
+ :value="item.value"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="报告编号:" :prop="`infos.${index}.reportNumber`">
+ <el-input v-model="item.reportNumber" size="mini" placeholder="请输入报告编号" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <div slot="footer">
+ <el-button @click="asyncVisible = false">取 消</el-button>
+ <el-button class="submit_btn" @click="onSubmit('ruleForm')">提 交</el-button>
+ </div>
+ </el-dialog>
+
+ </div>
+</template>
+<script>
+export default {
+ data() {
+ return {
+ loading: false,
+ isRenderDialog: false,
+ asyncVisible: false,
+ submitMode: '', // add update
+ dataLists: [], // [[],[],[]]
+ selects: {
+ screenNames: [], // 拌和站屏
+ screenNameIds: {}, // 拌和站屏id map
+ }, // 下拉框状态选择汇总
+ ruleForm: {
+ name: '', // 下拉框屏名称
+ mixingIds: '', // 修改id []
+ infos: [{
+ material: '', // 原料名称
+ siloId: '', // 屏幕编号id
+ num: '', // 屏幕编号
+ spec: '',
+ producer: '',
+ stove: '',
+ inNum: '',
+ inDate: '',
+ inspectDate: '',
+ inspectState: '',
+ reportNumber: '',
+ }, {
+ material: '',
+ siloId: '', // 屏幕id
+ num: '', // 屏幕编号
+ spec: '',
+ producer: '',
+ stove: '',
+ inNum: '',
+ inDate: '',
+ inspectDate: '',
+ inspectState: '',
+ reportNumber: '',
+ }]
+ },
+ times: [], // 时间范围
+ total: '',
+ queryInfo: {
+ pageNum: 1,
+ pageSize: 9999,
+ stata: '', // 录入方式
+ types: '', // 拌和站屏
+ strTime: '',
+ endTime: '',
+ },
+ }
+ },
+ computed: {
+ dialogTitle() {
+ return this.submitMode === 'update' ? '修改' : '添加'
+ },
+ isUpdate() {
+ return this.submitMode === 'update'
+ },
+ },
+ beforeCreate() {
+ this.rules = {
+ name: [{required: true, message: '请选择拌和站屏', trigger: 'change'}],
+ infos: [{
+ num: [{required: true, message: '请输入', trigger: 'blur'}],
+ spec: [{required: true, message: '请输入', trigger: 'blur'}],
+ producer: [{required: true, message: '请输入', trigger: 'blur'}],
+ stove: [{required: true, message: '请输入', trigger: 'blur'}],
+ inNum: [{required: true, message: '请输入', trigger: 'blur'}],
+ inDate: [{required: true, message: '请输入', trigger: 'blur'}],
+ inspectDate: [{required: true, message: '请输入', trigger: 'blur'}],
+ inspectState: [{required: true, message: '请选择', trigger: 'blur'}],
+ reportNumber: [{required: true, message: '请输入', trigger: 'blur'}],
+ }, {
+ spec: [{required: true, message: '请输入', trigger: 'blur'}],
+ producer: [{required: true, message: '请输入', trigger: 'blur'}],
+ stove: [{required: true, message: '请输入', trigger: 'blur'}],
+ inNum: [{required: true, message: '请输入', trigger: 'blur'}],
+ inDate: [{required: true, message: '请输入', trigger: 'blur'}],
+ inspectDate: [{required: true, message: '请输入', trigger: 'blur'}],
+ inspectState: [{required: true, message: '请选择', trigger: 'blur'}],
+ reportNumber: [{required: true, message: '请输入', trigger: 'blur'}],
+ }]
+ }
+
+ this.queryInfoInmodes = [
+ {value: 1, label: '自动'},
+ {value: 2, label: '手动'},
+ ]
+ this.queryInfoInmodeMap = {
+ 1: '自动',
+ 2: '手动',
+ }
+ this.ruleFormStatus = [
+ {value: 1, label: '合格'},
+ {value: 2, label: '不合格'},
+ {value: 3, label: '待检测'},
+ ]
+ this.ruleFormStatuMap = {
+ 1: '合格',
+ 2: '不合格',
+ 3: '待检测',
+ }
+ this.$http = this.$api.Materials.mixingSrcreen
+ },
+ created() {
+ this.getLists()
+ this.getScreenNames()
+ },
+ methods: {
+ // 获取table列表数据 [types相同的放一个数组]
+ getLists() {
+ let params = this.queryInfo
+ this.loading = true
+ this.$http.getLists(params).then(res => {
+ if (res.statusMsg === 'ok' && res.data) {
+ let tempMap = {}
+ res.data.forEach(item => {
+ if (!tempMap[item.types]) {
+ tempMap[item.types] = []
+ }
+ tempMap[item.types].push({...item})
+ })
+ this.dataLists = Object.values(tempMap)
+ }
+ this.loading = false
+ })
+ },
+ // 获取配比屏名称
+ async getScreenNames() {
+ const params = {pageNum: 1, pageSize: 9999}
+ let {data} = await this.$http.getScreenNames(params)
+
+ let tempIds = {}
+ let tempTypes = {}
+ data.forEach(item => {
+ if (!tempIds[item.siloId]) {
+ tempIds[item.siloId] = {...item}
+ }
+
+ if (!tempTypes[item.types]) {
+ tempTypes[item.types] = []
+ }
+ tempTypes[item.types].push({...item})
+ })
+
+ let temps = []
+ Object.values(tempTypes).forEach(list => {
+ let value = ''
+ let label = ''
+ let type = ''
+ list.forEach((item, index) => {
+ value += item.siloId + ((index + 1) === list.length ? '' : ';')
+ label += item.siloName + ((index + 1) === list.length ? '' : ';')
+ type = item.types
+ })
+ temps.push({
+ label: label,
+ value: value,
+ value2: type,
+ })
+ })
+
+ this.selects.screenNames.push(...temps)
+ this.selects.screenNameIds = tempIds
+ },
+ // 查询按钮列表信息
+ queryReset() {
+ this.getLists()
+ },
+ resetForm(formName) {
+ this.$refs[formName].resetFields()
+ },
+ showDialog() {
+ return new Promise(resolve => {
+ if (!this.isRenderDialog) {
+ this.isRenderDialog = true
+ }
+
+ this.asyncVisible = true
+
+ this.$nextTick(() => {
+ resolve()
+ })
+ })
+ },
+ closeDialog() {
+ this.asyncVisible = false
+ this.resetForm('ruleForm')
+ },
+ addRow() {
+ this.submitMode = 'add'
+ this.showDialog()
+ },
+ updateRow(i) {
+ this.submitMode = 'update'
+ this.showDialog().then(() => {
+ let mixingIds = []
+ let nameIds = ''
+ this.dataLists[i].forEach((item, index) => {
+ nameIds += item.siloId + ((index + 1) === this.dataLists[i].length ? '' : ';')
+ mixingIds.push(item.siloId)
+ this.ruleForm.infos[index] = Object.assign(this.ruleForm.infos[index], this.dataLists[i][index])
+ })
+ this.ruleForm.name = nameIds
+ this.ruleForm.mixingIds = mixingIds
+ this.changeSelectForm(nameIds)
+ })
+ },
+ deleteRow(i) {
+ this.$confirm("该操作将删除该信息,是否继续删除?", "提示", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ }).then(() => {
+ let mixingIds = []
+ this.dataLists[i].forEach(item => {
+ mixingIds.push(item.mixingId)
+ })
+ this.$http.delete({mixingIds: mixingIds}).then(res => {
+ if (res.statusMsg === 'ok') {
+ this.getLists()
+ this.$message.success("删除成功!")
+ } else {
+ this.$message.warning(res.statusMsg)
+ }
+ })
+ })
+ },
+ onSubmit(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (!valid) return false
+ const params = {mixingList: this.ruleForm.infos}
+ if (this.isUpdate) {
+ // 更新
+ this.$http.update(params).then((res) => {
+ if (res.statusMsg === 'ok') {
+ this.closeDialog()
+ this.getLists()
+ this.$message.success('更新成功!')
+ } else {
+ this.$message.warning(res.statusMsg)
+ }
+ })
+ } else {
+ // 添加
+ this.$http.insert(params).then((res) => {
+ if (res.statusMsg === 'ok') {
+ this.closeDialog()
+ this.getLists()
+ this.$message.success('添加成功!')
+ } else {
+ this.$message.warning(res.statusMsg)
+ }
+ })
+ }
+ })
+ },
+ changeSelectForm(value) {
+ let ids = value && value.split(';')
+ ids.forEach((item, index) => {
+ this.ruleForm.infos[index].siloId = item
+ this.ruleForm.infos[index].material = this.selects.screenNameIds[item].siloName
+ this.ruleForm.infos[index].num = this.selects.screenNameIds[item].types
+ })
+ },
+ changeTime(times) {
+ times = times || ['', '']
+ this.queryInfo.strTime = times[0]
+ this.queryInfo.endTime = times[1]
+ },
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+@import '@/style/layout-main.scss';
+
+.main_content_wrap {
+ height: 100%;
+ overflow: auto;
+}
+
+.main_content_item {
+ overflow: hidden;
+ float: left;
+ width: 48%;
+ margin: 1%;
+ font-size: 15px;
+ color: #ddd;
+ border: 1px solid #39B5FE;
+ border-radius: 5px;
+
+ .el-row {
+ border: 1px solid #39B5FE;
+ margin: -1px;
+
+ .el-col {
+ height: 100%;
+ margin: 0 0 0 -1px;
+ border-left: 1px solid #39B5FE;
+ }
+ }
+
+ .head {
+ height: 40px;
+ margin: -1px;
+ line-height: 40px;
+ text-indent: 30px;
+ background: rgba(30, 95, 147, .6);
+ border: 1px solid #39B5FE;
+
+ .left_title {
+ float: left;
+ }
+
+ .right_title {
+ float: right;
+ margin-right: 10px;
+ }
+ }
+
+ .list {
+ padding: 0 10px 20px 10px;
+
+ .item {
+ display: flex;
+ flex: 1;
+ margin-top: 20px;
+
+ .name {
+ margin-right: 8px;
+ text-indent: 6px;
+ white-space: nowrap;
+ }
+
+ .value {
+ color: #39B5FE;
+
+ &.style1 {
+ font-size: 20px;
+ line-height: 20px;
+ color: #16F849;
+ }
+
+ &.style2 {
+ font-size: 20px;
+ line-height: 20px;
+ color: red;
+ }
+
+ &.style3 {
+ font-size: 20px;
+ line-height: 20px;
+ color: #FF6600;
+ }
+ }
+
+ }
+ }
+
+ .foot {
+ height: 40px;
+ line-height: 40px;
+ text-align: center;
+
+ .el-button {
+ padding: 6px 20px
+ }
+ }
+
+
+
+}
+
+.rule_form {
+ overflow-x: hidden;
+
+ .elCol0 {
+ border-right: 1px solid #39B5FE;
+ }
+}
+</style>
\ No newline at end of file
diff --git a/web/src/views/GoodManage/StockManage.vue b/web/src/views/GoodManage/StockManage.vue
index eb58d90..d30a0f9 100644
--- a/web/src/views/GoodManage/StockManage.vue
+++ b/web/src/views/GoodManage/StockManage.vue
@@ -112,7 +112,7 @@
<el-input v-model="ruleForm.nameOfOrigin" :size="size" clearable placeholder="请输入产地名称"></el-input>
</el-form-item>
<el-form-item label="进场数量:" prop="incomingQuantity">
- <el-input v-model="ruleForm.incomingQuantity" :size="size" type="number" clearable placeholder="请输入进场数量"></el-input>
+ <el-input v-model="ruleForm.incomingQuantity" :size="size" clearable placeholder="请输入进场数量"></el-input>
</el-form-item>
<el-form-item label="进场日期:" prop="inTime">
<el-date-picker
@@ -145,7 +145,7 @@
</el-select>
</el-form-item>
<el-form-item label="报告编号:" prop="reportNumber">
- <el-input v-model="ruleForm.reportNumber" :size="size" clearable placeholder="请输入报告编号"></el-input>
+ <el-input v-model="ruleForm.reportNumber" :size="size" type="textarea" :rows="5" clearable placeholder="请输入报告编号"></el-input>
</el-form-item>
</el-form>
<div slot="footer">
diff --git a/web/src/views/GoodManage/components/MixingIncome.vue b/web/src/views/GoodManage/components/MixingIncome.vue
index 0e4d9db..390d44a 100644
--- a/web/src/views/GoodManage/components/MixingIncome.vue
+++ b/web/src/views/GoodManage/components/MixingIncome.vue
@@ -14,14 +14,15 @@
</div>
<div class="header_item">
<span class="header_label">供应商:</span>
- <el-select v-model="search.supplierId" placeholder="请选择供应商" clearable>
+ <!-- <el-select v-model="search.supplierId" placeholder="请选择供应商" clearable>
<el-option
v-for="item in optionsSupplierType"
:key="item.id"
:label="item.supplierName"
:value="item.id">
</el-option>
- </el-select>
+ </el-select> -->
+ <el-input v-model="search.supplierName" clearable placeholder="请输入供应商"></el-input>
</div>
<div class="header_item">
<span class="header_label">入库时间:</span>
@@ -118,15 +119,16 @@
<el-form-item label="入库重量:" prop="changeStock">
<el-input v-model="ruleForm.changeStock" :size="size" type="number" clearable placeholder="请输入入库重量"></el-input>
</el-form-item>
- <el-form-item label="供应商:" prop="supplierId">
- <el-select v-model="ruleForm.supplierId" placeholder="请选择供应商">
+ <el-form-item label="供应商:" prop="supplierName">
+ <!-- <el-select v-model="ruleForm.supplierId" placeholder="请选择供应商">
<el-option
v-for="item in optionsSupplierType"
:key="item.id"
:label="item.supplierName"
:value="item.id">
</el-option>
- </el-select>
+ </el-select> -->
+ <el-input v-model="ruleForm.supplierName" :size="size" clearable placeholder="请输入供应商"></el-input>
</el-form-item>
</el-form>
<div slot="footer">
@@ -170,10 +172,10 @@
message: '请输入入库重量',
trigger: 'blur'
}],
- supplierId: [{
+ supplierName: [{
required: true,
- message: '请选择供应商',
- trigger: 'change'
+ message: '请输入供应商',
+ trigger: 'blur'
}],
factoryName: [{
required: true,
diff --git a/web/src/views/LayoutIndex/components/LayoutAside.vue b/web/src/views/LayoutIndex/components/LayoutAside.vue
index ae8893a..097dbf4 100644
--- a/web/src/views/LayoutIndex/components/LayoutAside.vue
+++ b/web/src/views/LayoutIndex/components/LayoutAside.vue
@@ -34,7 +34,7 @@
<template v-else>
<el-menu-item :index="item.path" :key="item.name">
- <span slot="title">{{ item.meta.title }}</span>
+ <span slot="title" >{{ item.meta.title }}</span>
</el-menu-item>
</template>
diff --git a/web/src/views/MixingInfo/components/List.vue b/web/src/views/MixingInfo/components/List.vue
new file mode 100644
index 0000000..56b5896
--- /dev/null
+++ b/web/src/views/MixingInfo/components/List.vue
@@ -0,0 +1,91 @@
+<template>
+ <div class="list">
+ <div class="item" v-for="item in fieldMap" :key="item.name">
+ <span class="name">{{ item.name }}:</span>
+ <template v-if="item.formatter">
+ <span class="value" :class="item.class(data)">{{ item.formatter(data) }}</span>
+ </template>
+ <template v-else>
+ <span class="value">{{ data && data[item.type] || '' }}</span>
+ </template>
+
+ </div>
+ </div>
+</template>
+<script>
+export default {
+ data() {
+ return {}
+ },
+ props: {
+ data: {
+ type: Object,
+ default: () => { }
+ }
+ },
+ beforeCreate() {
+ // 字段映射表
+ this.fieldMap = [
+ {name: '规格型号', type: 'spec'},
+ {name: '产地名称', type: 'producer'},
+ {name: '炉(批)号', type: 'stove'},
+ {name: '进场数量', type: 'inNum'},
+ {name: '进场日期', type: 'inDate'},
+ {name: '检验日期', type: 'inspectDate'},
+ {
+ name: '检验状态', class(row) {
+ let state = row && row.inspectState
+ return {1: 'style1', 2: 'style2', 3: 'style3'}[state] || ''
+ }, formatter(row) {
+ let state = row && row.inspectState || ''
+ return {1: '合格', 2: '不合格', 3: '待检测'}[state] || ''
+ }
+ },
+ {name: '报告编号', type: 'reportNumber'},
+ ]
+ },
+}
+</script>
+
+<style lang="scss" scoped>
+.list {
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+
+ .item {
+ display: flex;
+ flex: 1;
+ margin-top: 4px;
+
+ .name {
+ margin-right: 4px;
+ text-indent: 6px;
+ white-space: nowrap;
+ }
+
+ .value {
+ color: #03F1FF;
+
+ &.style1 {
+ font-size: 1.5rem;
+ line-height: 1.2rem;
+ color: #16F849;
+ }
+
+ &.style2 {
+ font-size: 1.5rem;
+ line-height: 1.2rem;
+ color: red;
+ }
+
+ &.style3 {
+ font-size: 1.5rem;
+ line-height: 1.2rem;
+ color: #FF6600;
+ }
+ }
+
+ }
+}
+</style>
diff --git a/web/src/views/MixingInfo/messageInfo.vue b/web/src/views/MixingInfo/messageInfo.vue
index 922db19..61ed868 100644
--- a/web/src/views/MixingInfo/messageInfo.vue
+++ b/web/src/views/MixingInfo/messageInfo.vue
@@ -1,36 +1,42 @@
<template>
<div class="mixing_index">
<div class="mixing_header">
- <div class="mixing_main">
- <div class="mixing_left">
- <div class="mixing_left_num"><span>{{mixingList&&mixingList.tableNum}}</span></div>
- <div class="mixing_left_name">{{mixingList&&mixingList.materialName}}</div>
+ <span>中铁十四局通甬站前I标管片场拌和站</span>
+ </div>
+ <div class="mixing_main">
+ <div class="mixing_left">
+ <div class="mixing_left_num">
+ <div class="">{{ mixingList && mixingList.tableNum }}</div>
</div>
- <div class="mixing_right">
- <div class="mixing_rows">
- <div class="mixing_rows_titles">产地名称:</div>
- <div class="mixing_rows_datas">{{mixingList&&mixingList.nameOfOrigin}}</div>
- </div>
- <div class="mixing_rows">
- <div class="mixing_rows_titles">进场数量:</div>
- <div class="mixing_rows_datas">{{mixingList&&mixingList.incomingQuantity}} t</div>
- </div>
- <div class="mixing_rows">
- <div class="mixing_rows_titles">进场日期:</div>
- <div class="mixing_rows_datas">{{mixingList&&mixingList.inTime}}</div>
- </div>
- <div class="mixing_rows">
- <div class="mixing_rows_titles">检验日期:</div>
- <div class="mixing_rows_datas">{{mixingList&&mixingList.inspectionDate}}</div>
- </div>
- <div class="mixing_rows">
- <div class="mixing_rows_titles">检验状态:</div>
- <div class="mixing_rows_datas" :class="{'standardStyle':mixingList.status===1,'notStandardStyle':mixingList.status!==1}">{{mixingList&&mixingList.status===1?'合格':mixingList&&mixingList.status===2?'待检':''}}</div>
- </div>
- <div class="mixing_rows">
- <div class="mixing_rows_titles">报告编号:</div>
- <div class="mixing_rows_datas">{{mixingList&&mixingList.reportNumber}}</div>
- </div>
+ <div class="mixing_left_name">{{ mixingList && mixingList.materialName }}</div>
+ </div>
+ <div class="mixing_right">
+ <div class="mixing_rows">
+ <div class="mixing_rows_titles">产地名称:</div>
+ <div class="mixing_rows_datas">{{ mixingList && mixingList.nameOfOrigin }}</div>
+ </div>
+ <div class="mixing_rows">
+ <div class="mixing_rows_titles">进场数量:</div>
+ <div class="mixing_rows_datas">{{ mixingList && mixingList.incomingQuantity }} t</div>
+ </div>
+ <div class="mixing_rows">
+ <div class="mixing_rows_titles">进场日期:</div>
+ <div class="mixing_rows_datas">{{ mixingList && mixingList.inTime }}</div>
+ </div>
+ <div class="mixing_rows">
+ <div class="mixing_rows_titles">检验日期:</div>
+ <div class="mixing_rows_datas">{{ mixingList && mixingList.inspectionDate }}</div>
+ </div>
+ <div class="mixing_rows">
+ <div class="mixing_rows_titles">检验状态:</div>
+ <div class="mixing_rows_datas"
+ :class="{ 'standardStyle': mixingList.status === 1, 'notStandardStyle': mixingList.status !== 1 }">
+ {{ mixingList && mixingList.status === 1 ? '合格' : mixingList && mixingList.status === 2 ? '待检' : ''
+ }}</div>
+ </div>
+ <div class="mixing_rows">
+ <div class="mixing_rows_titles">报告编号:</div>
+ <div class="mixing_rows_datas">{{ mixingList && mixingList.reportNumber }}</div>
</div>
</div>
</div>
@@ -38,35 +44,45 @@
</template>
<script>
export default {
- data(){
- return{
- timer:null,//定时器
- mixingList:null,//展示数据
+ data() {
+ return {
+ timer: null,//定时器
+ mixingList: [],//展示数据
}
},
- created(){
+ created() {
this.searchMixingInfos()
},
- mounted(){
+ mounted() {
const that = this;
// that.searchMixingInfos()
- that.timer = setInterval(()=>{
+ that.timer = setInterval(() => {
that.searchMixingInfos()
- },300000)
+ }, 60000 * 10)
+
+ let width = document.getElementsByClassName('mixing_index')[0].clientWidth
+ let $html = document.getElementsByTagName('html')[0]
+ let fontsize = width / 1920 * 11
+ $html.style.fontSize = `${fontsize}px`
+ window.onresize = () => {
+ let width = document.getElementsByClassName('mixing_index')[0].clientWidth
+ let fontsize = width / 1920 * 11
+ $html.style.fontSize = `${fontsize}px`
+ }
},
beforeDestroy() {
clearInterval(this.timer);
this.timer = null;
},
- methods:{
- searchMixingInfos(){
- let params={
- tableNum:window.location.href.split('/')[5].split('=')[1]
+ methods: {
+ searchMixingInfos() {
+ let params = {
+ tableNum: window.location.href.split('/')[5].split('=')[1]
}
- this.$api.Infos.showHmixings(params).then(res=>{
- if(res.statusMsg==='ok'){
- this.mixingList = res.data===null?[]:res.data
- }else{
+ this.$api.Infos.showHmixings(params).then(res => {
+ if (res.statusMsg === 'ok') {
+ this.mixingList = res.data === null ? [] : res.data
+ } else {
this.$message.warning('请检查网络或联系管理员!!!')
}
})
@@ -75,98 +91,129 @@
}
</script>
<style scoped lang="scss">
-.mixing_index{
+.mixing_index {
+ display: flex;
+ flex-direction: column;
width: 100%;
height: 100%;
- background-color: #041A3F;
- padding: 5px;
+ padding: 0.4rem;
+ background: url("../../assets/mixing/mixing_bg3.png") no-repeat;
+ background-size: 100% 100%;
+ background-position: center center;
- .mixing_header{
+
+ .mixing_header {
+ width: 100%;
+ height: 3.2rem;
+ position: relative;
+ padding: 4rem;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+
+ span {
+ position: absolute;
+ font-size: 5rem;
+ font-weight: bold;
+ letter-spacing: 2px;
+ text-shadow: 0px 3px 3px rgba(25, 63, 95, 0.05);
+ background: -webkit-linear-gradient(90deg, #2AC0FF 0%, #FFFFFF 70%);
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ }
+ }
+
+ .mixing_main {
+ overflow: hidden;
+ flex: 1;
width: 100%;
height: 100%;
- padding: 108px 50px 40px;
- background: url("../../assets/mixing/mixing_bg.png") no-repeat;
- background-size: 100% 100%;
- background-position: center center;
+ padding: 6rem;
+ display: flex;
- .mixing_main{
- width: 100%;
- height: 100%;
- padding: 20px 15px;
+ .mixing_left {
display: flex;
- .mixing_left{
- width: 45%;
- margin-right: 15px;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: space-between;
+ flex-direction: column;
+ flex: 1;
+ margin-right: 3rem;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: space-between;
- .mixing_left_num{
- width: 100%;
- height: 78%;
- padding: 10px;
- background: url("../../assets/mixing/mixing_left_bg.png") no-repeat;
- background-size: 100% 100%;
- span{
- height: 100%;
- padding: 10px 0;
- display: flex;
- justify-content: center;
- align-items: center;
- color: rgba(254, 252, 94, 1);
- font-size: 44rem;
- font-weight: bold;
- background-color: rgba(37, 129, 255, 0.29);
- }
- }
- .mixing_left_name{
- width: 100%;
- height: 20%;
- margin-top: 15px;
+ .mixing_left_num {
+ position: relative;
+ overflow: hidden;
+ padding: 1rem;
+ flex: 3.2;
+ width: 100%;
+ background: url("../../assets/mixing/mixing_left_bg.png") no-repeat;
+ background-size: 100% 100%;
+
+ > div {
display: flex;
justify-content: center;
align-items: center;
- text-shadow: 5px 7px 0px rgba(0,66,255,0.2), 16px 23px 16px rgba(14,19,48,0.15);
- background: linear-gradient(to bottom,#FFFFFF 0%,rgba(140, 186, 255, 0.88) 100%);
- background-clip: text;
- -webkit-background-clip: text;
- text-fill-color: transparent;
- -webkit-text-fill-color: transparent;
- color: #FFFFFF;
- font-size: 9rem;
- font-weight: 500;
+ width: 100%;
+ height: 100%;
+ color: rgba(254, 252, 94, 1);
+ font-size: 44rem;
+ font-weight: bold;
+ background-color: rgba(37, 129, 255, 0.29);
}
}
- .mixing_right{
- width:55%;
- background: linear-gradient(to right,#0D3776 0%,#041A40 100%);
+
+ .mixing_left_name {
+ flex: 1;
+ width: 100%;
display: flex;
- flex-direction: column;
- justify-content: space-around;
- .mixing_rows{
- padding: 10px 20px;
- display: flex;
- .mixing_rows_titles{
- flex: none;
- color: #FFFFFF;
- font-weight: 400;
- font-size: 5rem;
- }
- .mixing_rows_datas{
- flex: none;
- color: #FFFFFF;
- font-weight: 400;
- font-size: 5rem;
- }
- .standardStyle{
- color:#15EF48;
- font-size:8rem;
- }
- .notStandardStyle{
- color:rgba(255, 102, 0, 1);
- font-size:8rem;
- }
+ justify-content: center;
+ align-items: center;
+ text-shadow: 5px 7px 0px rgba(0, 66, 255, 0.2), 16px 23px 16px rgba(14, 19, 48, 0.15);
+ background: linear-gradient(to bottom, #FFFFFF 0%, rgba(140, 186, 255, 0.88) 100%);
+ background-clip: text;
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ color: #FFFFFF;
+ font-size: 9rem;
+ font-weight: 500;
+ }
+ }
+
+ .mixing_right {
+ flex: 1.2;
+ background: linear-gradient(to right, #0D3776 0%, #041A40 100%);
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ padding: 2rem 4rem;
+
+ .mixing_rows {
+ overflow: hidden;
+ display: flex;
+
+ .mixing_rows_titles {
+ flex: none;
+ color: #FFFFFF;
+ font-weight: 400;
+ font-size: 5rem;
+ }
+
+ .mixing_rows_datas {
+ flex: none;
+ color: #FFFFFF;
+ font-weight: 400;
+ font-size: 5rem;
+ }
+
+ .standardStyle {
+ color: #15EF48;
+ font-size: 8rem;
+ }
+
+ .notStandardStyle {
+ color: rgba(255, 102, 0, 1);
+ font-size: 8rem;
}
}
}
diff --git a/web/src/views/MixingInfo/mixRatio.vue b/web/src/views/MixingInfo/mixRatio.vue
new file mode 100644
index 0000000..c69ce94
--- /dev/null
+++ b/web/src/views/MixingInfo/mixRatio.vue
@@ -0,0 +1,253 @@
+<template>
+ <div class="wrap">
+ <div class="header">
+ <div class="header_name">中铁十四局通甬站前I标管片场拌和站</div>
+ </div>
+ <div class="table">
+ <div class="row title">{{ info.signboardName }}</div>
+
+ <div class="row">
+ <div class="name">工程名称</div>
+ <div class="value">{{ info.proName }}</div>
+ </div>
+
+ <div class="row">
+ <div class="name">施工单位</div>
+ <div class="value">{{ info.constructionUnit }}</div>
+ </div>
+
+ <div class="row line">
+ <div>
+ <div class="name">施工日期</div>
+ <div class="value">{{ info.saveStamp }}</div>
+ </div>
+ <div>
+ <div class="name">施工部位</div>
+ <div class="value">{{ info.construction }}</div>
+ </div>
+ </div>
+
+ <div class="row" v-for="item in dataLists" :key="item.name">
+ <div class="name">{{ item.name }}</div>
+ <div class="column">
+ <div class="column-item" v-for="(sub, index) in item.value" :key="index">{{ sub }}</div>
+ </div>
+ </div>
+
+ </div>
+ </div>
+</template>
+
+<script>
+const interval = function (fn, Vue) {
+ let timer = setInterval(
+ (() => {
+ fn()
+ return fn
+ })(),
+ 1000 * 60 * 10
+ )
+ if (Vue) {
+ Vue.$once('hook:beforeDestroy', function () {
+ timer && clearInterval(timer)
+ })
+ }
+}
+export default {
+ name: 'Page2',
+ data() {
+ return {
+ info: {
+ signboardName: '', // 标识排
+ proName: '', // 工程名称
+ constructionUnit: '', // 施工单位
+ saveStamp: '', // 施工日期
+ construction: '', // 施工部位
+ },
+ dataLists: [
+ {name: '材料名称', type: 'dictName', value: []}, // 材料名称
+ {name: '规格型号', type: 'spec', value: []}, // 规格型号
+ {name: '生产厂家', type: 'manufacturer', value: []}, // 生产厂家
+ {name: '材料含水率(%)', type: 'watFull', value: []}, // 含水率
+ {name: '理论用量(kg/m³)', type: 'planAmnt', value: []}, // 理论用量
+ {name: '实际用量(kg/m³)', type: 'factAmnt', value: []}, // 实际用量
+ ]
+ }
+ },
+ beforeCreate() {
+ this.$http = this.$api.Infos
+ },
+ beforeRouteEnter(to, form, next) {
+ const {path} = to
+
+ const type = path.slice(-1)
+
+ next(vm => {
+ vm.type = type
+ interval(vm.getLists, vm)
+ })
+ },
+ mounted() {
+ let width = document.getElementsByClassName('wrap')[0].clientWidth
+ let $html = document.getElementsByTagName('html')[0]
+ let fontsize = width / 1920 * 35.2
+ $html.style.fontSize = `${fontsize}px`
+ window.onresize = () => {
+ let width = document.getElementById('app').clientWidth
+ let fontsize = width / 1920 * 35.2
+ $html.style.fontSize = `${fontsize}px`
+ }
+ },
+ beforeDestroy() {
+ let $html = document.getElementsByTagName('html')[0]
+ $html.style.fontSize = ''
+ },
+ methods: {
+ getLists() {
+ const params = {
+ pageNum: this.type, // 传 1 2对应两个页面
+ pageSize: 1,
+ }
+ this.$api.Infos.getMixRatio(params).then(res => {
+ if (res.statusMsg === 'ok' && res.data) {
+ const {list} = res.data
+ if (list && list.length) {
+ const item = list[0]
+ const {tmixingConsumes} = item
+
+ this.info.signboardName = item.signboardName
+ this.info.proName = item.proName
+
+ if (tmixingConsumes && tmixingConsumes.length) {
+ this.info.constructionUnit = tmixingConsumes[0].constructionUnit
+ this.info.saveStamp = tmixingConsumes[0].saveStamp
+ this.info.construction = tmixingConsumes[0].construction
+ this.dataLists = [
+ {name: '材料名称', type: 'dictName', value: []}, // 材料名称
+ {name: '规格型号', type: 'spec', value: []}, // 规格型号
+ {name: '生产厂家', type: 'manufacturer', value: []}, // 生产厂家
+ {name: '材料含水率(%)', type: 'watFull', value: []}, // 含水率
+ {name: '理论用量(kg/m³)', type: 'planAmnt', value: []}, // 理论用量
+ {name: '实际用量(kg/m³)', type: 'factAmnt', value: []}, // 实际用量
+ ]
+ tmixingConsumes.forEach(item => {
+ this.dataLists.forEach(val => {
+ item[val.type] && val.value.push(item[val.type])
+ })
+ })
+ }
+ }
+ } else {
+ this.$message.warning('请检查网络或联系管理员!!!')
+ }
+ })
+
+ },
+ }
+}
+</script>
+<style lang="scss" scoped>
+.wrap {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ font-size: 1rem;
+ background: #040A3F;
+ overflow: hidden;
+}
+
+.header {
+ position: absolute;
+ top: 0;
+ width: 100%;
+ height: 3rem;
+ text-align: center;
+ color: #fff;
+ background: url('../../assets/mixing/header.png') no-repeat center center;
+ background-size: 100% auto;
+
+ .header_name {
+ font-size: 1.4rem;
+ font-weight: bold;
+ line-height: 3.2rem;
+ letter-spacing: 2px;
+ text-shadow: 0px 3px 3px rgba(25, 63, 95, 0.05);
+ background: -webkit-linear-gradient(90deg, #2AC0FF 0%, #FFFFFF 70%);
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ }
+}
+
+.table {
+ display: flex;
+ flex-direction: column;
+ position: absolute;
+ top: 4rem;
+ bottom: 2rem;
+ left: 2rem;
+ right: 2rem;
+ font-size: 0.74rem;
+ color: #fff;
+
+ .title {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ color: #BEE2F0;
+ background: rgba(1, 142, 196, .35);
+ }
+
+ .row {
+ flex: 1;
+ width: 100%;
+ margin: 0 -1px -1px 0;
+ text-align: center;
+ line-height: 1.1rem;
+ border: 1px solid #01B3EF;
+
+ .name {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ float: left;
+ width: 8rem;
+ height: 100%;
+ margin: -1px -1px -1px 0;
+ color: #BEE2F0;
+ border: 1px solid #01B3EF;
+ background: rgba(1, 142, 196, .75);
+ box-sizing: unset;
+ }
+
+ .value {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 100%;
+ overflow: hidden;
+ }
+
+ .column {
+ display: flex;
+ height: 100%;
+
+ .column-item {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex: 1;
+ margin: -1px -1px -1px 0;
+ border: 1px solid #01B3EF;
+ }
+ }
+ }
+
+ .row.line {
+ display: flex;
+
+ > div {
+ flex: 1;
+ }
+ }
+}
+</style>
\ No newline at end of file
diff --git a/web/src/views/MixingInfo/mixing.vue b/web/src/views/MixingInfo/mixing.vue
new file mode 100644
index 0000000..b6801dd
--- /dev/null
+++ b/web/src/views/MixingInfo/mixing.vue
@@ -0,0 +1,317 @@
+<template>
+ <div class="wrap">
+ <div class="header">
+ <div class="header_name">中铁十四局通甬站前I标管片场拌和站</div>
+ </div>
+ <div class="container">
+ <div class="con_name">
+ <div class="line left"></div>
+ <div class="name">
+ <p class="p">{{ infoL.siloName }}</p>
+ <p class="p">{{ infoR.siloName }}</p>
+ </div>
+ <div class="line right"></div>
+ </div>
+ <div class="con_main">
+ <div class="con_main_item con_main_l">
+ <div class="placeholder"></div>
+ <div class="list_wrap">
+ <list :data="infoL.mixing"></list>
+ </div>
+ </div>
+ <div class="con_main_item con_main_c">
+ <div :class="`image ${infoL.percentImgName || ''}`">
+ <p>{{ infoL.siloName }}</p>
+ </div>
+ <div :class="`image ${infoR.percentImgName || ''}`">
+ <p>{{ infoR.siloName }}</p>
+ </div>
+ </div>
+ <div class="con_main_item con_main_r">
+ <div class="placeholder"></div>
+ <div class="list_wrap">
+ <list :data="infoR.mixing"></list>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+import List from './components/List'
+const interval = function (fn, Vue) {
+ let timer = setInterval(
+ (() => {
+ fn()
+ return fn
+ })(),
+ 1000 * 60 * 10
+ )
+ if (Vue) {
+ Vue.$once('hook:beforeDestroy', function () {
+ timer && clearInterval(timer)
+ })
+ }
+}
+export default {
+ name: 'mixing',
+ data() {
+ return {
+ type: '',
+ infoL: {},
+ infoR: {},
+ percents: {
+ 0: 'container_10',
+ 10: 'container_10',
+ 20: 'container_20',
+ 40: 'container_40',
+ 60: 'container_60',
+ 80: 'container_80',
+ 90: 'container_90',
+ 100: 'container_100',
+ }
+ };
+ },
+ components: {
+ List
+ },
+ beforeCreate() {
+ this.$http = this.$api.Infos
+ },
+ beforeRouteEnter(to, form, next) {
+ const {path} = to
+
+ const type = path.slice(-1)
+
+ next(vm => {
+ vm.type = type
+ interval(vm.getLists, vm)
+ })
+ },
+ mounted() {
+ let width = document.getElementsByClassName('wrap')[0].clientWidth
+ let $html = document.getElementsByTagName('html')[0]
+ let fontsize = width / 1920 * 35.2
+ $html.style.fontSize = `${fontsize}px`
+ window.onresize = () => {
+ let width = document.getElementById('app').clientWidth
+ let fontsize = width / 1920 * 35.2
+ $html.style.fontSize = `${fontsize}px`
+ }
+ },
+ beforeDestroy() {
+ let $html = document.getElementsByTagName('html')[0]
+ $html.style.fontSize = ''
+ },
+ methods: {
+ getLists() {
+ const percentArr = Object.keys(this.percents)
+ this.$api.Infos.getMixing({types: this.type}).then(res => {
+ if (res.statusMsg === 'ok' && res.data && res.data.length) {
+ res.data.forEach((item, index) => {
+ if (item && item.mixing && item.mixing.percentage) {
+ let targetVal = +item.mixing.percentage
+ for (let index = 0; index < percentArr.length - 1; index++) {
+ const val = percentArr[index]
+ const valNext = percentArr[index + 1]
+ if (val <= targetVal && targetVal <= valNext) {
+ item.percentImgName = this.percents[val]
+ break
+ }
+ }
+ } else {
+ item.percentImgName = this.percents[0]
+ }
+ index === 0 && (this.infoL = item)
+ index === 1 && (this.infoR = item)
+ })
+ } else {
+ this.$message.warning('请检查网络或联系管理员!!!')
+ }
+ })
+
+
+
+ },
+ }
+}
+</script>
+<style lang="scss" scoped>
+li {
+ list-style: none;
+}
+
+.wrap {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ font-size: 1rem;
+ background: #040A3F;
+ overflow: hidden;
+}
+
+.header {
+ position: absolute;
+ width: 100%;
+ height: 3rem;
+ text-align: center;
+ font-family: 'Microsoft YaHei';
+ color: #fff;
+ background: url('../../assets/mixing/header.png') no-repeat center center;
+ background-size: 100% auto;
+
+ .header_name {
+ font-size: 1.4rem;
+ font-weight: bold;
+ line-height: 3.2rem;
+ letter-spacing: 2px;
+ text-shadow: 0px 3px 3px rgba(25, 63, 95, 0.05);
+ background: -webkit-linear-gradient(90deg, #2AC0FF 0%, #FFFFFF 70%);
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ }
+}
+
+.container {
+ overflow: hidden;
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ position: absolute;
+ left: 20px;
+ right: 20px;
+ top: 3.6rem;
+ bottom: 20px;
+ color: #fff;
+
+ .con_name {
+ display: flex;
+ align-items: center;
+ height: 2.2rem;
+
+ .name {
+ width: 20rem;
+ display: flex;
+ justify-content: space-evenly;
+
+ .p {
+ height: 2rem;
+ padding: 0 2rem;
+ line-height: 2rem;
+ font-size: 1.2rem;
+ font-weight: bold;
+ white-space: nowrap;
+ background: url(../../assets/mixing/name_bg.png) no-repeat;
+ background-size: 100% 100%;
+ }
+ }
+
+ .line {
+ overflow: hidden;
+ flex: 1;
+ height: 14px;
+
+ &.left {
+ background: -webkit-linear-gradient(right, rgba(18, 99, 162, 1) 0, rgba(18, 99, 162, 0) 100%);
+ }
+
+ &.right {
+ background: -webkit-linear-gradient(left, rgba(18, 99, 162, 1) 0, rgba(18, 99, 162, 0) 100%);
+ }
+ }
+ }
+
+ .con_main {
+ overflow: hidden;
+ margin-top: 10px;
+ flex: 1;
+ display: flex;
+
+ .con_main_item {
+ padding: 15px 15px 0 15px;
+ position: relative;
+ flex: 1;
+
+ &.con_main_l,
+ &.con_main_r {
+ background: url(../../assets/mixing/list_bg.png) no-repeat;
+ background-size: 100% 100%;
+ }
+
+ &.con_main_l .placeholder {
+ width: 100%;
+ height: 8%;
+ background: url(../../assets/mixing/list_l_bg.png) no-repeat;
+ background-size: 100% 100%;
+ }
+
+ &.con_main_r .placeholder {
+ width: 100%;
+ height: 8%;
+ background: url(../../assets/mixing/list_r_bg.png) no-repeat;
+ background-size: 100% 100%;
+ }
+
+ &.con_main_c .image {
+ position: relative;
+ float: left;
+ width: 50%;
+ height: 100%;
+ text-align: center;
+
+ > p {
+ position: absolute;
+ left: 50%;
+ top: 18%;
+ font-size: 0.7rem;
+ white-space: nowrap;
+ transform: translate(-50%, -50%);
+ }
+
+ &.container_10 {
+ background: url(../../assets/mixing/container_10.png) center 30% no-repeat;
+ background-size: auto 70%;
+ }
+
+ &.container_20 {
+ background: url(../../assets/mixing/container_20.png) center 30% no-repeat;
+ background-size: auto 70%;
+ }
+
+ &.container_40 {
+ background: url(../../assets/mixing/container_40.png) center 30% no-repeat;
+ background-size: auto 70%;
+ }
+
+ &.container_60 {
+ background: url(../../assets/mixing/container_60.png) center 30% no-repeat;
+ background-size: auto 70%;
+ }
+
+ &.container_80 {
+ background: url(../../assets/mixing/container_80.png) center 30% no-repeat;
+ background-size: auto 70%;
+ }
+
+ &.container_90 {
+ background: url(../../assets/mixing/container_90.png) center 30% no-repeat;
+ background-size: auto 70%;
+ }
+
+ &.container_100 {
+ background: url(../../assets/mixing/container_100.png) center 30% no-repeat;
+ background-size: auto 70%;
+ }
+ }
+
+ .list_wrap {
+ position: absolute;
+ top: 12%;
+ bottom: 0;
+ }
+
+ }
+ }
+}
+</style>
\ No newline at end of file
diff --git a/web/src/views/MixingInfo/workShop.vue b/web/src/views/MixingInfo/workShop.vue
new file mode 100644
index 0000000..7dabef9
--- /dev/null
+++ b/web/src/views/MixingInfo/workShop.vue
@@ -0,0 +1,187 @@
+<template>
+ <div class="work_index">
+ <div class="work_headers">
+ <div class="header_title">材料标识牌</div>
+ <div class="header_area">
+ <div class="header_area_text">区域:</div>
+ <div class="header_area_data">{{workList&&workList.region}}号</div>
+ </div>
+ </div>
+ <div class="work_main">
+ <div class="work_rows">
+ <div class="work_items">
+ <div class="work_items_text">材料名称</div>
+ <div class="work_items_data" style="border-right: 3px solid #001982;">{{workList&&workList.materialName}}</div>
+ </div>
+ <div class="work_items">
+ <div class="work_items_text">生产厂家</div>
+ <div class="work_items_data" >{{workList&&workList.manufacturer}}</div>
+ </div>
+ </div>
+ <div class="work_rows">
+ <div class="work_items">
+ <div class="work_items_text">规格型号</div>
+ <div class="work_items_data" style="border-right: 3px solid #001982;">{{workList&&workList.specifications}}</div>
+ </div>
+ <div class="work_items">
+ <div class="work_items_text">炉(批)号</div>
+ <div class="work_items_data" style="font-size:1.5rem">{{workList&&workList.heatNumber}}</div>
+ </div>
+ </div>
+ <div class="work_rows">
+ <div class="work_items">
+ <div class="work_items_text">进场数量</div>
+ <div class="work_items_data" style="border-right: 3px solid #001982;">{{workList&&workList.inNumber}}</div>
+ </div>
+ <div class="work_items">
+ <div class="work_items_text">报检日期</div>
+ <div class="work_items_data" style="font-size:1.5rem">{{workList&&workList.reportTime}}</div>
+ </div>
+ </div>
+ <div class="work_rows">
+ <div class="work_items">
+ <div class="work_items_text">报告编号</div>
+ <div class="work_items_data" style="border-right: 3px solid #001982;font-size:1.5rem">{{workList&&workList.reportNum}}</div>
+ </div>
+ <div class="work_items">
+ <div class="work_items_text">检验状态</div>
+ <div class="work_items_data" >{{workList&&workList.status===1?'合格':workList&&workList.status===2?'待检':''}}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+</template>
+<script>
+export default {
+ data(){
+ return{
+ timer:null,//定时器
+ workList:null,//展示数据
+ }
+ },
+ created(){
+ this.searchWorkInfos()
+ },
+ mounted(){
+ const that = this;
+ that.timer = setInterval(()=>{
+ that.searchWorkInfos()
+ },60000 * 10)
+ },
+ beforeDestroy() {
+ clearInterval(this.timer);
+ this.timer = null;
+ },
+ methods:{
+ searchWorkInfos(){
+ let params={
+ region:window.location.href.split('/')[5].split('=')[1]
+ }
+ this.$api.Materials.detailSignBoardInfos(params).then(res=>{
+ if(res.statusMsg==='ok'){
+ this.workList = res.data===null?[]:res.data
+ }else{
+ this.$message.warning('请检查网络或联系管理员!!!')
+ }
+ })
+ },
+ }
+}
+</script>
+<style scoped lang="scss">
+.work_index{
+ width: 100%;
+ height: 100%;
+ background: url("../../assets/work_shop.png") no-repeat;
+ background-size: 100% 100%;
+ overflow: auto;
+
+ .work_headers{
+ height: 206px;
+ padding-top: 100px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ position: relative;
+
+ .header_title{
+ font-size: 4rem;
+ font-weight: 600;
+ background: linear-gradient(to bottom,#24A5ED,#1976CE,#145DBE,#071C94);
+ background-clip: text;
+ -webkit-background-clip: text;
+ color: transparent;
+ }
+ .header_area{
+ display: flex;
+ position: absolute;
+ right: 100px;
+
+ .header_area_text{
+ font-size: 3.2rem;
+ font-weight: 600;
+ background: linear-gradient(to bottom,#24A5ED,#1976CE,#145DBE,#071C94);
+ background-clip: text;
+ -webkit-background-clip: text;
+ color: transparent;
+ }
+ .header_area_data{
+ font-size: 3.2rem;
+ font-weight: 600;
+ background: linear-gradient(to bottom,#24A5ED,#1976CE,#145DBE,#071C94);
+ background-clip: text;
+ -webkit-background-clip: text;
+ color: transparent;
+ }
+ }
+ }
+ .work_main{
+ // height: calc(100% - 200px);
+ border: 3px solid #001982;
+ margin: 20px 50px;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ .work_rows{
+ width: 100%;
+ line-height: 60px;
+ display: flex;
+
+ .work_items{
+ width: 50%;
+ display: flex;
+
+ .work_items_text{
+ font-size: 3rem;
+ font-weight: 500;
+ padding: 30px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex: none;
+ width: 240px;
+ border-bottom: 1px solid #001982;
+ border-right: 1px solid #001982;
+ background: linear-gradient(to bottom,#AEDEF9,#1E87D9,#1D87D9,#2265C0,#145DBE,#082296);
+ background-clip: text;
+ -webkit-background-clip: text;
+ color: transparent;
+ }
+ .work_items_data{
+ color: #11299F;
+ padding: 10px;
+ font-size: 2rem;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex: 1;
+ width: calc(50% - 200px);
+ border-bottom: 1px solid #001982;
+ word-break: break-all;
+ // word-wrap: break-word;
+ }
+ }
+ }
+ }
+}
+</style>
\ No newline at end of file
diff --git a/web/src/views/ProjectManage/AmountManage.vue b/web/src/views/ProjectManage/AmountManage.vue
index 5c3e1aa..30478d6 100644
--- a/web/src/views/ProjectManage/AmountManage.vue
+++ b/web/src/views/ProjectManage/AmountManage.vue
@@ -2,9 +2,9 @@
<div class="main">
<div class="main_tabs">
<el-tabs v-model="activeName" @tab-click="handleClick">
- <el-tab-pane label="预埋件理论耗量" name="first">
+ <!-- <el-tab-pane label="预埋件理论耗量" name="first">
<fitt-consump ref="Fitts"></fitt-consump>
- </el-tab-pane>
+ </el-tab-pane> -->
<el-tab-pane label="钢筋笼理论耗量" name="second">
<rebar-consump ref="Rebars"></rebar-consump>
</el-tab-pane>
@@ -16,37 +16,40 @@
</div>
</template>
<script>
-import FittConsump from './components/FittConsump.vue'//预埋件理论耗量
+// import FittConsump from './components/FittConsump.vue'//预埋件理论耗量
import RebarConsump from './components/RebarConsump.vue'//钢筋笼理论耗量
import RawConsump from './components/RawConsump.vue'//混凝土方量及混凝土原材料
export default {
components:{
- FittConsump,
+ // FittConsump,
RebarConsump,
RawConsump
},
data(){
return{
- activeName:'first'
+ activeName:'second'
}
},
mounted(){
- this.$refs.Fitts.searchButtonInfo(true);
+ this.$refs.Rebars.getAllProjectData(true);
+ this.$refs.Rebars.getInits();
},
methods:{
//切换界面
handleClick(tab){
switch(tab.name){
- case 'second':
- this.$refs.Rebars.getInits();
- this.$refs.Rebars.getAllProjectData();
- break;
+ // case 'second':
+ // this.$refs.Rebars.getInits();
+ // this.$refs.Rebars.getAllProjectData();
+ // break;
case 'third':
this.$refs.Raws.getAllProjects();
this.$refs.Raws.searchButtonInfo(true);
break;
default:
- this.$refs.Fitts.searchButtonInfo(true);
+ // this.$refs.Fitts.searchButtonInfo(true);
+ this.$refs.Rebars.getInits();
+ this.$refs.Rebars.getAllProjectData();
}
},
}
diff --git a/web/src/views/ProjectManage/SectionManage.vue b/web/src/views/ProjectManage/SectionManage.vue
index 4cbfa56..d7eba6d 100644
--- a/web/src/views/ProjectManage/SectionManage.vue
+++ b/web/src/views/ProjectManage/SectionManage.vue
@@ -3,8 +3,8 @@
<div class="main">
<div class="main_header">
<div class="header_item">
- <span class="header_label">标段名称:</span>
- <el-input v-model="queryInfo.segmentName" clearable placeholder="请输入标段名称"></el-input>
+ <span class="header_label">单位工程名称:</span>
+ <el-input v-model="queryInfo.unitProjectName" clearable placeholder="请输入单位工程名称"></el-input>
</div>
<div class="header_item">
<span class="header_label">项目名称:</span>
@@ -125,7 +125,7 @@
queryInfo: {
pageNum: 1,
pageSize: 10,
- segmentName: '',
+ unitProjectName: '',
proId: '',
},
dataList: [],
diff --git a/web/src/views/ProjectManage/components/RawConsump.vue b/web/src/views/ProjectManage/components/RawConsump.vue
index 5e0dff6..49742e1 100644
--- a/web/src/views/ProjectManage/components/RawConsump.vue
+++ b/web/src/views/ProjectManage/components/RawConsump.vue
@@ -247,15 +247,13 @@
this.$api.Reinforce.searchProjectSize({proId:val,pageNum: 1,
pageSize:100000000}).then(res=>{
if(res.statusMsg === 'ok'){
- if(this.search.proId ===""){
+ if(val ===""){
this.optionsSize = []
this.search.size = ""
this.search.reinforcement = ""
- }else if(this.ruleForm.proId ===""){
- this.optionsSize = []
- this.ruleForm.size = ""
- this.ruleForm.reinforcement = ""
- this.ruleForm.blockNum = ""
+ this.$set(this.ruleForm,'size','')
+ this.$set(this.ruleForm,'reinforcement','')
+ this.$set(this.ruleForm,'blockNum','')
}else{
this.optionsSize = res.data.list
}
diff --git a/web/src/views/ReincageManage/ReincageProduct.vue b/web/src/views/ReincageManage/ReincageProduct.vue
index af51c62..48feb3d 100644
--- a/web/src/views/ReincageManage/ReincageProduct.vue
+++ b/web/src/views/ReincageManage/ReincageProduct.vue
@@ -34,6 +34,7 @@
<div class="header_item">
<span class="header_label">质量标注:</span>
<el-select v-model="search.isQualified" placeholder="请选择质量标注" clearable>
+ <el-option label="未质检" value="0"></el-option>
<el-option label="合格" value="1"></el-option>
<el-option label="不合格" value="2"></el-option>
<el-option label="报废" value="3"></el-option>
@@ -120,7 +121,7 @@
<el-table-column prop="qualityTime" label="质检时间" align="center" width="150"></el-table-column>
<el-table-column prop="isQualified" label="质量标注" align="center">
<template #default="{row}">
- <div :class="{'isStand':row.isQualified===2&&row.isModel ===1}">{{row.isQualified===1?'合格':row.isQualified===2?'不合格':row.isQualified===3?'报废':''}}</div>
+ <div :class="{'isStand':row.isQualified===2&&row.isModel ===1}">{{row.isQualified===1?'合格':row.isQualified===0?'未质检':row.isQualified===2?'不合格':row.isQualified===3?'报废':''}}</div>
</template>
</el-table-column>
<el-table-column prop="isModel" label="是否入模" align="center">
diff --git a/web/src/views/SecureManage/BroadcastSystem.vue b/web/src/views/SecureManage/BroadcastSystem.vue
new file mode 100644
index 0000000..4f44b86
--- /dev/null
+++ b/web/src/views/SecureManage/BroadcastSystem.vue
@@ -0,0 +1,351 @@
+<template>
+ <div class="main">
+ <div class="main_header">
+ <div class="header_item">
+ <span class="header_label">区域名称:</span>
+ <el-select v-model="search.groupId" placeholder="请选择区域名称" clearable>
+ <el-option
+ v-for="item in optionAreaList"
+ :key="item.id"
+ :label="item.groupName"
+ :value="item.id">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="header_item">
+ <el-button icon="el-icon-search" v-if="showButton('search')" @click="searchButtonInfo(true)">查询</el-button>
+ <!-- <el-button class="search_btn" icon="el-icon-plus" v-if="showButton('insert')" @click="insertProp">新增</el-button> -->
+ </div>
+ </div>
+ <div class="main_content">
+ <el-table
+ v-loading="loading"
+ :data="dataList"
+ height="100%">
+ <el-table-column align="center" label="序号" width="60">
+ <template #default="scope">
+ <span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="groupName" label="区域名称" align="center"></el-table-column>
+ <!-- <el-table-column prop="dictName" label="上传文件" align="center"></el-table-column> -->
+ <el-table-column label="操作" align="center" width="200">
+ <template #default="{ row }">
+ <el-button class="table_btn" size="mini" v-if="showButton('update')" @click="updateProp(row)">修改</el-button>
+ <!-- <el-button class="delete_btn" size="mini" v-if="showButton('delete')" @click="deleteInfo(row)">删除</el-button> -->
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ <!-- <div class="main_footer">
+ <el-pagination
+ background
+ @current-change="changePageNum"
+ @size-change="changePageSize"
+ :current-page="pageNum"
+ :page-sizes="[10, 20, 50, 100]"
+ :page-size="pageSize"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="total">
+ </el-pagination>
+ </div> -->
+ <el-dialog
+ class="prop_dialog"
+ :title="asyncTitle ? '新增' : '修改'"
+ :close-on-click-modal="false"
+ :visible.sync="asyncVisible"
+ width="55%">
+ <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="auto" class="rule_form">
+ <el-form-item label="区域名称:" prop="groupId">
+ <el-select v-model="ruleForm.groupId" placeholder="请选择区域名称">
+ <el-option
+ v-for="item in optionAreaList"
+ :key="item.id"
+ :label="item.groupName"
+ :value="item.id">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="上传文件:" >
+ <div class="upload_index">
+ <div class="upload_text">
+ <el-upload
+ class="upload-demo"
+ action=""
+ :multiple="false"
+ :http-request="httpRequest"
+ :show-file-list="false"
+ :file-list="fileList">
+ <el-button type="text" :size="size">上传文件</el-button>
+ </el-upload>
+ </div>
+ <div class="upload_tables">
+ <el-table
+ v-loading="loadingUpload"
+ :data="fileList"
+ height="100%">
+ <el-table-column prop="name" label="文件" align="center"></el-table-column>
+ <el-table-column label="操作" align="center">
+ <template #default="{ row }">
+ <el-button class="delete_btn" size="mini" v-if="showButton('delete')" @click="deleteFiles(row)">删除</el-button>
+ </template>
+ </el-table-column>
+ <el-table-column label="是否默认播放" align="center">
+ <template #default="{ row }">
+ <el-radio v-model="row.defaults" :label="1">是</el-radio>
+ <el-radio v-model="row.defaults" :label="2">否</el-radio>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ </div>
+ </el-form-item>
+ </el-form>
+ <div slot="footer">
+ <el-button @click="asyncVisible = false">取 消</el-button>
+ <el-button class="submit_btn" @click="asyncTitle ? submitInsert() : submitUpdate()">提 交</el-button>
+ </div>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import { buttonPinia } from '../../pinia/index';
+import { throttle, changeSize } from '../../plugins/public'; // 导入节流、动态切换组件尺寸方法
+ export default {
+ data() {
+ return {
+ size: changeSize(), // 组件尺寸
+ pageNum: 1,
+ pageSize: 10,
+ search:{},//查询条件
+ total: 0,
+ loading: false,
+ loadingUpload:false,
+ dataList: [], //广播文件上传信息列表
+ asyncTitle: true, // 对话框title 新增:true 修改:false
+ asyncVisible: false, // 添加 修改对话框
+ ruleForm: {
+ }, // 按钮表单
+ rules: {
+ groupId: [{
+ required: true,
+ message: '请选择区域',
+ trigger: 'blur'
+ }],
+ },
+ optionAreaList:[],//所有区域
+ fileList:[
+ ],//上传文件
+ }
+ },
+ watch: {
+ asyncVisible(bol) {
+ if(!bol) {
+ this.ruleForm = {};
+ this.$refs.ruleForm.resetFields();
+ }
+ }
+ },
+ mounted() {
+ const that = this;
+ // 根据窗口大小动态修改组件尺寸
+ window.onresize = () => {
+ that.size = changeSize();
+ }
+ that.searchButtonInfo(true);
+ that.getAllTypes()
+ },
+ methods: {
+ //获取所有区域
+ getAllTypes(){
+ let params = {
+ }
+ this.$api.Safety.getAreaLists(params).then(res=>{
+ if(res.statusMsg === 'ok'){
+ this.optionAreaList = res.data
+ }else{
+ this.$message.warning(res.statusMsg)
+ }
+ })
+ },
+ //删除上传的文件
+ deleteFiles(row){
+ this.fileList.splice(this.fileList.findIndex(item => item.ids == row.ids),1);
+ this.$message.success("删除成功!")
+ },
+ // 自定义上传事件
+ httpRequest({file}) {
+ this.functionLoading();
+ this.loadingUpload = true
+ if(file.type !=="video/mp4"){
+ this.$message.warning("请上传MP4格式的文件!!!")
+ this.loadingView.close();
+ return false
+ }
+ const formData = new FormData();
+ formData.set('file', file);
+ this.$api.System.uploadFileRequest(formData).then((res) => {
+ if(res.success) {
+ this.$message.success('上传成功!');
+ this.$nextTick(() => {
+ this.fileList.push({
+ ids: this.fileList.length + 1,
+ name:file.name,
+ defaults:2,
+ audioFile:res.data
+ })
+ })
+ } else {
+ this.$message.warning(res.statusMsg);
+ }
+ this.loadingUpload = false
+ this.loadingView.close();
+ }).catch(() => {
+ this.loadingUpload = false
+ this.loadingView.close();
+ this.$message.error('请检查网络连接后重新上传!');
+ })
+ },
+ // 等待方法
+ functionLoading() {
+ this.loadingView = this.$loading({
+ lock: true,
+ text: '请稍后...',
+ spinner: 'el-icon-loading',
+ background: 'rgba(0, 0, 0, 0.7)'
+ });
+ },
+ // 查询按钮列表信息
+ searchButtonInfo(bol) {
+ if(bol) {
+ this.pageNum = 1;
+ }
+ let params = Object.assign({},this.search,{
+ // pageNum: this.pageNum,
+ // pageSize: this.pageSize
+ })
+ this.loading = true;
+ this.$api.Safety.getAreaLists(params).then((res) => {
+ if(res.statusMsg === 'ok') {
+ // this.total = res.data.total;
+ this.dataList = res.data;
+ }
+ this.loading = false;
+ })
+ },
+ // 新增按钮信息
+ insertProp() {
+ this.asyncTitle = true;
+ this.asyncVisible = true;
+ },
+ // 修改按钮信息
+ updateProp(row) {
+ this.asyncTitle = false;
+ this.asyncVisible = true;
+ this.$api.Safety.detailsAreaInfos({groupId: row.id}).then(res=>{
+ if(res.statusMsg === 'ok'){
+ this.$set(this.ruleForm,'groupId',res.data.id)
+ this.fileList = res.data.fileList
+ let projectArr = []
+ res.data.supplierPros.forEach(item=>{
+ projectArr.push(item.proId)
+ })
+ this.$set(this.ruleForm,'proIds',projectArr)
+ }else{
+ this.$message.warning(res.statusMsg)
+ }
+ })
+ },
+ // 删除按钮信息
+ deleteInfo(row) {
+ this.$confirm("该操作将删除该信息,是否继续删除?", "提示", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ this.$api.Safety.deleteSupplier({supplierId: row.id})
+ .then(res => {
+ if(res.statusMsg === 'ok') {
+ this.searchButtonInfo(true);
+ this.$message.success("删除成功!");
+ } else {
+ this.$message.warning(res.statusMsg);
+ }
+ })
+ })
+ .catch(() => {
+ this.$message.warning("您已取消");
+ })
+ },
+ // 提交添加按钮信息
+ submitInsert: throttle(function() {
+ this.$refs.ruleForm.validate((valid) => {
+ if(valid) {
+ const params = Object.assign({}, this.ruleForm);
+ params.fileList = this.fileList
+ this.$api.Safety.addAreaInfos(params).then((res) => {
+ if(res.statusMsg === 'ok') {
+ this.asyncVisible = false;
+ this.searchButtonInfo(true);
+ this.$message.success('添加成功!');
+ } else {
+ this.$message.warning(res.statusMsg);
+ }
+ })
+ }
+ })
+ }, 3000),
+ // 提交修改按钮信息
+ submitUpdate: throttle(function() {
+ this.$refs.ruleForm.validate((valid) => {
+ if(valid) {
+ const params = Object.assign({}, this.ruleForm);
+ params.fileList = this.fileList
+ this.$api.Safety.addAreaInfos(params).then((res) => {
+ if(res.statusMsg === 'ok') {
+ this.asyncVisible = false;
+ this.searchButtonInfo(true);
+ this.$message.success('修改成功!');
+ } else {
+ this.$message.warning(res.statusMsg);
+ }
+ })
+ }
+ })
+ }, 3000),
+ // 判断按钮权限信息
+ showButton(str) {
+ const pinia = buttonPinia();
+ return pinia.$state.buttonInfo.includes(str);
+ },
+ // 切换页数
+ changePageNum(page) {
+ this.pageNum = page;
+ this.searchButtonInfo();
+ },
+ // 切换每页条数
+ changePageSize(size) {
+ this.pageSize = size;
+ this.searchButtonInfo();
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+@import '../../style/layout-main.scss';
+.upload_index{
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ .upload_text{
+ display: flex;
+ justify-content: flex-end;
+ }
+ .upload_tables{
+ height: 200px;
+ }
+}
+</style>
\ No newline at end of file
diff --git a/web/src/views/SecureManage/NipCheck/NipTips.vue b/web/src/views/SecureManage/NipCheck/NipTips.vue
index 34aead1..07d4fc9 100644
--- a/web/src/views/SecureManage/NipCheck/NipTips.vue
+++ b/web/src/views/SecureManage/NipCheck/NipTips.vue
@@ -38,7 +38,7 @@
<el-table-column label="操作" align="center" width="250">
<template #default="{ row }">
<el-button class="table_btn" size="mini" v-if="showButton('update')" @click="updateProp(row)">修改</el-button>
- <el-button class="delete_btn" size="mini" v-if="showButton('delete')" @click="deleteInfo(row)">删除</el-button>
+ <!-- <el-button class="delete_btn" size="mini" v-if="showButton('delete')" @click="deleteInfo(row)">删除</el-button> -->
<el-button class="table_btn" size="mini" v-if="showButton('update')&&row.auditStatus!==1" @click="checkHidden(row)">审核</el-button>
</template>
</el-table-column>
@@ -74,7 +74,14 @@
</el-date-picker>
</el-form-item>
<el-form-item label="隐患地点:" prop="dangerLocation">
- <el-input v-model="ruleForm.dangerLocation" :size="size" clearable placeholder="请输入隐患地点" :disabled="disabled"></el-input>
+ <el-select v-model="ruleForm.dangerLocation" placeholder="请选择隐患地点" clearable :disabled="disabled">
+ <el-option
+ v-for="item in positonOptions"
+ :key="item.dictId"
+ :label="item.dictName"
+ :value="item.dictId">
+ </el-option>
+ </el-select>
</el-form-item>
<el-form-item label="隐患标题" prop="title">
<el-input v-model="ruleForm.title" :size="size" type="textarea" :rows="5" clearable placeholder="请输入隐患标题" :disabled="disabled"></el-input>
@@ -128,7 +135,9 @@
total: 0,
disabled:false,
loading: false,
+ userId:null,//创建人
dataList: [], //举报隐患信息列表
+ positonOptions:[],//隐患地点
imageList:[],
asyncTitle: true, // 对话框title 新增:true 修改:false
asyncVisible: false, // 添加 修改对话框
@@ -152,7 +161,7 @@
dangerLocation: [{
required: true,
message: '请输入隐患地点',
- trigger: 'blur'
+ trigger: 'change'
}],
title: [{
required: true,
@@ -183,6 +192,7 @@
optionsType:[],//设备类型
optionsDevice:[],//设备名称
optionsUser:[],//负责人
+ dictId:null,
}
},
watch: {
@@ -200,8 +210,23 @@
that.size = changeSize();
}
that.searchButtonInfo(true);
+ that.searchPositionInfos()
},
methods: {
+ //获取隐患地点
+ searchPositionInfos(){
+ let params = {
+ pageNum: 1,
+ pageSize: 100000000
+ }
+ this.$api.Dictionary.searchDictionary(params).then(res=>{
+ if(res.statusMsg === 'ok'){
+ this.positonOptions = res.data.list.filter(item =>item.dictType === 'danger_region')
+ }else{
+ this.$message.warning(res.statusMsg)
+ }
+ })
+ },
// 查询按钮列表信息
searchButtonInfo(bol) {
if(bol) {
@@ -231,6 +256,7 @@
},
// 审核按钮
checkHidden(row) {
+ this.userId = row.createUser
this.asyncTitle = true;
this.imageList = []
this.asyncVisible = true;
@@ -284,6 +310,7 @@
this.$api.Safety.detailsHiddenInfo({id: row.id}).then(res=>{
if(res.statusMsg === 'ok'){
this.ruleForm = res.data
+ this.dictId = res.data.dictId
res.data.imgEntities.map(item=>{
this.imageList.push({
id: this.imageList.length + 1,
@@ -329,6 +356,7 @@
arrTitle.push({imgPath:item.name})
})
params.imgEntities = arrTitle
+ params.createUser = this.userId
this.$api.Safety.checkHiddenInfo(params).then((res) => {
if(res.statusMsg === 'ok') {
this.asyncVisible = false;
@@ -351,6 +379,7 @@
arrTitle.push({imgPath:item.name})
})
params.imgEntities = arrTitle
+ params.dictId = this.dictId
this.$api.Safety.updateHiddenInfo(params).then((res) => {
if(res.statusMsg === 'ok') {
this.asyncVisible = false;
diff --git a/web/src/views/SecureManage/NipCheck/components/ScoreDetails.vue b/web/src/views/SecureManage/NipCheck/components/ScoreDetails.vue
index 0a2e352..f3acbfa 100644
--- a/web/src/views/SecureManage/NipCheck/components/ScoreDetails.vue
+++ b/web/src/views/SecureManage/NipCheck/components/ScoreDetails.vue
@@ -2,36 +2,36 @@
<div class="main" style="height:89%">
<div class="main_header">
<div class="header_item">
- <span class="header_label">类型:</span>
- <el-select v-model="search.type" clearable placeholder="请选择类型">
- <el-option
- v-for="item in typeLists"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </div>
- <div class="header_item">
- <span class="header_label">时间范围:</span>
- <el-date-picker
- v-model="search.time"
- type="daterange"
- value-format="yyyy-MM-dd HH:mm:ss"
- :default-time="['00:00:00','23:59:59']"
- range-separator="-"
- start-placeholder="起始时间"
- end-placeholder="结束时间">
- </el-date-picker>
- </div>
+ <span class="header_label">人员类型:</span>
+ <el-select v-model="search.userType" clearable placeholder="请选择人员类型" @change="changeType">
+ <el-option
+ v-for="item in optionsType"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="header_item">
+ <span class="header_label">人员姓名:</span>
+ <el-select v-model="search.userId" filterable clearable placeholder="请选择人员名称">
+ <el-option
+ v-for="item in optionsUser"
+ :key="item.userId"
+ :label="item.realName"
+ :value="item.userId">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="header_item">
+ <span class="header_label">累计积分范围:</span>
+ <el-input v-model="search.startIntegral" clearable placeholder="请输入"></el-input>
+ <el-input v-model="search.endIntegra" style="margin-left:15px" clearable placeholder="请输入"></el-input>
+ </div>
<div class="header_item">
<el-button icon="el-icon-search" v-if="showButton('search')" @click="searchButtonInfo(true)">查询</el-button>
- <el-button class="search_btn" icon="el-icon-plus" v-if="showButton('export')" @click="exportFiles">导出Excel</el-button>
+ <!-- <el-button class="search_btn" icon="el-icon-plus" v-if="showButton('export')" @click="exportFiles">导出Excel</el-button> -->
</div>
- </div>
- <div class="score_index">
- <div class="score_titles">积分:</div>
- <div class="score_datas"><span>65</span>分</div>
</div>
<div class="main_content">
<el-table
@@ -44,10 +44,20 @@
</template>
</el-table-column>
<el-table-column prop="createTime" label="时间" align="center" width="150"></el-table-column>
- <el-table-column prop="dangerLocation" label="积分分值" align="center" ></el-table-column>
- <el-table-column prop="dangerLocation" label="余额" align="center" ></el-table-column>
- <el-table-column prop="dangerLocation" label="类型" align="center" ></el-table-column>
- <el-table-column prop="title" label="说明" align="center" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="realName" label="人员姓名" align="center" ></el-table-column>
+ <el-table-column prop="accumulateIntegral" label="累计积分" align="center" ></el-table-column>
+ <el-table-column prop="totalIntegral" label="当前积分" align="center" ></el-table-column>
+ <el-table-column prop="totalConsumption" label="总消耗" align="center" ></el-table-column>
+ <el-table-column prop="userType" label="人员类型" align="center" >
+ <template #default="{row}">
+ <div>{{optionsType[row.userType-1]&&optionsType[row.userType - 1].label}}</div>
+ </template>
+ </el-table-column>
+ <el-table-column label="操作" align="center">
+ <template #default="{ row }">
+ <el-button class="table_btn" size="mini" v-if="showButton('update')" @click="updateProp(row)">个人积分明细</el-button>
+ </template>
+ </el-table-column>
</el-table>
</div>
<div class="main_footer">
@@ -62,27 +72,124 @@
:total="total">
</el-pagination>
</div>
+ <!-- 个人积分超市明细 -->
+ <el-dialog
+ class="prop_dialog"
+ title="个人积分明细"
+ :close-on-click-modal="false"
+ :visible.sync="asyncVisible"
+ width="65%">
+ <div>
+ <div class="main_header">
+ <div class="header_item">
+ <span class="header_label">类型:</span>
+ <el-select v-model="searchForm.type" clearable placeholder="请选择类型">
+ <el-option
+ v-for="item in optionsFormType"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="header_item">
+ <span class="header_label">时间范围:</span>
+ <el-date-picker
+ v-model="searchForm.time"
+ type="daterange"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ :default-time="['00:00:00','23:59:59']"
+ range-separator="-"
+ start-placeholder="起始时间"
+ end-placeholder="结束时间">
+ </el-date-picker>
+ </div>
+ <div class="header_item">
+ <el-button icon="el-icon-search" v-if="showButton('search')" @click="searchFormButtonInfo(true,userIds)">查询</el-button>
+ <el-button class="search_btn" icon="el-icon-plus" v-if="showButton('export')" @click="exportFiles(userIds)">导出Excel</el-button>
+ </div>
+ </div>
+ <div class="score_index">
+ <div class="score_titles">积分:</div>
+ <div class="score_datas"><span>{{ruleNumber}}</span>分</div>
+ </div>
+ <div class="main_content" style="height:350px">
+ <el-table
+ v-loading="loading"
+ :data="dataFormList"
+ height="100%">
+ <el-table-column align="center" label="序号" width="60">
+ <template #default="scope">
+ <span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="createTime" label="时间" align="center" width="150"></el-table-column>
+ <el-table-column prop="integralWater" label="积分分值" align="center" >
+ <template #default="{row}">
+ <div>{{row.type===1?'+'+row.integralWater:row.type===2?'-'+row.integralWater:''}}</div>
+ </template>
+ </el-table-column>
+ <el-table-column prop="balanc" label="余额" align="center" ></el-table-column>
+ <el-table-column prop="type" label="类型" align="center" >
+ <template #default="{row}">
+ <div>{{optionsFormType[row.type-1]&&optionsFormType[row.type - 1].label}}</div>
+ </template>
+ </el-table-column>
+ <el-table-column prop="remark" label="说明" align="center" show-overflow-tooltip></el-table-column>
+ </el-table>
+ </div>
+ <div class="main_footer">
+ <el-pagination
+ background
+ @current-change="changeFormPageNum"
+ @size-change="changeFormPageSize"
+ :current-page="pageFormNum"
+ :page-sizes="[10, 20, 50, 100]"
+ :page-size="pageFormSize"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="totalForm">
+ </el-pagination>
+ </div>
+ </div>
+ </el-dialog>
</div>
</template>
<script>
import { buttonPinia } from '../../../../pinia/index';
-import { changeSize } from '../../../../plugins/public'; // 导入节流、动态切换组件尺寸方法
+import { changeSize,downFiles } from '../../../../plugins/public'; // 导入节流、动态切换组件尺寸方法
export default {
data() {
return {
size: changeSize(), // 组件尺寸
pageNum: 1,
pageSize: 10,
+ pageFormNum:1,
+ pageFormSize:10,
+ ruleNumber:null,//总积分数
+ userIds:null,//人员id
+ totalForm:0,
search:{},//查询条件
+ optionsUser:[],//人员
+ searchForm:{},//弹框中的查询条件
total: 0,
disabled:false,
loading: false,
dataList: [], //积分明细信息列表
+ dataFormList:[],//弹框中的列表
imageList:[],
- asyncTitle: true, // 对话框title 新增:true 修改:false
asyncVisible: false, // 添加 修改对话框
- typeLists:[
+ optionsType:[
+ {
+ label:'管理人员',
+ value:1
+ },
+ {
+ label:'劳务人员',
+ value:2
+ },
+ ],
+ optionsFormType:[
{
label:'获取',
value:1
@@ -91,7 +198,7 @@
label:'消耗',
value:2
}
- ]
+ ],
}
},
watch: {
@@ -110,6 +217,17 @@
}
},
methods: {
+ //通过修改人员类型获取对应的人员名称
+ changeType(val){
+ this.$set(this.search,'userId','')
+ this.$api.Engineer.getPersonsList({userType:val}).then(res=>{
+ if(res.statusMsg === 'ok'){
+ this.optionsUser = res.data
+ }else{
+ this.$message.warning(res.statusMsg)
+ }
+ })
+ },
// 查询按钮列表信息
searchButtonInfo(bol) {
if(bol) {
@@ -123,7 +241,7 @@
params.endTime = this.search.time&&this.search.time[1]
delete params.time
this.loading = true;
- this.$api.Safety.searchHiddenLists(params).then((res) => {
+ this.$api.Safety.searchIntegralLists(params).then((res) => {
if(res.statusMsg === 'ok') {
this.total = res.data.total;
this.dataList = res.data.list;
@@ -131,8 +249,60 @@
this.loading = false;
})
},
+ //查询弹框中的列表
+ searchFormButtonInfo(bol,userId){
+ if(bol) {
+ this.pageFormNum = 1;
+ }
+ let params = Object.assign({},this.searchForm,{
+ pageNum: this.pageFormNum,
+ pageSize: this.pageFormSize,
+ userId:userId
+ })
+ params.startTime = this.searchForm.time&&this.searchForm.time[0]
+ params.endTime = this.searchForm.time&&this.searchForm.time[1]
+ delete params.time
+ this.loading = true;
+ this.$api.Safety.searchPersonLists(params).then((res) => {
+ if(res.statusMsg === 'ok') {
+ this.totalForm = res.data.data.total;
+ this.ruleNumber = res.data.integral
+ this.dataFormList = res.data.data.list;
+ }
+ this.loading = false;
+ })
+ },
//导出excel
- exportFiles(){},
+ exportFiles(userId){
+ let params = {}
+ params.startTime = this.search.time&&this.search.time[0]
+ params.endTime = this.search.time&&this.search.time[1]
+ params.userId = userId
+ delete params.time
+ this.functionLoading();
+ this.$api.Safety.exportIntegralFiles(params).then(res => {
+ downFiles(res, '积分明细信息', 'xls')
+ this.loadingView.close()
+ })
+ .catch(() => {
+ this.loadingView.close();
+ })
+ },
+ // 转圈圈
+ functionLoading() {
+ this.loadingView = this.$loading({
+ lock: true,
+ text: '请稍后...',
+ spinner: 'el-icon-loading',
+ background: 'rgba(0, 0, 0, 0.7)'
+ });
+ },
+ //个人积分明细弹框
+ updateProp(row){
+ this.userIds = row.userId
+ this.asyncVisible = true;
+ this.searchFormButtonInfo(true,row.userId)
+ },
// 判断按钮权限信息
showButton(str) {
const pinia = buttonPinia();
@@ -147,7 +317,17 @@
changePageSize(size) {
this.pageSize = size;
this.searchButtonInfo();
- }
+ },
+ //切换弹框页数
+ changeFormPageNum(page){
+ this.pageFormNum = page;
+ this.searchFormButtonInfo();
+ },
+ // 切换弹框每页条数
+ changeFormPageSize(size) {
+ this.pageFormSize = size;
+ this.searchFormButtonInfo();
+ },
}
}
</script>
diff --git a/web/src/views/SecureManage/NipCheck/components/ScoreMarket.vue b/web/src/views/SecureManage/NipCheck/components/ScoreMarket.vue
index 16d20ed..84648eb 100644
--- a/web/src/views/SecureManage/NipCheck/components/ScoreMarket.vue
+++ b/web/src/views/SecureManage/NipCheck/components/ScoreMarket.vue
@@ -1,6 +1,28 @@
<template>
<div class="main" style="height:89%">
<div class="main_header">
+ <div class="header_item">
+ <span class="header_label">人员类型:</span>
+ <el-select v-model="search.userType" clearable placeholder="请选择人员类型" @change="changeType">
+ <el-option
+ v-for="item in optionsType"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="header_item">
+ <span class="header_label">人员姓名:</span>
+ <el-select v-model="search.userId" filterable clearable placeholder="请选择人员名称">
+ <el-option
+ v-for="item in optionsUser"
+ :key="item.userId"
+ :label="item.realName"
+ :value="item.userId">
+ </el-option>
+ </el-select>
+ </div>
<div class="header_item">
<span class="header_label">时间范围:</span>
<el-date-picker
@@ -15,6 +37,7 @@
</div>
<div class="header_item">
<el-button icon="el-icon-search" v-if="showButton('search')" @click="searchButtonInfo(true)">查询</el-button>
+ <el-button class="search_btn" icon="el-icon-plus" v-if="showButton('insert')" @click="insertProp">新增</el-button>
<el-button class="search_btn" icon="el-icon-plus" v-if="showButton('export')" @click="exportFiles">导出Excel</el-button>
</div>
</div>
@@ -29,8 +52,24 @@
</template>
</el-table-column>
<el-table-column prop="createTime" label="时间" align="center" width="150"></el-table-column>
- <el-table-column prop="dangerLocation" label="积分分值" align="center" ></el-table-column>
- <el-table-column prop="title" label="说明" align="center" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="userType" label="人员类型" align="center" >
+ <template #default="{row}">
+ <div>{{optionsType[row.userType-1]&&optionsType[row.userType - 1].label}}</div>
+ </template>
+ </el-table-column>
+ <el-table-column prop="realName" label="人员姓名" align="center" ></el-table-column>
+ <el-table-column prop="integralWater" label="积分分值" align="center" >
+ <template #default="{row}">
+ -{{row.integralWater}}
+ </template>
+ </el-table-column>
+ <el-table-column prop="remark" label="说明" align="center" show-overflow-tooltip></el-table-column>
+ <el-table-column label="操作" align="center">
+ <template #default="{ row }">
+ <!-- <el-button class="table_btn" size="mini" v-if="showButton('update')" @click="updateProp(row)">修改</el-button> -->
+ <el-button class="delete_btn" size="mini" v-if="showButton('delete')" @click="deleteInfo(row)">删除</el-button>
+ </template>
+ </el-table-column>
</el-table>
</div>
<div class="main_footer">
@@ -45,12 +84,51 @@
:total="total">
</el-pagination>
</div>
+ <el-dialog
+ class="prop_dialog"
+ :title="asyncTitle ? '新增' : '修改'"
+ :close-on-click-modal="false"
+ :visible.sync="asyncVisible"
+ width="35%">
+ <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="auto" class="rule_form">
+ <el-form-item label="类型:" prop="userType">
+ <el-select v-model="ruleForm.userType" clearable placeholder="请选择人员类型" @change="changeType">
+ <el-option
+ v-for="item in optionsType"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="人员姓名:" prop="userId">
+ <el-select v-model="ruleForm.userId" filterable clearable placeholder="请选择人员名称">
+ <el-option
+ v-for="item in optionsUser"
+ :key="item.userId"
+ :label="item.realName"
+ :value="item.userId">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="扣除积分:" prop="integralWater">
+ <el-input v-model="ruleForm.integralWater" :size="size" type="number" clearable placeholder="请输入扣除积分"></el-input>
+ </el-form-item>
+ <el-form-item label="说明:" prop="remark">
+ <el-input v-model="ruleForm.remark" type="textarea" :rows="5" :size="size" clearable placeholder="请输入说明"></el-input>
+ </el-form-item>
+ </el-form>
+ <div slot="footer">
+ <el-button @click="asyncVisible = false">取 消</el-button>
+ <el-button class="submit_btn" @click="asyncTitle ? submitInsert() : submitUpdate()">提 交</el-button>
+ </div>
+ </el-dialog>
</div>
</template>
<script>
import { buttonPinia } from '../../../../pinia/index';
-import { changeSize } from '../../../../plugins/public'; // 导入节流、动态切换组件尺寸方法
+import { changeSize,throttle,downFiles } from '../../../../plugins/public'; // 导入节流、动态切换组件尺寸方法
export default {
data() {
return {
@@ -61,10 +139,44 @@
total: 0,
disabled:false,
loading: false,
- dataList: [], //举报隐患信息列表
+ dataList: [], //安全积分超市
+ optionsUser:[],//所有人员
imageList:[],
asyncTitle: true, // 对话框title 新增:true 修改:false
asyncVisible: false, // 添加 修改对话框
+ ruleForm: {}, // 按钮表单
+ rules: {
+ userType: [{
+ required: true,
+ message: '请选择人员类型',
+ trigger: 'change'
+ }],
+ userId: [{
+ required: true,
+ message: '请选择人员姓名',
+ trigger: 'change'
+ }],
+ integralWater: [{
+ required: true,
+ message: '请输入扣除积分',
+ trigger: 'blur'
+ }],
+ remark: [{
+ required: true,
+ message: '请输入说明',
+ trigger: 'blur'
+ }],
+ },
+ optionsType:[
+ {
+ label:'管理人员',
+ value:1
+ },
+ {
+ label:'劳务人员',
+ value:2
+ },
+ ]
}
},
watch: {
@@ -83,6 +195,85 @@
}
},
methods: {
+ //通过修改人员类型获取对应的人员名称
+ changeType(val){
+ this.$set(this.search,'userId','')
+ this.$set(this.ruleForm,'userId','')
+ this.$api.Engineer.getPersonsList({userType:val}).then(res=>{
+ if(res.statusMsg === 'ok'){
+ this.optionsUser = res.data
+ }else{
+ this.$message.warning(res.statusMsg)
+ }
+ })
+ },
+ // 新增按钮信息
+ insertProp() {
+ this.asyncTitle = true;
+ this.asyncVisible = true;
+ },
+ // 修改按钮信息
+ updateProp(row) {
+ this.asyncTitle = false;
+ this.asyncVisible = true;
+ this.ruleForm = row
+ },
+ // 删除按钮信息
+ deleteInfo(row) {
+ this.$confirm("该操作将删除该信息,是否继续删除?", "提示", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ this.$api.Safety.deleteMarketInfo({id: row.id})
+ .then(res => {
+ if(res.statusMsg === 'ok') {
+ this.searchButtonInfo(true);
+ this.$message.success("删除成功!");
+ } else {
+ this.$message.warning(res.statusMsg);
+ }
+ })
+ })
+ .catch(() => {
+ this.$message.warning("您已取消");
+ })
+ },
+ // 提交添加按钮信息
+ submitInsert: throttle(function() {
+ this.$refs.ruleForm.validate((valid) => {
+ if(valid) {
+ const params = Object.assign({}, this.ruleForm);
+ this.$api.Safety.addUpdateMarketInfo(params).then((res) => {
+ if(res.statusMsg === 'ok') {
+ this.asyncVisible = false;
+ this.searchButtonInfo(true);
+ this.$message.success('添加成功!');
+ } else {
+ this.$message.warning(res.statusMsg);
+ }
+ })
+ }
+ })
+ }, 3000),
+ // 提交修改按钮信息
+ submitUpdate: throttle(function() {
+ this.$refs.ruleForm.validate((valid) => {
+ if(valid) {
+ const params = Object.assign({}, this.ruleForm);
+ this.$api.Safety.addUpdateMarketInfo(params).then((res) => {
+ if(res.statusMsg === 'ok') {
+ this.asyncVisible = false;
+ this.searchButtonInfo(true);
+ this.$message.success('修改成功!');
+ } else {
+ this.$message.warning(res.statusMsg);
+ }
+ })
+ }
+ })
+ }, 3000),
// 查询按钮列表信息
searchButtonInfo(bol) {
if(bol) {
@@ -96,7 +287,7 @@
params.endTime = this.search.time&&this.search.time[1]
delete params.time
this.loading = true;
- this.$api.Safety.searchHiddenLists(params).then((res) => {
+ this.$api.Safety.searchMarketLists(params).then((res) => {
if(res.statusMsg === 'ok') {
this.total = res.data.total;
this.dataList = res.data.list;
@@ -105,7 +296,29 @@
})
},
//导出excel
- exportFiles(){},
+ exportFiles(){
+ let params = {}
+ params.startTime = this.search.time&&this.search.time[0]
+ params.endTime = this.search.time&&this.search.time[1]
+ delete params.time
+ this.functionLoading();
+ this.$api.Safety.exportMarketFiles(params).then(res => {
+ downFiles(res, '安全积分超市信息', 'xls')
+ this.loadingView.close()
+ })
+ .catch(() => {
+ this.loadingView.close();
+ })
+ },
+ // 转圈圈
+ functionLoading() {
+ this.loadingView = this.$loading({
+ lock: true,
+ text: '请稍后...',
+ spinner: 'el-icon-loading',
+ background: 'rgba(0, 0, 0, 0.7)'
+ });
+ },
// 判断按钮权限信息
showButton(str) {
const pinia = buttonPinia();
diff --git a/web/src/views/SecureManage/RiskGrad/AreaPolling.vue b/web/src/views/SecureManage/RiskGrad/AreaPolling.vue
index 3a0ed7f..61cee9b 100644
--- a/web/src/views/SecureManage/RiskGrad/AreaPolling.vue
+++ b/web/src/views/SecureManage/RiskGrad/AreaPolling.vue
@@ -7,7 +7,9 @@
<el-tab-pane label="任务打卡" name="second"></el-tab-pane>
</el-tabs>
</div>
- <component :is="cpns[activeName]"></component>
+ <div class="content">
+ <component :is="cpns[activeName]"></component>
+ </div>
</div>
</template>
<script>
@@ -32,4 +34,13 @@
<style lang="scss" scoped>
@import '@/style/layout-main.scss';
+
+.main {
+ display: flex;
+
+ .content {
+ overflow: hidden;
+ flex: 1;
+ }
+}
</style>
\ No newline at end of file
diff --git a/web/src/views/SecureManage/RiskGrad/components/PollingTask.vue b/web/src/views/SecureManage/RiskGrad/components/PollingTask.vue
index e02fce3..0f171c6 100644
--- a/web/src/views/SecureManage/RiskGrad/components/PollingTask.vue
+++ b/web/src/views/SecureManage/RiskGrad/components/PollingTask.vue
@@ -1,6 +1,6 @@
<!-- 安全管理 ==> 风险分级管控 => 区域巡检(巡检任务)-->
<template>
- <div>
+ <div class="wrap">
<div class="main_header">
<div class="header_item">
<span class="header_label">巡检任务:</span>
@@ -385,6 +385,17 @@
<style lang="scss" scoped>
@import '@/style/layout-main.scss';
+.wrap {
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+
+ .main_content {
+ overflow: hidden;
+ flex: 1;
+ }
+}
+
.divider {
position: relative;
margin-bottom: 30px;
diff --git a/web/src/views/SecureManage/RiskGrad/components/TaskPunchcard.vue b/web/src/views/SecureManage/RiskGrad/components/TaskPunchcard.vue
index 28afc51..50c2238 100644
--- a/web/src/views/SecureManage/RiskGrad/components/TaskPunchcard.vue
+++ b/web/src/views/SecureManage/RiskGrad/components/TaskPunchcard.vue
@@ -1,6 +1,6 @@
<!-- 安全管理 ==> 风险分级管控 => 区域巡检(任务打卡)-->
<template>
- <div>
+ <div class="wrap">
<div class="main_header">
<div class="header_item">
<span class="header_label">巡检人:</span>
@@ -8,7 +8,7 @@
</div>
<div class="header_item">
<span class="header_label">巡检状态:</span>
- <el-select size="mini" v-model="queryInfo.status">
+ <el-select size="mini" v-model="queryInfo.status" clearable>
<el-option v-for="item in queryStatus" :key="item.value" :label="item.label" :value="item.value"
placeholder="请选择巡检状态"></el-option>
</el-select>
@@ -72,8 +72,6 @@
<el-image class="image" v-for="(item, index) in regionInfos.img" :key="index" :src="item" fit="contain"
:preview-src-list="regionInfos.img"></el-image>
</el-form-item>
-
- <el-form-item label="获取当前位置:">{{ regionInfos.location }}</el-form-item>
</el-form>
</el-dialog>
</div>
@@ -120,7 +118,6 @@
region: '', // 巡检区域
res: '', // 巡检结果
img: '', // 上传的图片
- location: '', // 位置
}
}
},
@@ -230,13 +227,12 @@
this.regionInfos.time = res.data.inspectionTime
this.regionInfos.region = res.data.region
this.regionInfos.res = res.data.result
- this.regionInfos.location = res.data.location
this.regionInfos.img = []
if (res.data.imgPaths) {
let arr = []
res.data.imgPaths.split(',').forEach(item => {
- arr.push(process.env.VUE_APP_BASE_URL + '/' + item)
+ arr.push('https://szpipe.thhy-tj.com/' + item) // 是生产地址
})
this.regionInfos.img.push(...arr)
}
@@ -265,6 +261,17 @@
<style lang="scss" scoped>
@import '@/style/layout-main.scss';
+.wrap {
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+
+ .main_content {
+ overflow: hidden;
+ flex: 1;
+ }
+}
+
.rule_form {
color: #fff;
diff --git a/xcx/pages/labourHome/index.vue b/xcx/pages/labourHome/index.vue
index e2a4ece..4b4daba 100644
--- a/xcx/pages/labourHome/index.vue
+++ b/xcx/pages/labourHome/index.vue
@@ -222,7 +222,7 @@
}
}
.home_footer_menu{
- height: 35vh;
+ height: 42vh;
position: absolute;
bottom: 30rpx;
left: 10rpx;
diff --git a/xcx/pages/loginIndex/index.vue b/xcx/pages/loginIndex/index.vue
index 2f25e41..a194043 100644
--- a/xcx/pages/loginIndex/index.vue
+++ b/xcx/pages/loginIndex/index.vue
@@ -40,7 +40,8 @@
</template>
</u-input>
</u-form-item>
- <u-text type="primary" text="立即注册" @click="navGotoRegister()"></u-text>
+ <!-- <u-text type="primary" text="立即注册" @click="navGotoRegister()"></u-text> -->
+ <u-text type="primary" text="管理员电话:13800138008"></u-text>
<view class="login_content_button">
<u-button
type="primary"
@@ -92,69 +93,72 @@
},
onShow() {
const that = this;
- uni.clearStorage();
- uni.clearStorageSync();
- wx.getSetting({
- complete: (info) => {
- if(!info.authSetting['scope.userInfo']) {
- uni.showModal({
- title: '提示',
- content: '是否授权获取您的信息,该信息仅用于确认身份信息',
- success: function (res) {
- if (res.confirm) {
- wx.login({
- success(res) {
- uni.$u.toast('授权成功!');
- that.$api.system.getUserInfo(res.code).then((res) => {
- if(res.success) {
- uni.setStorageSync('openId', res.data.openid);
- that.$api.system.changeWChartUser({
- openId: res.data.openid
- }).then((reslut) => {
- console.log(reslut);
- that.switchUserInfo(reslut.data.regstatus, reslut.data.reginfo);
- })
- } else {
- uni.$u.toast(res.statusMsg);
- }
- })
- },
- fail: (err) => {
- console.log(err,'---');
- }
- })
- } else if (res.cancel) {
- wx.exitMiniProgram({
- success: (res) => {
- console.log(res,'--');
- }
- })
- }
- }
- });
- } else {
- wx.login({
- success(res) {
- that.$api.system.getUserInfo(res.code).then((res) => {
- if(res.success) {
- uni.setStorageSync('openId', res.data.openid);
- that.$api.system.changeWChartUser({
- openId: res.data.openid
- }).then((reslut) => {
- that.switchUserInfo(reslut.data.regstatus, reslut.data.reginfo);
- })
- } else {
- uni.$u.toast(res.statusMsg);
- }
- })
- },
- fail: (err) => {
- console.log(err,'---');
- }
- })
- }
- }
- })
+ // uni.clearStorage();
+ // uni.clearStorageSync();
+ // wx.getSetting({
+ // complete: (info) => {
+ // if(!info.authSetting['scope.userInfo']) {
+ // uni.showModal({
+ // title: '提示',
+ // content: '是否授权获取您的信息,该信息仅用于确认身份信息',
+ // success: function (res) {
+ // if (res.confirm) {
+ // wx.login({
+ // success(res) {
+ // uni.$u.toast('授权成功!');
+ // that.$api.system.getUserInfo(res.code).then((res) => {
+ // if(res.success) {
+ // uni.setStorageSync('openId', res.data.openid);
+ // that.$api.system.changeWChartUser({
+ // openId: res.data.openid
+ // }).then((reslut) => {
+ // console.log(reslut);
+ // that.switchUserInfo(reslut.data.regstatus, reslut.data.reginfo);
+ // })
+ // } else {
+ // uni.$u.toast(res.statusMsg);
+ // }
+ // })
+ // },
+ // fail: (err) => {
+ // console.log(err,'---');
+ // }
+ // })
+ // } else if (res.cancel) {
+ // wx.exitMiniProgram({
+ // success: (res) => {
+ // console.log(res,'--');
+ // }
+ // })
+ // }
+ // }
+ // });
+ // } else {
+ // wx.login({
+ // success(res) {
+ // that.$api.system.getUserInfo(res.code).then((res) => {
+ // if(res.success) {
+ // uni.setStorageSync('openId', res.data.openid);
+ // that.$api.system.changeWChartUser({
+ // openId: res.data.openid
+ // }).then((reslut) => {
+ // that.switchUserInfo(reslut.data.regstatus, reslut.data.reginfo);
+ // // uni.navigateTo({
+ // // url: '../../robePages/safeManage/addHidden'
+ // // })
+ // })
+ // } else {
+ // uni.$u.toast(res.statusMsg);
+ // }
+ // })
+ // },
+ // fail: (err) => {
+ // console.log(err,'---');
+ // }
+ // })
+ // }
+ // }
+ // })
},
onReady() {
this.$refs.form.setRules(this.rulesLogin);
diff --git a/xcx/robePages/safeManage/addHidden.vue b/xcx/robePages/safeManage/addHidden.vue
index edcf63d..0d331b7 100644
--- a/xcx/robePages/safeManage/addHidden.vue
+++ b/xcx/robePages/safeManage/addHidden.vue
@@ -25,10 +25,13 @@
<u-form-item
label="隐患地点"
prop="dangerLocation"
+ @click="changePosition()"
borderBottom>
<u-input
v-model="formCheck.dangerLocation"
placeholder="请输入隐患地点"
+ disabled
+ disabledColor="#FFFFFF"
border="none">
</u-input>
</u-form-item>
@@ -39,17 +42,18 @@
borderBottom>
<u--textarea v-model="formCheck.title" placeholder="请输入隐患标题" height="100"></u--textarea>
</u-form-item>
+ <!-- <div>{{value}}</div> -->
</view>
</u-form>
<view class="submit_bnt">
<u-button type="primary" color="#1976FF" text="提交" @click="submitInsertForm()"></u-button>
</view>
<u-picker
- :show="showUser"
- :columns="userColumns"
- keyName="realName"
- @cancel="showUser = false"
- @confirm="selectCompany">
+ :show="positionUser"
+ :columns="positionColumns"
+ keyName="dictName"
+ @cancel="positionUser = false"
+ @confirm="selectPosition">
</u-picker>
</view>
</template>
@@ -60,10 +64,12 @@
export default{
data(){
return{
- showUser: false,//整改人弹框显隐
+ value:null,
+ positionUser: false,//隐患地点弹框显隐
+ positionColumns: [],//所有隐患地点
formCheck:{
imageList:[],//上传图片
- userId:'',//整改人
+ positionId:'',//隐患地点
},
rulesCkeck: {
dangerLocation: [{
@@ -79,9 +85,51 @@
}
}
},
- onLoad(option) {
+ onShow() {
+ let phone = uni.getStorageSync('telphone');
+ if(!phone){
+ uni.navigateTo({
+ url: '../../pages/loginIndex/index'
+ })
+ }
+ },
+ onLoad(query) {
+ const q = decodeURIComponent(query.q)
+ this.value = q
+ console.log(q,'*****')
+ this.getPositionData()
},
methods:{
+ // 获取隐患地点信息
+ getPositionData() {
+ let arrUser = []
+ this.$api.reboSystem.getDatnmSafeType({dictType: 'danger_region',pageNum: 1,pageSize: 1000000000}).then(res=>{
+ console.log(res,'******')
+ if(res.statusMsg === 'ok'){
+ res.data.list.map(item=>{
+ arrUser.push({
+ dictName:item.dictName,
+ positionId:item.dictId
+ })
+ })
+ }else{
+ uni.$u.toast(res.statusMsg);
+ }
+ })
+ this.positionColumns = [arrUser]
+ },
+ // 打开隐患地点选择
+ changePosition() {
+ this.positionUser = true;
+ this.$set(this.formCheck, 'positionId', '');
+ this.$set(this.formCheck, 'dangerLocation','');
+ },
+ // 确认选择隐患地点
+ selectPosition({ value }) {
+ this.$set(this.formCheck, 'positionId', value[0].positionId);
+ this.$set(this.formCheck, 'dangerLocation', value[0].dictName);
+ this.positionUser = false;
+ },
//提交按钮
submitInsertForm: throttle(function() {
this.$refs.form.validate().then((valid) => {
@@ -92,7 +140,8 @@
imgPath:item.data,
}
});
- delete params.userId
+ params.dangerLocation = this.formCheck.positionId
+ delete params.positionId
delete params.imageList;
this.$api.reboSystem.addHiddenInfo(params).then((res) => {
if(res.success) {
diff --git a/xcx/robePages/safeManage/approveHidden.vue b/xcx/robePages/safeManage/approveHidden.vue
index ed7a181..c773cc1 100644
--- a/xcx/robePages/safeManage/approveHidden.vue
+++ b/xcx/robePages/safeManage/approveHidden.vue
@@ -52,6 +52,7 @@
v-model="formCheck.level"
placeholder="请选择隐患等级"
disabledColor="#FFFFFF"
+ disabled
border="none">
</u-input>
<u-icon
@@ -92,6 +93,7 @@
data(){
return{
hiddenBtn:0,//是否展示提交按钮 0:展示
+ createUser:null,//创建人
checkShow:false,//展示隐患等级和积分值是否可修改
showLever: false,//隐患等级弹框显隐
leverColumns: [
@@ -132,6 +134,7 @@
},
onLoad(option) {
this.hiddenBtn = option.status
+ this.createUser = option.createUser
if(option.status==='0'){//0为审批页面、其他为详情页面
this.checkShow = false
this.getDetailsInfo(option.id,0)
@@ -175,6 +178,7 @@
const params = Object.assign({},this.hiddenDetails);
params.level = this.formCheck.levelId
params.integral = this.formCheck.integral
+ params.createUser = this.createUser
this.$api.reboSystem.checkHiddenInfo(params).then((res) => {
if(res.success) {
uni.$u.toast("提交成功!");
diff --git a/xcx/robePages/safeManage/checkHidden.vue b/xcx/robePages/safeManage/checkHidden.vue
index 82084ea..749ec7e 100644
--- a/xcx/robePages/safeManage/checkHidden.vue
+++ b/xcx/robePages/safeManage/checkHidden.vue
@@ -113,7 +113,7 @@
//跳转隐患审批或详情页面
goDetailsPage(val){
uni.navigateTo({
- url: `./approveHidden?id=${val.id}&status=${val.auditStatus}`
+ url: `./approveHidden?id=${val.id}&status=${val.auditStatus}&createUser=${val.createUser}`
})
},
//查询列表
diff --git a/xcx/robePages/safeManage/detailsHidden.vue b/xcx/robePages/safeManage/detailsHidden.vue
index 1ab93f3..7ebe76b 100644
--- a/xcx/robePages/safeManage/detailsHidden.vue
+++ b/xcx/robePages/safeManage/detailsHidden.vue
@@ -20,6 +20,18 @@
<view class="hidden_text">隐患标题</view>
<view class="hidden_datas">{{hiddenDetails.title}}</view>
</view>
+ <view class="check_details_card">
+ <view class="hidden_text">隐患等级</view>
+ <view class="hidden_datas">{{hiddenDetails.levelName}}</view>
+ </view>
+ <view class="check_details_card">
+ <view class="hidden_text">积分</view>
+ <view class="hidden_datas">{{hiddenDetails.integral===null?'':hiddenDetails.integral}}</view>
+ </view>
+ <view class="check_details_card">
+ <view class="hidden_text">审核状态</view>
+ <view class="hidden_datas" :class="{'goThrough':hiddenDetails.auditStatus===1,'notGoThrough':hiddenDetails.auditStatus===0}">{{hiddenDetails.auditStatusName}}</view>
+ </view>
</view>
</view>
</template>
@@ -59,7 +71,7 @@
padding: 15px;
.check_details_matter{
- height: calc(100vh - 112px);
+ height: calc(100vh - 80px);
background-color: #FFFFFF;
border-radius: 6px;
@@ -80,6 +92,12 @@
flex: 1;
margin-left: 15px;
}
+ .goThrough{
+ color: lawngreen;
+ }
+ .notGoThrough{
+ color: red;
+ }
}
.check_details_contents{
height: calc(100% - 460px);
diff --git a/xcx/robePages/safeManage/hiddenReport.vue b/xcx/robePages/safeManage/hiddenReport.vue
index 7d8cfb1..25903b4 100644
--- a/xcx/robePages/safeManage/hiddenReport.vue
+++ b/xcx/robePages/safeManage/hiddenReport.vue
@@ -119,7 +119,7 @@
endTime:this.search.endTime?this.search.endTime+' 23:59:59':'',
pageNum: this.pageNum,
pageSize:this.pageSize,
- type:1
+ type:2
})
this.$api.reboSystem.searchHiddenLists(params).then(res=>{
if(res.statusMsg === 'ok'){
@@ -155,7 +155,7 @@
let params =Object.assign({},this.search,{
pageNum: this.pageNum,
pageSize:this.pageSize,
- type:1
+ type:2
})
this.$api.reboSystem.searchHiddenLists(params).then(res=>{
if(res.statusMsg === 'ok'){
--
Gitblit v1.9.3