paramMap);
+ AjaxResult GetOaNodeInfo(String requestId);
}
diff --git a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java
index d9f0a00d..198a5f2d 100644
--- a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java
+++ b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java
@@ -31,6 +31,7 @@ import com.op.system.api.domain.quality.*;
import com.op.system.api.domain.sap.SapCloseOrderQuery;
import com.op.system.api.domain.sap.SapRFW;
import org.apache.commons.lang.StringUtils;
+import org.apache.http.HttpResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -41,8 +42,15 @@ import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
+import java.io.BufferedReader;
import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
import java.math.BigDecimal;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
@@ -64,45 +72,50 @@ public class OpenServiceImpl implements OpenService {
@Value("${OA.url}")
private String oa_url;
+ @Value("${OA.getnodeInfo}")
+ private String getnodeInfo;
+
@Autowired
private OpenMapper openMapper;
// @Autowired
// private RemoteSapService remoteSapService;
- /**下一工序机台集合获取
+ /**
+ * 下一工序机台集合获取
* JSON
* {
- * "reqCode": "eb7f8e9f-d1e8-499e-9bcb-e72d3ac195b0", //请求ID
- * "reqTime": "2023-06-30 21:24:04", //请求时间,
- * "rfidNo": "r12345" //rfid编号
- * "factory"
+ * "reqCode": "eb7f8e9f-d1e8-499e-9bcb-e72d3ac195b0", //请求ID
+ * "reqTime": "2023-06-30 21:24:04", //请求时间,
+ * "rfidNo": "r12345" //rfid编号
+ * "factory"
* }
- *
+ *
* JSON
* {
- * "reqCode": "eb7f8e9f-d1e8-499e-9bcb-e72d3ac195b0", //请求ID
- * "code": 0, //返回代码
- * "message": "OK", //返回信息
- * "stationType": "2", //目的机台类型 2烘房 3收坯机
- * "sku": "sku01", //物料编码
- * "spec": "150", //规格
- * "productionState": "K01", //当前工艺状态
- * "stationNos": [
- * {
- * "stationNo": "F1", //目的站台编号
- * "qty": 2 //针对于烘房前面的当前筛盘车的数量,如果数量大于2就不会往改烘房分配
- * },
- * {
- * "stationNo": "F3", //目的站台编号
- * "qty": 2 //针对于烘房前面的当前筛盘车的数量,如果数量大于2就不会往改烘房分配
- * },
- * {
- * "stationNo": "F3", //目的站台编号
- * "qty": 2 //针对于烘房前面的当前筛盘车的数量,如果数量大于2就不会往改烘房分配
- * }
- * ],
+ * "reqCode": "eb7f8e9f-d1e8-499e-9bcb-e72d3ac195b0", //请求ID
+ * "code": 0, //返回代码
+ * "message": "OK", //返回信息
+ * "stationType": "2", //目的机台类型 2烘房 3收坯机
+ * "sku": "sku01", //物料编码
+ * "spec": "150", //规格
+ * "productionState": "K01", //当前工艺状态
+ * "stationNos": [
+ * {
+ * "stationNo": "F1", //目的站台编号
+ * "qty": 2 //针对于烘房前面的当前筛盘车的数量,如果数量大于2就不会往改烘房分配
+ * },
+ * {
+ * "stationNo": "F3", //目的站台编号
+ * "qty": 2 //针对于烘房前面的当前筛盘车的数量,如果数量大于2就不会往改烘房分配
+ * },
+ * {
+ * "stationNo": "F3", //目的站台编号
+ * "qty": 2 //针对于烘房前面的当前筛盘车的数量,如果数量大于2就不会往改烘房分配
* }
+ * ],
+ * }
+ *
* @param wcsdto
* @return
*/
@@ -148,7 +161,7 @@ public class OpenServiceImpl implements OpenService {
if (StringUtils.isNotBlank(machineCode)) {
//设备是否正常
String status = openMapper.getEquipStatus(machineCode);
- if(StringUtils.isNotBlank(status) && "1".equals(status)){//正常设备且没被删除
+ if (StringUtils.isNotBlank(status) && "1".equals(status)) {//正常设备且没被删除
wCSDataDTO.setStationNo(machineCode);
if ("2".equals(stationType)) {
Integer qty = openMapper.getEquipNum(machineCode);
@@ -162,11 +175,11 @@ public class OpenServiceImpl implements OpenService {
}
dto.setStationNos(stationNos);
dto.setCode("0");
- }else{
+ } else {
dto.setCode("1");
dto.setMessage("MES管理系统接口调用异常:数据缺失");
}
- }catch (Exception e){
+ } catch (Exception e) {
dto.setCode("1");
dto.setMessage("MES管理系统接口调用失败");
}
@@ -256,20 +269,20 @@ public class OpenServiceImpl implements OpenService {
@Override
public List getLGInfo(WCSDTO wcsDTO) {
- DynamicDataSourceContextHolder.push("ds_"+wcsDTO.getFactory());// 这是数据源的key
+ DynamicDataSourceContextHolder.push("ds_" + wcsDTO.getFactory());// 这是数据源的key
return openMapper.getLGInfo(wcsDTO);
}
@Override
public AjaxResult machineRepair(EquRepairOrderDTO equRepairOrderDTO) {
- DynamicDataSourceContextHolder.push("ds_"+equRepairOrderDTO.getFactory());// 这是数据源的key
+ DynamicDataSourceContextHolder.push("ds_" + equRepairOrderDTO.getFactory());// 这是数据源的key
// 创建报修单
DeviceRepairOrder equRepairOrder = new DeviceRepairOrder();
// 获取故障报修流水号
String serialNum = String.format("%03d", openMapper.selectOrderCodeSerialNumber());
- equRepairOrder.setOrderCode("BX"+DateUtils.dateTimeNow(DateUtils.YYYYMMDD)+equRepairOrderDTO.getEquipmentCode()+serialNum);// 报修单号
+ equRepairOrder.setOrderCode("BX" + DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + equRepairOrderDTO.getEquipmentCode() + serialNum);// 报修单号
equRepairOrder.setOrderId(IdUtils.fastSimpleUUID());// id
equRepairOrder.setEquipmentCode(equRepairOrderDTO.getEquipmentCode());
equRepairOrder.setOrderSource("上位机");// 故障来源
@@ -290,7 +303,7 @@ public class OpenServiceImpl implements OpenService {
@Override
public int insertQcCheckTaskProduce(QcCheckTaskProduceDTO qcCheckTaskProduce) {
- DynamicDataSourceContextHolder.push("ds_"+qcCheckTaskProduce.getFactoryCode());
+ DynamicDataSourceContextHolder.push("ds_" + qcCheckTaskProduce.getFactoryCode());
qcCheckTaskProduce.setCreateTime(DateUtils.getNowDate());
@@ -299,20 +312,20 @@ public class OpenServiceImpl implements OpenService {
String liushuiStr = String.format("%04d", liushuiNum);
String createBy = SecurityUtils.getUsername();
- Date nowDate= DateUtils.getNowDate();
+ Date nowDate = DateUtils.getNowDate();
//获取当前所选工厂
String factoryCode = qcCheckTaskProduce.getFactoryCode();
String beLongId = IdUtils.fastSimpleUUID();
- qcCheckTaskProduce.setCheckNo(bpDD+liushuiStr);
+ qcCheckTaskProduce.setCheckNo(bpDD + liushuiStr);
/**取检测项**/
- QcCheckTypeProjectDTO qctp= new QcCheckTypeProjectDTO();
+ QcCheckTypeProjectDTO qctp = new QcCheckTypeProjectDTO();
qctp.setTypeId(qcCheckTaskProduce.getCheckType());//生产过程检验
qctp.setMaterialCode(qcCheckTaskProduce.getMaterialCode());//特性
/**qc_user_material取默认检查人**/
List users = openMapper.getUserByMaterial(qcCheckTaskProduce.getMaterialCode());
- if(CollectionUtils.isEmpty(users)){
+ if (CollectionUtils.isEmpty(users)) {
QcUserMaterialDTO dto0 = new QcUserMaterialDTO();
dto0.setId(IdUtils.fastSimpleUUID());
dto0.setBelongTo(beLongId);
@@ -323,8 +336,8 @@ public class OpenServiceImpl implements OpenService {
dto0.setUserCode("mobile");
dto0.setUserName("手持测试用户");
users.add(dto0);
- }else{
- for(QcUserMaterialDTO user:users){
+ } else {
+ for (QcUserMaterialDTO user : users) {
user.setId(IdUtils.fastSimpleUUID());
user.setBelongTo(beLongId);
user.setCheckNo(qcCheckTaskProduce.getCheckNo());
@@ -333,15 +346,15 @@ public class OpenServiceImpl implements OpenService {
user.setCreateTime(nowDate);
}
}
- int m=openMapper.addCheckUsers(users);
- logger.info("检查人新增"+m+"成功");
+ int m = openMapper.addCheckUsers(users);
+ logger.info("检查人新增" + m + "成功");
/**qc_check_type_project**/
List items = openMapper.getTPByTypeMaterial(qctp);
- if(CollectionUtils.isEmpty(items)){
+ if (CollectionUtils.isEmpty(items)) {
/**qc_material_group_detail**/
QcMaterialGroupDetailDTO group = openMapper.getGroupByMaterial(qcCheckTaskProduce.getMaterialCode());
- if(group == null){
+ if (group == null) {
return 0;//没有找到检测项目
}
qctp.setGroupId(group.getGroupId());//共性
@@ -349,7 +362,7 @@ public class OpenServiceImpl implements OpenService {
}
/**qc_check_task_detail**/
- if(CollectionUtils.isEmpty(items)){
+ if (CollectionUtils.isEmpty(items)) {
return 0;//没有找到检测项目
}
@@ -364,7 +377,7 @@ public class OpenServiceImpl implements OpenService {
qcCheckTaskProduce.setSupplierName(qcCheckTaskProduce.getCarName());
openMapper.insertQcCheckTaskProduce(qcCheckTaskProduce);
/**qc_check_task_detail**/
- for(QcCheckTaskDetailDTO item:items){
+ for (QcCheckTaskDetailDTO item : items) {
item.setRecordId(IdUtils.fastSimpleUUID());
item.setBelongTo(beLongId);
item.setCreateTime(nowDate);
@@ -377,10 +390,26 @@ public class OpenServiceImpl implements OpenService {
@Override
public AjaxResult OAInspection(Map paramMap) {
-
try {
-
- String result = HttpUtils.sendPostOA(oa_url, convertJsonToUrlParams(JSONObject.toJSONString(paramMap)));
+ // 从paramMap中提取需要的参数
+ String user = paramMap.get("user").toString();
+ String requestLevel = paramMap.get("requestLevel").toString();
+ String requestName = paramMap.get("requestName").toString();
+ String workflowId = paramMap.get("workflowId").toString();
+ String mainObject = paramMap.get("mainObject").toString();
+
+ // Building the postData string using StringBuilder
+ StringBuilder postDataBuilder = new StringBuilder();
+ postDataBuilder.append("user=").append(user)
+ .append("&requestLevel=").append(requestLevel)
+ .append("&requestName=").append(URLEncoder.encode(requestName, StandardCharsets.UTF_8.toString()))
+ .append("&workflowId=").append(workflowId)
+ .append("&mainObject=").append(URLEncoder.encode(mainObject, StandardCharsets.UTF_8.toString()));
+ if (Constants.WORKFLOWID_ZL0020.equals(workflowId)) {
+ postDataBuilder.append("&details=").append(URLEncoder.encode(mainObject, StandardCharsets.UTF_8.toString()));
+ }
+ String postData = postDataBuilder.toString();
+ String result = HttpUtils.sendPostOA(oa_url, postData);
System.out.println(result);
//返回示例{"result":"0","info":"成功","requestid":"2193799"}
Map resultMap=JSONObject.parseObject(result);
@@ -389,62 +418,25 @@ public class OpenServiceImpl implements OpenService {
}else {
return error(resultMap.get("info").toString());
}
-
} catch (Exception e) {
e.printStackTrace();
return error(e.getMessage());
}
- }
+}
+
+
+
@Override
- public AjaxResult OAProcessInspection(Map paramMap) {
- try {
- String result = HttpUtils.sendPostOA(oa_url, convertJsonToUrlParams(JSONObject.toJSONString(paramMap)));
- System.out.println(result);
- //返回示例{"result":"0","info":"成功","requestid":"2193799"}
- Map resultMap=JSONObject.parseObject(result);
- if (resultMap.get("result").equals(Constants.LOGIN_SUCCESS_STATUS)){
- return success(resultMap.get("info").toString(),resultMap.get("requestid").toString());
- }else {
- return error(resultMap.get("info").toString());
- }
+ public AjaxResult GetOaNodeInfo(String requestId) {
+ try {
+ String result = HttpUtils.sendGet(getnodeInfo,"requestId="+requestId);
+ return success(result);
} catch (Exception e) {
e.printStackTrace();
return error(e.getMessage());
}
}
- public static String convertJsonToUrlParams(String json) throws IOException {
- ObjectMapper objectMapper = new ObjectMapper();
- JsonNode jsonNode = objectMapper.readTree(json);
-
- StringBuilder urlParams = new StringBuilder();
-
- Iterator fieldNames = jsonNode.fieldNames();
- while (fieldNames.hasNext()) {
- String fieldName = fieldNames.next();
- JsonNode fieldValue = jsonNode.get(fieldName);
-
- if (urlParams.length() > 0) {
- urlParams.append("&");
- }
-
- urlParams.append(fieldName).append("=").append(fieldValue);
- }
-
- return urlParams.toString();
- }
- public static void main(String args[]){
- Map paramMap =new HashMap<>();
- paramMap.put("A","B");
- paramMap.put("C","D");
- paramMap.put("E","F");
- System.out.println(JSONObject.toJSONString(paramMap));
-// DateTimeFormatter ymdhms = DateTimeFormatter.ofPattern("yyyy-MM-dd");
-// LocalDate today = LocalDate.now();
-// LocalDate lastMonth3 = today.plus(-3, ChronoUnit.MONTHS);
-//
-// System.out.println("7天之前的日期为:"+lastMonth3.getYear());
- }
}
diff --git a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java
index 5602fa84..a9fe28d0 100644
--- a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java
+++ b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java
@@ -318,28 +318,8 @@ public class SapItemSyncImpl implements SapItemSyncService {
throw new RuntimeException("Function does not exist in SAP");
}
JCoTable L_ITEM = func.getTableParameterList().getTable("L_ITEM");
-
- // System.out.println(L_ITEM);
-
-//
-// int successNum = 0;
-// int failureNum = 0;
-// StringBuilder successMsg = new StringBuilder();
-// StringBuilder failureMsg = new StringBuilder();
log.info("反冲物料开始过账----------------------------------------");
-
-// for (int i = 0; i < sapBackflushMPQueryList.size(); i++) {
-// L_ITEM.setRow(i);
-// L_ITEM.appendRow();
-// L_ITEM.setValue("MATNR",sfp.getMatnr());
-// }
for (SapBackflushMPQuery sfp:sapBackflushMPQueryList){
-// if (StringUtils.isEmpty(sfp.getMatnr())){
-// return R.fail("物料号为空!");
-// }
-// if (StringUtils.isEmpty(sfp.getPlant())){
-//
-// }
L_ITEM.appendRow();
L_ITEM.setValue("MATNR",sfp.getMatnr());
L_ITEM.setValue("PLANT",sfp.getPlant());
@@ -350,7 +330,6 @@ public class SapItemSyncImpl implements SapItemSyncService {
L_ITEM.setValue("MEINS",sfp.getMeins());
L_ITEM.setValue("BATCH",sfp.getBatch());
L_ITEM.setValue("MOVE_BATCH",sfp.getMove_batch());
-
}
func.execute(dest);
JCoTable maraTable = func.getTableParameterList().getTable("LT_RETURN");
From 98084eaf1ef196f7cc7ec0b46e8f5793e4bded77 Mon Sep 17 00:00:00 2001
From: zhaoxiaolin
Date: Tue, 9 Jan 2024 14:12:39 +0800
Subject: [PATCH 09/11] =?UTF-8?q?=E5=B7=A1=E6=A3=80=E6=8A=A5=E5=91=8A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../op/quality/service/IQcCheckReportProduceService.java | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportProduceService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportProduceService.java
index d3adf69a..587c4f61 100644
--- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportProduceService.java
+++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportProduceService.java
@@ -1,9 +1,6 @@
package com.op.quality.service;
-import com.op.quality.domain.QcBomComponent;
-import com.op.quality.domain.QcCheckReportIncome;
-import com.op.quality.domain.QcCheckTaskDetail;
-import com.op.quality.domain.QcSupplier;
+import com.op.quality.domain.*;
import com.op.system.api.domain.SysUser;
import java.util.List;
@@ -73,5 +70,5 @@ public interface IQcCheckReportProduceService {
List getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail);
- public List getPrintData(QcCheckReportIncome qcCheckReportIncome);
+ QcCheckTaskProduce getProduceReportXJ(QcCheckTaskProduce qcCheckTaskProduce);
}
From 51f62a585355a1eac6b1a066603df3730a137b4b Mon Sep 17 00:00:00 2001
From: A0010407
Date: Tue, 9 Jan 2024 16:56:08 +0800
Subject: [PATCH 10/11] =?UTF-8?q?2024-1-9-3=20=E8=AE=BE=E5=A4=87-1.?=
=?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=95=85=E9=9A=9C=E6=AC=A1=E6=95=B0=20?=
=?UTF-8?q?=E5=81=9C=E6=9C=BA=E6=AC=A1=E6=95=B0=202.=E5=AE=8C=E5=96=84?=
=?UTF-8?q?=E6=89=8B=E6=8C=81=E3=80=81PC=E5=92=8C=E7=BB=B4=E4=BF=AE?=
=?UTF-8?q?=E6=B5=81=E7=A8=8B=203.=E5=AE=8C=E5=96=84=E5=BD=93=E6=97=A5?=
=?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=A8=B3=E5=AE=9A=E6=80=A7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../controller/DevicePDAController.java | 9 ++----
.../com/op/device/domain/EquOperation.java | 24 ++++++++++++++
.../service/impl/DevicePDAServiceImpl.java | 26 ++++++++-------
.../impl/EquRepairWorkOrderServiceImpl.java | 32 ++++++++++---------
.../mapper/device/DeviceInterfaceMapper.xml | 9 ++++--
.../mapper/device/EquOperationMapper.xml | 12 ++++++-
6 files changed, 74 insertions(+), 38 deletions(-)
diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java b/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java
index 18d6e43d..e5426032 100644
--- a/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java
+++ b/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java
@@ -72,8 +72,7 @@ public class DevicePDAController extends BaseController {
return devicePDAService.updateInspectionRecord(equOrder);
}
- //报修
-
+ //////////报修
/**
* 新增手持报修记录
*
@@ -85,8 +84,7 @@ public class DevicePDAController extends BaseController {
return devicePDAService.addRepairRecord(equRepairOrder);
}
- //维修
-
+ //////////维修
/**
* 获取维修记录(待处理)
*
@@ -120,7 +118,6 @@ public class DevicePDAController extends BaseController {
return devicePDAService.updateDowntime(equRepairWorkOrder);
}
-
/**
* 获取设备管理详细信息
*/
@@ -198,6 +195,4 @@ public class DevicePDAController extends BaseController {
public AjaxResult getFaultReasonList(EquFaultReason equFaultReason) {
return devicePDAService.selectEquFaultReasonList(equFaultReason);
}
-
-
}
diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquOperation.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquOperation.java
index 22668daf..a9f42b88 100644
--- a/op-modules/op-device/src/main/java/com/op/device/domain/EquOperation.java
+++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquOperation.java
@@ -95,6 +95,14 @@ public class EquOperation extends BaseEntity {
/** 删除标识 */
private String delFlag;
+ /** 故障次数 */
+ @Excel(name = "故障次数")
+ private Integer failureTimes;
+
+ /** 停机次数 */
+ @Excel(name = "停机次数")
+ private Integer shutdownTimes;
+
// 创建日期范围list
private List createTimeArray;
@@ -353,6 +361,22 @@ public class EquOperation extends BaseEntity {
return intactRate;
}
+ //故障次数
+ public void setFailureTimes(Integer failureTimes) {
+ this.failureTimes = failureTimes;
+ }
+ public Integer getFailureTimes() {
+ return failureTimes;
+ }
+
+ //停机次数
+ public void setShutdownTimes(Integer shutdownTimes) {
+ this.shutdownTimes = shutdownTimes;
+ }
+ public Integer getShutdownTimes() {
+ return shutdownTimes;
+ }
+
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java
index 336385f6..791fcedf 100644
--- a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java
+++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java
@@ -785,18 +785,20 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
//2.3修改完好率报表
if(equOperation != null){
- DecimalFormat df = new DecimalFormat("#.##");
- //实际运行时间 = 实际运行时间 - 故障时间
- double result = Double.parseDouble(equOperation.getActualOperationTime()) - hour;
- //故障时间 = 原来的故障时间 + 这次的故障时间
- double faultTime = Double.parseDouble(equOperation.getFaultTime()) + hour;
- equOperation.setActualOperationTime(String.valueOf(df.format(result)));//实际运行时间
- equOperation.setFaultTime(String.valueOf(faultTime));//故障时间
-
- BigDecimal faultTimeBD = new BigDecimal(faultTime);// 故障时间
- BigDecimal operationTimeBD = new BigDecimal(equOperation.getOperationTime());// 运行时间
-
- equOperation.setFailureRate(faultTimeBD.multiply(new BigDecimal(100)).divide(operationTimeBD,2, RoundingMode.HALF_UP).toString()+"%");
+ if (list.getWorkDownMachine().equals("1")) {
+ DecimalFormat df = new DecimalFormat("#.##");
+ //实际运行时间 = 实际运行时间 - 故障时间
+ double result = Double.parseDouble(equOperation.getActualOperationTime()) - hour;
+ //故障时间 = 原来的故障时间 + 这次的故障时间
+ double faultTime = Double.parseDouble(equOperation.getFaultTime()) + hour;
+ BigDecimal faultTimeBD = new BigDecimal(faultTime);// 故障时间
+ BigDecimal operationTimeBD = new BigDecimal(equOperation.getOperationTime());//运行时间
+ equOperation.setActualOperationTime(String.valueOf(df.format(result)));//实际运行时间
+ equOperation.setFaultTime(String.valueOf(faultTime));//故障时间
+ equOperation.setFailureRate(faultTimeBD.multiply(new BigDecimal(100)).divide(operationTimeBD,2, RoundingMode.HALF_UP).toString()+"%");
+ equOperation.setShutdownTimes(equOperation.getShutdownTimes()+1);//停机次数加1
+ }
+ equOperation.setFailureTimes(equOperation.getFailureTimes()+1);//故障次数加1
equOperation.setUpdateBy(SecurityUtils.getUsername());
equOperation.setUpdateTime(DateUtils.getNowDate());
equOperationMapper.updateEquOperation(equOperation);
diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java
index eea0cbf3..bbe336e4 100644
--- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java
+++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java
@@ -234,22 +234,25 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService
String time = sdf.format(equRepairWorkOrder.getWorkEndTime());
EquOperation equOperation = equOperationMapper.selectEquipmentIntegrityRate(time,equRepairWorkOrder.getEquipmentCode());
- if(equOperation != null){
- DecimalFormat df = new DecimalFormat("#.##");
- //实际运行时间 = 实际运行时间 - 故障时间
- double result = Double.parseDouble(equOperation.getActualOperationTime()) - Double.parseDouble(hours);
- //故障时间 = 原来的故障时间 + 这次的故障时间
- double faultTime = Double.parseDouble(equOperation.getFaultTime()) + Double.parseDouble(hours);
- equOperation.setActualOperationTime(String.valueOf(df.format(result)));//实际运行时间
- equOperation.setFaultTime(String.valueOf(faultTime));//故障时间
-
- BigDecimal faultTimeBD = new BigDecimal(faultTime);// 故障时间
- BigDecimal operationTimeBD = new BigDecimal(equOperation.getOperationTime());// 运行时间
-
- // 故障率计算(故障时间/运行时间)
- equOperation.setFailureRate(faultTimeBD.multiply(new BigDecimal(100)).divide(operationTimeBD,2, RoundingMode.HALF_UP).toString()+"%");
+ if(equOperation != null){
+ if (equRepairWorkOrder.getWorkDownMachine().equals("1")) {
+ DecimalFormat df = new DecimalFormat("#.##");
+ //实际运行时间 = 实际运行时间 - 故障时间
+ double result = Double.parseDouble(equOperation.getActualOperationTime()) - Double.parseDouble(hours);
+ //故障时间 = 原来的故障时间 + 这次的故障时间
+ double faultTime = Double.parseDouble(equOperation.getFaultTime()) + Double.parseDouble(hours);
+ BigDecimal faultTimeBD = new BigDecimal(faultTime);// 故障时间
+ BigDecimal operationTimeBD = new BigDecimal(equOperation.getOperationTime());// 运行时间
+ equOperation.setFaultTime(String.valueOf(faultTime));//故障时间
+ equOperation.setActualOperationTime(String.valueOf(df.format(result)));//实际运行时间
+ // 故障率计算(故障时间/运行时间)
+ equOperation.setFailureRate(faultTimeBD.multiply(new BigDecimal(100)).divide(operationTimeBD,2, RoundingMode.HALF_UP).toString()+"%");
+ equOperation.setShutdownTimes(equOperation.getShutdownTimes()+1);//停机次数加1
+ }
equOperation.setUpdateBy(SecurityUtils.getUsername());
equOperation.setUpdateTime(DateUtils.getNowDate());
+ //故障次数增加,但是停机次数可能不增加
+ equOperation.setFailureTimes(equOperation.getFailureTimes()+1);//故障次数加1
equOperationMapper.updateEquOperation(equOperation);
}
}
@@ -258,7 +261,6 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService
// BigDecimal sparePartsCost = equSpareApplyMapper.getSparePartsCost(equRepairWorkOrder.getOrderCode());
// BigDecimal orderCost = BigDecimal.valueOf(Double.valueOf(equRepairWorkOrder.getWorkCost()));
// equRepairWorkOrder.setWorkCost(String.valueOf(sparePartsCost.add(orderCost)));
-
return equRepairWorkOrderMapper.updateEquRepairWorkOrder(equRepairWorkOrder);
}
diff --git a/op-modules/op-device/src/main/resources/mapper/device/DeviceInterfaceMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/DeviceInterfaceMapper.xml
index 48089a27..0cbc365c 100644
--- a/op-modules/op-device/src/main/resources/mapper/device/DeviceInterfaceMapper.xml
+++ b/op-modules/op-device/src/main/resources/mapper/device/DeviceInterfaceMapper.xml
@@ -77,11 +77,14 @@
diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOperationMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOperationMapper.xml
index cad74285..6da1e004 100644
--- a/op-modules/op-device/src/main/resources/mapper/device/EquOperationMapper.xml
+++ b/op-modules/op-device/src/main/resources/mapper/device/EquOperationMapper.xml
@@ -29,6 +29,8 @@
+
+