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> 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 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> 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); 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åä¿¡æ¯å表 */ 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) { } } 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; 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); } 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; /** 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"; } 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 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)); } 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(); } } 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; 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); } 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; } 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 */ 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); } /** 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); } /** 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; } 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";//请æ±æ§ç´§æ°æ® } 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()); } } //é¦å·¥ç«ä¸åå·¥å,并çæSNç 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()); } } 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 { // 解ææ¥ææ¶é´å符串 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); // 设置ä¸å®½æ¾ï¼ä»¥ä¸¥æ ¼å¹é æ ¼å¼ // 解ææ¥æå符串 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 = ""; // å建ä¸ä¸ªSimpleDateFormat对象æ¥è§£æè¾å ¥çæ¥æå符串ï¼å设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(); } // å建ä¸ä¸ªSimpleDateFormat对象æ¥æ ¼å¼åæ¥æ为UTCæ¶é´ SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); outputFormat.setTimeZone(TimeZone.getTimeZone("UTC")); // 设置为UTCæ¶åº // æ ¼å¼åæ¥æ if (date != null) { str = outputFormat.format(date); } return str; } } 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> 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"> 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> 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> 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>ä» å è®¸å¯¼å ¥xlsãxlsxæ ¼å¼æ件ã</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> 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" 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 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"> 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"> 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> 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 => { pom.xml
@@ -285,4 +285,5 @@ </pluginRepository> </pluginRepositories> </project>