From ae6879a7575f79d814c70781e6efc1b6218f3732 Mon Sep 17 00:00:00 2001 From: admin <15939171744@163.com> Date: 星期五, 14 三月 2025 14:10:31 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- billion-ui/src/views/main/da/materialCollection/index.vue | 57 -- billion-admin/pom.xml | 7 billion-main/src/main/java/com/billion/main/plcServer/util/TimeUtil.java | 139 +++++ billion-main/src/main/java/com/billion/main/plcServer/conf/OPCElement.java | 7 billion-main/src/main/java/com/billion/main/bs/service/impl/BsBomChildInfoServiceImpl.java | 46 + pom.xml | 1 billion-main/src/main/java/com/billion/main/constant/Constants.java | 2 billion-main/src/main/java/com/billion/main/om/service/impl/OmOrderSchedulingServiceImpl.java | 55 +- billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java | 247 ++++++--- billion-main/src/main/java/com/billion/main/plcServer/CustomRunner.java | 31 billion-ui/src/views/main/da/stationCollection/index.vue | 3 billion-main/src/main/java/com/billion/main/bs/controller/BsBomChildInfoController.java | 16 billion-main/src/main/java/com/billion/main/da/controller/DaParamCollectionController.java | 5 billion-ui/src/views/main/bs/bomInfo/index.vue | 10 billion-main/src/main/java/com/billion/main/da/domain/DaParamCollection.java | 315 ------------ billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java | 5 billion-admin/src/main/resources/application-druid.yml | 1 billion-main/src/main/resources/mapper/om/OmOrderSchedulingMapper.xml | 6 billion-main/src/main/java/com/billion/main/bs/domain/BsBomInfo.java | 3 billion-main/src/main/java/com/billion/main/bs/domain/BsBomChildInfo.java | 9 billion-main/src/main/resources/mapper/da/DaCollectionParamConfMapper.xml | 2 billion-ui/src/views/main/om/info/index.vue | 246 ++++++--- billion-main/src/main/java/com/billion/main/om/domain/OmOrderScheduling.java | 16 billion-main/src/main/java/com/billion/main/da/domain/DaStationCollection.java | 3 billion-main/src/main/java/com/billion/main/da/controller/DaMaterialCollectionController.java | 22 billion-main/pom.xml | 6 billion-main/src/main/java/com/billion/main/bs/service/IBsBomChildInfoService.java | 1 billion-main/src/main/java/com/billion/main/om/domain/OmProductionOrderInfo.java | 3 billion-main/src/main/resources/mapper/om/OmProductionOrderInfoMapper.xml | 30 billion-ui/src/views/main/da/paramCollection/index.vue | 38 - billion-ui/src/views/main/bs/lineInfo/index.vue | 7 billion-main/src/main/java/com/billion/main/da/service/impl/DaParamCollectionServiceImpl.java | 7 billion-main/src/main/java/com/billion/main/om/service/impl/OmProductionOrderInfoServiceImpl.java | 30 billion-ui/src/views/main/bs/bomChildInfo/index.vue | 85 +++ billion-main/src/main/resources/mapper/da/DaParamCollectionMapper.xml | 20 35 files changed, 766 insertions(+), 715 deletions(-) diff --git a/billion-admin/pom.xml b/billion-admin/pom.xml index 6f5d4a7..70dfbb9 100644 --- a/billion-admin/pom.xml +++ b/billion-admin/pom.xml @@ -68,6 +68,12 @@ </dependency> <dependency> + <groupId>com.alibaba</groupId> + <artifactId>easyexcel</artifactId> + <version>3.3.3</version> + </dependency> + + <dependency> <groupId>com.billion</groupId> <artifactId>billion-main</artifactId> </dependency> @@ -78,6 +84,7 @@ </dependencies> + <build> <plugins> <plugin> diff --git a/billion-admin/src/main/resources/application-druid.yml b/billion-admin/src/main/resources/application-druid.yml index c47b3a1..3f227d9 100644 --- a/billion-admin/src/main/resources/application-druid.yml +++ b/billion-admin/src/main/resources/application-druid.yml @@ -12,6 +12,7 @@ url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=billion-db username: sa password: 123456 +# password: 123456 # password: admin@123 # 鍒濆杩炴帴鏁� initialSize: 10 diff --git a/billion-main/pom.xml b/billion-main/pom.xml index b049ba9..1117525 100644 --- a/billion-main/pom.xml +++ b/billion-main/pom.xml @@ -83,6 +83,12 @@ <version>3.5.13</version> <scope>compile</scope> </dependency> + <dependency> + <groupId>com.mysql</groupId> + <artifactId>mysql-connector-j</artifactId> + <version>8.0.33</version> + <scope>compile</scope> + </dependency> </dependencies> </project> \ No newline at end of file diff --git a/billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java b/billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java index d1e3e34..ddfc436 100644 --- a/billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java +++ b/billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java @@ -43,6 +43,10 @@ omProductionOrderInfo.setBodyQty(Long.valueOf("0")); omProductionOrderInfo.setHeadQty(Long.valueOf("0")); omProductionOrderInfo.setPreQty(Long.valueOf("0")); + omProductionOrderInfo.setBodyStatus("0"); + omProductionOrderInfo.setHeadStatus("0"); + omProductionOrderInfo.setPreStatus("0"); + omProductionOrderInfo.setDelFlag("0"); omProductionOrderInfo.setWorkOrderNo(workOrdersInfo.getOrderNumber()); omProductionOrderInfo.setSalesOrderCode(workOrdersInfo.getBatchNumber()); omProductionOrderInfo.setProductCode(workOrdersInfo.getMaterialNumber()); @@ -52,7 +56,6 @@ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date startTime = sdf.parse(workOrdersInfo.getStartTime()); omProductionOrderInfo.setPlanStartTime(startTime); -// omProductionOrderInfo.setRemarks(Long.valueOf(workOrdersInfo.getDescription())); omProductionOrderInfo.setOrderStatus(workOrdersInfo.getState()); omProductionOrderInfo.setFlag(workOrdersInfo.getFlag()); omProductionOrderInfoService.insertOmProductionOrderInfo(omProductionOrderInfo); diff --git a/billion-main/src/main/java/com/billion/main/bs/controller/BsBomChildInfoController.java b/billion-main/src/main/java/com/billion/main/bs/controller/BsBomChildInfoController.java index c7470bd..c24c956 100644 --- a/billion-main/src/main/java/com/billion/main/bs/controller/BsBomChildInfoController.java +++ b/billion-main/src/main/java/com/billion/main/bs/controller/BsBomChildInfoController.java @@ -11,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; @@ -28,6 +29,21 @@ @Autowired private IBsBomChildInfoService bsBomChildInfoService; + @PostMapping("/importTemplate") + public void importTemplate(HttpServletResponse response) + { + ExcelUtil<BsBomChildInfo> util = new ExcelUtil<BsBomChildInfo>(BsBomChildInfo.class); + util.importTemplateExcel(response, "bom瀛愯〃鏁版嵁"); + } + @PreAuthorize("@ss.hasPermi('bs:bomChildInfo:import')") + @PostMapping("/importData") + public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception + { + ExcelUtil<BsBomChildInfo> util = new ExcelUtil<BsBomChildInfo>(BsBomChildInfo.class); + List<BsBomChildInfo> bomChildList = util.importExcel(file.getInputStream()); + String message = bsBomChildInfoService.importBomChild(bomChildList, updateSupport, "1"); + return success(message); + } /** * 鏌ヨ鍩虹BOM瀛愪俊鎭垪琛� */ diff --git a/billion-main/src/main/java/com/billion/main/bs/domain/BsBomChildInfo.java b/billion-main/src/main/java/com/billion/main/bs/domain/BsBomChildInfo.java index c6a4121..240f1df 100644 --- a/billion-main/src/main/java/com/billion/main/bs/domain/BsBomChildInfo.java +++ b/billion-main/src/main/java/com/billion/main/bs/domain/BsBomChildInfo.java @@ -1,10 +1,10 @@ package com.billion.main.bs.domain; import com.billion.common.annotation.Excel; +import com.billion.main.common.BaseEntity; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; -import java.math.BigDecimal; import java.util.Date; /** @@ -14,7 +14,7 @@ * @date 2024-11-25 */ @Data -public class BsBomChildInfo +public class BsBomChildInfo extends BaseEntity { private static final long serialVersionUID = 1L; @@ -47,7 +47,7 @@ /** 鍗曡�� */ @Excel(name = "鍗曡��") - private BigDecimal costQty; + private String costQty; /** 鍗曚綅 */ @Excel(name = "鍗曚綅") @@ -83,7 +83,4 @@ private Date updateTime; - - public void setCostQty(String count) { - } } diff --git a/billion-main/src/main/java/com/billion/main/bs/domain/BsBomInfo.java b/billion-main/src/main/java/com/billion/main/bs/domain/BsBomInfo.java index 4da6f86..d5bcce0 100644 --- a/billion-main/src/main/java/com/billion/main/bs/domain/BsBomInfo.java +++ b/billion-main/src/main/java/com/billion/main/bs/domain/BsBomInfo.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.billion.common.annotation.Excel; +import com.billion.main.common.BaseEntity; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; @@ -14,7 +15,7 @@ * @date 2024-11-25 */ @Data -public class BsBomInfo +public class BsBomInfo extends BaseEntity { private static final long serialVersionUID = 1L; diff --git a/billion-main/src/main/java/com/billion/main/bs/service/IBsBomChildInfoService.java b/billion-main/src/main/java/com/billion/main/bs/service/IBsBomChildInfoService.java index 60d277d..a214a65 100644 --- a/billion-main/src/main/java/com/billion/main/bs/service/IBsBomChildInfoService.java +++ b/billion-main/src/main/java/com/billion/main/bs/service/IBsBomChildInfoService.java @@ -61,4 +61,5 @@ */ public int deleteBsBomChildInfoById(Long id); void insertBatch(List<BsBomChildInfo> confList); + public String importBomChild(List<BsBomChildInfo> bomChildList, Boolean isUpdateSupport, String operName); } diff --git a/billion-main/src/main/java/com/billion/main/bs/service/impl/BsBomChildInfoServiceImpl.java b/billion-main/src/main/java/com/billion/main/bs/service/impl/BsBomChildInfoServiceImpl.java index 9a1e5b6..5ee4b40 100644 --- a/billion-main/src/main/java/com/billion/main/bs/service/impl/BsBomChildInfoServiceImpl.java +++ b/billion-main/src/main/java/com/billion/main/bs/service/impl/BsBomChildInfoServiceImpl.java @@ -1,12 +1,16 @@ package com.billion.main.bs.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.billion.common.exception.ServiceException; +import com.billion.common.utils.StringUtils; +import com.billion.common.utils.bean.BeanValidators; import com.billion.main.bs.domain.BsBomChildInfo; import com.billion.main.bs.mapper.BsBomChildInfoMapper; import com.billion.main.bs.service.IBsBomChildInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.validation.Validator; import java.util.List; /** @@ -19,6 +23,48 @@ public class BsBomChildInfoServiceImpl extends ServiceImpl<BsBomChildInfoMapper, BsBomChildInfo> implements IBsBomChildInfoService { @Autowired + protected Validator validator; + + @Autowired + private IBsBomChildInfoService bsBomChildInfoService; + + @Override + public String importBomChild(List<BsBomChildInfo> bomChildList, Boolean isUpdateSupport, String operName) + { + if (StringUtils.isNull(bomChildList) || bomChildList.size() == 0) + { + throw new ServiceException("瀵煎叆鏁版嵁涓嶈兘涓虹┖锛�"); + } + StringBuilder successMsg = new StringBuilder(); + for (BsBomChildInfo list : bomChildList) + { + try + { + BeanValidators.validateWithException(validator, list); + BsBomChildInfo bsBomChildInfo = new BsBomChildInfo(); + bsBomChildInfo.setProductCode(list.getProductCode()); + bsBomChildInfo.setProductName(list.getProductName()); + bsBomChildInfo.setLocationCode(list.getLocationCode()); + bsBomChildInfo.setLocationName(list.getLocationName()); + bsBomChildInfo.setMaterialCode(list.getMaterialCode()); + bsBomChildInfo.setMaterialName(list.getMaterialName()); + bsBomChildInfo.setCostQty(list.getCostQty()); + bsBomChildInfo.setBomCode(list.getBomCode()); + bsBomChildInfoService.insertBsBomChildInfo(bsBomChildInfo); + successMsg.append( " 鏇存柊鎴愬姛"); + } + catch (Exception e) + { + String msg = " 瀵煎叆澶辫触"; + log.error(msg, e); + } + } + return successMsg.toString(); + } + + + + @Autowired private BsBomChildInfoMapper bsBomChildInfoMapper; /** diff --git a/billion-main/src/main/java/com/billion/main/constant/Constants.java b/billion-main/src/main/java/com/billion/main/constant/Constants.java index 79e46a1..e139a37 100644 --- a/billion-main/src/main/java/com/billion/main/constant/Constants.java +++ b/billion-main/src/main/java/com/billion/main/constant/Constants.java @@ -10,6 +10,7 @@ public static final String TWO= "2"; public static final String RecordData= "RecordData"; public static final String WorkOrderRequest= "WorkOrderRequest"; +// public static final String TEST= "TEST";//缂哥洊涓婄嚎宸ヤ綅 public static final List<String> PLC1 = new ArrayList<>(); public static final List<String> PLC2 = new ArrayList<>(); @@ -90,6 +91,7 @@ public static final String OP050= "OP050"; public static final String OP110= "OP110"; public static final String OP140= "OP140"; + public static final String OP070_1= "OP070-1"; } diff --git a/billion-main/src/main/java/com/billion/main/da/controller/DaMaterialCollectionController.java b/billion-main/src/main/java/com/billion/main/da/controller/DaMaterialCollectionController.java index 08dadb0..f298d40 100644 --- a/billion-main/src/main/java/com/billion/main/da/controller/DaMaterialCollectionController.java +++ b/billion-main/src/main/java/com/billion/main/da/controller/DaMaterialCollectionController.java @@ -1,25 +1,19 @@ package com.billion.main.da.controller; -import java.util.List; -import javax.servlet.http.HttpServletResponse; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; import com.billion.common.annotation.Log; import com.billion.common.core.controller.BaseController; import com.billion.common.core.domain.AjaxResult; +import com.billion.common.core.page.TableDataInfo; import com.billion.common.enums.BusinessType; +import com.billion.common.utils.poi.ExcelUtil; import com.billion.main.da.domain.DaMaterialCollection; import com.billion.main.da.service.IDaMaterialCollectionService; -import com.billion.common.utils.poi.ExcelUtil; -import com.billion.common.core.page.TableDataInfo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * 鐗╂枡閲囬泦Controller diff --git a/billion-main/src/main/java/com/billion/main/da/controller/DaParamCollectionController.java b/billion-main/src/main/java/com/billion/main/da/controller/DaParamCollectionController.java index b4c8d97..6e2da28 100644 --- a/billion-main/src/main/java/com/billion/main/da/controller/DaParamCollectionController.java +++ b/billion-main/src/main/java/com/billion/main/da/controller/DaParamCollectionController.java @@ -5,7 +5,6 @@ import com.billion.common.core.domain.AjaxResult; import com.billion.common.core.page.TableDataInfo; import com.billion.common.enums.BusinessType; -import com.billion.common.utils.DateUtils; import com.billion.common.utils.poi.ExcelUtil; import com.billion.main.da.domain.DaParamCollection; import com.billion.main.da.service.IDaParamCollectionService; @@ -72,8 +71,6 @@ @PostMapping public AjaxResult add(@RequestBody DaParamCollection daParamCollection) { - daParamCollection.setCreateBy(getUsername()); - daParamCollection.setCreateTime(DateUtils.getNowDate()); return toAjax(daParamCollectionService.insertDaParamCollection(daParamCollection)); } @@ -85,8 +82,6 @@ @PutMapping public AjaxResult edit(@RequestBody DaParamCollection daParamCollection) { - daParamCollection.setUpdateBy(getUsername()); - daParamCollection.setUpdateTime(DateUtils.getNowDate()); return toAjax(daParamCollectionService.updateDaParamCollection(daParamCollection)); } diff --git a/billion-main/src/main/java/com/billion/main/da/domain/DaParamCollection.java b/billion-main/src/main/java/com/billion/main/da/domain/DaParamCollection.java index 9f235dc..3a331cf 100644 --- a/billion-main/src/main/java/com/billion/main/da/domain/DaParamCollection.java +++ b/billion-main/src/main/java/com/billion/main/da/domain/DaParamCollection.java @@ -1,16 +1,8 @@ package com.billion.main.da.domain; -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.write.style.ColumnWidth; -import com.alibaba.excel.annotation.write.style.HeadFontStyle; -import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.billion.common.annotation.Excel; -import com.billion.main.common.BaseEntity; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @@ -21,42 +13,21 @@ * @date 2024-11-20 */ @Data -@ExcelIgnoreUnannotated -@ColumnWidth(16) -@HeadRowHeight(14) -@HeadFontStyle(fontHeightInPoints = 11) -public class DaParamCollection extends BaseEntity +public class DaParamCollection { private static final long serialVersionUID = 1L; /** 涓婚敭id */ private Long id; - /** 宸ュ崟缂栧彿 */ - @Excel(name = "宸ュ崟缂栧彿") - private String workOrderNo; - - private String repairFlag; - /** 鎬绘垚搴忓垪鍙� */ - @Excel(name = "绠变綋缂栫爜") + @Excel(name = "鎬绘垚搴忓垪鍙�") private String sfcCode; - - /** 浜у搧缂栧彿 */ - @Excel(name = "浜у搧缂栧彿") - private String productCode; - - /** 浜х嚎缂栧彿 */ - @Excel(name = "浜х嚎缂栧彿") - private String productionLine; /** 宸ヤ綅缂栧彿 */ @Excel(name = "宸ヤ綅缂栧彿") private String locationCode; - /** 璁惧缂栧彿 */ - @Excel(name = "璁惧缂栧彿") - private String equipmentNo; /** 鍙傛暟缂栫爜 */ @Excel(name = "鍙傛暟缂栫爜") @@ -66,295 +37,29 @@ @Excel(name = "鍙傛暟鍊�") private String paramValue; - /** 鍙傛暟涓婇檺 */ - @Excel(name = "鍙傛暟涓婇檺") - private String paramUpper; - /** 鍙傛暟涓嬮檺 */ - @Excel(name = "鍙傛暟涓嬮檺") - private String paramLower; - /** 鏍囧噯鍊� */ - @Excel(name = "鏍囧噯鍊�") - private String paramStandard; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "閲囬泦鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date collectTime; /** 閲囬泦鏃堕棿 */ - @Excel(name = "閲囬泦鏃堕棿") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date collectionTime; + @Excel(name = "閲囬泦鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date startTime; - /** 棰勭暀瀛楁1 */ - private String spareField1; - /** 棰勭暀瀛楁2 */ - private String spareField2; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "閲囬泦鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date stopTime; - /** 鍒涘缓鐢ㄦ埛 */ - private String createUser; - - /** 鏇存敼鐢ㄦ埛 */ - private String updateUser; - - /** 鐘舵�侊紙1鍚堟牸銆�2涓嶅悎鏍硷級 */ - @Excel(name = "鐘舵��", readConverterExp = "1=鍚堟牸銆�2涓嶅悎鏍�") - private String state; /** 鍙傛暟鍚嶇О */ @Excel(name = "鍙傛暟鍚嶇О") private String paramName; - /** 鍗曚綅 */ - @Excel(name = "鍗曚綅") - private String unit; - /** 绫诲瀷 */ - @Excel(name = "绫诲瀷") - private String type; - private String[] dateConditions; - private String startTime; - private String endTime; - - public String[] getDateConditions() { - return dateConditions; - } - - public void setDateConditions(String[] dateConditions) { - this.dateConditions = dateConditions; - } - - public String getStartTime() {return startTime;} - - public void setStartTime(String startTime) { - this.startTime = startTime; - } - - public String getEndTime() { - return endTime; - } - - public void setEndTime(String endTime) { - this.endTime = endTime; - } - public void setId(Long id) - { - this.id = id; - } - - public Long getId() - { - return id; - } - public void setWorkOrderNo(String workOrderNo) - { - this.workOrderNo = workOrderNo; - } - - public String getWorkOrderNo() - { - return workOrderNo; - } - public void setSfcCode(String sfcCode) - { - this.sfcCode = sfcCode; - } - - public String getSfcCode() - { - return sfcCode; - } - public void setProductCode(String productCode) - { - this.productCode = productCode; - } - - public String getProductCode() - { - return productCode; - } - public void setProductionLine(String productionLine) - { - this.productionLine = productionLine; - } - - public String getProductionLine() - { - return productionLine; - } - public void setLocationCode(String locationCode) - { - this.locationCode = locationCode; - } - - public String getLocationCode() - { - return locationCode; - } - public void setEquipmentNo(String equipmentNo) - { - this.equipmentNo = equipmentNo; - } - - public String getEquipmentNo() - { - return equipmentNo; - } - public void setParamCode(String paramCode) - { - this.paramCode = paramCode; - } - - public String getParamCode() - { - return paramCode; - } - public void setParamValue(String paramValue) - { - this.paramValue = paramValue; - } - - public String getParamValue() - { - return paramValue; - } - public void setParamUpper(String paramUpper) - { - this.paramUpper = paramUpper; - } - - public String getParamUpper() - { - return paramUpper; - } - public void setParamLower(String paramLower) - { - this.paramLower = paramLower; - } - - public String getParamLower() - { - return paramLower; - } - public void setParamStandard(String paramStandard) - { - this.paramStandard = paramStandard; - } - - public String getParamStandard() - { - return paramStandard; - } - public void setCollectionTime(Date collectionTime) - { - this.collectionTime = collectionTime; - } - - public Date getCollectionTime() - { - return collectionTime; - } - public void setSpareField1(String spareField1) - { - this.spareField1 = spareField1; - } - - public String getSpareField1() - { - return spareField1; - } - public void setSpareField2(String spareField2) - { - this.spareField2 = spareField2; - } - - public String getSpareField2() - { - return spareField2; - } - public void setCreateUser(String createUser) - { - this.createUser = createUser; - } - - public String getCreateUser() - { - return createUser; - } - public void setUpdateUser(String updateUser) - { - this.updateUser = updateUser; - } - - public String getUpdateUser() - { - return updateUser; - } - public void setState(String state) - { - this.state = state; - } - - public String getState() - { - return state; - } - public void setParamName(String paramName) - { - this.paramName = paramName; - } - - public String getParamName() - { - return paramName; - } - public void setUnit(String unit) - { - this.unit = unit; - } - - public String getUnit() - { - return unit; - } - public void setType(String type) - { - this.type = type; - } - - public String getType() - { - return type; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("workOrderNo", getWorkOrderNo()) - .append("sfcCode", getSfcCode()) - .append("productCode", getProductCode()) - .append("productionLine", getProductionLine()) - .append("locationCode", getLocationCode()) - .append("equipmentNo", getEquipmentNo()) - .append("paramCode", getParamCode()) - .append("paramValue", getParamValue()) - .append("paramUpper", getParamUpper()) - .append("paramLower", getParamLower()) - .append("paramStandard", getParamStandard()) - .append("collectionTime", getCollectionTime()) - .append("spareField1", getSpareField1()) - .append("spareField2", getSpareField2()) - .append("createUser", getCreateUser()) - .append("createTime", getCreateTime()) - .append("updateUser", getUpdateUser()) - .append("updateTime", getUpdateTime()) - .append("state", getState()) - .append("paramName", getParamName()) - .append("unit", getUnit()) - .append("type", getType()) - .toString(); - } } diff --git a/billion-main/src/main/java/com/billion/main/da/domain/DaStationCollection.java b/billion-main/src/main/java/com/billion/main/da/domain/DaStationCollection.java index d2e301c..176d4a1 100644 --- a/billion-main/src/main/java/com/billion/main/da/domain/DaStationCollection.java +++ b/billion-main/src/main/java/com/billion/main/da/domain/DaStationCollection.java @@ -1,7 +1,6 @@ package com.billion.main.da.domain; import com.billion.common.annotation.Excel; -import com.billion.main.common.BaseEntity; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; @@ -14,7 +13,7 @@ * @date 2025-02-12 */ @Data -public class DaStationCollection extends BaseEntity +public class DaStationCollection { private static final long serialVersionUID = 1L; diff --git a/billion-main/src/main/java/com/billion/main/da/service/impl/DaParamCollectionServiceImpl.java b/billion-main/src/main/java/com/billion/main/da/service/impl/DaParamCollectionServiceImpl.java index 1fb1c1a..493b61c 100644 --- a/billion-main/src/main/java/com/billion/main/da/service/impl/DaParamCollectionServiceImpl.java +++ b/billion-main/src/main/java/com/billion/main/da/service/impl/DaParamCollectionServiceImpl.java @@ -1,6 +1,5 @@ package com.billion.main.da.service.impl; -import com.billion.common.utils.DateUtils; import com.billion.main.da.domain.DaParamCollection; import com.billion.main.da.mapper.DaParamCollectionMapper; import com.billion.main.da.service.IDaParamCollectionService; @@ -54,11 +53,6 @@ @Override public List<DaParamCollection> selectDaParamCollectionList(DaParamCollection daParamCollection) { - if(daParamCollection.getDateConditions()!=null){ - String[] conditions = daParamCollection.getDateConditions(); - daParamCollection.setStartTime(conditions[0]); - daParamCollection.setEndTime(conditions[1]); - } return daParamCollectionMapper.selectDaParamCollectionList(daParamCollection); } @@ -71,7 +65,6 @@ @Override public int insertDaParamCollection(DaParamCollection daParamCollection) { - daParamCollection.setCreateTime(DateUtils.getNowDate()); return daParamCollectionMapper.insertDaParamCollection(daParamCollection); } diff --git a/billion-main/src/main/java/com/billion/main/om/domain/OmOrderScheduling.java b/billion-main/src/main/java/com/billion/main/om/domain/OmOrderScheduling.java index 461b93c..b00837b 100644 --- a/billion-main/src/main/java/com/billion/main/om/domain/OmOrderScheduling.java +++ b/billion-main/src/main/java/com/billion/main/om/domain/OmOrderScheduling.java @@ -57,6 +57,20 @@ /** 褰撳墠璁㈠崟宸蹭笂绾挎暟閲� */ @Excel(name = "褰撳墠璁㈠崟宸蹭笂绾挎暟閲�") - private Long nowQty; + private String nowQty; + + /** 鍒涘缓鑰� */ + private String createBy; + + /** 鍒涘缓鏃堕棿 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + /** 鏇存柊鑰� */ + private String updateBy; + + /** 鏇存柊鏃堕棿 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; } diff --git a/billion-main/src/main/java/com/billion/main/om/domain/OmProductionOrderInfo.java b/billion-main/src/main/java/com/billion/main/om/domain/OmProductionOrderInfo.java index 750c239..9d67aa0 100644 --- a/billion-main/src/main/java/com/billion/main/om/domain/OmProductionOrderInfo.java +++ b/billion-main/src/main/java/com/billion/main/om/domain/OmProductionOrderInfo.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.billion.common.annotation.Excel; +import com.billion.main.common.BaseEntity; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; @@ -14,7 +15,7 @@ * @date 2024-11-20 */ @Data -public class OmProductionOrderInfo +public class OmProductionOrderInfo extends BaseEntity { @TableId /** 涓婚敭id */ diff --git a/billion-main/src/main/java/com/billion/main/om/service/impl/OmOrderSchedulingServiceImpl.java b/billion-main/src/main/java/com/billion/main/om/service/impl/OmOrderSchedulingServiceImpl.java index ff9edec..3f2beea 100644 --- a/billion-main/src/main/java/com/billion/main/om/service/impl/OmOrderSchedulingServiceImpl.java +++ b/billion-main/src/main/java/com/billion/main/om/service/impl/OmOrderSchedulingServiceImpl.java @@ -1,20 +1,13 @@ package com.billion.main.om.service.impl; -import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.billion.common.core.domain.entity.SysUser; -import com.billion.common.core.domain.model.LoginUser; -import com.billion.common.exception.ServiceException; -import com.billion.common.utils.SecurityUtils; +import com.billion.common.utils.DateUtils; import com.billion.main.om.domain.OmOrderScheduling; import com.billion.main.om.mapper.OmOrderSchedulingMapper; import com.billion.main.om.service.IOmOrderSchedulingService; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.text.MessageFormat; -import java.util.Date; import java.util.List; /** @@ -62,17 +55,19 @@ @Override public int insertOmOrderScheduling(OmOrderScheduling omOrderScheduling) { - List<OmOrderScheduling> list = this.list(new LambdaQueryWrapper<OmOrderScheduling>().eq(OmOrderScheduling::getSfcCode, omOrderScheduling.getSfcCode())); - if (CollUtil.isNotEmpty(list)){ - throw new ServiceException(MessageFormat.format("宸插瓨鍦ㄦ�绘垚搴忓垪鍙蜂负{0}鐨勬暟鎹�",omOrderScheduling.getSfcCode())); - } - LoginUser loginUser = SecurityUtils.getLoginUser(); - SysUser user = loginUser.getUser(); - omOrderScheduling.setCreateTime(new Date()); - omOrderScheduling.setUpdateTime(new Date()); - omOrderScheduling.setCreateBy(user.getUserName()); - omOrderScheduling.setUpdateBy(user.getUserName()); - return omOrderSchedulingMapper.insertOmOrderScheduling(omOrderScheduling); + omOrderScheduling.setUpdateTime(DateUtils.getNowDate()); + return omOrderSchedulingMapper.updateOmOrderScheduling(omOrderScheduling); +// List<OmOrderScheduling> list = this.list(new LambdaQueryWrapper<OmOrderScheduling>().eq(OmOrderScheduling::getSfcCode, omOrderScheduling.getSfcCode())); +// if (CollUtil.isNotEmpty(list)){ +// throw new ServiceException(MessageFormat.format("宸插瓨鍦ㄦ�绘垚搴忓垪鍙蜂负{0}鐨勬暟鎹�",omOrderScheduling.getSfcCode())); +// } +// LoginUser loginUser = SecurityUtils.getLoginUser(); +// SysUser user = loginUser.getUser(); +// omOrderScheduling.setCreateTime(new Date()); +// omOrderScheduling.setUpdateTime(new Date()); +// omOrderScheduling.setCreateBy(user.getUserName()); +// omOrderScheduling.setUpdateBy(user.getUserName()); +// return omOrderSchedulingMapper.insertOmOrderScheduling(omOrderScheduling); } /** @@ -84,17 +79,19 @@ @Override public int updateOmOrderScheduling(OmOrderScheduling omOrderScheduling) { - List<OmOrderScheduling> list = this.list(new LambdaQueryWrapper<OmOrderScheduling>() - .eq(OmOrderScheduling::getSfcCode, omOrderScheduling.getSfcCode()) - .notIn(OmOrderScheduling::getId,omOrderScheduling.getId())); - if (CollUtil.isNotEmpty(list)){ - throw new ServiceException(MessageFormat.format("宸插瓨鍦ㄦ�绘垚搴忓垪鍙蜂负{0}鐨勬暟鎹�",omOrderScheduling.getSfcCode())); - } - LoginUser loginUser = SecurityUtils.getLoginUser(); - SysUser user = loginUser.getUser(); - omOrderScheduling.setUpdateTime(new Date()); - omOrderScheduling.setUpdateBy(user.getUserName()); + omOrderScheduling.setUpdateTime(DateUtils.getNowDate()); return omOrderSchedulingMapper.updateOmOrderScheduling(omOrderScheduling); +// List<OmOrderScheduling> list = this.list(new LambdaQueryWrapper<OmOrderScheduling>() +// .eq(OmOrderScheduling::getSfcCode, omOrderScheduling.getSfcCode()) +// .notIn(OmOrderScheduling::getId,omOrderScheduling.getId())); +// if (CollUtil.isNotEmpty(list)){ +// throw new ServiceException(MessageFormat.format("宸插瓨鍦ㄦ�绘垚搴忓垪鍙蜂负{0}鐨勬暟鎹�",omOrderScheduling.getSfcCode())); +// } +// LoginUser loginUser = SecurityUtils.getLoginUser(); +// SysUser user = loginUser.getUser(); +// omOrderScheduling.setUpdateTime(new Date()); +// omOrderScheduling.setUpdateBy(user.getUserName()); +// return omOrderSchedulingMapper.updateOmOrderScheduling(omOrderScheduling); } /** diff --git a/billion-main/src/main/java/com/billion/main/om/service/impl/OmProductionOrderInfoServiceImpl.java b/billion-main/src/main/java/com/billion/main/om/service/impl/OmProductionOrderInfoServiceImpl.java index f540144..0b4288e 100644 --- a/billion-main/src/main/java/com/billion/main/om/service/impl/OmProductionOrderInfoServiceImpl.java +++ b/billion-main/src/main/java/com/billion/main/om/service/impl/OmProductionOrderInfoServiceImpl.java @@ -3,17 +3,15 @@ import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.billion.common.core.domain.entity.SysUser; -import com.billion.common.core.domain.model.LoginUser; import com.billion.common.exception.ServiceException; -import com.billion.common.utils.SecurityUtils; +import com.billion.common.utils.DateUtils; import com.billion.main.om.domain.OmProductionOrderInfo; import com.billion.main.om.mapper.OmProductionOrderInfoMapper; import com.billion.main.om.service.IOmProductionOrderInfoService; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.*; +import java.util.List; /** * 鐢熶骇宸ュ崟Service涓氬姟灞傚鐞� @@ -129,20 +127,16 @@ @Override public int updateOmProductionOrderInfo(OmProductionOrderInfo omProductionOrderInfo) { - Collection<Long> omProductionOrderInfoIds = Collections.emptyList(); - List<OmProductionOrderInfo> checkList = this.list(new LambdaQueryWrapper<OmProductionOrderInfo>() - .eq(OmProductionOrderInfo::getWorkOrderNo, omProductionOrderInfo.getWorkOrderNo()) - .notIn(OmProductionOrderInfo::getId, omProductionOrderInfoIds)); -// .stream().filter(x -> !x.getId().equals(omProductionOrderInfo.getId())) -// .collect(Collectors.toList()); - if (CollUtil.isNotEmpty(checkList)){ - throw new ServiceException("宸插瓨鍦ㄥ伐鍗曠紪鍙蜂负"+omProductionOrderInfo.getWorkOrderNo()+"鐨勬暟鎹�"); - } - LoginUser loginUser = SecurityUtils.getLoginUser(); - SysUser user = loginUser.getUser(); - omProductionOrderInfo.setUpdateTime(new Date()); - omProductionOrderInfo.setUpdateBy(user.getUserName()); - return OmProductionOrderInfoMapper.updateOmProductionOrderInfo(omProductionOrderInfo); +// Collection<Long> omProductionOrderInfoIds = Collections.emptyList(); +// List<OmProductionOrderInfo> checkList = this.list(new LambdaQueryWrapper<OmProductionOrderInfo>() +// .eq(OmProductionOrderInfo::getWorkOrderNo, omProductionOrderInfo.getWorkOrderNo()) +// .notIn(OmProductionOrderInfo::getId, omProductionOrderInfoIds)); +// if (CollUtil.isNotEmpty(checkList)){ +// throw new ServiceException("宸插瓨鍦ㄥ伐鍗曠紪鍙蜂负"+omProductionOrderInfo.getWorkOrderNo()+"鐨勬暟鎹�"); +// } +// return OmProductionOrderInfoMapper.updateOmProductionOrderInfo(omProductionOrderInfo); + omProductionOrderInfo.setUpdateTime(DateUtils.getNowDate()); + return OmProductionOrderInfoMapper.updateOmProductionOrderInfo(omProductionOrderInfo); } /** diff --git a/billion-main/src/main/java/com/billion/main/plcServer/CustomRunner.java b/billion-main/src/main/java/com/billion/main/plcServer/CustomRunner.java index 69cf86b..42a8e86 100644 --- a/billion-main/src/main/java/com/billion/main/plcServer/CustomRunner.java +++ b/billion-main/src/main/java/com/billion/main/plcServer/CustomRunner.java @@ -22,13 +22,10 @@ public class CustomRunner implements ApplicationRunner { @Autowired private MiloService miloService; - @Autowired public IDaParamCollectionService daParamCollectionService; - @Autowired public IDaStationCollectionService daStationCollectionService; - @Autowired public IOmProductionOrderInfoService omProductionOrderInfoService; @Autowired @@ -50,7 +47,6 @@ Constants.PLC1.add(Constants.C020); Constants.PLC1.add(Constants.C030); Constants.PLC1.add(Constants.C050); - Constants.PLC1.add(Constants.C060); //PLC2璁惧//鎺掓煡涓婁笅绾� Constants.PLC2.add(Constants.OP005); Constants.PLC2.add(Constants.OP010); @@ -109,15 +105,18 @@ Constants.PLC4.add(Constants.OP030); Constants.PLC4.add(Constants.OP050); Constants.PLC4.add(Constants.OP110); + Constants.PLC4.add(Constants.OP070_1); Constants.PLC4.add(Constants.OP140); - //涓婄嚎宸ヤ綅 Constants.ONLINE.add(Constants.C005); Constants.ONLINE.add(Constants.OP005); //涓嬬嚎宸ヤ綅 - Constants.OFFLINE.add(Constants.C070); + Constants.OFFLINE.add(Constants.C060); Constants.OFFLINE.add(Constants.OP310); - Constants.OFFLINE.add(Constants.P010); + + + + OPCUaSubscription OPCUaSubscription = new OPCUaSubscription(miloService, daParamCollectionService, @@ -145,10 +144,10 @@ lists.add("PLC1.C030.RecordData"); lists.add("PLC1.C050.RecordData"); lists.add("PLC1.C060.RecordData"); - lists.add("PLC1.C070.RecordData"); //PLC2 lists.add("PLC2.OP005.RecordData"); - lists.add("PLC2.OP010.WorkOrderRequest");//璇锋眰宸ュ崟 + lists.add("PLC2.OP005.WorkOrderRequest");//璇锋眰宸ュ崟 + lists.add("PLC2.OP010.RecordData"); lists.add("PLC2.OP020.RecordData"); lists.add("PLC2.OP040.RecordData"); lists.add("PLC2.OP045.RecordData"); @@ -205,12 +204,20 @@ lists.add("PLC4.C040.RecordData"); lists.add("PLC4.OP030.RecordData"); lists.add("PLC4.OP050.RecordData"); - lists.add("PLC4.OP070.RecordData"); + lists.add("PLC4.OP070_1.RecordData"); lists.add("PLC3.OP110.RecordData"); lists.add("PLC3.OP140.RecordData"); - - +// //TEST +// lists.add("TEST.C005.RecordData"); +// lists.add("TEST.C005.WorkOrderRequest"); +// lists.add("TEST.C060.RecordData"); +// lists.add("TEST.OP005.RecordData"); +// lists.add("TEST.OP005.WorkOrderRequest"); +// lists.add("TEST.OP010.RecordData"); +// lists.add("TEST.OP310.RecordData"); +// lists.add("TEST.P010.RecordData"); +// lists.add("TEST.P010.WorkOrderRequest"); return lists; } diff --git a/billion-main/src/main/java/com/billion/main/plcServer/conf/OPCElement.java b/billion-main/src/main/java/com/billion/main/plcServer/conf/OPCElement.java index 203126c..8187bcf 100644 --- a/billion-main/src/main/java/com/billion/main/plcServer/conf/OPCElement.java +++ b/billion-main/src/main/java/com/billion/main/plcServer/conf/OPCElement.java @@ -7,13 +7,6 @@ public class OPCElement { - /** - * C005 - */ - - - public static final String PLC1_C005_RecordData = "PLC1.C005.RecordData";//璇锋眰璁板綍鏁版嵁 - public static final String PLC1_C005_WorkOrderRequest = "PLC1.C005.WorkOrderRequest";//璇锋眰鎷х揣鏁版嵁 } \ No newline at end of file diff --git a/billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java b/billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java index ae93b4b..20c97d0 100644 --- a/billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java +++ b/billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java @@ -1,7 +1,6 @@ package com.billion.main.plcServer.sub; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.billion.common.utils.StringUtils; import com.billion.main.bs.domain.BsBomChildInfo; import com.billion.main.bs.service.IBsBomChildInfoService; import com.billion.main.constant.Constants; @@ -17,6 +16,7 @@ import com.billion.main.om.domain.OmProductionOrderInfo; import com.billion.main.om.service.IOmOrderSchedulingService; import com.billion.main.om.service.IOmProductionOrderInfoService; +import com.billion.main.plcServer.util.TimeUtil; import com.billion.main.sys.domain.SysCount; import com.billion.main.sys.service.ISysCountService; import com.kangaroohy.milo.model.ReadWriteEntity; @@ -25,6 +25,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; +import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.util.Date; import java.util.List; @@ -33,6 +34,8 @@ @Slf4j @Component public class OPCUaSubscription implements SubscriptionCallback { + + public static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public static MiloService miloService; public IDaParamCollectionService daParamCollectionService; public IDaStationCollectionService daStationCollectionService; @@ -89,32 +92,40 @@ if (Constants.RecordData.equals(tab)){ //宸ョ珯浜や簰鍒濆鍖� if (Constants.ZERO.equals(valueString)){ - miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value("0").build()); + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(0).build()); //璇锋眰杩涚珯 } else if (Constants.ONE.equals(valueString)){ //1.1//棣栧伐绔� - if(Constants.C005.equals(device) || Constants.OP005.equals(device) || Constants.P010.equals(device)){ - miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value("11").build()); + if(Constants.ONLINE.contains(device)){ + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(11).build()); } - ///////闄ら宸ョ珯鎵�鏈夊伐绔� - else if(Constants.PLC1.contains(device) && Constants.OP310.contains(device)){ + //闄ら宸ョ珯鎵�鏈夊伐绔� + else if( + Constants.PLC1.contains(device) || + Constants.PLC2.contains(device) || + Constants.PLC3.contains(device) || + Constants.PLC4.contains(device) || + Constants.OFFLINE.contains(device) + ){ //鏍¢獙SFCCode鏄惁瀛樺湪 Object SFCCode = miloService.readFromOpcUa(thoroughfare + "." + device + ".SFCCode").getValue(); - Object PalletID = miloService.readFromOpcUa(thoroughfare + "." + device + ".PalletID").getValue(); if (SFCCode == null ) { - miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value("23").build()); + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(13).build()); } else { OmOrderScheduling omOrderScheduling = new OmOrderScheduling(); - omOrderScheduling.setRemarks(PalletID.toString()); + omOrderScheduling.setSfcCode(SFCCode.toString()); List<OmOrderScheduling> resultList = omOrderSchedulingService.selectOmOrderSchedulingList(omOrderScheduling); - log.info("鏌ヨ缁撴灉鏁伴噺: {}", resultList); - BsBomChildInfo bsbomChildInfo= new BsBomChildInfo(); - bsbomChildInfo.setLocationCode(device); - bsbomChildInfo.setBomCode(resultList.get(0).getWorkOrderNo()); - //涓嬪彂閰嶆柟 - formula(thoroughfare, device, bsbomChildInfo); - miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value("11").build()); - + if(resultList != null){ + String getWorkOrderNo = resultList.get(0).getWorkOrderNo(); + BsBomChildInfo bsbomChildInfo= new BsBomChildInfo(); + bsbomChildInfo.setLocationCode(device); + bsbomChildInfo.setBomCode(getWorkOrderNo); + //涓嬪彂閰嶆柟 + formula(thoroughfare, device, bsbomChildInfo); + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(11).build()); + }else { + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(13).build()); + } } } //鍑虹珯淇濆瓨鏁版嵁 @@ -123,22 +134,44 @@ OmOrderScheduling omOrderScheduling = new OmOrderScheduling(); Object SFCCode = miloService.readFromOpcUa(thoroughfare + "." + device + ".SFCCode").getValue(); //涓婄嚎宸ヤ綅 +// if(Constants.ONLINE.contains(device) || Constants.TEST.equals(device) ){ if(Constants.ONLINE.contains(device)){ Object workOrderNumber = miloService.readFromOpcUa(thoroughfare + "." + device + ".WorkOrderNumber").getValue(); Object nowQty = miloService.readFromOpcUa(thoroughfare + "." + device + ".PalletID").getValue(); omOrderScheduling.setWorkOrderNo(workOrderNumber.toString()); - omOrderScheduling.setNowQty((Long) nowQty); + omOrderScheduling.setNowQty(nowQty.toString()); omOrderScheduling.setSfcCode(SFCCode.toString()); + Date Time = new Date(); + ReadWriteEntity TimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StartTime"); + Time = format.parse(TimeUtil.test(TimeUtil.stringProcessing(TimeRead.getValue().toString()))); + omOrderScheduling.setOnlineTime(Time); + omOrderScheduling.setStatus("1"); //鎵樼洏缁戝畾SFCCode鍜屽伐鍗曞拰浜х嚎 if(Constants.OP005.equals(device)){ + omProductionOrderInfoService.updateBodyStatus1(); omOrderScheduling.setRemarks("Body"); + sysCountService.updateSerialNumber(); + OmProductionOrderInfo getBodyOrder2 = omProductionOrderInfoService.getBodyOrder(); + if (Objects.equals(getBodyOrder2.getBodyQty(), getBodyOrder2.getPlanQty())){ + omProductionOrderInfoService.updateBodyStatus2(); + } } if(Constants.C005.equals(device)){ + omProductionOrderInfoService.updateHeadStatus1(); omOrderScheduling.setRemarks("Head"); + sysCountService.updateHeadNumber(); + OmProductionOrderInfo getHeadOrder2 = omProductionOrderInfoService.getHeadOrder(); + if (Objects.equals(getHeadOrder2.getHeadQty(), getHeadOrder2.getPlanQty())){ + omProductionOrderInfoService.updateHeadStatus2(); + } } omOrderSchedulingService.insertOmOrderScheduling(omOrderScheduling); }else if(Constants.OFFLINE.contains(device)){ - if(Constants.C070.equals(device)){ + Date Time = new Date(); + ReadWriteEntity TimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StopTime"); + Time = format.parse(TimeUtil.test(TimeUtil.stringProcessing(TimeRead.getValue().toString()))); + omOrderScheduling.setOfflineTime(Time); + if(Constants.C060.equals(device)){ omOrderScheduling.setRemarks("Head"); omOrderScheduling.setSfcCode(SFCCode.toString()); List<OmOrderScheduling> omOrderSchedulingList = omOrderSchedulingService.selectOmOrderSchedulingList(omOrderScheduling); @@ -148,12 +181,9 @@ List<OmProductionOrderInfo> omProductionOrderInfoList = omProductionOrderInfoService.selectOmProductionOrderInfoList(omProductionOrderInfo); Object headQty = omProductionOrderInfoList.get(0).getHeadQty(); if (nowQty == headQty){ -// omProductionOrderInfoList.get(0).setHeadStatus("3"); -// omProductionOrderInfoService.updateOmProductionOrderInfo(omProductionOrderInfoList.get(0)); - UpdateWrapper<OmProductionOrderInfo> updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("work_order_no", omProductionOrderInfoList.get(0).getWorkOrderNo()); - updateWrapper.set("body_status", "3"); + updateWrapper.set("head_status", "2"); omProductionOrderInfoService.update(new OmProductionOrderInfo(),updateWrapper); } } else if (Constants.OP310.equals(device)) { @@ -166,17 +196,17 @@ List<OmProductionOrderInfo> omProductionOrderInfoList = omProductionOrderInfoService.selectOmProductionOrderInfoList(omProductionOrderInfo); Object bodyQty = omProductionOrderInfoList.get(0).getBodyQty(); if (nowQty == bodyQty){ - omProductionOrderInfoList.get(0).setBodyStatus("3"); - - - omProductionOrderInfoService.updateOmProductionOrderInfo(omProductionOrderInfoList.get(0)); + UpdateWrapper<OmProductionOrderInfo> updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("work_order_no", omProductionOrderInfoList.get(0).getWorkOrderNo()); + updateWrapper.set("body_status", "2"); + omProductionOrderInfoService.update(new OmProductionOrderInfo(),updateWrapper); } } } else if (Constants.P010.equals(device)) { Object workOrderNumber = miloService.readFromOpcUa(thoroughfare + "." + device + ".WorkOrderNumber").getValue(); Object nowQty = miloService.readFromOpcUa(thoroughfare + "." + device + ".PalletID").getValue(); omOrderScheduling.setWorkOrderNo(workOrderNumber.toString()); - omOrderScheduling.setNowQty((Long) nowQty); + omOrderScheduling.setNowQty(nowQty.toString()); omOrderScheduling.setSfcCode(SFCCode.toString()); omOrderScheduling.setRemarks("Pre"); omOrderSchedulingService.insertOmOrderScheduling(omOrderScheduling); @@ -186,11 +216,17 @@ List<OmProductionOrderInfo> omProductionOrderInfoList = omProductionOrderInfoService.selectOmProductionOrderInfoList(omProductionOrderInfo); Object preQty = omProductionOrderInfoList.get(0).getPreQty(); if (nowQty == preQty){ - omProductionOrderInfoList.get(0).setPreStatus("3"); + UpdateWrapper<OmProductionOrderInfo> updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("work_order_no", omProductionOrderInfoList.get(0).getWorkOrderNo()); + updateWrapper.set("pre_status", "2"); + omProductionOrderInfoService.update(new OmProductionOrderInfo(),updateWrapper); + } - - omProductionOrderInfoService.updateOmProductionOrderInfo(omProductionOrderInfoList.get(0)); - + sysCountService.updatePreNumber(); + omProductionOrderInfoService.updatePreStatus1(); + OmProductionOrderInfo getPreOrder2 = omProductionOrderInfoService.getPreOrder(); + if (Objects.equals(getPreOrder2.getPreQty(), getPreOrder2.getPlanQty())){ + omProductionOrderInfoService.updatePreStatus2(); } } //鏌ヨdescriptive瀛楁绛変簬1鐨勯噰闆嗛」淇濆瓨鍒版壂鐮佷繚瀛樺埌da_material_collection琛ㄩ噷 @@ -200,46 +236,70 @@ List<DaCollectionParamConf> daCollectionParamConfList1 = daCollectionParamConfService.selectDaCollectionParamConfList(daCollectionParamConf1); for (DaCollectionParamConf conf : daCollectionParamConfList1) { String gatherAddress = conf.getGatherAddress(); - Object valueObj = miloService.readFromOpcUa(gatherAddress).getValue(); // 鑾峰彇鍘熷鍊煎璞♀��:ml-citation{ref="4" data="citationList"} - if (valueObj == null || StringUtils.isEmpty(valueObj.toString())) { - log.warn("閲囬泦鍦板潃{}杩斿洖绌哄�硷紝璺宠繃瀛樺偍", gatherAddress); - continue; // 缁堟褰撳墠寰幆杩唬鈥�:ml-citation{ref="1,2" data="citationList"} + + String valueObj = null; + ReadWriteEntity entity = miloService.readFromOpcUa(gatherAddress); + if (entity != null) { + Object value = entity.getValue(); + if (value != null) { + valueObj = value.toString(); // 鏈�缁堣祴鍊� + if (!Objects.equals(valueObj, " ")) { + DaMaterialCollection materialCollection = new DaMaterialCollection(); + materialCollection.setSfcCode(SFCCode.toString()); + materialCollection.setLocationCode(device); + materialCollection.setParamName(conf.getParameterSetName()); + materialCollection.setParamValue(miloService.readFromOpcUa(gatherAddress).getValue().toString()); + Date Time = new Date(); + ReadWriteEntity TimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StopTime"); + Time = format.parse(TimeUtil.test(TimeUtil.stringProcessing(TimeRead.getValue().toString()))); + materialCollection.setCollectTime(Time); + daMaterialCollectionService.insertDaMaterialCollection(materialCollection); + } + else { + log.debug("閲囬泦椤逛负绌�: {}", gatherAddress); + } + } } - DaMaterialCollection materialCollection = new DaMaterialCollection(); - materialCollection.setSfcCode(SFCCode.toString()); - materialCollection.setLocationCode(device); - materialCollection.setParamName(conf.getParameterSetName()); - materialCollection.setParamValue((String) miloService.readFromOpcUa(gatherAddress).getValue()); - materialCollection.setCollectTime(new Date()); - daMaterialCollectionService.insertDaMaterialCollection(materialCollection); } - //鏌ヨdescriptive瀛楁绛変簬2鐨勯噰闆嗛」淇濆瓨鍒版壂鐮佷繚瀛樺埌da_param_collection琛ㄩ噷 +// 鏌ヨdescriptive瀛楁绛変簬2鐨勯噰闆嗛」淇濆瓨鍒版壂鐮佷繚瀛樺埌da_param_collection琛ㄩ噷 DaCollectionParamConf daCollectionParamConf2 = new DaCollectionParamConf(); daCollectionParamConf2.setProcessesCode(device); daCollectionParamConf2.setDescriptive("2"); List<DaCollectionParamConf> daCollectionParamConfList2 = daCollectionParamConfService.selectDaCollectionParamConfList(daCollectionParamConf2); for (DaCollectionParamConf conf : daCollectionParamConfList2) { String gatherAddress = conf.getGatherAddress(); - Object valueObj = miloService.readFromOpcUa(gatherAddress).getValue(); // 鑾峰彇鍘熷鍊煎璞♀��:ml-citation{ref="4" data="citationList"} - if (valueObj == null || StringUtils.isEmpty(valueObj.toString())) { - log.warn("閲囬泦鍦板潃{}杩斿洖绌哄�硷紝璺宠繃瀛樺偍", gatherAddress); - continue; // 缁堟褰撳墠寰幆杩唬鈥�:ml-citation{ref="1,2" data="citationList"} + String valueObj = miloService.readFromOpcUa(gatherAddress).getValue().toString(); // 鑾峰彇鍘熷鍊煎璞♀��:ml-citation{ref="4" data="citationList"} + if (!Objects.equals(valueObj, "0.0") && !Objects.equals(valueObj, "0")) { + DaParamCollection paramCollection = new DaParamCollection(); + paramCollection.setSfcCode(SFCCode.toString()); + paramCollection.setLocationCode(device); + paramCollection.setParamName(conf.getParameterSetName()); + paramCollection.setParamValue(miloService.readFromOpcUa(gatherAddress).getValue().toString()); + Date Time = new Date(); + ReadWriteEntity TimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StopTime"); + Time = format.parse(TimeUtil.test(TimeUtil.stringProcessing(TimeRead.getValue().toString()))); + paramCollection.setCollectTime(Time); + daParamCollectionService.insertDaParamCollection(paramCollection); } - DaParamCollection paramCollection = new DaParamCollection(); - paramCollection.setSfcCode(SFCCode.toString()); - paramCollection.setLocationCode(device); - paramCollection.setParamName(conf.getParameterSetName()); - paramCollection.setParamValue((String) miloService.readFromOpcUa(gatherAddress).getValue()); - paramCollection.setCollectionTime(new Date()); - daParamCollectionService.insertDaParamCollection(paramCollection); + else { + log.debug("閲囬泦椤逛负绌�: {}", gatherAddress); + } } DaStationCollection daStationCollection = new DaStationCollection(); daStationCollection.setLocationCode(device); daStationCollection.setSfcCode(SFCCode.toString()); - daStationCollection.setInboundTime((Date) miloService.readFromOpcUa(thoroughfare + "." + device + ".StartTime").getValue()); - daStationCollection.setOutboundTime((Date) miloService.readFromOpcUa(thoroughfare + "." + device + ".StopTime").getValue()); + Object StationStatus = miloService.readFromOpcUa(thoroughfare + "." + device + ".StationStatus").getValue(); + Date startTime = new Date(); + ReadWriteEntity startTimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StartTime");//杩涚珯鏃堕棿 + startTime = format.parse(TimeUtil.test(TimeUtil.stringProcessing(startTimeRead.getValue().toString()))); + daStationCollection.setInboundTime( startTime); + Date stopTime = new Date(); + ReadWriteEntity stopTimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StopTime");//杩涚珯鏃堕棿 + stopTime = format.parse(TimeUtil.test(TimeUtil.stringProcessing(stopTimeRead.getValue().toString()))); + daStationCollection.setOutboundTime( stopTime); + daStationCollection.setStatus(StationStatus.toString()); daStationCollectionService.insertDaStationCollection(daStationCollection); - miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value("21").build()); + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(21).build()); } } } @@ -247,13 +307,14 @@ log.error(e.getMessage()); } } + //棣栧伐绔欎笅鍙戝伐鍗�,骞剁敓鎴怱N鐮� private static final String[] MONTH = {"A","B","C","D","E","F","G","H","I","J","K","L"}; public void plackWorkOrder(String thoroughfare, String device, String tab, String valueString) { try { if (Constants.WorkOrderRequest.equals(tab)) { if (Constants.ZERO.equals(valueString)) { - miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value("0").build()); + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(0).build()); }else if (Constants.ONE.equals(valueString)){ if (Constants.OP005.equals(device)){ // 鏌ヨ鏁版嵁搴撹幏鍙栫鍚堟潯浠剁殑璁㈠崟淇℃伅 @@ -262,7 +323,6 @@ //鍒ゆ柇褰撳墠涓嬪彂鏁伴噺鏄惁婊¤冻璁″垝鏁伴噺 //鏇存柊宸ュ崟鐘舵�� miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderNumber").value(getBodyOrder.getWorkOrderNo()).build()); - miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ProductionPlan").value(String.valueOf(getBodyOrder.getPlanQty())).build()); miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".EngineType").value(getBodyOrder.getEngineType()).build()); //鐢熸垚sn鐮� SysCount serialNumber = sysCountService.getSerialNumber(); @@ -276,7 +336,6 @@ String SFCCode = A1 + A2 + A3+ A4 + A5; miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build()); miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".MESSFCCode").value(SFCCode).build()); - sysCountService.updateSerialNumber(); }else{ sysCountService.clean(); sysCountService.updateYear(); @@ -288,7 +347,6 @@ String SFCCode = A1 + A2 + newA3+ A4 + A5; miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build()); miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".MESSFCCode").value(SFCCode).build()); - sysCountService.updateSerialNumber(); } // 鏇存柊 WorkOrderRequestDone 鍦板潃鍧� BsBomChildInfo bsbomChildInfo= new BsBomChildInfo(); @@ -296,15 +354,19 @@ bsbomChildInfo.setBomCode(getBodyOrder.getWorkOrderNo()); //鍙戜笅宸ヨ壓閰嶆柟 formula(thoroughfare, device, bsbomChildInfo); - omProductionOrderInfoService.updateBodyStatus1(); +// omProductionOrderInfoService.updateBodyStatus1(); //鍒ゆ柇缂镐綋宸ュ崟瀹屾垚 - OmProductionOrderInfo getBodyOrder2 = omProductionOrderInfoService.getBodyOrder(); - if (Objects.equals(getBodyOrder2.getBodyQty(), getBodyOrder2.getPlanQty())){ - omProductionOrderInfoService.updateBodyStatus2(); - } - miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".PalletID").value(getBodyOrder2.getBodyQty()).build()); - miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value("11").build()); +// OmProductionOrderInfo getBodyOrder2 = omProductionOrderInfoService.getBodyOrder(); +// if (Objects.equals(getBodyOrder2.getBodyQty(), getBodyOrder2.getPlanQty())){ +// omProductionOrderInfoService.updateBodyStatus2(); +// } + String PalletID = String.valueOf(getBodyOrder.getBodyQty() + 1); + miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".PalletID").value(PalletID).build()); + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(11).build()); } + else{ + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(12).build()); + } } else if (Constants.C005.equals(device)) { // 鏌ヨ鏁版嵁搴撹幏鍙栫鍚堟潯浠剁殑璁㈠崟淇℃伅 OmProductionOrderInfo getHeadOrder = omProductionOrderInfoService.getHeadOrder(); @@ -312,7 +374,6 @@ //鍒ゆ柇褰撳墠涓嬪彂鏁伴噺鏄惁婊¤冻璁″垝鏁伴噺 //鏇存柊宸ュ崟鐘舵�� miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderNumber").value(getHeadOrder.getWorkOrderNo()).build()); - miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ProductionPlan").value(String.valueOf(getHeadOrder.getPlanQty())).build()); miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".EngineType").value(getHeadOrder.getEngineType()).build()); //鐢熸垚sn鐮� SysCount headNumber = sysCountService.getHeadNumber(); @@ -326,7 +387,6 @@ String SFCCode = A1 + A2 + A3+ A4 + A5; miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build()); miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".MESSFCCode").value(SFCCode).build()); - sysCountService.updateHeadNumber(); }else{ sysCountService.clean(); sysCountService.updateYear(); @@ -338,7 +398,6 @@ String SFCCode = A1 + A2 + newA3+ A4 + A5; miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build()); miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".MESSFCCode").value(SFCCode).build()); - sysCountService.updateHeadNumber(); } // 鏇存柊 WorkOrderRequestDone 鍦板潃鍧� BsBomChildInfo bsbomChildInfo= new BsBomChildInfo(); @@ -346,14 +405,18 @@ bsbomChildInfo.setBomCode(getHeadOrder.getWorkOrderNo()); //鍙戜笅宸ヨ壓閰嶆柟 formula(thoroughfare, device, bsbomChildInfo); - omProductionOrderInfoService.updateHeadStatus1(); +// omProductionOrderInfoService.updateHeadStatus1(); //鍒ゆ柇缂镐綋宸ュ崟瀹屾垚 - OmProductionOrderInfo getHeadOrder2 = omProductionOrderInfoService.getHeadOrder(); - if (Objects.equals(getHeadOrder2.getHeadQty(), getHeadOrder2.getPlanQty())){ - omProductionOrderInfoService.updateHeadStatus2(); - } - miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".PalletID").value(getHeadOrder2.getHeadQty()).build()); - miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value("11").build()); +// OmProductionOrderInfo getHeadOrder2 = omProductionOrderInfoService.getHeadOrder(); +// if (Objects.equals(getHeadOrder2.getHeadQty(), getHeadOrder2.getPlanQty())){ +// omProductionOrderInfoService.updateHeadStatus2(); +// } + String PalletID = String.valueOf(getHeadOrder.getHeadQty() + 1); + miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".PalletID").value(PalletID).build()); + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(11).build()); + } + else{ + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(12).build()); } } else if (Constants.P010.equals(device)) { // 鏌ヨ鏁版嵁搴撹幏鍙栫鍚堟潯浠剁殑璁㈠崟淇℃伅 @@ -362,7 +425,6 @@ //鍒ゆ柇褰撳墠涓嬪彂鏁伴噺鏄惁婊¤冻璁″垝鏁伴噺 //鏇存柊宸ュ崟鐘舵�� miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderNumber").value(getPreOrder.getWorkOrderNo()).build()); - miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ProductionPlan").value(String.valueOf(getPreOrder.getPlanQty())).build()); miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".EngineType").value(getPreOrder.getEngineType()).build()); //鐢熸垚sn鐮� SysCount preNumber = sysCountService.getPreNumber(); @@ -375,7 +437,6 @@ String SFCCode = A1 + A2 + A3+ A4 + A5; miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build()); miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".MESSFCCode").value(SFCCode).build()); - sysCountService.updatePreNumber(); }else{ sysCountService.clean(); sysCountService.updateYear(); @@ -387,23 +448,25 @@ String SFCCode = A1 + A2 + newA3+ A4 + A5; miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build()); miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".MESSFCCode").value(SFCCode).build()); - sysCountService.updateHeadNumber(); } - // 鏇存柊 WorkOrderRequestDone 鍦板潃鍧� BsBomChildInfo bsbomChildInfo= new BsBomChildInfo(); bsbomChildInfo.setLocationCode(device); bsbomChildInfo.setBomCode(getPreOrder.getWorkOrderNo()); //鍙戜笅宸ヨ壓閰嶆柟 formula(thoroughfare, device, bsbomChildInfo); - omProductionOrderInfoService.updatePreStatus1(); +// omProductionOrderInfoService.updatePreStatus1(); //鍒ゆ柇缂镐綋宸ュ崟瀹屾垚 - OmProductionOrderInfo getPreOrder2 = omProductionOrderInfoService.getPreOrder(); - if (Objects.equals(getPreOrder2.getPreQty(), getPreOrder2.getPlanQty())){ - omProductionOrderInfoService.updatePreStatus2(); - } - miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".PalletID").value(getPreOrder2.getPreQty()).build()); - miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value("11").build()); +// OmProductionOrderInfo getPreOrder2 = omProductionOrderInfoService.getPreOrder(); +// if (Objects.equals(getPreOrder2.getPreQty(), getPreOrder2.getPlanQty())){ +// omProductionOrderInfoService.updatePreStatus2(); +// } + String PalletID = String.valueOf(getPreOrder.getPreQty() + 1); + miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".PalletID").value(PalletID).build()); + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(11).build()); + } + else{ + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(12).build()); } } } @@ -418,9 +481,9 @@ List<BsBomChildInfo> bomChildList = bsBomChildInfoService.selectBsBomChildInfoList(bsbomChildInfo); for (int i = 1; i <= bomChildList.size(); i++) { // 鐢熸垚 MaterialCode 鑺傜偣 - miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".Material1Code"+ i).value(bomChildList.get(i-1).getMaterialCode()).build()); + miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".Material"+ i +"Code").value(bomChildList.get(i-1).getMaterialCode()).build()); // 鐢熸垚 MaterialNumber 鑺傜偣 - miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".Material1Number"+ i).value(bomChildList.get(i-1).getCostQty()).build()); + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".Material"+ i +"Number").value(Integer.parseInt(bomChildList.get(i-1).getCostQty())).build()); } } diff --git a/billion-main/src/main/java/com/billion/main/plcServer/util/TimeUtil.java b/billion-main/src/main/java/com/billion/main/plcServer/util/TimeUtil.java new file mode 100644 index 0000000..665be5b --- /dev/null +++ b/billion-main/src/main/java/com/billion/main/plcServer/util/TimeUtil.java @@ -0,0 +1,139 @@ +package com.billion.main.plcServer.util; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Locale; +import java.util.TimeZone; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class TimeUtil { + public static void main(String[] args) { + String dateString = "Tue May 14 18:25:18 CST 2024"; +// System.out.println(test(dateString)); +// String str = "OP330"; +// System.out.println(str.substring(0,5)); +// String tightenData = "[9.077463,12.0,OK,OK]"; +// tightenData = tightenData.replace("[", "").replace("]", "").replace(" ", ""); +// String[] tightenDataParts = tightenData.split(","); +// for (int i = 0; i < tightenDataParts.length; i++) { +// System.out.println(tightenDataParts[i]); +// } + String originalString = "[3.6,7.8,OK,OK]"; + String modifiedString = originalString.replaceFirst("OK", "NG"); + System.out.println(modifiedString); // 杈撳嚭: [3.6,7.8,NG,OK] +// System.out.println(isNumberInRange(7.7, 7.5, 8.5)); +// System.out.println(test( stringProcessing("DateTime{utcTime=133601559184960000, javaDate=Tue May 14 18:25:18 CST 2024}"))); + } + + public static String replaceNumber(String input) { + String regex = ",(\\d+),"; + String replacement = ",NG,"; + + Pattern pattern = Pattern.compile(regex); + Matcher matcher = pattern.matcher(input); + + return matcher.replaceAll(replacement); + } + + // 妫�鏌ヤ竴涓暟鏄惁鍦ㄤ袱涓暟瀹氫箟鐨勫尯闂村唴锛堜笉鍖呭惈杈圭晫锛� + public static boolean isNumberInRange(Double number, Double start, Double end) { + return number >= start && number <= end; + } + + public static String stringProcessing(String dateTimeStr){ + String result = ""; + // 鎵惧埌 "javaDate=" 鐨勪綅缃� + int javaDateIndex = dateTimeStr.indexOf("javaDate="); + if (javaDateIndex != -1) { + // 浠� "javaDate=" 鍚庨潰寮�濮嬫埅鍙� + javaDateIndex += "javaDate=".length(); + + // 鎵惧埌鏃ユ湡鏃堕棿瀛楃涓茬粨鏉熺殑浣嶇疆锛岃繖閲屽亣璁炬槸瀛楃涓茬殑缁撳熬鎴栬�呯┖鏍肩殑浣嶇疆 + int endIndex = dateTimeStr.indexOf('}', javaDateIndex); + if (endIndex == -1) { + // 濡傛灉娌℃湁鎵惧埌绌烘牸锛屽氨鍙栧埌瀛楃涓茬殑鏈熬 + endIndex = dateTimeStr.length(); + } + // 浣跨敤 substring 鏂规硶鎴彇鏃ユ湡鏃堕棿閮ㄥ垎 + String dateTimePart = dateTimeStr.substring(javaDateIndex, endIndex); + result = dateTimePart; + } else { + System.out.println("javaDate= not found in the string."); + } + return result; + } + + public static String getTimestamp(String param){ + String result = ""; + // 瀹氫箟鏃ユ湡鏃堕棿鏍煎紡鍜屾椂鍖� + SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US); + sdf.setTimeZone(TimeZone.getTimeZone("GMT+8")); // CST閫氬父琛ㄧず涓浗鏍囧噯鏃堕棿锛屽嵆涓滃叓鍖� + + try { + // 瑙f瀽鏃ユ湡鏃堕棿瀛楃涓� + Date date = sdf.parse("Mon Jan 01 17:05:23 CST 2024"); + + // 鑾峰彇鏃堕棿鎴筹紙姣锛� + long timestamp = date.getTime(); + + // 杈撳嚭13浣嶆椂闂存埑 + result = String.valueOf(timestamp); + + } catch (ParseException e) { + e.printStackTrace(); + } + return result; + } + + public static String getYyyyDdMm(String inputDate){ + String outputPattern = "yyyy-MM-dd HH:mm:ss"; + + // 瀹氫箟涓�涓В鏋愬櫒锛岀敤浜庡拷鐣ユ椂鍖猴紙浠呬綔涓虹ず渚嬶紝鍙兘闇�瑕佽皟鏁翠互澶勭悊涓嶅悓鐨勮緭鍏ワ級 + SimpleDateFormat parser = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH); + parser.setLenient(false); // 璁剧疆涓嶅鏉撅紝浠ヤ弗鏍煎尮閰嶆牸寮� + + // 瑙f瀽鏃ユ湡瀛楃涓� + Date date = null; + try { + date = parser.parse(inputDate); + } catch (ParseException e) { + e.printStackTrace(); + } + + // 瀹氫箟涓�涓牸寮忓寲鍣紝鐢ㄤ簬杈撳嚭鎵�闇�鐨勬牸寮� + SimpleDateFormat formatter = new SimpleDateFormat(outputPattern); + + // 鏍煎紡鍖栨棩鏈� + String outputDate = formatter.format(date); + return outputDate; + } + + public static String test(String param){ + String str = ""; + // 鍒涘缓涓�涓猄impleDateFormat瀵硅薄鏉ヨВ鏋愯緭鍏ョ殑鏃ユ湡瀛楃涓诧紙鍋囪CST涓轰腑鍥芥爣鍑嗘椂闂达級 + SimpleDateFormat inputFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US); + inputFormat.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")); // 璁剧疆涓轰腑鍥芥椂鍖� + + Date date = null; + try { + date = inputFormat.parse(param); + } catch (ParseException e) { + e.printStackTrace(); + } + + // 鍒涘缓涓�涓猄impleDateFormat瀵硅薄鏉ユ牸寮忓寲鏃ユ湡涓篣TC鏃堕棿 + SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + outputFormat.setTimeZone(TimeZone.getTimeZone("UTC")); // 璁剧疆涓篣TC鏃跺尯 + + // 鏍煎紡鍖栨棩鏈� + if (date != null) { + str = outputFormat.format(date); + } + return str; + } + + + +} diff --git a/billion-main/src/main/resources/mapper/da/DaCollectionParamConfMapper.xml b/billion-main/src/main/resources/mapper/da/DaCollectionParamConfMapper.xml index 2198107..a5f1a13 100644 --- a/billion-main/src/main/resources/mapper/da/DaCollectionParamConfMapper.xml +++ b/billion-main/src/main/resources/mapper/da/DaCollectionParamConfMapper.xml @@ -37,7 +37,7 @@ <if test="parameterSetName != null and parameterSetName != ''"> and parameter_set_name like concat('%', #{parameterSetName}, '%')</if> <if test="productCode != null and productCode != ''"> and product_code like concat('%', #{productCode}, '%')</if> <if test="gatherAddress != null and gatherAddress != ''"> and gather_address like concat('%', #{gatherAddress}, '%')</if> - + <if test="descriptive != null and descriptive != ''"> and descriptive like concat('%', #{descriptive}, '%')</if> </where> </select> diff --git a/billion-main/src/main/resources/mapper/da/DaParamCollectionMapper.xml b/billion-main/src/main/resources/mapper/da/DaParamCollectionMapper.xml index 68cb403..1aca9fe 100644 --- a/billion-main/src/main/resources/mapper/da/DaParamCollectionMapper.xml +++ b/billion-main/src/main/resources/mapper/da/DaParamCollectionMapper.xml @@ -38,21 +38,21 @@ <insert id="insertDaParamCollection" parameterType="DaParamCollection" useGeneratedKeys="true" keyProperty="id"> insert into da_param_collection <trim prefix="(" suffix=")" suffixOverrides=","> - <if test="sfcCode != null and sfcCode != ''">sfc_code,</if> - <if test="locationCode != null and locationCode != ''">location_code,</if> - <if test="paramCode != null and paramCode != ''">param_code,</if> + <if test="sfcCode != null">sfc_code,</if> + <if test="locationCode != null">location_code,</if> + <if test="paramCode != null">param_code,</if> <if test="paramName != null">param_name,</if> - <if test="paramValue != null and paramValue != ''">param_value,</if> + <if test="paramValue != null">param_value,</if> <if test="collectTime != null">collect_time,</if> - </trim> + </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> - <if test="sfcCode != null and sfcCode != ''">#{sfcCode},</if> - <if test="locationCode != null and locationCode != ''">#{locationCode},</if> - <if test="paramCode != null and paramCode != ''">#{paramCode},</if> + <if test="sfcCode != null">#{sfcCode},</if> + <if test="locationCode != null">#{locationCode},</if> + <if test="paramCode != null">#{paramCode},</if> <if test="paramName != null">#{paramName},</if> - <if test="paramValue != null and paramValue != ''">#{paramValue},</if> + <if test="paramValue != null">#{paramValue},</if> <if test="collectTime != null">#{collectTime},</if> - </trim> + </trim> </insert> <update id="updateDaParamCollection" parameterType="DaParamCollection"> diff --git a/billion-main/src/main/resources/mapper/om/OmOrderSchedulingMapper.xml b/billion-main/src/main/resources/mapper/om/OmOrderSchedulingMapper.xml index 626ded0..47e6cb2 100644 --- a/billion-main/src/main/resources/mapper/om/OmOrderSchedulingMapper.xml +++ b/billion-main/src/main/resources/mapper/om/OmOrderSchedulingMapper.xml @@ -31,8 +31,10 @@ <if test="workOrderNo != null and workOrderNo != ''"> and work_order_no = #{workOrderNo}</if> <if test="sfcCode != null and sfcCode != ''"> and sfc_code = #{sfcCode}</if> <if test="productCode != null and productCode != ''"> and product_code = #{productCode}</if> - <if test="params.beginOnlineTime != null and params.beginOnlineTime != '' and params.endOnlineTime != null and params.endOnlineTime != ''"> and online_time between #{params.beginOnlineTime} and #{params.endOnlineTime}</if> - <if test="params.beginOfflineTime != null and params.beginOfflineTime != '' and params.endOfflineTime != null and params.endOfflineTime != ''"> and offline_time between #{params.beginOfflineTime} and #{params.endOfflineTime}</if> +<!-- <if test="params.beginOnlineTime != null and params.beginOnlineTime != '' and params.endOnlineTime != null and params.endOnlineTime != ''"> and online_time between #{params.beginOnlineTime} and #{params.endOnlineTime}</if>--> +<!-- <if test="params.beginOfflineTime != null and params.beginOfflineTime != '' and params.endOfflineTime != null and params.endOfflineTime != ''"> and offline_time between #{params.beginOfflineTime} and #{params.endOfflineTime}</if>--> +<!---- <if test="params.beginOnlineTime != null and params.beginOnlineTime != '' and params.endOnlineTime != null and params.endOnlineTime != ''"> </if>--> +<!-- <if test="params.beginOfflineTime != null and params.beginOfflineTime != '' and params.endOfflineTime != null and params.endOfflineTime != ''"></if>--> <if test="status != null and status != ''"> and status = #{status}</if> <if test="nowQty != null and nowQty != ''"> and now_qty = #{nowQty}</if> </where> diff --git a/billion-main/src/main/resources/mapper/om/OmProductionOrderInfoMapper.xml b/billion-main/src/main/resources/mapper/om/OmProductionOrderInfoMapper.xml index 6dd5de1..6cabb0e 100644 --- a/billion-main/src/main/resources/mapper/om/OmProductionOrderInfoMapper.xml +++ b/billion-main/src/main/resources/mapper/om/OmProductionOrderInfoMapper.xml @@ -20,6 +20,16 @@ <result property="updateBy" column="update_by" /> <result property="remarks" column="remarks" /> <result property="delFlag" column="del_flag" /> + <result property="engineType" column="engine_type" /> + <result property="engineName" column="engine_name" /> + <result property="flag" column="flag" /> + <result property="bodyQty" column="body_qty" /> + <result property="headQty" column="head_qty" /> + <result property="preQty" column="pre_qty" /> + <result property="bodyStatus" column="body_status" /> + <result property="headStatus" column="head_status" /> + <result property="preStatus" column="pre_status" /> + </resultMap> <sql id="selectOmProductionOrderInfoVo"> @@ -31,6 +41,7 @@ SELECT TOP 1 * FROM om_production_order_info WHERE body_status IN (0,1) + AND body_qty != plan_qty ORDER BY plan_start_time ASC </select> <select id="updateBodyStatus1" resultType="OmProductionOrderInfo"> @@ -46,7 +57,7 @@ </select> <select id="updateBodyStatus2" resultType="OmProductionOrderInfo"> UPDATE om_production_order_info - SET body_status = 2 + SET body_status = 4 WHERE id = ( SELECT TOP 1 id FROM om_production_order_info @@ -58,6 +69,7 @@ SELECT TOP 1 * FROM om_production_order_info WHERE head_status IN (0,1) + AND head_qty != plan_qty ORDER BY plan_start_time ASC </select> <select id="updateHeadStatus1" resultType="OmProductionOrderInfo"> @@ -73,7 +85,7 @@ </select> <select id="updateHeadStatus2" resultType="OmProductionOrderInfo"> UPDATE om_production_order_info - SET head_status = 2 + SET head_status = 4 WHERE id = ( SELECT TOP 1 id FROM om_production_order_info @@ -85,6 +97,7 @@ SELECT TOP 1 * FROM om_production_order_info WHERE pre_status IN (0,1) + AND pre_qty != plan_qty ORDER BY plan_start_time ASC </select> <select id="updatePreStatus1" resultType="OmProductionOrderInfo"> @@ -100,7 +113,7 @@ </select> <select id="updatePreStatus2" resultType="OmProductionOrderInfo"> UPDATE om_production_order_info - SET pre_status = 2 + SET pre_status = 4 WHERE id = ( SELECT TOP 1 id FROM om_production_order_info @@ -108,7 +121,6 @@ ORDER BY plan_start_time ASC ); </select> - @@ -134,7 +146,6 @@ <if test="workOrderNo != null and workOrderNo != ''">work_order_no,</if> <if test="salesOrderCode != null and salesOrderCode != ''">sales_order_code,</if> <if test="productCode != null and productCode != ''">product_code,</if> - <if test="lineCode != null and lineCode != ''">line_code,</if> <if test="planQty != null">plan_qty,</if> <if test="planStartTime != null">plan_start_time,</if> <if test="planEndTime != null">plan_end_time,</if> @@ -150,7 +161,6 @@ <if test="workOrderNo != null and workOrderNo != ''">#{workOrderNo},</if> <if test="salesOrderCode != null and salesOrderCode != ''">#{salesOrderCode},</if> <if test="productCode != null and productCode != ''">#{productCode},</if> - <if test="lineCode != null and lineCode != ''">#{lineCode},</if> <if test="planQty != null">#{planQty},</if> <if test="planStartTime != null">#{planStartTime},</if> <if test="planEndTime != null">#{planEndTime},</if> @@ -161,6 +171,7 @@ <if test="updateBy != null">#{updateBy},</if> <if test="remarks != null">#{remarks},</if> <if test="delFlag != null">#{delFlag},</if> + set del_flag = 0, </trim> </insert> @@ -170,7 +181,6 @@ <if test="workOrderNo != null and workOrderNo != ''">work_order_no = #{workOrderNo},</if> <if test="salesOrderCode != null and salesOrderCode != ''">sales_order_code = #{salesOrderCode},</if> <if test="productCode != null and productCode != ''">product_code = #{productCode},</if> - <if test="lineCode != null and lineCode != ''">line_code = #{lineCode},</if> <if test="planQty != null">plan_qty = #{planQty},</if> <if test="planStartTime != null">plan_start_time = #{planStartTime},</if> <if test="planEndTime != null">plan_end_time = #{planEndTime},</if> @@ -181,6 +191,12 @@ <if test="updateBy != null">update_by = #{updateBy},</if> <if test="remarks != null">remarks = #{remarks},</if> <if test="delFlag != null">del_flag = #{delFlag},</if> + <if test="bodyQty != null">body_qty = #{bodyQty},</if> + <if test="headQty != null">head_qty = #{headQty},</if> + <if test="preQty != null">pre_qty = #{preQty},</if> + <if test="bodyStatus != null">body_status = #{bodyStatus},</if> + <if test="headStatus != null">head_status = #{headStatus},</if> + <if test="preStatus != null">pre_status = #{preStatus},</if> </trim> where id = #{id} </update> diff --git a/billion-ui/src/views/main/bs/bomChildInfo/index.vue b/billion-ui/src/views/main/bs/bomChildInfo/index.vue index 141e2b2..1b1a53e 100644 --- a/billion-ui/src/views/main/bs/bomChildInfo/index.vue +++ b/billion-ui/src/views/main/bs/bomChildInfo/index.vue @@ -81,6 +81,16 @@ </el-col> <el-col :span="1.5"> <el-button + type="info" + plain + icon="el-icon-upload2" + size="mini" + @click="handleImport" + v-hasPermi="['system:user:import']" + >瀵煎叆</el-button> + </el-col> + <el-col :span="1.5"> + <el-button type="warning" plain icon="el-icon-download" @@ -186,6 +196,38 @@ <el-button @click="cancel">鍙� 娑�</el-button> </div> </el-dialog> + + <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� --> + <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body> + <el-upload + ref="upload" + :limit="1" + accept=".xlsx, .xls" + :headers="upload.headers" + :action="upload.url + '?updateSupport=' + upload.updateSupport" + :disabled="upload.isUploading" + :on-progress="handleFileUploadProgress" + :on-success="handleFileSuccess" + :auto-upload="false" + drag + > + <i class="el-icon-upload"></i> + <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div> + <div class="el-upload__tip text-center" slot="tip"> + <div class="el-upload__tip" slot="tip"> + <el-checkbox v-model="upload.updateSupport" /> 鏄惁鏇存柊宸茬粡瀛樺湪鐨勬暟鎹� + </div> + <span>浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢銆�</span> + <el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" @click="importTemplate">涓嬭浇妯℃澘</el-link> + </div> + </el-upload> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitFileForm">纭� 瀹�</el-button> + <el-button @click="upload.open = false">鍙� 娑�</el-button> + </div> + </el-dialog> + + </div> </template> @@ -193,6 +235,7 @@ import { listBomChildInfo, getBomChildInfo, delBomChildInfo, addBomChildInfo, updateBomChildInfo } from "@/api/main/bs/bomChildInfo"; import { listBomInfo } from "@/api/main/bs/bomInfo"; import ItemSelect from "@/components/itemSelect/single.vue"; +import {getToken} from "@/utils/auth"; export default { name: "BomChildInfo", @@ -240,7 +283,19 @@ productCode: "", productName: "" }, - + // 鐢ㄦ埛瀵煎叆鍙傛暟 + upload: { + open: false, + title: "", + // 鏄惁绂佺敤涓婁紶 + isUploading: false, + // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� + updateSupport: 0, + // 璁剧疆涓婁紶鐨勮姹傚ご閮� + headers: { Authorization: "Bearer " + getToken() }, + // 涓婁紶鐨勫湴鍧� + url: process.env.VUE_APP_BASE_API + "/bs/bomChildInfo/importData" + }, // 琛ㄥ崟鍙傛暟 form: {}, // 琛ㄥ崟鏍¢獙 @@ -388,7 +443,33 @@ this.download('bs/bomChildInfo/export', { ...this.queryParams }, `bomChildInfo_${new Date().getTime()}.xlsx`) - } + }, + /** 瀵煎叆鎸夐挳鎿嶄綔 */ + handleImport() { + this.upload.title = "鏁版嵁瀵煎叆"; + this.upload.open = true; + }, + // 鏂囦欢涓婁紶涓鐞� + handleFileUploadProgress(event, file, fileList) { + this.upload.isUploading = true; + }, + // 鏂囦欢涓婁紶鎴愬姛澶勭悊 + handleFileSuccess(response, file, fileList) { + this.upload.open = false; + this.upload.isUploading = false; + this.$refs.upload.clearFiles(); + this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "瀵煎叆缁撴灉", { dangerouslyUseHTMLString: true }); + this.getList(); + }, + // 鎻愪氦涓婁紶鏂囦欢 + submitFileForm() { + this.$refs.upload.submit(); + }, + /** 涓嬭浇妯℃澘鎿嶄綔 */ + importTemplate() { + this.download('bs/bomChildInfo/importTemplate', { + }, `bom_child_${new Date().getTime()}.xlsx`) + }, } }; </script> diff --git a/billion-ui/src/views/main/bs/bomInfo/index.vue b/billion-ui/src/views/main/bs/bomInfo/index.vue index e45adc8..40e05f5 100644 --- a/billion-ui/src/views/main/bs/bomInfo/index.vue +++ b/billion-ui/src/views/main/bs/bomInfo/index.vue @@ -74,16 +74,6 @@ </el-col> <el-col :span="1.5"> <el-button - plain - icon="el-icon-setting" - size="mini" - :disabled="multiple" - @click="statusChange" - v-hasPermi="['bs:bomInfo:remove']" - >鐘舵�佸彉鏇�</el-button> - </el-col> - <el-col :span="1.5"> - <el-button type="warning" plain icon="el-icon-download" diff --git a/billion-ui/src/views/main/bs/lineInfo/index.vue b/billion-ui/src/views/main/bs/lineInfo/index.vue index 7a9c7af..764bceb 100644 --- a/billion-ui/src/views/main/bs/lineInfo/index.vue +++ b/billion-ui/src/views/main/bs/lineInfo/index.vue @@ -73,13 +73,6 @@ <el-table-column :show-overflow-tooltip="true" label="浜х嚎缂栧彿" align="center" prop="lineCode" /> <el-table-column :show-overflow-tooltip="true" label="浜х嚎鍚嶇О" align="center" prop="lineName" /> <el-table-column :show-overflow-tooltip="true" label="澶囨敞" align="center" prop="remarks" /> - <el-table-column :show-overflow-tooltip="true" label="鍒涘缓鐢ㄦ埛" align="center" prop="createBy" /> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> - </el-table-column> - <el-table-column :show-overflow-tooltip="true" label="鏇存敼鐢ㄦ埛" align="center" prop="updateBy" /> - <el-table-column label="鏇存敼鏃堕棿" align="center" prop="updateTime" width="180"> - </el-table-column> - <el-table-column :show-overflow-tooltip="true" label="鐘舵��" align="center" prop="status" /> </el-table> <pagination diff --git a/billion-ui/src/views/main/da/materialCollection/index.vue b/billion-ui/src/views/main/da/materialCollection/index.vue index fb4891a..bea8161 100644 --- a/billion-ui/src/views/main/da/materialCollection/index.vue +++ b/billion-ui/src/views/main/da/materialCollection/index.vue @@ -19,30 +19,6 @@ end-placeholder="缁撴潫鏃ユ湡"> </el-date-picker> </el-form-item> -<!-- <el-form-item label="宸ヤ綅缂栫爜" prop="locationCode">--> -<!-- <el-input--> -<!-- v-model="queryParams.locationCode"--> -<!-- placeholder="璇疯緭鍏ュ伐浣嶇紪鐮�"--> -<!-- clearable--> -<!-- @keyup.enter.native="handleQuery"--> -<!-- />--> -<!-- </el-form-item>--> -<!-- <el-form-item label="鍙傛暟缂栫爜" prop="paramCode">--> -<!-- <el-input--> -<!-- v-model="queryParams.paramCode"--> -<!-- placeholder="璇疯緭鍏ュ弬鏁扮紪鐮�"--> -<!-- clearable--> -<!-- @keyup.enter.native="handleQuery"--> -<!-- />--> -<!-- </el-form-item>--> -<!-- <el-form-item label="鍙傛暟鍚嶇О" prop="paramName">--> -<!-- <el-input--> -<!-- v-model="queryParams.paramName"--> -<!-- placeholder="璇疯緭鍏ュ弬鏁板悕绉�"--> -<!-- clearable--> -<!-- @keyup.enter.native="handleQuery"--> -<!-- />--> -<!-- </el-form-item>--> <el-form-item style="float: right"> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> @@ -50,38 +26,6 @@ </el-form> <el-row :gutter="10" class="mb8"> -<!-- <el-col :span="1.5">--> -<!-- <el-button--> -<!-- type="primary"--> -<!-- plain--> -<!-- icon="el-icon-plus"--> -<!-- size="mini"--> -<!-- @click="handleAdd"--> -<!-- v-hasPermi="['da:materialCollection:add']"--> -<!-- >鏂板</el-button>--> -<!-- </el-col>--> -<!-- <el-col :span="1.5">--> -<!-- <el-button--> -<!-- type="success"--> -<!-- plain--> -<!-- icon="el-icon-edit"--> -<!-- size="mini"--> -<!-- :disabled="single"--> -<!-- @click="handleUpdate"--> -<!-- v-hasPermi="['da:materialCollection:edit']"--> -<!-- >淇敼</el-button>--> -<!-- </el-col>--> -<!-- <el-col :span="1.5">--> -<!-- <el-button--> -<!-- type="danger"--> -<!-- plain--> -<!-- icon="el-icon-delete"--> -<!-- size="mini"--> -<!-- :disabled="multiple"--> -<!-- @click="handleDelete"--> -<!-- v-hasPermi="['da:materialCollection:remove']"--> -<!-- >鍒犻櫎</el-button>--> -<!-- </el-col>--> <el-col :span="1.5"> <el-button type="warning" @@ -99,7 +43,6 @@ <!-- <el-table-column label="涓婚敭id" align="center" prop="id" />--> <el-table-column label="鎬绘垚搴忓垪鍙�" align="center" prop="sfcCode" /> <el-table-column label="宸ヤ綅缂栫爜" align="center" prop="locationCode" /> - <el-table-column label="鍙傛暟缂栫爜" align="center" prop="paramCode" /> <el-table-column label="鍙傛暟鍚嶇О" align="center" prop="paramName" /> <el-table-column label="鍙傛暟鍊�" align="center" prop="paramValue" /> <el-table-column label="閲囬泦鏃堕棿" align="center" prop="collectTime" width="180"> diff --git a/billion-ui/src/views/main/da/paramCollection/index.vue b/billion-ui/src/views/main/da/paramCollection/index.vue index f42a756..2b2ca21 100644 --- a/billion-ui/src/views/main/da/paramCollection/index.vue +++ b/billion-ui/src/views/main/da/paramCollection/index.vue @@ -9,9 +9,9 @@ @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label-width="120" label="閲囬泦鏃堕棿" prop="timeQuery"> + <el-form-item label-width="120" label="閲囬泦鏃堕棿" prop="collectTime"> <el-date-picker - v-model="queryParams.timeQuery" + v-model="queryParams.collectTime" type="datetimerange" range-separator="鑷�" value-format="yyyy-MM-dd HH:mm:ss" @@ -61,38 +61,6 @@ </el-form> <el-row :gutter="10" class="mb8"> -<!-- <el-col :span="1.5">--> -<!-- <el-button--> -<!-- type="primary"--> -<!-- plain--> -<!-- icon="el-icon-plus"--> -<!-- size="mini"--> -<!-- @click="handleAdd"--> -<!-- v-hasPermi="['da:paramCollection:add']"--> -<!-- >鏂板</el-button>--> -<!-- </el-col>--> -<!-- <el-col :span="1.5">--> -<!-- <el-button--> -<!-- type="success"--> -<!-- plain--> -<!-- icon="el-icon-edit"--> -<!-- size="mini"--> -<!-- :disabled="single"--> -<!-- @click="handleUpdate"--> -<!-- v-hasPermi="['da:paramCollection:edit']"--> -<!-- >淇敼</el-button>--> -<!-- </el-col>--> -<!-- <el-col :span="1.5">--> -<!-- <el-button--> -<!-- type="danger"--> -<!-- plain--> -<!-- icon="el-icon-delete"--> -<!-- size="mini"--> -<!-- :disabled="multiple"--> -<!-- @click="handleDelete"--> -<!-- v-hasPermi="['da:paramCollection:remove']"--> -<!-- >鍒犻櫎</el-button>--> -<!-- </el-col>--> <el-col :span="1.5"> <el-button type="warning" @@ -108,10 +76,8 @@ <el-table v-loading="loading" border :data="paramCollectionList" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" align="center" /> -<!-- <el-table-column label="涓婚敭id" align="center" prop="id" />--> <el-table-column label="鎬绘垚搴忓垪鍙�" align="center" prop="sfcCode" /> <el-table-column label="宸ヤ綅缂栫爜" align="center" prop="locationCode" /> - <el-table-column label="鍙傛暟缂栫爜" align="center" prop="paramCode" /> <el-table-column label="鍙傛暟鍚嶇О" align="center" prop="paramName" /> <el-table-column label="鍙傛暟鍊�" align="center" prop="paramValue" /> <el-table-column label="閲囬泦鏃堕棿" align="center" prop="collectTime" width="180"> diff --git a/billion-ui/src/views/main/da/stationCollection/index.vue b/billion-ui/src/views/main/da/stationCollection/index.vue index a6a07b2..f73aa20 100644 --- a/billion-ui/src/views/main/da/stationCollection/index.vue +++ b/billion-ui/src/views/main/da/stationCollection/index.vue @@ -94,14 +94,13 @@ <el-table border v-loading="loading" :data="daStationCollectionList" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="涓婚敭id" align="center" prop="id" /> <el-table-column :show-overflow-tooltip="true" label="鎬绘垚搴忓垪鍙�" align="center" prop="sfcCode" /> <el-table-column :show-overflow-tooltip="true" label="宸ヤ綅缂栫爜" align="center" prop="locationCode" /> <el-table-column label="杩涚珯鏃堕棿" align="center" prop="inboundTime" width="180"> </el-table-column> <el-table-column label="鍑虹珯鏃堕棿" align="center" prop="outboundTime" width="180"> </el-table-column> - <el-table-column :show-overflow-tooltip="true" label="鐘舵��" align="center" prop="status" /> + <el-table-column :show-overflow-tooltip="true" label="绔欑姸鎬�" align="center" prop="status" /> <el-table-column label="閲囬泦鏃堕棿" align="center" prop="collectTime" width="180"> </el-table-column> </el-table> diff --git a/billion-ui/src/views/main/om/info/index.vue b/billion-ui/src/views/main/om/info/index.vue index 567066b..ff5ab08 100644 --- a/billion-ui/src/views/main/om/info/index.vue +++ b/billion-ui/src/views/main/om/info/index.vue @@ -26,16 +26,6 @@ @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="宸ュ崟鐘舵��" prop="orderStatus"> - <el-select v-model="queryParams.orderStatus" placeholder="璇烽�夋嫨宸ュ崟鐘舵��" clearable> - <el-option - v-for="dict in dict.type.order_status" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> <el-form-item style="float: right; margin-right: 90px"> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> @@ -46,16 +36,6 @@ <div style="width: 600px"> <el-row :gutter="10" class="mb8" > - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['main:info:add']" - >鏂板</el-button> - </el-col> <el-col :span="1.5"> <el-button type="success" @@ -69,17 +49,6 @@ </el-col> <el-col :span="1.5"> <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['main:info:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button type="warning" plain icon="el-icon-download" @@ -90,62 +59,85 @@ </el-col> <el-col :span="1.5"> <el-button - type="primary" + type="success" plain - icon="el-icon-receiving" + icon="el-icon-edit" size="mini" - @click="handleReceive" - >鎺ユ敹宸ュ崟</el-button> + :disabled="single" + @click="bodyStatus" + v-hasPermi="['main:info:edit']" + >缂镐綋鏆傚仠\鍚姩</el-button> </el-col> <el-col :span="1.5"> <el-button type="primary" plain - :disabled="multiple" - icon="el-icon-magic-stick" + icon="el-icon-edit" size="mini" - @click="handleCreate" - >鐢熸垚</el-button> + :disabled="single" + @click="headStatus" + v-hasPermi="['main:info:edit']" + >缂哥洊鏆傚仠\鍚姩</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="info" + plain + icon="el-icon-edit" + size="mini" + :disabled="single" + @click="preStatus" + v-hasPermi="['main:info:edit']" + >棰勮鏆傚仠\鍚姩</el-button> </el-col> <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>--> </el-row> </div> - - <el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange"> + <el-table border v-loading="loading" :data="infoList" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" align="center" /> <el-table-column label="宸ュ崟缂栧彿" align="center" prop="workOrderNo" width="120"> <template slot-scope="scope"> <a style="color: #7099F9" @click="orderDetail(scope.row.workOrderNo)" >{{scope.row.workOrderNo}} </a> -<!-- <div @click="orderDetail(scope.row.workOrderNo)">{{scope.row.workOrderNo}}</div>--> </template> </el-table-column> - <el-table-column label="璁㈠崟缂栧彿" align="center" prop="salesOrderCode" width="120"/> - <el-table-column label="浜у搧缂栧彿" align="center" prop="productCode" width="180"/> - <el-table-column label="浜х嚎缂栧彿" align="center" prop="lineCode" /> + <el-table-column label="璁㈠崟缂栧彿" align="center" prop="salesOrderCode" /> + <el-table-column label="浜у搧缂栧彿" align="center" prop="productCode" /> <el-table-column label="璁″垝鏁伴噺" align="center" prop="planQty" /> - <el-table-column label="璁″垝寮�濮嬫椂闂�" align="center" prop="planStartTime" width="120"> + <el-table-column label="璁″垝寮�濮嬫椂闂�" align="center" prop="planStartTime" > <template slot-scope="scope"> - <span>{{ parseTime(scope.row.planStartTime, '{y}-{m}-{d}') }}</span> + <span>{{ parseTime(scope.row.planStartTime, '{y}-{m}-{d} {h}:{i}') }}</span> </template> </el-table-column> - <el-table-column label="璁″垝缁撴潫鏃堕棿" align="center" prop="planEndTime" width="120"> + <el-table-column label="璁″垝缁撴潫鏃堕棿" align="center" prop="planEndTime" > <template slot-scope="scope"> - <span>{{ parseTime(scope.row.planEndTime, '{y}-{m}-{d}') }}</span> + <span>{{ parseTime(scope.row.planEndTime, '{y}-{m}-{d} {h}:{i}') }}</span> </template> </el-table-column> - <el-table-column label="宸ュ崟鐘舵��" align="center" prop="orderStatus"> +<!-- <el-table-column label="鏇存柊鏃堕棿" align="center" prop="updateTime" >--> +<!-- <template slot-scope="scope">--> +<!-- <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{i}') }}</span>--> +<!-- </template>--> +<!-- </el-table-column>--> + <el-table-column label="缂镐綋涓婄嚎鏁伴噺" align="center" prop="bodyQty" /> + <el-table-column label="缂哥洊涓婄嚎鏁伴噺" align="center" prop="headQty" /> + <el-table-column label="棰勮涓婄嚎鏁伴噺" align="center" prop="preQty" /> + <el-table-column label="缂镐綋宸ュ崟鐘舵��" align="center" prop="bodyStatus" > <template slot-scope="scope"> - <dict-tag :options="dict.type.order_status" :value="scope.row.orderStatus"/> + <dict-tag :options="dict.type.order_status" :value="scope.row.bodyStatus"/> </template> </el-table-column> - <el-table-column label="鏇存柊鏃堕棿" align="center" prop="updateTime" width="180"> + <el-table-column label="缂哥洊宸ュ崟鐘舵��" align="center" prop="headStatus" > <template slot-scope="scope"> - <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> + <dict-tag :options="dict.type.order_status" :value="scope.row.headStatus"/> </template> </el-table-column> - <el-table-column label="鏇存柊鐢ㄦ埛" align="center" prop="updateBy" /> + <el-table-column label="棰勮宸ュ崟鐘舵��" align="center" prop="preStatus" > + <template slot-scope="scope"> + <dict-tag :options="dict.type.order_status" :value="scope.row.preStatus"/> + </template> + </el-table-column> <el-table-column label="澶囨敞" width="180px" show-overflow-tooltip align="center" prop="remarks" /> </el-table> @@ -160,45 +152,51 @@ <!-- 娣诲姞鎴栦慨鏀圭敓浜у伐鍗曞璇濇 --> <el-dialog :title="title" :visible.sync="open" width="700px" append-to-body> <el-form ref="form" :model="form" :rules="rules" label-width="120px"> - <el-form-item label="宸ュ崟缂栧彿" prop="workOrderNo"> - <el-input v-model="form.workOrderNo" placeholder="璇疯緭鍏ュ伐鍗曠紪鍙�" /> + <el-form-item label="宸ュ崟缂栧彿" prop="workOrderNo"> + <el-input disabled v-model="form.workOrderNo" placeholder="璇疯緭鍏ュ伐鍗曠紪鍙�" /> </el-form-item> - <el-form-item label="璁㈠崟缂栧彿" prop="salesOrderCode"> - <el-input v-model="form.salesOrderCode" placeholder="璇疯緭鍏ヨ鍗曠紪鍙�" /> + <el-form-item label="璁㈠崟缂栧彿" prop="salesOrderCode"> + <el-input disabled v-model="form.salesOrderCode" placeholder="璇疯緭鍏ヨ鍗曠紪鍙�" /> </el-form-item> - <el-form-item label="浜у搧缂栧彿" prop="productCode"> - <el-input v-model="form.productCode" placeholder="璇疯緭鍏ヤ骇鍝佺紪鍙�" /> + <el-form-item label="浜у搧缂栧彿" prop="productCode"> + <el-input disabled v-model="form.productCode" placeholder="璇疯緭鍏ヤ骇鍝佺紪鍙�" /> </el-form-item> - <el-form-item label="浜х嚎缂栧彿" prop="lineCode"> - <el-input v-model="form.lineCode" placeholder="璇疯緭鍏ヤ骇绾跨紪鍙�" /> - </el-form-item> - <el-form-item label="璁″垝鏁伴噺" prop="planQty"> - <el-input v-model="form.planQty" placeholder="璇疯緭鍏ヨ鍒掓暟閲�" /> + <el-form-item label="璁″垝鏁伴噺" prop="planQty"> + <el-input v-model="form.planQty" placeholder="璇疯緭鍏ヨ鍒掓暟閲�" /> </el-form-item> <el-form-item label="璁″垝寮�濮嬫椂闂�" prop="planStartTime"> <el-date-picker clearable v-model="form.planStartTime" - type="date" - value-format="yyyy-MM-dd" + type="datetime" + value-format="yyyy-MM-dd HH:mm:ss" placeholder="璇烽�夋嫨璁″垝寮�濮嬫椂闂�"> </el-date-picker> </el-form-item> <el-form-item label="璁″垝缁撴潫鏃堕棿" prop="planEndTime"> <el-date-picker clearable v-model="form.planEndTime" - type="date" - value-format="yyyy-MM-dd" + type="datetime" + value-format="yyyy-MM-dd HH:mm:ss" placeholder="璇烽�夋嫨璁″垝缁撴潫鏃堕棿"> </el-date-picker> </el-form-item> - <el-form-item label="宸ュ崟鐘舵��" prop="orderStatus" v-if = updateFlag> - <el-radio-group v-model="form.orderStatus"> - <el-radio - v-for="dict in dict.type.order_status" - :key="dict.value" - :label="dict.value" - >{{dict.label}}</el-radio> - </el-radio-group> + <el-form-item label="缂镐綋鏁伴噺" prop="bodyQty"> + <el-input v-model="form.bodyQty" placeholder="璇疯緭鍏ヨ鍒掓暟閲�" /> + </el-form-item> +<!-- <el-form-item label="缂镐綋宸ュ崟鐘舵��" prop="bodyStatus" v-if = updateFlag>--> +<!-- <el-radio-group v-model="form.bodyStatus">--> +<!-- <el-radio--> +<!-- v-for="dict in dict.type.status"--> +<!-- :key="dict.value"--> +<!-- :label="dict.value"--> +<!-- >{{dict.label}}</el-radio>--> +<!-- </el-radio-group>--> +<!-- </el-form-item>--> + <el-form-item label="缂稿鏁伴噺" prop="headStatus"> + <el-input v-model="form.headStatus" placeholder="璇疯緭鍏ヨ鍒掓暟閲�" /> + </el-form-item> + <el-form-item label="棰勮鏁伴噺" prop="preStatus"> + <el-input v-model="form.preStatus" placeholder="璇疯緭鍏ヨ鍒掓暟閲�" /> </el-form-item> <el-form-item label="澶囨敞" prop="remarks"> <el-input @@ -330,9 +328,6 @@ productCode: [ { required: true, message: "浜у搧缂栧彿涓嶈兘涓虹┖", trigger: "blur" } ], - lineCode: [ - { required: true, message: "浜х嚎缂栧彿涓嶈兘涓虹┖", trigger: "blur" } - ], planQty: [ { required: true, message: "璁″垝鏁伴噺涓嶈兘涓虹┖", trigger: "blur" } ], @@ -407,6 +402,12 @@ updateBy: null, remarks: null, delFlag: null, + bodyQty: null, + headQty: null, + preQty: null, + bodyStatus :null, + headStatus :null, + preStatus :null, }; this.resetForm("form"); this.addFlag = false @@ -447,6 +448,91 @@ this.title = "淇敼鐢熶骇宸ュ崟"; }); }, + + /** 淇敼缂镐綋鐘舵�佹寜閽搷浣� */ + bodyStatus(row) { + this.reset(); + const id = row.id || this.ids + getInfo(id).then(response => { + this.form = response.data; + if(this.form.bodyStatus === "1"){ + this.form.bodyStatus = "5"; + updateInfo(this.form).then(response => { + this.$modal.msgSuccess("鏆傚仠鎴愬姛"); + this.getList();}); + }else if(this.form.bodyStatus === "2"){ + this.$message('璁㈠崟宸插畬鎴愮姝慨鏀�'); + }else if(this.form.bodyStatus === "3") { + this.$message('璁㈠崟鍏抽棴绂佹淇敼'); + }else if(this.form.bodyStatus === "4") { + this.$message('璁㈠崟宸插叏閮ㄤ笂绾垮畬鎴愮姝慨鏀�'); + } + else if(this.form.bodyStatus === "5") { + this.form.bodyStatus = "1"; + updateInfo(this.form).then(response => { + this.$modal.msgSuccess("閲嶅惎鎴愬姛"); + this.getList();}); + }else if(this.form.bodyStatus === "0"){ + this.$message('璁㈠崟鏈紑濮�'); + } + }); + }, + /** 淇敼缂哥洊鐘舵�佹寜閽搷浣� */ + headStatus(row) { + this.reset(); + const id = row.id || this.ids + getInfo(id).then(response => { + this.form = response.data; + if(this.form.headStatus === "1"){ + this.form.headStatus = "5"; + updateInfo(this.form).then(response => { + this.$modal.msgSuccess("鏆傚仠鎴愬姛"); + this.getList();}); + }else if(this.form.headStatus === "2"){ + this.$message('璁㈠崟宸插畬鎴愮姝慨鏀�'); + }else if(this.form.headStatus === "3") { + this.$message('璁㈠崟鍏抽棴绂佹淇敼'); + }else if(this.form.headStatus === "4") { + this.$message('璁㈠崟宸插叏閮ㄤ笂绾垮畬鎴愮姝慨鏀�'); + } + else if(this.form.headStatus === "5") { + this.form.headStatus = "1"; + updateInfo(this.form).then(response => { + this.$modal.msgSuccess("閲嶅惎鎴愬姛"); + this.getList();}); + }else if(this.form.headStatus === "0"){ + this.$message('璁㈠崟鏈紑濮�'); + } + }); + }, + /** 淇敼棰勮鐘舵�佹寜閽搷浣� */ + preStatus(row) { + this.reset(); + const id = row.id || this.ids + getInfo(id).then(response => { + this.form = response.data; + if(this.form.preStatus === "1"){ + this.form.preStatus = "5"; + updateInfo(this.form).then(response => { + this.$modal.msgSuccess("鏆傚仠鎴愬姛"); + this.getList();}); + }else if(this.form.preStatus === "2"){ + this.$message('璁㈠崟宸插畬鎴愮姝慨鏀�'); + }else if(this.form.preStatus === "3") { + this.$message('璁㈠崟鍏抽棴绂佹淇敼'); + }else if(this.form.preStatus === "4") { + this.$message('璁㈠崟宸插叏閮ㄤ笂绾垮畬鎴愮姝慨鏀�'); + } + else if(this.form.preStatus === "5") { + this.form.preStatus = "1"; + updateInfo(this.form).then(response => { + this.$modal.msgSuccess("閲嶅惎鎴愬姛"); + this.getList();}); + }else if(this.form.preStatus === "0"){ + this.$message('璁㈠崟鏈紑濮�'); + } + }); + }, /** 鎻愪氦鎸夐挳 */ submitForm() { this.$refs["form"].validate(valid => { diff --git a/pom.xml b/pom.xml index a6265f6..a905b2b 100644 --- a/pom.xml +++ b/pom.xml @@ -285,4 +285,5 @@ </pluginRepository> </pluginRepositories> + </project> \ No newline at end of file -- Gitblit v1.9.3