diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteDeviceService.java b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteDeviceService.java new file mode 100644 index 000000000..cbdf96f30 --- /dev/null +++ b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteDeviceService.java @@ -0,0 +1,24 @@ +package com.op.system.api; + +import com.op.common.core.constant.ServiceNameConstants; +import com.op.common.core.domain.R; +import com.op.system.api.factory.RemoteDeviceFallbackFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; + +import java.util.List; + +/** + * 用户服务 + * + * @author OP + */ +@FeignClient(contextId = "remoteDeviceService", value = ServiceNameConstants.DEVICE_SERVICE, fallbackFactory = RemoteDeviceFallbackFactory.class) + + + +public interface RemoteDeviceService { + + @PostMapping("/deviceTask/createSpotCheckPlanTask") + public R createSpotCheckPlanTask(); +} diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/dto/BaseBomDTO.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/dto/BaseBomDTO.java index ee99bd0de..2f4ea9c69 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/domain/dto/BaseBomDTO.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/dto/BaseBomDTO.java @@ -96,6 +96,70 @@ public class BaseBomDTO extends BaseEntity { @Excel(name = "是否在用") private String currentVersion; + private String component; + private String componentName; + private String unit; + private String productGroup; + private String productGroupName; + private String productCode; + private String workorderCode; + + public String getWorkorderCode() { + return workorderCode; + } + + public void setWorkorderCode(String workorderCode) { + this.workorderCode = workorderCode; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getComponent() { + return component; + } + + public void setComponent(String component) { + this.component = component; + } + + public String getComponentName() { + return componentName; + } + + public void setComponentName(String componentName) { + this.componentName = componentName; + } + + public String getUnit() { + return unit; + } + + public void setUnit(String unit) { + this.unit = unit; + } + + public String getProductGroup() { + return productGroup; + } + + public void setProductGroup(String productGroup) { + this.productGroup = productGroup; + } + + public String getProductGroupName() { + return productGroupName; + } + + public void setProductGroupName(String productGroupName) { + this.productGroupName = productGroupName; + } + private List children; public List getChildren() { diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/BaseProductDTO.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/BaseProductDTO.java new file mode 100644 index 000000000..ca164f14a --- /dev/null +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/BaseProductDTO.java @@ -0,0 +1,687 @@ +package com.op.system.api.domain.mes; + +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.math.BigDecimal; + +/** + * 物料管理 base_product + * + * @author JGY + * @date 2023-07-18 + */ +public class BaseProductDTO extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private String productId; + + /** 物料编码 */ + @Excel(name = "物料编码") + private String productCode; + + /** 物料名称 */ + @Excel(name = "物料名称") + private String productDescZh; + + /** 物料名称 */ + @Excel(name = "物料型号") + private String productModel; + + /** 英文描述 */ + @Excel(name = "英文描述") + private String productDescEn; + + /** 序列号规则代码 */ + @Excel(name = "序列号规则代码") + private String ruleCode; + + /** 旧物料号 */ + @Excel(name = "旧物料号") + private String oldProductCode; + + /** 散件物料号 */ + @Excel(name = "散件物料号") + private String partsProductCode; + + /** 69码 */ + @Excel(name = "69码") + private String skuBarcode; + + /** 长 */ + @Excel(name = "长") + private BigDecimal length; + + /** 宽 */ + @Excel(name = "宽") + private BigDecimal width; + + /** 高 */ + @Excel(name = "高") + private BigDecimal height; + + /** 毛重 */ + @Excel(name = "毛重") + private BigDecimal grossWeight; + + /** 净重 */ + @Excel(name = "净重") + private BigDecimal netWeight; + + /** 皮重 */ + @Excel(name = "皮重") + private BigDecimal tareWeight; + + /** 体积 */ + @Excel(name = "体积") + private BigDecimal volume; + + /** 单价 */ + @Excel(name = "单价") + private BigDecimal unitPrice; + + /** 物料组 */ + @Excel(name = "物料类别组") + private String productGroup; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String productGroupName; + + /** 用户自定义1 */ + @Excel(name = "用户自定义1") + private String userDefined1; + + /** 用户自定义2 */ + @Excel(name = "用户自定义2") + private String userDefined2; + + /** 用户自定义3 */ + @Excel(name = "用户自定义3") + private String userDefined3; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String userDefined4; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String userDefined5; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String userDefined6; + + /** 工厂编码 */ + @Excel(name = "工厂编码") + private String factoryCode; + + /** 激活标记 */ + @Excel(name = "激活标记") + private String activeFlag; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String syncFlag; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String primaryUom; + + /** $column.columnComment */ + private String delFlag; + + /** 订单单位 */ + @Excel(name = "订单单位") + private String bstme; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private BigDecimal basicOrder; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private BigDecimal convOrder; + + /** 发货单位 */ + @Excel(name = "发货单位") + private String ausme; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private BigDecimal basicIssue; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private BigDecimal convIssue; + + /** 是否补料(0否 */ + @Excel(name = "是否补料", readConverterExp = "是否补料(0否") + private String appendFlag; + + /** 补料比例 */ + @Excel(name = "补料比例") + private String appendPercent; + + /** 物料类型 */ + @Excel(name = "物料类型") + private String mtart; + + /** 品类 */ + @Excel(name = "品类") + private String category; + + /** 每PC单圈 */ + @Excel(name = "每PC单圈") + private String pc; + + /** 标准效率 */ + @Excel(name = "标准效率") + private BigDecimal iei; + + /** 标准用人 */ + @Excel(name = "标准用人") + private BigDecimal manStandar; + + /** 喷药方式 */ + @Excel(name = "喷药方式") + private String sprayWay; + + /** 白坯直径 */ + @Excel(name = "白坯直径") + private BigDecimal blankDiameter; + + /** 白坯物料号 */ + @Excel(name = "白坯物料号") + private String blankNo; + + /** 标准喷药量(KG/PC) */ + @Excel(name = "标准喷药量", readConverterExp = "K=G/PC") + private BigDecimal sprayVolume; + + /** 药液料号 */ + @Excel(name = "药液料号") + private String liquidNo; + + /** 标准内膜用量(KG/PC) */ + @Excel(name = "标准内膜用量", readConverterExp = "K=G/PC") + private BigDecimal endometrialDosage; + + /** 标准外模用量(KG/PC) */ + @Excel(name = "标准外模用量(KG/PC)") + private BigDecimal outerFilmDosage; + + /** 支架 */ + @Excel(name = "支架") + private Long support; + + /** 支架物料号 */ + @Excel(name = "支架物料号") + private String supportNo; + + /** 吸塑 */ + @Excel(name = "吸塑") + private Long pvc; + + /** 支架盘 */ + @Excel(name = "支架盘") + private Long supportPlate; + + /** 其它 */ + @Excel(name = "其它") + private String other; + + public void setCategory(String category) { + this.category = category; + } + + public String getCategory() { + return category; + } + public void setPc(String pc) { + this.pc = pc; + } + + public String getPc() { + return pc; + } + public void setIei(BigDecimal iei) { + this.iei = iei; + } + + public BigDecimal getIei() { + return iei; + } + public void setManStandar(BigDecimal manStandar) { + this.manStandar = manStandar; + } + + public BigDecimal getManStandar() { + return manStandar; + } + public void setSprayWay(String sprayWay) { + this.sprayWay = sprayWay; + } + + public String getSprayWay() { + return sprayWay; + } + public void setBlankDiameter(BigDecimal blankDiameter) { + this.blankDiameter = blankDiameter; + } + + public BigDecimal getBlankDiameter() { + return blankDiameter; + } + public void setBlankNo(String blankNo) { + this.blankNo = blankNo; + } + + public String getBlankNo() { + return blankNo; + } + public void setSprayVolume(BigDecimal sprayVolume) { + this.sprayVolume = sprayVolume; + } + + public BigDecimal getSprayVolume() { + return sprayVolume; + } + public void setLiquidNo(String liquidNo) { + this.liquidNo = liquidNo; + } + + public String getLiquidNo() { + return liquidNo; + } + public void setEndometrialDosage(BigDecimal endometrialDosage) { + this.endometrialDosage = endometrialDosage; + } + + public BigDecimal getEndometrialDosage() { + return endometrialDosage; + } + public void setOuterFilmDosage(BigDecimal outerFilmDosage) { + this.outerFilmDosage = outerFilmDosage; + } + + public BigDecimal getOuterFilmDosage() { + return outerFilmDosage; + } + public void setSupport(Long support) { + this.support = support; + } + + public Long getSupport() { + return support; + } + public void setSupportNo(String supportNo) { + this.supportNo = supportNo; + } + + public String getSupportNo() { + return supportNo; + } + public void setPvc(Long pvc) { + this.pvc = pvc; + } + + public Long getPvc() { + return pvc; + } + public void setSupportPlate(Long supportPlate) { + this.supportPlate = supportPlate; + } + + public Long getSupportPlate() { + return supportPlate; + } + public void setOther(String other) { + this.other = other; + } + + public String getOther() { + return other; + } + + public void setProductId(String productId) { + this.productId = productId; + } + public String getProductId() { + return productId;} + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductCode() { + return productCode; + } + public void setProductDescZh(String productDescZh) { + this.productDescZh = productDescZh; + } + + public String getProductDescZh() { + return productDescZh; + } + + public void setProductModel(String productModel) { + this.productModel = productModel; + } + + public String getProductModel() { + return productModel; + } + public void setProductDescEn(String productDescEn) { + this.productDescEn = productDescEn; + } + + public String getProductDescEn() { + return productDescEn; + } + public void setRuleCode(String ruleCode) { + this.ruleCode = ruleCode; + } + + public String getRuleCode() { + return ruleCode; + } + public void setOldProductCode(String oldProductCode) { + this.oldProductCode = oldProductCode; + } + + public String getOldProductCode() { + return oldProductCode; + } + public void setPartsProductCode(String partsProductCode) { + this.partsProductCode = partsProductCode; + } + + public String getPartsProductCode() { + return partsProductCode; + } + public void setSkuBarcode(String skuBarcode) { + this.skuBarcode = skuBarcode; + } + + public String getSkuBarcode() { + return skuBarcode; + } + public void setLength(BigDecimal length) { + this.length = length; + } + + public BigDecimal getLength() { + return length; + } + public void setWidth(BigDecimal width) { + this.width = width; + } + + public BigDecimal getWidth() { + return width; + } + public void setHeight(BigDecimal height) { + this.height = height; + } + + public BigDecimal getHeight() { + return height; + } + public void setGrossWeight(BigDecimal grossWeight) { + this.grossWeight = grossWeight; + } + + public BigDecimal getGrossWeight() { + return grossWeight; + } + public void setNetWeight(BigDecimal netWeight) { + this.netWeight = netWeight; + } + + public BigDecimal getNetWeight() { + return netWeight; + } + public void setTareWeight(BigDecimal tareWeight) { + this.tareWeight = tareWeight; + } + + public BigDecimal getTareWeight() { + return tareWeight; + } + public void setVolume(BigDecimal volume) { + this.volume = volume; + } + + public BigDecimal getVolume() { + return volume; + } + public void setUnitPrice(BigDecimal unitPrice) { + this.unitPrice = unitPrice; + } + + public BigDecimal getUnitPrice() { + return unitPrice; + } + public void setProductGroup(String productGroup) { + this.productGroup = productGroup; + } + + public String getProductGroup() { + return productGroup; + } + public void setProductGroupName(String productGroupName) { + this.productGroupName = productGroupName; + } + + public String getProductGroupName() { + return productGroupName; + } + public void setUserDefined1(String userDefined1) { + this.userDefined1 = userDefined1; + } + + public String getUserDefined1() { + return userDefined1; + } + public void setUserDefined2(String userDefined2) { + this.userDefined2 = userDefined2; + } + + public String getUserDefined2() { + return userDefined2; + } + public void setUserDefined3(String userDefined3) { + this.userDefined3 = userDefined3; + } + + public String getUserDefined3() { + return userDefined3; + } + public void setUserDefined4(String userDefined4) { + this.userDefined4 = userDefined4; + } + + public String getUserDefined4() { + return userDefined4; + } + public void setUserDefined5(String userDefined5) { + this.userDefined5 = userDefined5; + } + + public String getUserDefined5() { + return userDefined5; + } + public void setUserDefined6(String userDefined6) { + this.userDefined6 = userDefined6; + } + + public String getUserDefined6() { + return userDefined6; + } + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + + public String getFactoryCode() { + return factoryCode; + } + public void setActiveFlag(String activeFlag) { + this.activeFlag = activeFlag; + } + + public String getActiveFlag() { + return activeFlag; + } + public void setSyncFlag(String syncFlag) { + this.syncFlag = syncFlag; + } + + public String getSyncFlag() { + return syncFlag; + } + public void setPrimaryUom(String primaryUom) { + this.primaryUom = primaryUom; + } + + public String getPrimaryUom() { + return primaryUom; + } + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + + public String getDelFlag() { + return delFlag; + } + public void setBstme(String bstme) { + this.bstme = bstme; + } + + public String getBstme() { + return bstme; + } + public void setBasicOrder(BigDecimal basicOrder) { + this.basicOrder = basicOrder; + } + + public BigDecimal getBasicOrder() { + return basicOrder; + } + public void setConvOrder(BigDecimal convOrder) { + this.convOrder = convOrder; + } + + public BigDecimal getConvOrder() { + return convOrder; + } + public void setAusme(String ausme) { + this.ausme = ausme; + } + + public String getAusme() { + return ausme; + } + public void setBasicIssue(BigDecimal basicIssue) { + this.basicIssue = basicIssue; + } + + public BigDecimal getBasicIssue() { + return basicIssue; + } + public void setConvIssue(BigDecimal convIssue) { + this.convIssue = convIssue; + } + + public BigDecimal getConvIssue() { + return convIssue; + } + public void setAppendFlag(String appendFlag) { + this.appendFlag = appendFlag; + } + + public String getAppendFlag() { + return appendFlag; + } + public void setAppendPercent(String appendPercent) { + this.appendPercent = appendPercent; + } + + public String getAppendPercent() { + return appendPercent; + } + + public void setMtart(String mtart) { + this.mtart = mtart; + } + + public String getMtart() { + return mtart; + } + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("productId", getProductId()) + .append("productCode", getProductCode()) + .append("productDescZh", getProductDescZh()) + .append("productDescEn", getProductDescEn()) + .append("ruleCode", getRuleCode()) + .append("oldProductCode", getOldProductCode()) + .append("partsProductCode", getPartsProductCode()) + .append("skuBarcode", getSkuBarcode()) + .append("length", getLength()) + .append("width", getWidth()) + .append("height", getHeight()) + .append("grossWeight", getGrossWeight()) + .append("netWeight", getNetWeight()) + .append("tareWeight", getTareWeight()) + .append("volume", getVolume()) + .append("unitPrice", getUnitPrice()) + .append("productGroup", getProductGroup()) + .append("productGroupName", getProductGroupName()) + .append("userDefined1", getUserDefined1()) + .append("userDefined2", getUserDefined2()) + .append("userDefined3", getUserDefined3()) + .append("userDefined4", getUserDefined4()) + .append("userDefined5", getUserDefined5()) + .append("userDefined6", getUserDefined6()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("factoryCode", getFactoryCode()) + .append("activeFlag", getActiveFlag()) + .append("syncFlag", getSyncFlag()) + .append("primaryUom", getPrimaryUom()) + .append("delFlag", getDelFlag()) + .append("bstme", getBstme()) + .append("basicOrder", getBasicOrder()) + .append("convOrder", getConvOrder()) + .append("ausme", getAusme()) + .append("basicIssue", getBasicIssue()) + .append("convIssue", getConvIssue()) + .append("appendFlag", getAppendFlag()) + .append("appendPercent", getAppendPercent()) + .append("mtart", getMtart()) + .append("category", getCategory()) + .append("pc", getPc()) + .append("iei", getIei()) + .append("manStandar", getManStandar()) + .append("sprayWay", getSprayWay()) + .append("blankDiameter", getBlankDiameter()) + .append("blankNo", getBlankNo()) + .append("sprayVolume", getSprayVolume()) + .append("liquidNo", getLiquidNo()) + .append("endometrialDosage", getEndometrialDosage()) + .append("outerFilmDosage", getOuterFilmDosage()) + .append("support", getSupport()) + .append("supportNo", getSupportNo()) + .append("pvc", getPvc()) + .append("supportPlate", getSupportPlate()) + .append("other", getOther()) + .toString(); + } +} diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/BaseTeamTDTO.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/BaseTeamTDTO.java new file mode 100644 index 000000000..03f501028 --- /dev/null +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/BaseTeamTDTO.java @@ -0,0 +1,342 @@ +package com.op.system.api.domain.mes; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; +import java.util.List; + +/** + * 班组对象 base_team_t + * + * @author Open Platform + * @date 2023-07-05 + */ +public class BaseTeamTDTO extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 班组主键 */ + private String teamId; + + /** 组织机构主键 */ + @Excel(name = "组织机构主键") + private String orgId; + + /** 班组编码 */ + @Excel(name = "班组编码") + private String teamCode; + + /** 班组简称 */ + @Excel(name = "班组简称") + private String teamDesc; + + /** 班组通用名称 */ + @Excel(name = "班组通用名称") + private String teamDescGlobal; + + /** 班组扩展名称 */ + @Excel(name = "班组扩展名称") + private String teamDescExtended; + + /** 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date createDate; + + /** 最后更新人 */ + @Excel(name = "最后更新人") + private String lastUpdateBy; + + /** 最后更新时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date lastUpdateDate; + + /** 可用标识 */ + @Excel(name = "可用标识") + private String Active; + + /** 企业主键 */ + @Excel(name = "企业主键") + private String enterpriseId; + + /** 企业编码 */ + @Excel(name = "企业编码") + private String enterpriseCode; + + /** 工厂主键 */ + @Excel(name = "工厂主键") + private String siteId; + + /** 工厂编码 */ + @Excel(name = "工厂编码") + private String siteCode; + + /** 线体编码 */ + @Excel(name = "线体编码") + private String productionLineCode; + + /** 班组长编码 */ + @Excel(name = "班组长编码") + private String teamLeaderCode; + + /** 班组长编码 */ + @Excel(name = "班组长编码") + private String teamLeaderName; + + /** 定编岗位数量 */ + @Excel(name = "定编岗位数量") + private Integer planPostQuantity; + + /** 已分配岗位数量 */ + @Excel(name = "已分配岗位数量") + private Integer actualPostQuantity; + + /** 薪酬类型(0:总装;1:小时节点筹; */ + @Excel(name = "薪酬类型(0:总装;1:小时节点筹;") + private String salaryType; + + /** 班组属性 */ + @Excel(name = "班组属性") + private String teamProperties; + + /** 应出勤人数 */ + @Excel(name = "应出勤人数") + private Integer attendanceQuantity; + + /** 已分配人数 */ + @Excel(name = "已分配人数") + private Integer assignedQuantity; + + /** 班组类型 */ + @Excel(name = "班组类型") + private String teamType; + + private List rightData; + + /** 删除标志 */ + @Excel(name = "删除标志") + private String delFlag; + + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + public String getDelFlag() { + return delFlag; + } + + public void setRightData(List rightData) { + this.rightData = rightData; + } + + public List getRightData() { + return rightData; + } + + public void setTeamType(String teamType) { + this.teamType = teamType; + } + + public String getTeamType() { + return teamType; + } + + public void setTeamId(String teamId) { + this.teamId = teamId; + } + + public String getTeamId() { + return teamId; + } + public void setOrgId(String orgId) { + this.orgId = orgId; + } + + public String getOrgId() { + return orgId; + } + public void setTeamCode(String teamCode) { + this.teamCode = teamCode; + } + + public String getTeamCode() { + return teamCode; + } + public void setTeamDesc(String teamDesc) { + this.teamDesc = teamDesc; + } + + public String getTeamDesc() { + return teamDesc; + } + public void setTeamDescGlobal(String teamDescGlobal) { + this.teamDescGlobal = teamDescGlobal; + } + + public String getTeamDescGlobal() { + return teamDescGlobal; + } + public void setTeamDescExtended(String teamDescExtended) { + this.teamDescExtended = teamDescExtended; + } + + public String getTeamDescExtended() { + return teamDescExtended; + } + public void setCreateDate(Date createDate) { + this.createDate = createDate; + } + + public Date getCreateDate() { + return createDate; + } + public void setLastUpdateBy(String lastUpdateBy) { + this.lastUpdateBy = lastUpdateBy; + } + + public String getLastUpdateBy() { + return lastUpdateBy; + } + public void setLastUpdateDate(Date lastUpdateDate) { + this.lastUpdateDate = lastUpdateDate; + } + + public Date getLastUpdateDate() { + return lastUpdateDate; + } + public void setActive(String Active) { + this.Active = Active; + } + + public String getActive() { + return Active; + } + public void setEnterpriseId(String enterpriseId) { + this.enterpriseId = enterpriseId; + } + + public String getEnterpriseId() { + return enterpriseId; + } + public void setEnterpriseCode(String enterpriseCode) { + this.enterpriseCode = enterpriseCode; + } + + public String getEnterpriseCode() { + return enterpriseCode; + } + public void setSiteId(String siteId) { + this.siteId = siteId; + } + + public String getSiteId() { + return siteId; + } + public void setSiteCode(String siteCode) { + this.siteCode = siteCode; + } + + public String getSiteCode() { + return siteCode; + } + public void setProductionLineCode(String productionLineCode) { + this.productionLineCode = productionLineCode; + } + + public String getProductionLineCode() { + return productionLineCode; + } + public void setTeamLeaderCode(String teamLeaderCode) { + this.teamLeaderCode = teamLeaderCode; + } + + public String getTeamLeaderCode() { + return teamLeaderCode; + } + + public void setTeamLeaderName(String teamLeaderName) { + this.teamLeaderName = teamLeaderName; + } + + public String getTeamLeaderName() { + return teamLeaderName; + } + + public void setPlanPostQuantity(Integer planPostQuantity) { + this.planPostQuantity = planPostQuantity; + } + + public Integer getPlanPostQuantity() { + return planPostQuantity; + } + public void setActualPostQuantity(Integer actualPostQuantity) { + this.actualPostQuantity = actualPostQuantity; + } + + public Integer getActualPostQuantity() { + return actualPostQuantity; + } + public void setSalaryType(String salaryType) { + this.salaryType = salaryType; + } + + public String getSalaryType() { + return salaryType; + } + public void setTeamProperties(String teamProperties) { + this.teamProperties = teamProperties; + } + + public String getTeamProperties() { + return teamProperties; + } + public void setAttendanceQuantity(Integer attendanceQuantity) { + this.attendanceQuantity = attendanceQuantity; + } + + public Integer getAttendanceQuantity() { + return attendanceQuantity; + } + public void setAssignedQuantity(Integer assignedQuantity) { + this.assignedQuantity = assignedQuantity; + } + + public Integer getAssignedQuantity() { + return assignedQuantity; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("teamId", getTeamId()) + .append("orgId", getOrgId()) + .append("teamCode", getTeamCode()) + .append("teamDesc", getTeamDesc()) + .append("teamDescGlobal", getTeamDescGlobal()) + .append("teamDescExtended", getTeamDescExtended()) + .append("createBy", getCreateBy()) + .append("createDate", getCreateDate()) + .append("lastUpdateBy", getLastUpdateBy()) + .append("lastUpdateDate", getLastUpdateDate()) + .append("Active", getActive()) + .append("enterpriseId", getEnterpriseId()) + .append("enterpriseCode", getEnterpriseCode()) + .append("siteId", getSiteId()) + .append("siteCode", getSiteCode()) + .append("productionLineCode", getProductionLineCode()) + .append("teamLeaderCode", getTeamLeaderCode()) + .append("teamLeaderName", getTeamLeaderName()) + .append("planPostQuantity", getPlanPostQuantity()) + .append("actualPostQuantity", getActualPostQuantity()) + .append("salaryType", getSalaryType()) + .append("teamProperties", getTeamProperties()) + .append("attendanceQuantity", getAttendanceQuantity()) + .append("assignedQuantity", getAssignedQuantity()) + .append("teamType", getTeamType()) + .append("delFlag", getDelFlag()) + .toString(); + } +} diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/MesReportWorkDTO.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/MesReportWorkDTO.java new file mode 100644 index 000000000..6f1ea8644 --- /dev/null +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/mes/MesReportWorkDTO.java @@ -0,0 +1,617 @@ +package com.op.system.api.domain.mes; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 报工报表对象 mes_report_work + * + * @author Open Platform + * @date 2023-08-24 + */ +public class MesReportWorkDTO extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 记录id */ + private String id; + + /** 报工单编号 */ + @Excel(name = "报工单编号") + private String reportCode; + + /** 报工类型,报工类型:SELF自行报工、UNI统一报工 */ + @Excel(name = "报工类型,报工类型:SELF上位机报工、UNI系统报工") + private String reportType; + + /** 生产工单编码 */ + @Excel(name = "生产工单编码") + private String workorderCode; + + /** 产品编码 */ + @Excel(name = "产品编码") + private String productCode; + + /** 产品名称 */ + @Excel(name = "产品名称") + private String productName; + + /** 规格型号 */ + @Excel(name = "规格型号") + private String spec; + + /** 单位 */ + @Excel(name = "单位") + private String unit; + + /** 排产数量 */ + @Excel(name = "排产数量") + private BigDecimal quantity; + private BigDecimal quantitySplit; + /** 本次报工数量 */ + @Excel(name = "本次报工数量") + private BigDecimal quantityFeedback; + + /** 合格数量 */ + //@Excel(name = "合格数量") + private BigDecimal quantityQualified; + + /** 不合格数量 */ + //@Excel(name = "不合格数量") + private BigDecimal quantityUnqualified; + + /** 报工人员 */ + @Excel(name = "报工人员") + private String userName; + + /** 人员名称 */ + @Excel(name = "人员名称") + private String nickName; + + /** 报工途径:PAD、MOBILE、PC */ + //@Excel(name = "报工途径:PAD、MOBILE、PC") + private String feedbackChannel; + + /** 报工时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "报工时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date feedbackTime; + + /** 录入人员 */ + @Excel(name = "录入人员") + private String recordUser; + + /** 状态 */ + @Excel(name = "状态") + private String status; + + /** 工时 */ + @Excel(name = "工时") + private Long workTime; + + /** 线体编码 */ + @Excel(name = "线体编码") + private String machineCode; + + /** 线体名称 */ + @Excel(name = "线体名称") + private String machineName; + + /** 班组编码 */ + @Excel(name = "班组编码") + private String teamCode; + + /** 班次编码 */ + @Excel(name = "班次编码") + private String shiftCode; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "SAP报工时间") + private Date uploadTime; + @Excel(name = "SAP报工状态0待报工1成功2失败") + private String uploadStatus; + @Excel(name = "SAP报工信息") + private String uploadMsg; + /** 预留字段1 */ + //@Excel(name = "预留字段1") + private String attr1; + + /** 预留字段2 */ + //@Excel(name = "预留字段2") + private String attr2; + + /** 预留字段3 */ + //@Excel(name = "预留字段3") + private String attr3; + + /** 预留字段4 */ + //@Excel(name = "预留字段4") + private String attr4; + @Excel(name = "计划生产日期") + private String productDate; + private String productDateStart; + private String productDateEnd; + @Excel(name = "订单编号") + private String orderCode; + @Excel(name = "规格型号") + private String productSpc; + @Excel(name = "工序名称") + private String processName; + @Excel(name = "工序编码") + private String processCode; + private String factoryCode; + private String factoryName; + private String carCode; + private String carName; + private String workorderCodeSap; + private String routeCode; + private String sac1; + private String sac2; + private String sac3; + private String sac4; + private String sac5; + private String sac6; + private String prodType; + private String createTimeStart; + private String createTimeEnd; + private String feedbackTimeStart; + private String feedbackTimeEnd; + + public BigDecimal getQuantitySplit() { + return quantitySplit; + } + + public void setQuantitySplit(BigDecimal quantitySplit) { + this.quantitySplit = quantitySplit; + } + + public String getFeedbackTimeStart() { + return feedbackTimeStart; + } + + public void setFeedbackTimeStart(String feedbackTimeStart) { + this.feedbackTimeStart = feedbackTimeStart; + } + + public String getFeedbackTimeEnd() { + return feedbackTimeEnd; + } + + public void setFeedbackTimeEnd(String feedbackTimeEnd) { + this.feedbackTimeEnd = feedbackTimeEnd; + } + + public String getCreateTimeStart() { + return createTimeStart; + } + + public void setCreateTimeStart(String createTimeStart) { + this.createTimeStart = createTimeStart; + } + + public String getCreateTimeEnd() { + return createTimeEnd; + } + + public void setCreateTimeEnd(String createTimeEnd) { + this.createTimeEnd = createTimeEnd; + } + + public String getProdType() { + return prodType; + } + + public void setProdType(String prodType) { + this.prodType = prodType; + } + + public String getWorkorderCodeSap() { + return workorderCodeSap; + } + + public void setWorkorderCodeSap(String workorderCodeSap) { + this.workorderCodeSap = workorderCodeSap; + } + + public String getRouteCode() { + return routeCode; + } + + public void setRouteCode(String routeCode) { + this.routeCode = routeCode; + } + + public String getSac1() { + return sac1; + } + + public void setSac1(String sac1) { + this.sac1 = sac1; + } + + public String getSac2() { + return sac2; + } + + public void setSac2(String sac2) { + this.sac2 = sac2; + } + + public String getSac3() { + return sac3; + } + + public void setSac3(String sac3) { + this.sac3 = sac3; + } + + public String getSac4() { + return sac4; + } + + public void setSac4(String sac4) { + this.sac4 = sac4; + } + + public String getSac5() { + return sac5; + } + + public void setSac5(String sac5) { + this.sac5 = sac5; + } + + public String getSac6() { + return sac6; + } + + public void setSac6(String sac6) { + this.sac6 = sac6; + } + + public Date getUploadTime() { + return uploadTime; + } + + public void setUploadTime(Date uploadTime) { + this.uploadTime = uploadTime; + } + + public String getUploadStatus() { + return uploadStatus; + } + + public void setUploadStatus(String uploadStatus) { + this.uploadStatus = uploadStatus; + } + + public String getUploadMsg() { + return uploadMsg; + } + + public void setUploadMsg(String uploadMsg) { + this.uploadMsg = uploadMsg; + } + + public String getFactoryCode() { + return factoryCode; + } + + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getCarCode() { + return carCode; + } + + public void setCarCode(String carCode) { + this.carCode = carCode; + } + + public String getCarName() { + return carName; + } + + public void setCarName(String carName) { + this.carName = carName; + } + + public String getProcessCode() { + return processCode; + } + + public void setProcessCode(String processCode) { + this.processCode = processCode; + } + + public String getProductDateStart() { + return productDateStart; + } + + public void setProductDateStart(String productDateStart) { + this.productDateStart = productDateStart; + } + + public String getProductDateEnd() { + return productDateEnd; + } + + public void setProductDateEnd(String productDateEnd) { + this.productDateEnd = productDateEnd; + } + + public void setId(String id) { + this.id = id; + } + + public String getId() { + return id; + } + + public void setReportType(String reportType) { + this.reportType = reportType; + } + public String getReportType() { + return reportType; + } + + public void setReportCode(String reportCode) { + this.reportCode = reportCode; + } + public String getReportCode() { + return reportCode; + } + + public void setWorkorderCode(String workorderCode) { + this.workorderCode = workorderCode; + } + + public String getWorkorderCode() { + return workorderCode; + } + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductCode() { + return productCode; + } + public void setProductName(String productName) { + this.productName = productName; + } + + public String getProductName() { + return productName; + } + public void setSpec(String spec) { + this.spec = spec; + } + + public String getSpec() { + return spec; + } + public void setUnit(String unit) { + this.unit = unit; + } + + public String getUnit() { + return unit; + } + public void setQuantity(BigDecimal quantity) { + this.quantity = quantity; + } + + public BigDecimal getQuantity() { + return quantity; + } + public void setQuantityFeedback(BigDecimal quantityFeedback) { + this.quantityFeedback = quantityFeedback; + } + + public BigDecimal getQuantityFeedback() { + return quantityFeedback; + } + public void setQuantityQualified(BigDecimal quantityQualified) { + this.quantityQualified = quantityQualified; + } + + public BigDecimal getQuantityQualified() { + return quantityQualified; + } + public void setQuantityUnqualified(BigDecimal quantityUnqualified) { + this.quantityUnqualified = quantityUnqualified; + } + + public BigDecimal getQuantityUnqualified() { + return quantityUnqualified; + } + public void setUserName(String userName) { + this.userName = userName; + } + + public String getUserName() { + return userName; + } + public void setNickName(String nickName) { + this.nickName = nickName; + } + + public String getNickName() { + return nickName; + } + public void setFeedbackChannel(String feedbackChannel) { + this.feedbackChannel = feedbackChannel; + } + + public String getFeedbackChannel() { + return feedbackChannel; + } + public void setFeedbackTime(Date feedbackTime) { + this.feedbackTime = feedbackTime; + } + + public Date getFeedbackTime() { + return feedbackTime; + } + public void setRecordUser(String recordUser) { + this.recordUser = recordUser; + } + + public String getRecordUser() { + return recordUser; + } + public void setStatus(String status) { + this.status = status; + } + + public String getStatus() { + return status; + } + public void setWorkTime(Long workTime) { + this.workTime = workTime; + } + + public Long getWorkTime() { + return workTime; + } + public void setMachineCode(String machineCode) { + this.machineCode = machineCode; + } + + public String getMachineCode() { + return machineCode; + } + public void setMachineName(String machineName) { + this.machineName = machineName; + } + + public String getMachineName() { + return machineName; + } + public void setTeamCode(String teamCode) { + this.teamCode = teamCode; + } + + public String getTeamCode() { + return teamCode; + } + public void setShiftCode(String shiftCode) { + this.shiftCode = shiftCode; + } + + public String getShiftCode() { + return shiftCode; + } + public void setAttr1(String attr1) { + this.attr1 = attr1; + } + + public String getAttr1() { + return attr1; + } + public void setAttr2(String attr2) { + this.attr2 = attr2; + } + + public String getAttr2() { + return attr2; + } + public void setAttr3(String attr3) { + this.attr3 = attr3; + } + + public String getAttr3() { + return attr3; + } + public void setAttr4(String attr4) { + this.attr4 = attr4; + } + + public String getAttr4() { + return attr4; + } + + public String getProductDate() { + return productDate; + } + + public void setProductDate(String productDate) { + this.productDate = productDate; + } + + public String getOrderCode() { + return orderCode; + } + + public void setOrderCode(String orderCode) { + this.orderCode = orderCode; + } + + public String getProductSpc() { + return productSpc; + } + + public void setProductSpc(String productSpc) { + this.productSpc = productSpc; + } + + public String getProcessName() { + return processName; + } + + public void setProcessName(String processName) { + this.processName = processName; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("reportType", getReportType()) + .append("reportCode", getReportCode()) + .append("workorderCode", getWorkorderCode()) + .append("productCode", getProductCode()) + .append("productName", getProductName()) + .append("spec", getSpec()) + .append("unit", getUnit()) + .append("quantity", getQuantity()) + .append("quantityFeedback", getQuantityFeedback()) + .append("quantityQualified", getQuantityQualified()) + .append("quantityUnqualified", getQuantityUnqualified()) + .append("userName", getUserName()) + .append("nickName", getNickName()) + .append("feedbackChannel", getFeedbackChannel()) + .append("feedbackTime", getFeedbackTime()) + .append("recordUser", getRecordUser()) + .append("status", getStatus()) + .append("remark", getRemark()) + .append("workTime", getWorkTime()) + .append("machineCode", getMachineCode()) + .append("machineName", getMachineName()) + .append("teamCode", getTeamCode()) + .append("shiftCode", getShiftCode()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateTime", getUpdateTime()) + .append("updateBy", getUpdateBy()) + .toString(); + } +} diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteDeviceFallbackFactory.java b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteDeviceFallbackFactory.java new file mode 100644 index 000000000..cdebef4b6 --- /dev/null +++ b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteDeviceFallbackFactory.java @@ -0,0 +1,33 @@ +package com.op.system.api.factory; + + +import com.op.common.core.domain.R; +import com.op.system.api.RemoteDeviceService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 用户服务降级处理 + * + * @author OP + */ +@Component +public class RemoteDeviceFallbackFactory implements FallbackFactory { + private static final Logger log = LoggerFactory.getLogger(RemoteDeviceFallbackFactory.class); + + @Override + public RemoteDeviceService create(Throwable throwable) { + log.error("Device服务调用失败:{}", throwable.getMessage()); + return new RemoteDeviceService() { + @Override + public R createSpotCheckPlanTask() { + return R.fail("点检计划创建失败:" + throwable.getMessage()); + } + }; + } +} + diff --git a/op-api/op-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/op-api/op-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index a44565e77..d8e2009be 100644 --- a/op-api/op-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/op-api/op-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -5,3 +5,4 @@ com.op.system.api.factory.RemoteMesFallbackFactory com.op.system.api.factory.RemotePlanFallbackFactory com.op.system.api.factory.RemoteTechnologyFallbackFactory com.op.system.api.factory.RemoteSapFallbackFactory +com.op.system.api.factory.RemoteDeviceFallbackFactory diff --git a/op-auth/push-auth.bat b/op-auth/push-auth.bat index 9ff3fa506..0795d2657 100644 --- a/op-auth/push-auth.bat +++ b/op-auth/push-auth.bat @@ -26,7 +26,8 @@ if exist %df% ( del /f /s /q .\Dockerfile ) echo --------------------------------Dockerfile-------------------------------- -echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile echo COPY %jarName% /application.jar >> Dockerfile echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile diff --git a/op-common/op-common-core/src/main/java/com/op/common/core/constant/ServiceNameConstants.java b/op-common/op-common-core/src/main/java/com/op/common/core/constant/ServiceNameConstants.java index 12e65b7af..6fa1d7dcc 100644 --- a/op-common/op-common-core/src/main/java/com/op/common/core/constant/ServiceNameConstants.java +++ b/op-common/op-common-core/src/main/java/com/op/common/core/constant/ServiceNameConstants.java @@ -43,4 +43,9 @@ public class ServiceNameConstants { * 工艺模块的serviceid */ public static final String TECH_SERVICE = "op-technology"; + + /** + * 设备模块的serviceid + */ + public static final String DEVICE_SERVICE = "op-device"; } diff --git a/op-common/op-common-core/src/main/java/com/op/common/core/domain/BaseFileData.java b/op-common/op-common-core/src/main/java/com/op/common/core/domain/BaseFileData.java index 66efc7d69..c7c6608fa 100644 --- a/op-common/op-common-core/src/main/java/com/op/common/core/domain/BaseFileData.java +++ b/op-common/op-common-core/src/main/java/com/op/common/core/domain/BaseFileData.java @@ -45,6 +45,17 @@ public class BaseFileData extends BaseEntity { @Excel(name = "预留字段4") private Long attr4; + /** 图片类型 */ + @Excel(name = "图片类型") + private String imageType; + + public void setImageType(String imageType) { + this.imageType = imageType; + } + public String getImageType() { + return imageType; + } + public void setFileId(String fileId) { this.fileId = fileId; } diff --git a/op-common/op-common-core/src/main/java/com/op/common/core/utils/poi/ExcelMapUtil.java b/op-common/op-common-core/src/main/java/com/op/common/core/utils/poi/ExcelMapUtil.java index 62af95270..993912269 100644 --- a/op-common/op-common-core/src/main/java/com/op/common/core/utils/poi/ExcelMapUtil.java +++ b/op-common/op-common-core/src/main/java/com/op/common/core/utils/poi/ExcelMapUtil.java @@ -2,9 +2,11 @@ package com.op.common.core.utils.poi; import com.alibaba.fastjson2.JSONObject; import com.op.common.core.domain.ExcelCol; +import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.xssf.streaming.SXSSFWorkbook; +import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import org.springframework.web.multipart.MultipartFile; @@ -53,37 +55,49 @@ public class ExcelMapUtil { //将data中的值填充到excel int rowNum = sheet.getLastRowNum()+1; - Iterator iterator = data.iterator(); - //遍历数据 - for (;iterator.hasNext();){ - Row dataRow = sheet.createRow(rowNum);//创建行 - T obj = iterator.next();//获取当前行对应的数据 - JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(obj)); - for (int i = 0 ; i < colSize ; i++ ){ - Cell dataCell = dataRow.createCell(i); - dataCell.setCellStyle(getDataFont(workbook)); - if(i>=2){ - dataCell.setCellValue(getValueNum(jsonObject.get(excelCol.get(i).getField()))); - }else{ - dataCell.setCellValue(getValue(jsonObject.get(excelCol.get(i).getField()))); - } + if(!CollectionUtils.isEmpty(data)){ + Iterator iterator = data.iterator(); + //遍历数据 + for (;iterator.hasNext();){ + Row dataRow = sheet.createRow(rowNum);//创建行 + T obj = iterator.next();//获取当前行对应的数据 + JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(obj)); + for (int i = 0 ; i < colSize ; i++ ){ + Cell dataCell = dataRow.createCell(i); + dataCell.setCellStyle(getDataFont(workbook)); + if(i>=2){ + dataCell.setCellValue(getValueNum(jsonObject.get(excelCol.get(i).getField()))); + }else{ + dataCell.setCellValue(getValue(jsonObject.get(excelCol.get(i).getField()))); + } + } + iterator.remove(); + rowNum++; } - iterator.remove(); - rowNum++; } + return workbook; } //标题样式 public static CellStyle getHeaderFont(Workbook workbook){ Font font = workbook.createFont(); - font.setFontHeightInPoints((short) 16);//字体大小 + font.setFontHeightInPoints((short) 15);//字体大小 font.setBold(true);//加粗 CellStyle cellStyle = workbook.createCellStyle(); cellStyle.setFont(font); cellStyle.setAlignment(HorizontalAlignment.CENTER_SELECTION);//设置水平居中 cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//设置垂直居中 + // 设置上边框 + cellStyle.setBorderTop(BorderStyle.THIN); + // 设置下边框 + cellStyle.setBorderBottom(BorderStyle.THIN); + // 设置左边框 + cellStyle.setBorderLeft(BorderStyle.THIN); + // 设置右边框 + cellStyle.setBorderRight(BorderStyle.THIN); + return cellStyle; } diff --git a/op-gateway/push-gate.bat b/op-gateway/push-gate.bat index f7efe0d69..82f33186e 100644 --- a/op-gateway/push-gate.bat +++ b/op-gateway/push-gate.bat @@ -26,7 +26,8 @@ if exist %df% ( del /f /s /q .\Dockerfile ) echo --------------------------------Dockerfile-------------------------------- -echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile echo COPY %jarName% /application.jar >> Dockerfile echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile diff --git a/op-modules/op-device/push-device.bat b/op-modules/op-device/push-device.bat index 20d4d5b76..e96795b15 100644 --- a/op-modules/op-device/push-device.bat +++ b/op-modules/op-device/push-device.bat @@ -26,7 +26,8 @@ if exist %df% ( del /f /s /q .\Dockerfile ) echo --------------------------------Dockerfile-------------------------------- -echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile echo COPY %jarName% /application.jar >> Dockerfile echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java b/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java index a1c14d221..83cb43f66 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java @@ -1,8 +1,11 @@ package com.op.device.controller; import com.op.common.core.web.domain.AjaxResult; -import com.op.device.domain.EquOrder; +import com.op.common.security.annotation.RequiresPermissions; +import com.op.device.domain.*; +import com.op.device.domain.dto.PDADTO; import com.op.device.service.IDevicePDAService; +import com.op.device.service.IEquRepairOrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -19,24 +22,27 @@ public class DevicePDAController { @Autowired private IDevicePDAService devicePDAService; + @Autowired + private IEquRepairOrderService equRepairOrderService; + /** * 获取今日巡检任务工单list - * @param userId + * @param pdadto * @return */ @GetMapping("/getTodayTask") - public AjaxResult getTodayTask(int userId) { - return devicePDAService.getTodayTask(userId); + public AjaxResult getTodayTask(PDADTO pdadto) { + return devicePDAService.getTodayTask(pdadto); } /** * 获取巡检记录 - * @param userId + * @param pdadto * @return */ @GetMapping("/getTaskRecord") - public AjaxResult getTaskRecord(int userId) { - return devicePDAService.getTaskRecord(userId); + public AjaxResult getTaskRecord(PDADTO pdadto) { + return devicePDAService.getTaskRecord(pdadto); } /** @@ -58,4 +64,66 @@ public class DevicePDAController { public AjaxResult updateInspectionRecord(@RequestBody EquOrder equOrder) { return devicePDAService.updateInspectionRecord(equOrder); } + + //报修 + /** + * 新增手持报修记录 + * @param equRepairOrder + * @return + */ + @PostMapping("/addRepairRecord") + public AjaxResult addRepairRecord(@RequestBody EquRepairOrder equRepairOrder) { + return devicePDAService.addRepairRecord(equRepairOrder); + } + + //维修 + /** + * 获取维修记录(待处理和已经维修完成) + * + * @param equRepairWorkOrder + * @return + */ + @GetMapping("/getMaintenanceRecords") + public AjaxResult getMaintenanceRecords(EquRepairWorkOrder equRepairWorkOrder) { + return devicePDAService.getMaintenanceRecords(equRepairWorkOrder); + } + + /** + * 是否停机维修 + * + * @param equRepairWorkOrder + * @return + */ + @PutMapping("/updateDowntime") + public AjaxResult updateDowntime(@RequestBody EquRepairWorkOrder equRepairWorkOrder) { + return devicePDAService.updateDowntime(equRepairWorkOrder); + } + + + /** + * 获取设备管理详细信息 + */ + @GetMapping(value = "/queryEquipment/{equipmentId}") + public AjaxResult queryEquipment(@PathVariable("equipmentId") Long equipmentId) { + return devicePDAService.selectEquEquipmentByEquEquipmentId(equipmentId); + } + + /** + * 获取维修详情 + */ + @GetMapping(value = "/selectPdaRepairWorkOrderDetails/{workId}") + public AjaxResult selectPdaRepairWorkOrderDetails(@PathVariable("workId") String workId) { + return devicePDAService.selectPdaRepairWorkOrderDetails(workId); + } + + /** + * 填写维修记录 + * @param equRepairWorkOrder + * @return + */ + @PutMapping("/updateMaintenanceRecords") + public AjaxResult updateMaintenanceRecords(@RequestBody EquRepairWorkOrder equRepairWorkOrder) { + return devicePDAService.updateMaintenanceRecords(equRepairWorkOrder); + } + } diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/DeviceTaskController.java b/op-modules/op-device/src/main/java/com/op/device/controller/DeviceTaskController.java new file mode 100644 index 000000000..33050ad05 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/controller/DeviceTaskController.java @@ -0,0 +1,43 @@ +package com.op.device.controller; + +import com.op.common.core.domain.R; +import com.op.common.core.web.domain.AjaxResult; +import com.op.device.domain.EquOrder; +import com.op.device.domain.EquPlan; +import com.op.device.domain.EquRepairOrder; +import com.op.device.domain.EquRepairWorkOrder; +import com.op.device.service.IDevicePDAService; +import com.op.device.service.IDeviceTaskService; +import com.op.device.service.IEquRepairOrderService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * DeviceTaskController + * + * @author wws + * @date 2023-10-23 + */ +@RestController +@RequestMapping("/deviceTask") +public class DeviceTaskController { + + @Autowired + private IDeviceTaskService taskService; + + /** + * 点检计划生成 + * @return + */ + @PostMapping("/createSpotCheckPlanTask") + public R createSpotCheckPlanTask() { + EquPlan equPlan = new EquPlan(); + AjaxResult result = taskService.createSpotCheckPlanTask(equPlan); + if(result.isSuccess()){ + return R.ok("点检计划生成成功"); + } + return R.fail("点检计划生成失败"); + } + + +} diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/EquPlanController.java b/op-modules/op-device/src/main/java/com/op/device/controller/EquPlanController.java index 6e4177a6e..026a10b6a 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/EquPlanController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/EquPlanController.java @@ -84,7 +84,7 @@ public class EquPlanController extends BaseController { * @param equEquipment * @return */ - @RequiresPermissions("device:plan:list") + @RequiresPermissions("device:inspectionPlan:list") @GetMapping("/getEquList") public TableDataInfo getEquList(EquEquipment equEquipment) { startPage(); @@ -95,7 +95,7 @@ public class EquPlanController extends BaseController { /** * 查询计划列表 */ - @RequiresPermissions("device:plan:list") + @RequiresPermissions("device:inspectionPlan:list") @GetMapping("/list") public TableDataInfo list(EquPlan equPlan) { startPage(); @@ -106,7 +106,7 @@ public class EquPlanController extends BaseController { /** * 导出计划列表 */ - @RequiresPermissions("device:plan:export") + @RequiresPermissions("device:inspectionPlan:export") @Log(title = "计划", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, EquPlan equPlan) { @@ -118,7 +118,7 @@ public class EquPlanController extends BaseController { /** * 获取计划详细信息 */ - @RequiresPermissions("device:plan:query") + @RequiresPermissions("device:inspectionPlan:query") @GetMapping(value = "/{planId}") public AjaxResult getInfo(@PathVariable("planId") String planId) { return success(equPlanService.selectEquPlanByPlanId(planId)); @@ -127,7 +127,7 @@ public class EquPlanController extends BaseController { /** * 新增计划 */ - @RequiresPermissions("device:plan:add") + @RequiresPermissions("device:inspectionPlan:add") @Log(title = "计划", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody EquPlan equPlan) { @@ -137,7 +137,7 @@ public class EquPlanController extends BaseController { /** * 修改计划 */ - @RequiresPermissions("device:plan:edit") + @RequiresPermissions("device:inspectionPlan:edit") @Log(title = "计划", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody EquPlan equPlan) { @@ -147,7 +147,7 @@ public class EquPlanController extends BaseController { /** * 删除计划 */ - @RequiresPermissions("device:plan:remove") + @RequiresPermissions("device:inspectionPlan:remove") @Log(title = "计划", businessType = BusinessType.DELETE) @DeleteMapping("/{planIds}") public AjaxResult remove(@PathVariable String[] planIds) { diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/EquRepairWorkOrderController.java b/op-modules/op-device/src/main/java/com/op/device/controller/EquRepairWorkOrderController.java index c5fffdc76..f047e7ff6 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/EquRepairWorkOrderController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/EquRepairWorkOrderController.java @@ -3,8 +3,7 @@ package com.op.device.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; -import com.op.device.domain.EquEquipment; -import com.op.device.domain.EquOutsourceWork; +import com.op.device.domain.EquTeamUser; import com.op.device.service.IEquOutsourceWorkService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -123,9 +122,9 @@ public class EquRepairWorkOrderController extends BaseController { //获取维修人员列表 @GetMapping("/getMaintenancePersonList") - public TableDataInfo getMaintenancePersonList(EquEquipment equEquipment) { + public TableDataInfo getMaintenancePersonList(EquTeamUser equTeamUser) { startPage(); - List list = equRepairWorkOrderService.getMaintenancePersonList(equEquipment); + List list = equRepairWorkOrderService.getMaintenancePersonList(equTeamUser); return getDataTable(list); } } diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/EquSpareApplyController.java b/op-modules/op-device/src/main/java/com/op/device/controller/EquSpareApplyController.java index 6db2647aa..b67b4da2c 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/EquSpareApplyController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/EquSpareApplyController.java @@ -2,6 +2,8 @@ package com.op.device.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.op.device.domain.EquRepairWorkOrder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -94,4 +96,14 @@ public class EquSpareApplyController extends BaseController { public AjaxResult remove(@PathVariable String[] applyIds) { return toAjax(equSpareApplyService.deleteEquSpareApplyByApplyIds(applyIds)); } + + /** + * 查询申领记录列表 + */ + @GetMapping("/listRepairSparePartsRecord") + public TableDataInfo listRepairSparePartsRecord(EquRepairWorkOrder equRepairWorkOrder) { + startPage(); + List list = equSpareApplyService.selectRepairSparePartsRecord(equRepairWorkOrder); + return getDataTable(list); + } } diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/EquTeamController.java b/op-modules/op-device/src/main/java/com/op/device/controller/EquTeamController.java index a59342981..52d46da29 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/EquTeamController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/EquTeamController.java @@ -2,6 +2,8 @@ package com.op.device.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.op.device.domain.EquTeamUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -72,7 +74,7 @@ public class EquTeamController extends BaseController { @Log(title = "设备班组维护", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody EquTeam equTeam) { - return toAjax(equTeamService.insertEquTeam(equTeam)); + return equTeamService.insertEquTeam(equTeam); } /** @@ -82,7 +84,7 @@ public class EquTeamController extends BaseController { @Log(title = "设备班组维护", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody EquTeam equTeam) { - return toAjax(equTeamService.updateEquTeam(equTeam)); + return equTeamService.updateEquTeam(equTeam); } /** @@ -102,4 +104,14 @@ public class EquTeamController extends BaseController { List list = equTeamService.getMaintenanceTeamList(equTeam); return getDataTable(list); } + + /** + * 查询班组人员列表 + */ + @GetMapping("/listTeamMembers") + public TableDataInfo listTeamMembers(EquTeamUser equTeamUser) { + startPage(); + List list = equTeamService.selectTeamMembers(equTeamUser); + return getDataTable(list); + } } diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/EquUpkeepOrderController.java b/op-modules/op-device/src/main/java/com/op/device/controller/EquUpkeepOrderController.java index 7a79430fc..9ba659173 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/EquUpkeepOrderController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/EquUpkeepOrderController.java @@ -9,6 +9,7 @@ import com.op.common.log.enums.BusinessType; import com.op.common.security.annotation.RequiresPermissions; import com.op.device.domain.EquOrder; import com.op.device.domain.EquPlan; +import com.op.device.domain.dto.UpKeepOrderDTO; import com.op.device.service.IEquUpkeepOrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -29,6 +30,18 @@ public class EquUpkeepOrderController extends BaseController { @Autowired private IEquUpkeepOrderService equUpkeepOrderService; + + /** + * 保养工单检验 + * @param upKeepOrderDTO + * @return + */ + @RequiresPermissions("device:upkeepOrder:add") + @PostMapping("/subInspect") + public AjaxResult subInspect(@RequestBody UpKeepOrderDTO upKeepOrderDTO) { + return equUpkeepOrderService.subInspect(upKeepOrderDTO); + } + /** * 查询保养工单列表 */ @@ -78,7 +91,7 @@ public class EquUpkeepOrderController extends BaseController { @Log(title = "保养工单", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody EquOrder equOrder) { - return toAjax(equUpkeepOrderService.updateEquOrder(equOrder)); + return equUpkeepOrderService.updateEquOrder(equOrder); } /** diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/InspectionWorkController.java b/op-modules/op-device/src/main/java/com/op/device/controller/InspectionWorkController.java new file mode 100644 index 000000000..efafbdf34 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/controller/InspectionWorkController.java @@ -0,0 +1,99 @@ +package com.op.device.controller; +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.op.device.service.IInspectionWorkService; +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.op.common.log.annotation.Log; +import com.op.common.log.enums.BusinessType; +import com.op.common.security.annotation.RequiresPermissions; +import com.op.device.domain.EquOrder; +import com.op.device.service.IEquOrderService; +import com.op.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.core.utils.poi.ExcelUtil; +import com.op.common.core.web.page.TableDataInfo; + +/** + * 巡检记录Controller + * + * @author wws + * @date 2023-11-07 + */ +@RestController +@RequestMapping("/inspectionWork") +public class InspectionWorkController extends BaseController{ + + @Autowired + private IInspectionWorkService iInspectionWorkService; + + /** + * 查询巡检记录列表 + */ + @RequiresPermissions("device:inspectionWork:list") + @GetMapping("/list") + public TableDataInfo list(EquOrder equOrder) { + startPage(); + List list = iInspectionWorkService.selectEquOrderList(equOrder); + return getDataTable(list); + } + + /** + * 导出巡检记录列表 + */ + @RequiresPermissions("device:inspectionWork:export") + @Log(title = "巡检记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, EquOrder equOrder) { + List list = iInspectionWorkService.selectEquOrderList(equOrder); + ExcelUtil util = new ExcelUtil(EquOrder.class); + util.exportExcel(response, list, "巡检记录数据"); + } + + /** + * 获取巡检记录详细信息 + */ + @RequiresPermissions("device:inspectionWork:query") + @GetMapping(value = "/{orderId}") + public AjaxResult getInfo(@PathVariable("orderId") String orderId) { + return iInspectionWorkService.selectEquOrderByOrderId(orderId); + } + + /** + * 新增巡检记录 + */ + @RequiresPermissions("device:inspectionWork:add") + @Log(title = "巡检记录", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody EquOrder equOrder) { + return toAjax(iInspectionWorkService.insertEquOrder(equOrder)); + } + + /** + * 修改巡检记录 + */ + @RequiresPermissions("device:inspectionWork:edit") + @Log(title = "巡检记录", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody EquOrder equOrder) { + return toAjax(iInspectionWorkService.updateEquOrder(equOrder)); + } + + /** + * 删除巡检记录 + */ + @RequiresPermissions("device:inspectionWork:remove") + @Log(title = "巡检记录", businessType = BusinessType.DELETE) + @DeleteMapping("/{orderIds}") + public AjaxResult remove(@PathVariable String[] orderIds) { + return toAjax(iInspectionWorkService.deleteEquOrderByOrderIds(orderIds)); + } +} diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquFile.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquFile.java new file mode 100644 index 000000000..c53d5dd3f --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquFile.java @@ -0,0 +1,123 @@ +package com.op.device.domain; + +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 附件对象 base_file + * + * @author Open Platform + * @date 2023-07-10 + */ +public class EquFile extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 附件ID */ + private String fileId; + + /** 附件名称 */ + @Excel(name = "附件名称") + private String fileName; + + /** 附件地址 */ + @Excel(name = "附件地址") + private String fileAddress; + + /** 数据来源 */ + @Excel(name = "数据来源") + private String sourceId; + + /** 预留字段1 */ + @Excel(name = "预留字段1") + private String attr1; + + /** 预留字段2 */ + @Excel(name = "预留字段2") + private String attr2; + + /** 预留字段3 */ + @Excel(name = "预留字段3") + private Long attr3; + + /** 预留字段4 */ + @Excel(name = "预留字段4") + private Long attr4; + + public void setFileId(String fileId) { + this.fileId = fileId; + } + + public String getFileId() { + return fileId; + } + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileName() { + return fileName; + } + public void setFileAddress(String fileAddress) { + this.fileAddress = fileAddress; + } + + public String getFileAddress() { + return fileAddress; + } + public void setSourceId(String sourceId) { + this.sourceId = sourceId; + } + + public String getSourceId() { + return sourceId; + } + public void setAttr1(String attr1) { + this.attr1 = attr1; + } + + public String getAttr1() { + return attr1; + } + public void setAttr2(String attr2) { + this.attr2 = attr2; + } + + public String getAttr2() { + return attr2; + } + public void setAttr3(Long attr3) { + this.attr3 = attr3; + } + + public Long getAttr3() { + return attr3; + } + public void setAttr4(Long attr4) { + this.attr4 = attr4; + } + + public Long getAttr4() { + return attr4; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("fileId", getFileId()) + .append("fileName", getFileName()) + .append("fileAddress", getFileAddress()) + .append("sourceId", getSourceId()) + .append("remark", getRemark()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java index 6f05277ae..f8cbc97ad 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrder.java @@ -140,6 +140,55 @@ public class EquOrder extends BaseEntity { // 是否停机保养 private String shutDown; + private String orderInspect; + + //报修单号 + private String repairCode; + + //维修单号 + private String workCode; + private int days; + + private String equipmentName; + + public String getEquipmentName() { + return equipmentName; + } + + public void setEquipmentName(String equipmentName) { + this.equipmentName = equipmentName; + } + + public int getDays() { + return days; + } + + public void setDays(int days) { + this.days = days; + } + + public String getRepairCode() { + return repairCode; + } + public void setRepairCode(String repairCode) { + this.repairCode = repairCode; + } + + public String getWorkCode() { + return workCode; + } + public void setWorkCode(String workCode) { + this.workCode = workCode; + } + + public String getOrderInspect() { + return orderInspect; + } + + public void setOrderInspect(String orderInspect) { + this.orderInspect = orderInspect; + } + public String getShutDown() { return shutDown; } diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderEqu.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderEqu.java index 224b9e7d1..da1f8da90 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderEqu.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderEqu.java @@ -60,6 +60,16 @@ public class EquOrderEqu extends BaseEntity { private List detailList; + private List spareList; + + public List getSpareList() { + return spareList; + } + + public void setSpareList(List spareList) { + this.spareList = spareList; + } + public List getDetailList() { return detailList; } diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderStandard.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderStandard.java index 7ef078b52..1071d4dea 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderStandard.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquOrderStandard.java @@ -84,6 +84,69 @@ public class EquOrderStandard extends BaseEntity { // 图片路径 private String picturePath; + private String standardTypeName; + + private String errorFlag; + + private String faultType; + + private String repairReach; + + private BigDecimal repairValue; + + private String repairPicture; + + //检查项检查方法 + private String itemMethod; + + public String getRepairPicture() { + return repairPicture; + } + + public void setRepairPicture(String repairPicture) { + this.repairPicture = repairPicture; + } + + public BigDecimal getRepairValue() { + return repairValue; + } + + public void setRepairValue(BigDecimal repairValue) { + this.repairValue = repairValue; + } + + public String getRepairReach() { + return repairReach; + } + + public void setRepairReach(String repairReach) { + this.repairReach = repairReach; + } + + public String getFaultType() { + return faultType; + } + + public void setFaultType(String faultType) { + this.faultType = faultType; + } + + public String getErrorFlag() { + return errorFlag; + } + + public void setErrorFlag(String errorFlag) { + this.errorFlag = errorFlag; + } + + public String getStandardTypeName() { + return standardTypeName; + } + + public void setStandardTypeName(String standardTypeName) { + this.standardTypeName = standardTypeName; + } + public String getPicturePath() { return picturePath; } @@ -212,6 +275,14 @@ public class EquOrderStandard extends BaseEntity { return delFlag; } + //检查项检查方法 + public void setItemMethod(String itemMethod) { + this.itemMethod = itemMethod; + } + public String getItemMethod() { + return itemMethod; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquPlan.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquPlan.java index 9b94d3304..f2c9f5edf 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquPlan.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquPlan.java @@ -12,7 +12,7 @@ import com.op.common.core.web.domain.BaseEntity; /** * 计划对象 equ_plan - * + * * @author Open Platform * @date 2023-10-16 */ @@ -143,6 +143,15 @@ public class EquPlan extends BaseEntity { // 是否停机保养 private String shutDown; + private String planEquCode; + + public String getPlanEquCode() { + return planEquCode; + } + + public void setPlanEquCode(String planEquCode) { + this.planEquCode = planEquCode; + } public String getUpkeep() { return upkeep; diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquPlanEquSpare.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquPlanEquSpare.java index a222e0ada..f53e4e8db 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquPlanEquSpare.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquPlanEquSpare.java @@ -65,6 +65,16 @@ public class EquPlanEquSpare extends BaseEntity { /** 删除标识 */ private String delFlag; + private BigDecimal amount; + + public BigDecimal getAmount() { + return amount; + } + + public void setAmount(BigDecimal amount) { + this.amount = amount; + } + public void setId(String id) { this.id = id; } diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairOrder.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairOrder.java index c0a3b409d..18d96105c 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairOrder.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairOrder.java @@ -1,6 +1,8 @@ package com.op.device.domain; import java.util.Date; +import java.util.List; + import com.fasterxml.jackson.annotation.JsonFormat; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -164,6 +166,23 @@ public class EquRepairOrder extends BaseEntity { @Excel(name = "原因") private String outSourceReason; + //图片文件 + private String fileList; + private List files; + + //图片文件 + public String getFileList() { + return fileList; + } + public void setFileList(String fileList) { + this.fileList = fileList; + } + public List getFiles() { + return files; + } + public void setFiles(List files) { + this.files = files; + } //委外 public void setWorkId(String workId) { diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairWorkOrder.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairWorkOrder.java index 28068b087..f5c53c28e 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairWorkOrder.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquRepairWorkOrder.java @@ -206,6 +206,13 @@ public class EquRepairWorkOrder extends BaseEntity { /** 联系方式 */ private String workConnection; + //手持 + //用户id + private String userId; + //检查项列表 + private List checkList; + //申领单列表 + private List applyList; //报修 public void setOrderDesc(String orderDesc) { @@ -563,6 +570,28 @@ public class EquRepairWorkOrder extends BaseEntity { return workConnection; } + //手持 用户userId + public void setUserId(String userId) { + this.userId = userId; + } + public String getUserId() { + return userId; + } + + public List getCheckList() { + return checkList; + } + public void setCheckList(List checkList) { + this.checkList = checkList; + } + + public List getApplyList() { + return applyList; + } + public void setApplyList(List applyList) { + this.applyList = applyList; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquSpareApply.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquSpareApply.java index fc645678f..682394d66 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquSpareApply.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquSpareApply.java @@ -50,8 +50,8 @@ public class EquSpareApply extends BaseEntity { private String spareUseEquipment; /** 领用时间 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "领用时间", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "领用时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date applyTime; /** 申领人 */ @@ -90,6 +90,14 @@ public class EquSpareApply extends BaseEntity { // 创建日期结束 private String applyTimeEnd; + //新增字段 + /** 工单编码 */ + private String workCode ; + /** 关联上级code(保养) */ + private String parentCode ; + /** 领用类型 */ + private String applyType ; + public List getApplyTimeArray() { return applyTimeArray; } @@ -227,6 +235,32 @@ public class EquSpareApply extends BaseEntity { return factoryCode; } + //新增 + /** 主工单编码(保养) */ + public String getWorkCode(){ + return this.workCode; + } + /** 主工单编码(保养) */ + public void setWorkCode(String workCode){ + this.workCode=workCode; + } + /** 关联上级code(保养) */ + public String getParentCode(){ + return this.parentCode; + } + /** 关联上级code(保养) */ + public void setParentCode(String parentCode){ + this.parentCode=parentCode; + } + /** 领用类型 */ + public String getApplyType(){ + return this.applyType; + } + /** 领用类型 */ + public void setApplyType(String applyType){ + this.applyType=applyType; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquTeam.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquTeam.java index d73977a4d..57295974d 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquTeam.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquTeam.java @@ -5,6 +5,8 @@ import org.apache.commons.lang3.builder.ToStringStyle; import com.op.common.core.annotation.Excel; import com.op.common.core.web.domain.BaseEntity; +import java.util.List; + /** * 设备班组维护对象 equ_team * @@ -40,6 +42,23 @@ public class EquTeam extends BaseEntity { @Excel(name = "工厂号") private String factoryCode; + //班组右边数据列表 + private List rightData; + public void setRightData(List rightData) { + this.rightData = rightData; + } + public List getRightData() { + return rightData; + } + + private List selectedData; + public void setSelectedData(List selectedData) { + this.selectedData = selectedData; + } + public List getSelectedData() { + return selectedData; + } + public void setId(String id) { this.id = id; } diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquTeamUser.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquTeamUser.java new file mode 100644 index 000000000..dd1c8e929 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquTeamUser.java @@ -0,0 +1,107 @@ +package com.op.device.domain; + +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 班组人员对象 equ_team_user + * + * @author Open Platform + * @date 2023-08-29 + */ +public class EquTeamUser extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 主键 */ + private String id; + + /** 班组id */ + @Excel(name = "班组id") + private String teamId; + + /** 班组编码 */ + @Excel(name = "班组编码") + private String teamCode; + + /** 人员id */ + @Excel(name = "人员id") + private String userId; + + /** 人员名字编号 */ + @Excel(name = "人员名字") + private String userName; + + /** 人员名字 */ + @Excel(name = "人员名字") + private String nickName; + + /** 人员拼接名字 */ + @Excel(name = "人员拼接名字") + private String teamUserName; + + public void setId(String id) { + this.id = id; + } + + public String getId() { + return id; + } + public void setTeamId(String teamId) { + this.teamId = teamId; + } + + public String getTeamId() { + return teamId; + } + public void setTeamCode(String teamCode) { + this.teamCode = teamCode; + } + + public String getTeamCode() { + return teamCode; + } + public void setUserId(String userId) { + this.userId = userId; + } + + public String getUserId() { + return userId; + } + public void setUserName(String userName) { + this.userName = userName; + } + public String getUserName() { + return userName; + } + + public String getNickName() { + return nickName; + } + public void setNickName(String nickName) { + this.nickName = nickName; + } + + public String getTeamUserName() { + return teamUserName; + } + public void setTeamUserName(String teamUserName) { + this.teamUserName = teamUserName; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("teamId", getTeamId()) + .append("teamCode", getTeamCode()) + .append("userId", getUserId()) + .append("userName", getUserName()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/Equipment.java b/op-modules/op-device/src/main/java/com/op/device/domain/Equipment.java new file mode 100644 index 000000000..2e36528e9 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/domain/Equipment.java @@ -0,0 +1,441 @@ +package com.op.device.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; + +public class Equipment extends BaseEntity { + /** 设备ID */ + private Long equipmentId; + + /** 设备编码 */ + @Excel(name = "设备编码") + private String equipmentCode; + + /** 设备名称 */ + @Excel(name = "设备名称") + private String equipmentName; + + /** 品牌 */ + @Excel(name = "品牌") + private String equipmentBrand; + + /** 规格型号 */ + @Excel(name = "规格型号") + private String equipmentSpec; + + /** 设备类型ID */ + @Excel(name = "设备类型ID") + private Long equipmentTypeId; + + /** 设备类型编码 */ + @Excel(name = "设备类型编码") + private String equipmentTypeCode; + + /** 设备类型名称 */ + @Excel(name = "设备类型名称") + private String equipmentTypeName; + + /** 所属车间ID */ + @Excel(name = "所属车间ID") + private Long workshopId; + + /** 所属工作中心编码 */ + @Excel(name = "所属工作中心编码") + private String workshopCode; + + /** 所属工作中心名称 */ + @Excel(name = "所属工作中心名称") + private String workshopName; + + /** 设备状态,0异常 */ + @Excel(name = "设备状态,0异常") + private String status; + + /** 预留字段1 */ + @Excel(name = "预留字段1") + private String attr1; + + /** 预留字段2 */ + @Excel(name = "预留字段2") + private String attr2; + + /** 预留字段3 */ + @Excel(name = "预留字段3") + private Long attr3; + + /** 预留字段4 */ + @Excel(name = "预留字段4") + private Long attr4; + + /** 工段 */ + @Excel(name = "工段") + private String workshopSection; + + /** 设备位置 */ + @Excel(name = "设备位置") + private String equipmentLocation; + + /** 工时单价 */ + @Excel(name = "工时单价") + private Long hourlyUnitPrice; + + /** 设备条码 */ + @Excel(name = "设备条码") + private String equipmentBarcode; + + /** 设备条码图片 */ + @Excel(name = "设备条码图片") + private String equipmentBarcodeImage; + + /** 生产厂商 */ + @Excel(name = "生产厂商") + private String manufacturer; + + /** 供应商 */ + @Excel(name = "供应商") + private String supplier; + + /** 使用寿命 */ + @Excel(name = "使用寿命") + private String useLife; + + /** 购买时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "购买时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date buyTime; + + /** 资产原值 */ + @Excel(name = "资产原值") + private String assetOriginalValue; + + /** 资产净值 */ + @Excel(name = "资产净值") + private String netAssetValue; + + /** 资产负责人 */ + @Excel(name = "资产负责人") + private String assetHead; + + /** 固定资产编码 */ + @Excel(name = "固定资产编码") + private String fixedAssetCode; + + /** 部门 */ + @Excel(name = "部门") + private String department; + + /** 单台能力工时 */ + @Excel(name = "单台能力工时") + private String unitWorkingHours; + + /** PLCIP */ + @Excel(name = "PLCIP") + private String plcIp; + + /** PLC端口 */ + @Excel(name = "PLC端口") + private Long plcPort; + + /** 删除标志1删除,0正常 */ + private String delFlag; + + /** SAP资产号 */ + @Excel(name = "SAP资产号") + private String sapAsset; + + public void setEquipmentId(Long equipmentId) { + this.equipmentId = equipmentId; + } + + public Long getEquipmentId() { + return equipmentId; + } + public void setEquipmentCode(String equipmentCode) { + this.equipmentCode = equipmentCode; + } + + public String getEquipmentCode() { + return equipmentCode; + } + public void setEquipmentName(String equipmentName) { + this.equipmentName = equipmentName; + } + + public String getEquipmentName() { + return equipmentName; + } + public void setEquipmentBrand(String equipmentBrand) { + this.equipmentBrand = equipmentBrand; + } + + public String getEquipmentBrand() { + return equipmentBrand; + } + public void setEquipmentSpec(String equipmentSpec) { + this.equipmentSpec = equipmentSpec; + } + + public String getEquipmentSpec() { + return equipmentSpec; + } + public void setEquipmentTypeId(Long equipmentTypeId) { + this.equipmentTypeId = equipmentTypeId; + } + + public Long getEquipmentTypeId() { + return equipmentTypeId; + } + public void setEquipmentTypeCode(String equipmentTypeCode) { + this.equipmentTypeCode = equipmentTypeCode; + } + + public String getEquipmentTypeCode() { + return equipmentTypeCode; + } + public void setEquipmentTypeName(String equipmentTypeName) { + this.equipmentTypeName = equipmentTypeName; + } + + public String getEquipmentTypeName() { + return equipmentTypeName; + } + public void setWorkshopId(Long workshopId) { + this.workshopId = workshopId; + } + + public Long getWorkshopId() { + return workshopId; + } + public void setWorkshopCode(String workshopCode) { + this.workshopCode = workshopCode; + } + + public String getWorkshopCode() { + return workshopCode; + } + public void setWorkshopName(String workshopName) { + this.workshopName = workshopName; + } + + public String getWorkshopName() { + return workshopName; + } + public void setStatus(String status) { + this.status = status; + } + + public String getStatus() { + return status; + } + public void setAttr1(String attr1) { + this.attr1 = attr1; + } + + public String getAttr1() { + return attr1; + } + public void setAttr2(String attr2) { + this.attr2 = attr2; + } + + public String getAttr2() { + return attr2; + } + public void setAttr3(Long attr3) { + this.attr3 = attr3; + } + + public Long getAttr3() { + return attr3; + } + public void setAttr4(Long attr4) { + this.attr4 = attr4; + } + + public Long getAttr4() { + return attr4; + } + public void setWorkshopSection(String workshopSection) { + this.workshopSection = workshopSection; + } + + public String getWorkshopSection() { + return workshopSection; + } + public void setEquipmentLocation(String equipmentLocation) { + this.equipmentLocation = equipmentLocation; + } + + public String getEquipmentLocation() { + return equipmentLocation; + } + public void setHourlyUnitPrice(Long hourlyUnitPrice) { + this.hourlyUnitPrice = hourlyUnitPrice; + } + + public Long getHourlyUnitPrice() { + return hourlyUnitPrice; + } + public void setEquipmentBarcode(String equipmentBarcode) { + this.equipmentBarcode = equipmentBarcode; + } + + public String getEquipmentBarcode() { + return equipmentBarcode; + } + public void setEquipmentBarcodeImage(String equipmentBarcodeImage) { + this.equipmentBarcodeImage = equipmentBarcodeImage; + } + + public String getEquipmentBarcodeImage() { + return equipmentBarcodeImage; + } + public void setManufacturer(String manufacturer) { + this.manufacturer = manufacturer; + } + + public String getManufacturer() { + return manufacturer; + } + public void setSupplier(String supplier) { + this.supplier = supplier; + } + + public String getSupplier() { + return supplier; + } + public void setUseLife(String useLife) { + this.useLife = useLife; + } + + public String getUseLife() { + return useLife; + } + public void setBuyTime(Date buyTime) { + this.buyTime = buyTime; + } + + public Date getBuyTime() { + return buyTime; + } + public void setAssetOriginalValue(String assetOriginalValue) { + this.assetOriginalValue = assetOriginalValue; + } + + public String getAssetOriginalValue() { + return assetOriginalValue; + } + public void setNetAssetValue(String netAssetValue) { + this.netAssetValue = netAssetValue; + } + + public String getNetAssetValue() { + return netAssetValue; + } + public void setAssetHead(String assetHead) { + this.assetHead = assetHead; + } + + public String getAssetHead() { + return assetHead; + } + public void setFixedAssetCode(String fixedAssetCode) { + this.fixedAssetCode = fixedAssetCode; + } + + public String getFixedAssetCode() { + return fixedAssetCode; + } + public void setDepartment(String department) { + this.department = department; + } + + public String getDepartment() { + return department; + } + public void setUnitWorkingHours(String unitWorkingHours) { + this.unitWorkingHours = unitWorkingHours; + } + + public String getUnitWorkingHours() { + return unitWorkingHours; + } + public void setPlcIp(String plcIp) { + this.plcIp = plcIp; + } + + public String getPlcIp() { + return plcIp; + } + public void setPlcPort(Long plcPort) { + this.plcPort = plcPort; + } + + public Long getPlcPort() { + return plcPort; + } + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + + public String getDelFlag() { + return delFlag; + } + public void setSapAsset(String sapAsset) { + this.sapAsset = sapAsset; + } + + public String getSapAsset() { + return sapAsset; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("equipmentId", getEquipmentId()) + .append("equipmentCode", getEquipmentCode()) + .append("equipmentName", getEquipmentName()) + .append("equipmentBrand", getEquipmentBrand()) + .append("equipmentSpec", getEquipmentSpec()) + .append("equipmentTypeId", getEquipmentTypeId()) + .append("equipmentTypeCode", getEquipmentTypeCode()) + .append("equipmentTypeName", getEquipmentTypeName()) + .append("workshopId", getWorkshopId()) + .append("workshopCode", getWorkshopCode()) + .append("workshopName", getWorkshopName()) + .append("status", getStatus()) + .append("remark", getRemark()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("workshopSection", getWorkshopSection()) + .append("equipmentLocation", getEquipmentLocation()) + .append("hourlyUnitPrice", getHourlyUnitPrice()) + .append("equipmentBarcode", getEquipmentBarcode()) + .append("equipmentBarcodeImage", getEquipmentBarcodeImage()) + .append("manufacturer", getManufacturer()) + .append("supplier", getSupplier()) + .append("useLife", getUseLife()) + .append("buyTime", getBuyTime()) + .append("assetOriginalValue", getAssetOriginalValue()) + .append("netAssetValue", getNetAssetValue()) + .append("assetHead", getAssetHead()) + .append("fixedAssetCode", getFixedAssetCode()) + .append("department", getDepartment()) + .append("unitWorkingHours", getUnitWorkingHours()) + .append("plcIp", getPlcIp()) + .append("plcPort", getPlcPort()) + .append("delFlag", getDelFlag()) + .append("sapAsset", getSapAsset()) + .toString(); + } +} diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/SparePartsLedger.java b/op-modules/op-device/src/main/java/com/op/device/domain/SparePartsLedger.java index 3db761278..1f4ea83a4 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/SparePartsLedger.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/SparePartsLedger.java @@ -57,6 +57,11 @@ public class SparePartsLedger extends BaseEntity { @Excel(name = "冻结数量", readConverterExp = "预=留") private BigDecimal storageAmount; + //虚拟字段 + /** 库存可用数量 */ +// @Excel(name = "库存可用数量") +// private BigDecimal availableQuantity; + /** 占用数量 */ @Excel(name = "占用数量") private BigDecimal occupyAmount; @@ -200,11 +205,9 @@ public class SparePartsLedger extends BaseEntity { // 领用数量-保养备件领用使用 private BigDecimal applyNum; - public BigDecimal getApplyNum() { return applyNum; } - public void setApplyNum(BigDecimal applyNum) { this.applyNum = applyNum; } @@ -287,6 +290,15 @@ public class SparePartsLedger extends BaseEntity { public BigDecimal getStorageAmount() { return storageAmount; } + + //库存可用数量 虚拟字段 +// public void setAvailableQuantity(BigDecimal availableQuantity) { +// this.availableQuantity = availableQuantity; +// } +// public BigDecimal getAvailableQuantity() { +// return availableQuantity; +// } + public void setOccupyAmount(BigDecimal occupyAmount) { this.occupyAmount = occupyAmount; } diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/dto/PDADTO.java b/op-modules/op-device/src/main/java/com/op/device/domain/dto/PDADTO.java new file mode 100644 index 000000000..591d88a67 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/domain/dto/PDADTO.java @@ -0,0 +1,23 @@ +package com.op.device.domain.dto; + +// 手持传参dto +public class PDADTO { + private String userId; + private String planType; + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getPlanType() { + return planType; + } + + public void setPlanType(String planType) { + this.planType = planType; + } +} diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/dto/UpKeepOrderDTO.java b/op-modules/op-device/src/main/java/com/op/device/domain/dto/UpKeepOrderDTO.java new file mode 100644 index 000000000..2b33d50c2 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/domain/dto/UpKeepOrderDTO.java @@ -0,0 +1,26 @@ +package com.op.device.domain.dto; + +import java.util.List; + +// 保养工单DTO +public class UpKeepOrderDTO { + private List ids; + + private String inspect; + + public String getInspect() { + return inspect; + } + + public void setInspect(String inspect) { + this.inspect = inspect; + } + + public List getIds() { + return ids; + } + + public void setIds(List ids) { + this.ids = ids; + } +} diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/vo/InspectionWorkVO.java b/op-modules/op-device/src/main/java/com/op/device/domain/vo/InspectionWorkVO.java new file mode 100644 index 000000000..4189bab84 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/domain/vo/InspectionWorkVO.java @@ -0,0 +1,48 @@ +package com.op.device.domain.vo; + +import com.op.device.domain.EquOrder; +import com.op.device.domain.EquOrderDetail; +import com.op.device.domain.EquOrderEquSpare; +import com.op.device.domain.Equipment; + +import java.util.List; + +// 工单-报表VO +public class InspectionWorkVO { + private EquOrder order; + private Equipment equ; + private List detailList; + private List spareList; + + public List getSpareList() { + return spareList; + } + + public void setSpareList(List spareList) { + this.spareList = spareList; + } + + public EquOrder getOrder() { + return order; + } + + public void setOrder(EquOrder order) { + this.order = order; + } + + public Equipment getEqu() { + return equ; + } + + public void setEqu(Equipment equ) { + this.equ = equ; + } + + public List getDetailList() { + return detailList; + } + + public void setDetailList(List detailList) { + this.detailList = detailList; + } +} diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/DeviceTaskMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/DeviceTaskMapper.java new file mode 100644 index 000000000..b78756b2c --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/DeviceTaskMapper.java @@ -0,0 +1,24 @@ +package com.op.device.mapper; + +import com.op.common.core.domain.BaseFileData; +import com.op.device.domain.EquFile; +import com.op.device.domain.EquOrder; +import com.op.device.domain.EquPlan; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 附件Mapper接口 + * + * @author Open Platform + * @date 2023-07-10 + */ +@Mapper +public interface DeviceTaskMapper { + + List getPlans(EquPlan equPlan); + + EquOrder getNewTaskOrder(EquOrder equOrder); +} diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquEquipmentMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquEquipmentMapper.java index 4e826420f..9165576eb 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquEquipmentMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquEquipmentMapper.java @@ -18,7 +18,7 @@ public interface EquEquipmentMapper { * @param equipmentId 设备管理主键 * @return 设备管理 */ - public EquEquipment selectEquEquipmentByEquipmentId(Long equipmentId); + public EquEquipment selectEquEquipmentByEquEquipmentId(Long equipmentId); /** * 查询设备管理列表 diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquFileMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquFileMapper.java new file mode 100644 index 000000000..7b6d3fde5 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquFileMapper.java @@ -0,0 +1,77 @@ +package com.op.device.mapper; + +import com.op.common.core.domain.BaseFileData; +import com.op.device.domain.EquFile; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 附件Mapper接口 + * + * @author Open Platform + * @date 2023-07-10 + */ +@Mapper +public interface EquFileMapper { + /** + * 查询附件 + * + * @param fileId 附件主键 + * @return 附件 + */ + public EquFile selectEquFileByFileId(String fileId); + + /** + * 查询附件列表 + * + * @param equFile 附件 + * @return 附件集合 + */ + public List selectEquFileList(EquFile equFile); + + /** + * 新增附件 + * + * @param equFile 附件 + * @return 结果 + */ + public int insertEquFile(EquFile equFile); + + /** + * 修改附件 + * + * @param equFile 附件 + * @return 结果 + */ + public int updateEquFile(EquFile equFile); + + /** + * 删除附件 + * + * @param fileId 附件主键 + * @return 结果 + */ + public int deleteEquFileByFileId(String fileId); + + /** + * 批量删除附件 + * + * @param fileIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteEquFileByFileIds(String[] fileIds); + + /** + * 上传图片 + * @param equFiles + */ + public Boolean insertEquFileBatch(@Param("baseFiles") List equFiles); + + //查询图片 + public List getEquFileBatch(String orderId); + + //删除照图片 + public void deleteEquFileBySourceId(String orderId); +} diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderDetailMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderDetailMapper.java index d6611e4a3..7dc3458c2 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderDetailMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderDetailMapper.java @@ -65,4 +65,11 @@ public interface EquOrderDetailMapper { * @return */ List selectEquOrderDetailByParentCode(String code); + + /** + * 查询检查项list-工单code + * @param orderCode + * @return + */ + List selectEquOrderDetailByOrderCode(String orderCode); } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderEquSpareMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderEquSpareMapper.java index 58d5c9e6f..1d073bb6d 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderEquSpareMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderEquSpareMapper.java @@ -58,4 +58,18 @@ public interface EquOrderEquSpareMapper { * @return 结果 */ public int deleteEquOrderEquSpareByIds(String[] ids); + + /** + * 通过上级表单查询备件list + * @param code + * @return + */ + List selectEquOrderEquSpareByParentCode(String code); + + /** + * 通过工单code查询备件信息 + * @param orderCode + * @return + */ + List selectEquOrderEquSpareByOrderCode(String orderCode); } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java index 32da1d8a6..0cb79b490 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java @@ -2,18 +2,23 @@ package com.op.device.mapper; import java.util.List; +import com.baomidou.dynamic.datasource.annotation.DS; import com.op.device.domain.EquOrder; +import com.op.device.domain.dto.PDADTO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 计划工单Mapper接口 - * + * * @author wws * @date 2023-10-23 */ +@Mapper public interface EquOrderMapper { /** * 查询计划工单 - * + * * @param orderCode 计划工单主键 * @return 计划工单 */ @@ -21,7 +26,7 @@ public interface EquOrderMapper { /** * 查询计划工单列表 - * + * * @param equOrder 计划工单 * @return 计划工单集合 */ @@ -29,7 +34,7 @@ public interface EquOrderMapper { /** * 新增计划工单 - * + * * @param equOrder 计划工单 * @return 结果 */ @@ -37,7 +42,7 @@ public interface EquOrderMapper { /** * 修改计划工单 - * + * * @param equOrder 计划工单 * @return 结果 */ @@ -45,7 +50,7 @@ public interface EquOrderMapper { /** * 删除计划工单 - * + * * @param orderId 计划工单主键 * @return 结果 */ @@ -53,7 +58,7 @@ public interface EquOrderMapper { /** * 批量删除计划工单 - * + * * @param orderIds 需要删除的数据主键集合 * @return 结果 */ @@ -81,10 +86,10 @@ public interface EquOrderMapper { /** * 获取巡检记录 - * @param userId + * @param pdadto * @return */ - List selectTaskRecord(int userId); + List selectTaskRecord(PDADTO pdadto); /** * 通过id查询工单信息 @@ -98,4 +103,19 @@ public interface EquOrderMapper { * @return */ int selectSerialNumber(); + + /** + * 替换循环类型 + * @param planLoopType + * @return + */ + @DS("#master") + String changeLoopType(String planLoopType); + + /** + * 获取今日任务list + * @param pdadto + * @return + */ + List selectTodayTask(PDADTO pdadto); } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderStandardMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderStandardMapper.java index f2ae00591..b1ef62a5e 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderStandardMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderStandardMapper.java @@ -3,6 +3,7 @@ package com.op.device.mapper; import java.util.List; import com.op.common.core.domain.BaseFileData; +import com.op.device.domain.EquOrder; import com.op.device.domain.EquOrderStandard; /** @@ -72,4 +73,11 @@ public interface EquOrderStandardMapper { * @param files */ void insertBaseFileBatch(List files); + + /** + * 手持维修工单关联检查项信息 + * @param equOrder + * @return + */ + public List selectPdaEquOrderList(EquOrder equOrder); } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanDetailMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanDetailMapper.java index 6253ac2b6..57f8330fd 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanDetailMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanDetailMapper.java @@ -77,4 +77,11 @@ public interface EquPlanDetailMapper { * @param planCode */ void delEquPlanDetailByPlanCode(String planCode); + + /** + * 通过parentCode查询检查项信息 + * @param code + * @return + */ + List selectEquPlanDetailListByParentCode(String code); } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanEquSpareMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanEquSpareMapper.java index e2c839f32..aaef78e50 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanEquSpareMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanEquSpareMapper.java @@ -64,4 +64,10 @@ public interface EquPlanEquSpareMapper { * @param planCode */ void deleteEquPlanEquSpareByPlanCode(String planCode); + + /** + * 逻辑删除 + * @param planCode + */ + void delEquPlanEquSpareByPlanCode(String planCode); } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanStandardMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanStandardMapper.java index 561ba1643..962d8ff28 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanStandardMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquPlanStandardMapper.java @@ -77,4 +77,11 @@ public interface EquPlanStandardMapper { * @param planCode */ void delEquPlanStandardByPlanCode(String planCode); + + /** + * 通过parentCode获取标准信息 + * @param code + * @return + */ + List selectEquPlanStandardListByParentCode(String code); } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairOrderMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairOrderMapper.java index 3a3c3b99f..61116121b 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairOrderMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairOrderMapper.java @@ -3,8 +3,10 @@ package com.op.device.mapper; import java.util.List; import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.domain.BaseFileData; import com.op.device.domain.EquEquipment; import com.op.device.domain.EquRepairOrder; +import org.apache.ibatis.annotations.Param; /** * 故障报修Mapper接口 @@ -70,4 +72,17 @@ public interface EquRepairOrderMapper { //查询报修人员列表 @DS("master") List getRepairPersonList(EquEquipment equEquipment); + + /** + * 通过报修code查询报修单信息 + * @param repairCode + * @return + */ + EquRepairOrder selectEquRepairOrderByRepairCode(String repairCode); + + /** + * 通过报修code删除报修单信息-彻底删除! + * @param repairCode + */ + void deleteEquRepairOrderByRepairCode(String repairCode); } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairWorkOrderMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairWorkOrderMapper.java index 1ec279f65..30d70d593 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairWorkOrderMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquRepairWorkOrderMapper.java @@ -2,8 +2,9 @@ package com.op.device.mapper; import java.util.List; -import com.op.device.domain.EquEquipment; +import com.baomidou.dynamic.datasource.annotation.DS; import com.op.device.domain.EquRepairWorkOrder; +import com.op.device.domain.EquTeamUser; /** * 维修工单Mapper接口 @@ -67,5 +68,6 @@ public interface EquRepairWorkOrderMapper { void updateWorkOutsource(EquRepairWorkOrder equRepairWorkOrder); //获取维修人员列表 - public List getMaintenancePersonList(EquEquipment equEquipment); + @DS("master") + public List getMaintenancePersonList(EquTeamUser equTeamUser); } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquSpareApplyMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquSpareApplyMapper.java index e9b74390d..090a21ed4 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquSpareApplyMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquSpareApplyMapper.java @@ -2,6 +2,7 @@ package com.op.device.mapper; import java.util.List; +import com.op.device.domain.EquRepairWorkOrder; import com.op.device.domain.EquSpareApply; /** @@ -58,4 +59,7 @@ public interface EquSpareApplyMapper { * @return 结果 */ public int deleteEquSpareApplyByApplyIds(String[] applyIds); + + //查询维修工单对应的备件申领记录 + public List selectRepairSparePartsRecord(EquRepairWorkOrder equRepairWorkOrder); } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquTeamMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquTeamMapper.java index 828fb06b8..a70eb5ee6 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquTeamMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquTeamMapper.java @@ -2,7 +2,9 @@ package com.op.device.mapper; import java.util.List; +import com.baomidou.dynamic.datasource.annotation.DS; import com.op.device.domain.EquTeam; +import com.op.device.domain.EquTeamUser; /** * 设备班组维护Mapper接口 @@ -61,4 +63,16 @@ public interface EquTeamMapper { //查询设备维修组列表 public List getMaintenanceTeamList(EquTeam equTeam); + + //查询设备维修组人员 + @DS("master") + public List getMaintenancePerson(EquTeamUser equTeamUser); + + //查询所有人员 + @DS("master") + public List selectTeamMembers(EquTeamUser equTeamUser); + + //查询特定人员 + @DS("master") + public EquTeamUser selectTeamMember(EquTeamUser equTeamUser); } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquTeamUserMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquTeamUserMapper.java new file mode 100644 index 000000000..f982f897a --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquTeamUserMapper.java @@ -0,0 +1,79 @@ +package com.op.device.mapper; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.device.domain.EquTeamUser; + +import java.util.List; + +/** + * 班组人员Mapper接口 + * + * @author Open Platform + * @date 2023-08-29 + */ +public interface EquTeamUserMapper { + /** + * 查询班组人员 + * + * @param id 班组人员主键 + * @return 班组人员 + */ + public EquTeamUser selectEquTeamUserById(String id); + + /** + * 查询班组人员列表 + * + * @param equTeamUser 班组人员 + * @return 班组人员集合 + */ + public List selectEquTeamUserList(EquTeamUser equTeamUser); + + /** + * 新增班组人员 + * + * @param equTeamUser 班组人员 + * @return 结果 + */ + public int insertEquTeamUser(EquTeamUser equTeamUser); + + /** + * 修改班组人员 + * + * @param equTeamUser 班组人员 + * @return 结果 + */ + public int updateEquTeamUser(EquTeamUser equTeamUser); + + /** + * 删除班组人员 + * + * @param id 班组人员主键 + * @return 结果 + */ + public int deleteEquTeamUserById(String id); + + /** + * 批量删除班组人员 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteEquTeamUserByIds(String[] ids); + + //查询人员 + @DS("master") + public List selectTeamMembers(EquTeamUser equTeamUser); + + //查询人员对应名字 + public List selectTeamMembersIds(EquTeamUser equTeamUser); + + //查询人员ID + public String selectId(EquTeamUser equTeamUser); + + @DS("master") + public String selectUserName(EquTeamUser equTeamUser); + + //批量删除 + public void deleteEquTeamUserByTeamId(String teamId); + void deleteEquTeamUserByTeamIds(String[] teamIds); +} diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquipmentMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquipmentMapper.java new file mode 100644 index 000000000..1447f0994 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquipmentMapper.java @@ -0,0 +1,13 @@ +package com.op.device.mapper; + +import com.op.device.domain.Equipment; + +public interface EquipmentMapper { + /** + * 查询设备管理 + * + * @param equipmentId 设备管理主键 + * @return 设备管理 + */ + public Equipment selectEquipmentByEquipmentCode(String equipmentCode); +} diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/SparePartsLedgerMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/SparePartsLedgerMapper.java index 01568182d..70d7de075 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/SparePartsLedgerMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/SparePartsLedgerMapper.java @@ -1,5 +1,6 @@ package com.op.device.mapper; +import java.math.BigDecimal; import java.util.List; import com.op.device.domain.SparePartsLedger; @@ -58,4 +59,12 @@ public interface SparePartsLedgerMapper { * @return 结果 */ public int deleteSparePartsLedgerByStorageIds(String[] storageIds); + + /** + * 通过备件编码获取备件真实库存(总数量-冻结数量) + * @param materialCode + * @return + */ + BigDecimal selectRealAmountByMaterialCode(String materialCode); + } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java b/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java index f4782cc4b..ffe359e4a 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java @@ -1,7 +1,8 @@ package com.op.device.service; import com.op.common.core.web.domain.AjaxResult; -import com.op.device.domain.EquOrder; +import com.op.device.domain.*; +import com.op.device.domain.dto.PDADTO; /** * PDAService @@ -15,14 +16,14 @@ public interface IDevicePDAService { * 获取今日巡检任务工单list * @return */ - AjaxResult getTodayTask(int userId); + AjaxResult getTodayTask(PDADTO pdadto); /** * 获取巡检记录 - * @param userId + * @param pdadto * @return */ - AjaxResult getTaskRecord(int userId); + AjaxResult getTaskRecord(PDADTO pdadto); /** * 获取任务详情 @@ -37,4 +38,56 @@ public interface IDevicePDAService { * @return */ AjaxResult updateInspectionRecord(EquOrder equOrder); + + //报修 + /** + * 手持新增报修记录 + * @param equRepairOrder + * @return + */ + public AjaxResult addRepairRecord(EquRepairOrder equRepairOrder); + + //维修 + /** + * 手持查询维修记录 (待处理和已经维修完成) + * @param equRepairWorkOrder + * @return + */ + public AjaxResult getMaintenanceRecords(EquRepairWorkOrder equRepairWorkOrder); + + //班组 + /** + * 维修班组 + * @param equTeamUser + * @return + */ + public AjaxResult getMaintenancePerson(EquTeamUser equTeamUser); + + /** + * 手持是否停机 + * @param equRepairWorkOrder + * @return + */ + public AjaxResult updateDowntime(EquRepairWorkOrder equRepairWorkOrder); + + /** + * 查询设备详细信息 + * @param equipmentId + * @return + */ + public AjaxResult selectEquEquipmentByEquEquipmentId(Long equipmentId); + + /** + * 查询维修工单 + * @param workId + * @return + */ + public AjaxResult selectPdaRepairWorkOrderDetails(String workId); + + /** + * 填写维修工单 + * @param equRepairWorkOrder + * @return + */ + public AjaxResult updateMaintenanceRecords(EquRepairWorkOrder equRepairWorkOrder); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IDeviceTaskService.java b/op-modules/op-device/src/main/java/com/op/device/service/IDeviceTaskService.java new file mode 100644 index 000000000..69e8e9fd8 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/service/IDeviceTaskService.java @@ -0,0 +1,16 @@ +package com.op.device.service; + +import com.op.common.core.domain.R; +import com.op.common.core.web.domain.AjaxResult; +import com.op.device.domain.EquPlan; + +/** + * TaskService + * + * @author wws + * @date 2023-10-23 + */ +public interface IDeviceTaskService { + + AjaxResult createSpotCheckPlanTask(EquPlan equPlan); +} diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IEquRepairWorkOrderService.java b/op-modules/op-device/src/main/java/com/op/device/service/IEquRepairWorkOrderService.java index fe2c50775..71ff46df0 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IEquRepairWorkOrderService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IEquRepairWorkOrderService.java @@ -2,8 +2,8 @@ package com.op.device.service; import java.util.List; -import com.op.device.domain.EquEquipment; import com.op.device.domain.EquRepairWorkOrder; +import com.op.device.domain.EquTeamUser; /** * 维修工单Service接口 @@ -61,7 +61,7 @@ public interface IEquRepairWorkOrderService { public int deleteEquRepairWorkOrderByWorkId(String workId); //获取维修人员列表 - public List getMaintenancePersonList(EquEquipment equEquipment); + public List getMaintenancePersonList(EquTeamUser equTeamUser); //委外申请 public int applyEquOutsourceWork(EquRepairWorkOrder equRepairWorkOrder); diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IEquSpareApplyService.java b/op-modules/op-device/src/main/java/com/op/device/service/IEquSpareApplyService.java index 27569b554..6d4d67829 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IEquSpareApplyService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IEquSpareApplyService.java @@ -1,6 +1,8 @@ package com.op.device.service; import java.util.List; + +import com.op.device.domain.EquRepairWorkOrder; import com.op.device.domain.EquSpareApply; /** @@ -57,4 +59,7 @@ public interface IEquSpareApplyService { * @return 结果 */ public int deleteEquSpareApplyByApplyId(String applyId); + + //查询维修工单对应备件申领记录 + public List selectRepairSparePartsRecord(EquRepairWorkOrder equRepairWorkOrder); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IEquTeamService.java b/op-modules/op-device/src/main/java/com/op/device/service/IEquTeamService.java index 2c80041c5..7fcae2d08 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IEquTeamService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IEquTeamService.java @@ -1,7 +1,10 @@ package com.op.device.service; import java.util.List; + +import com.op.common.core.web.domain.AjaxResult; import com.op.device.domain.EquTeam; +import com.op.device.domain.EquTeamUser; /** * 设备班组维护Service接口 @@ -32,7 +35,7 @@ public interface IEquTeamService { * @param equTeam 设备班组维护 * @return 结果 */ - public int insertEquTeam(EquTeam equTeam); + public AjaxResult insertEquTeam(EquTeam equTeam); /** * 修改设备班组维护 @@ -40,7 +43,7 @@ public interface IEquTeamService { * @param equTeam 设备班组维护 * @return 结果 */ - public int updateEquTeam(EquTeam equTeam); + public AjaxResult updateEquTeam(EquTeam equTeam); /** * 批量删除设备班组维护 @@ -60,4 +63,7 @@ public interface IEquTeamService { //维修组列表 List getMaintenanceTeamList(EquTeam equTeam); + + //查询所有人员信息 + List selectTeamMembers(EquTeamUser equTeamUser); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IEquUpkeepOrderService.java b/op-modules/op-device/src/main/java/com/op/device/service/IEquUpkeepOrderService.java index 745111960..0da3807ff 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IEquUpkeepOrderService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IEquUpkeepOrderService.java @@ -3,6 +3,7 @@ package com.op.device.service; import com.op.common.core.web.domain.AjaxResult; import com.op.device.domain.EquOrder; import com.op.device.domain.EquPlan; +import com.op.device.domain.dto.UpKeepOrderDTO; import java.util.List; @@ -43,7 +44,7 @@ public interface IEquUpkeepOrderService { * @param equOrder 保养工单 * @return 结果 */ - public int updateEquOrder(EquOrder equOrder); + public AjaxResult updateEquOrder(EquOrder equOrder); /** * 批量删除保养工单 @@ -60,4 +61,11 @@ public interface IEquUpkeepOrderService { * @return 结果 */ public int deleteEquOrderByOrderId(String orderId); + + /** + * 保养工单检验 + * @param upKeepOrderDTO + * @return + */ + AjaxResult subInspect(UpKeepOrderDTO upKeepOrderDTO); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IInspectionWorkService.java b/op-modules/op-device/src/main/java/com/op/device/service/IInspectionWorkService.java new file mode 100644 index 000000000..a958a1f37 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/service/IInspectionWorkService.java @@ -0,0 +1,62 @@ +package com.op.device.service; + +import java.util.List; + +import com.op.common.core.web.domain.AjaxResult; +import com.op.device.domain.EquOrder; + +/** + * 巡检记录Service接口 + * + * @author wws + * @date 2023-11-07 + */ +public interface IInspectionWorkService { + /** + * 查询巡检记录 + * + * @param orderId 巡检记录主键 + * @return 巡检记录 + */ + public AjaxResult selectEquOrderByOrderId(String orderId); + + /** + * 查询巡检记录列表 + * + * @param equOrder 巡检记录 + * @return 巡检记录集合 + */ + public List selectEquOrderList(EquOrder equOrder); + + /** + * 新增巡检记录 + * + * @param equOrder 巡检记录 + * @return 结果 + */ + public int insertEquOrder(EquOrder equOrder); + + /** + * 修改巡检记录 + * + * @param equOrder 巡检记录 + * @return 结果 + */ + public int updateEquOrder(EquOrder equOrder); + + /** + * 批量删除巡检记录 + * + * @param orderIds 需要删除的巡检记录主键集合 + * @return 结果 + */ + public int deleteEquOrderByOrderIds(String[] orderIds); + + /** + * 删除巡检记录信息 + * + * @param orderId 巡检记录主键 + * @return 结果 + */ + public int deleteEquOrderByOrderId(String orderId); +} diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java index 692677ba8..37d7f0a8f 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java @@ -8,17 +8,23 @@ import com.op.common.core.utils.StringUtils; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.core.web.domain.AjaxResult; import com.op.common.security.utils.SecurityUtils; -import com.op.device.domain.EquOrder; -import com.op.device.domain.EquOrderDetail; -import com.op.device.domain.EquOrderEqu; -import com.op.device.domain.EquOrderStandard; +import com.op.device.domain.*; +import com.op.device.domain.dto.PDADTO; import com.op.device.mapper.*; import com.op.device.service.IDevicePDAService; import com.op.system.api.domain.SysUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import javax.servlet.http.HttpServletRequest; +import java.math.BigDecimal; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Calendar; import java.util.Date; import java.util.List; @@ -46,30 +52,40 @@ public class DevicePDAServiceImpl implements IDevicePDAService { private EquOrderPersonMapper equOrderPersonMapper; @Autowired private PersonMapper personMapper; + @Autowired + private EquRepairOrderMapper equRepairOrderMapper; + @Autowired + private EquRepairWorkOrderMapper equRepairWorkOrderMapper; + @Autowired + private EquTeamMapper equTeamMapper; + @Autowired + private EquEquipmentMapper equEquipmentMapper; + @Autowired + private EquSpareApplyMapper equSpareApplyMapper; /** - * 获取今日巡检任务工单list + * 获取今日巡检任务工单list-状态不为已完成 * * @return */ @Override @DS("#header.poolName") - public AjaxResult getTodayTask(int userId) { - List orderList = equOrderMapper.selectTodayTask(userId); + public AjaxResult getTodayTask(PDADTO pdadto) { + List orderList = equOrderMapper.selectTodayTask(pdadto); return success(orderList); } /** * 获取巡检记录 * - * @param userId + * @param pdadto * @return */ @Override @DS("#header.poolName") - public AjaxResult getTaskRecord(int userId) { - List orderList = equOrderMapper.selectTaskRecord(userId); + public AjaxResult getTaskRecord(PDADTO pdadto) { + List orderList = equOrderMapper.selectTaskRecord(pdadto); return success(orderList); } @@ -100,11 +116,11 @@ public class DevicePDAServiceImpl implements IDevicePDAService { order.setWorkCenterName(equOrderMapper.selectCenterNameByCenterCode(order.getPlanWorkshop())); - EquOrderEqu equ = equOrderEquMapper.selectEquOrderEquListByParentCode(order.getOrderCode()); + EquOrderEqu equ = equOrderEquMapper.selectEquOrderEquListByParentCode(order.getOrderId()); - List detailList = equOrderDetailMapper.selectEquOrderDetailByParentCode(equ.getCode()); + List detailList = equOrderDetailMapper.selectEquOrderDetailByParentCode(equ.getId()); for (EquOrderDetail detail : detailList) { - List standardList = equOrderStandardMapper.selectEquOrderStandardByParentCode(detail.getCode()); + List standardList = equOrderStandardMapper.selectEquOrderStandardByParentCode(detail.getId()); detail.setStandardList(standardList); } equ.setDetailList(detailList); @@ -135,6 +151,22 @@ public class DevicePDAServiceImpl implements IDevicePDAService { @DS("#header.poolName") public AjaxResult updateInspectionRecord(EquOrder equOrder) { + // 检验如果审核通过则不允许修改记录 + if (equOrder.getRepairCode() != null) { + if (!equOrder.getRepairCode().isEmpty()) { + EquRepairOrder repairOrder = equRepairOrderMapper.selectEquRepairOrderByRepairCode(equOrder.getRepairCode()); + if (repairOrder==null) { + return error(500,"未查询到报修单信息!"); + }else { + if (!repairOrder.getOrderStatus().equals("待审核")){ + return error(500,"报修单已审核,不可修改记录!"); + } + } + } + } + + boolean hasError = false; + EquOrderEqu equ = equOrder.getEqu(); List detailList = equ.getDetailList(); for (EquOrderDetail detail : detailList) { @@ -159,20 +191,279 @@ public class DevicePDAServiceImpl implements IDevicePDAService { equOrderStandardMapper.insertBaseFileBatch(files); } + // 校验标准信息-是否申请报修 + if (standard.getStandardType().equals("quantify")) { + int up = standard.getActualValue().compareTo(standard.getDetailUpLimit()); + int down = standard.getActualValue().compareTo(standard.getDetailDownLimit()); + standard.setDetailReach("1"); + standard.setErrorFlag("0"); + if (!(up != 1 && down != -1)) { + hasError = true; + standard.setErrorFlag("1"); + standard.setDetailReach("0"); + } + }else { + // TODO 未达标 + standard.setErrorFlag("0"); + if (standard.getDetailReach().equals("0")) { + hasError = true; + standard.setErrorFlag("1"); + } + } + // 更新标准 standard.setUpdateTime(DateUtils.getNowDate()); equOrderStandardMapper.updateEquOrderStandard(standard); - } } // 更新工单信息 - equOrder.setOrderStatus("1"); + equOrder.setOrderStatus("1"); // 状态为已完成 equOrder.setUpdateTime(DateUtils.getNowDate()); equOrder.setUpdateBy(SecurityContextHolder.getUserName()); equOrder.setPlanPerson(SecurityContextHolder.getUserName()); - equOrderMapper.updateEquOrder(equOrder); + equOrder.setPlanPerson(SecurityContextHolder.getUserName()); + if (equOrder.getTimeArray().size() > 0) { + equOrder.setOrderStart(equOrder.getTimeArray().get(0)); + equOrder.setOrderEnd(equOrder.getTimeArray().get(1)); + } - return success(equOrder); + boolean checkRepair = false; + + if (equOrder.getRepairCode() == null){ + checkRepair = true; + }else { + if (equOrder.getRepairCode().isEmpty()){ + checkRepair = true; + } + } + + // 报修信息 + if (checkRepair && hasError ) { + // 获取故障报修流水号 + EquRepairOrder equRepairOrder = new EquRepairOrder(); + String serialNum = String.format("%03d", equRepairOrderMapper.selectOrderCodeSerialNumber()); + String equipmentCode = equOrder.getEqu().getEquipmentCode(); + //报修单号 + equRepairOrder.setOrderCode("BX"+DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + equipmentCode + serialNum); + //在主表中存入报修单号信息 + equOrder.setRepairCode(equRepairOrder.getOrderCode()); + + //新增报修记录 + equRepairOrder.setOrderId(IdUtils.fastSimpleUUID()); + equRepairOrder.setCreateTime(DateUtils.getNowDate()); + equRepairOrder.setCreateBy(SecurityUtils.getUsername()); + // 报修来源 + if (equOrder.getPlanType().equals("inspection")){ + equRepairOrder.setOrderSource("巡检"); + } + if (equOrder.getPlanType().equals("spotInspection")){ + equRepairOrder.setOrderSource("点检"); + } + if (equOrder.getPlanType().equals("maintenance")){ + equRepairOrder.setOrderSource("保养"); + } + equRepairOrder.setOrderStatus("待审核"); + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + equRepairOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_","")); + equRepairOrderMapper.insertEquRepairOrder(equRepairOrder); + } + + if (!hasError) { + // TODO 删除报修单 + if (equOrder.getRepairCode() != null) { + if (!equOrder.getRepairCode().isEmpty()) { + equRepairOrderMapper.deleteEquRepairOrderByRepairCode(equOrder.getRepairCode()); + equOrder.setRepairCode(""); + } + } + } + + // 更新工单信息 + equOrderMapper.updateEquOrder(equOrder); + return success(); + } + + //////////////////////报修 + /** + * 新增报修记录 + * + * @param equRepairOrder + * @return + */ + @Override + @DS("#header.poolName") + public AjaxResult addRepairRecord(EquRepairOrder equRepairOrder) { + try { + equRepairOrder.setOrderId(IdUtils.fastSimpleUUID()); + // 获取故障报修流水号 + String serialNum = String.format("%03d", equRepairOrderMapper.selectOrderCodeSerialNumber()); + String equipmentCode = equRepairOrder.getEquipmentCode(); + //报修单号 + equRepairOrder.setOrderCode("BX"+DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + equipmentCode + serialNum); + equRepairOrder.setCreateTime(DateUtils.getNowDate()); + equRepairOrder.setCreateBy(SecurityUtils.getUsername()); + equRepairOrder.setOrderStatus("待审核"); +// HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); +// String key = "#header.poolName"; +// equRepairOrder.setFactory(request.getHeader(key.substring(8)).replace("ds_","")); + return success("新增报修记录成功!"); + } catch (Exception e) { + return error(); + } + } + + /** + * 获取维修记录 + * + * @param equRepairWorkOrder + * @return + */ + @Override + @DS("#header.poolName") + public AjaxResult getMaintenanceRecords(EquRepairWorkOrder equRepairWorkOrder) { + try { + if (equRepairWorkOrder.getWorkPlanTimeArray() != null) { + // 设置创建日期开始和结束值 + if (equRepairWorkOrder.getWorkPlanTimeArray().size() == 2) { + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + equRepairWorkOrder.setWorkPlanTimeStart(formatter.format(equRepairWorkOrder.getWorkPlanTimeArray().get(0))); + equRepairWorkOrder.setWorkPlanTimeEnd(formatter.format(equRepairWorkOrder.getWorkPlanTimeArray().get(1))); + } + } + if (equRepairWorkOrder.getWorkPlanDownTimeArray() != null) { + // 设置更新日期开始和结束 + if (equRepairWorkOrder.getWorkPlanDownTimeArray().size() == 2) { + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + equRepairWorkOrder.setWorkPlanDownTimeStart(formatter.format(equRepairWorkOrder.getWorkPlanDownTimeArray().get(0))); + equRepairWorkOrder.setWorkPlanDownTimeEnd(formatter.format(equRepairWorkOrder.getWorkPlanDownTimeArray().get(1))); + } + } + + List list = equRepairWorkOrderMapper.selectEquRepairWorkOrderList(equRepairWorkOrder); + return success(list); + } catch (Exception e) { + return error(); + } + } + + /** + * 获取维修记录 + * + * @param equTeamUser + * @return + */ + @Override + @DS("#header.poolName") + public AjaxResult getMaintenancePerson(EquTeamUser equTeamUser) { + try { + List list = equRepairWorkOrderMapper.getMaintenancePersonList(equTeamUser); + return success(list); + } catch (Exception e) { + return error(); + } + } + + /** + * 手持提交是否停机维修 停机维修的开始时间 + * + * @param equRepairWorkOrder + * @return + */ + @Override + @DS("#header.poolName") + public AjaxResult updateDowntime(EquRepairWorkOrder equRepairWorkOrder) { + try { + if(equRepairWorkOrder.getWorkDownMachine().equals("0")){ + equRepairWorkOrder.setWorkPlanDownTime(null); + } + equRepairWorkOrder.setUpdateBy(SecurityUtils.getUsername()); + equRepairWorkOrder.setUpdateTime(DateUtils.getNowDate()); + equRepairWorkOrderMapper.updateEquRepairWorkOrder(equRepairWorkOrder); + return success("提交成功,开始维修!"); + } catch (Exception e) { + return error(); + } + } + + /** + * 手持提交是否停机维修 停机维修的开始时间 + * + * @param equipmentId + * @return + */ + @Override + @DS("#header.poolName") + public AjaxResult selectEquEquipmentByEquEquipmentId(Long equipmentId) { + try { + EquEquipment list = equEquipmentMapper.selectEquEquipmentByEquEquipmentId(equipmentId); + return success(list); + } catch (Exception e) { + return error(); + } + } + + /** + * 查询维修工单详情 + * + * @param workId 维修工单主键 + * @return 维修工单 + */ + @Override + @DS("#header.poolName") + public AjaxResult selectPdaRepairWorkOrderDetails(String workId) { + try { + EquRepairWorkOrder list = equRepairWorkOrderMapper.selectEquRepairWorkOrderByWorkId(workId); + //查询对应检查项信息 + EquOrder equOrder = new EquOrder(); + equOrder.setWorkCode(list.getWorkCode()); + List checkLists = equOrderStandardMapper.selectPdaEquOrderList(equOrder); + list.setCheckList(checkLists); + //备件申领单 + EquRepairWorkOrder equRepairWorkOrder = new EquRepairWorkOrder(); + equRepairWorkOrder.setWorkCode(list.getWorkCode()); + List applyLists = equSpareApplyMapper.selectRepairSparePartsRecord(equRepairWorkOrder); + list.setApplyList(applyLists); + return success(list); + } catch (Exception e) { + return error(); + } + } + + /** + * 填写维修工单 + * + * @param equRepairWorkOrder + * @return + */ + @Override + @DS("#header.poolName") + public AjaxResult updateMaintenanceRecords(EquRepairWorkOrder equRepairWorkOrder) { + try { + //更新每一项点检/巡检检查项信息 + List equOrderStandards = equRepairWorkOrder.getCheckList(); + for(EquOrderStandard equOrderStandard:equOrderStandards){ + equOrderStandard.setUpdateBy(SecurityUtils.getUsername()); + equOrderStandard.setUpdateTime(DateUtils.getNowDate()); + equOrderStandardMapper.updateEquOrderStandard(equOrderStandard); + } + //新建申领单 缺少code + List equSpareApplies = equRepairWorkOrder.getApplyList(); + for(EquSpareApply equSpareApply:equSpareApplies){ + equSpareApply.setApplyId(IdUtils.fastSimpleUUID()); + equSpareApply.setCreateBy(SecurityUtils.getUsername()); + equSpareApply.setCreateTime(DateUtils.getNowDate()); + equSpareApply.setApplyTime(DateUtils.getNowDate()); + equSpareApplyMapper.insertEquSpareApply(equSpareApply); + } + //维修人员名字????前端能够提供吗??? + equRepairWorkOrder.setUpdateBy(SecurityUtils.getUsername()); + equRepairWorkOrder.setUpdateTime(DateUtils.getNowDate()); + equRepairWorkOrderMapper.updateEquRepairWorkOrder(equRepairWorkOrder); + return success("提交成功,维修完成!"); + } catch (Exception e) { + return error(); + } } } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceTaskServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceTaskServiceImpl.java new file mode 100644 index 000000000..a4962019f --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceTaskServiceImpl.java @@ -0,0 +1,69 @@ +package com.op.device.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.security.utils.SecurityUtils; +import com.op.device.domain.*; +import com.op.device.mapper.*; +import com.op.device.service.IDeviceTaskService; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; + +import static com.op.common.core.web.domain.AjaxResult.error; +import static com.op.common.core.web.domain.AjaxResult.success; + +/** + * TaskService实现类 + * + * @author wws + * @date 2023-10-23 + */ +@Service +public class DeviceTaskServiceImpl implements IDeviceTaskService { + + @Autowired + private DeviceTaskMapper deviceTaskMapper; + + @Autowired + private EquOrderMapper equOrderMapper; + + /** + * 根据点检计划生成点检任务 + * **/ + @Override + @DS("#header.poolName") + public AjaxResult createSpotCheckPlanTask(EquPlan equPlan) { + /**equ_plan equ_plan_equ**/ + equPlan.setPlanType("spotInspection"); + List plans = deviceTaskMapper.getPlans(equPlan); + for(EquPlan plan:plans){ + if("day".equals(plan.getPlanLoopType())){ + EquOrder order = new EquOrder(); + order.setPlanType("spotInspection"); + EquOrder hasTask = deviceTaskMapper.getNewTaskOrder(order); + if(hasTask==null || Integer.parseInt(plan.getPlanLoop())<= hasTask.getDays()){ + //生成点检计划 + this.createSpotCheckPlan(plan); + } + } + } + + return success(); + } + + private int createSpotCheckPlan(EquPlan plan){ + /**equ_order**/ + EquOrder order = new EquOrder(); + BeanUtils.copyProperties(plan,order); + equOrderMapper.insertEquOrder(order); + /**equ_order_detail**/ + List details = new ArrayList<>(); + + return 0; + } +} diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java index 830b1209c..8ee805c8e 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java @@ -6,18 +6,24 @@ import java.util.List; import com.baomidou.dynamic.datasource.annotation.DS; import com.op.common.core.context.SecurityContextHolder; +import com.op.common.core.domain.BaseFileData; import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.StringUtils; +import com.op.common.core.utils.uuid.IdUtils; import com.op.common.core.web.domain.AjaxResult; -import com.op.device.domain.EquOrderDetail; -import com.op.device.domain.EquOrderEqu; -import com.op.device.domain.EquOrderStandard; +import com.op.common.security.utils.SecurityUtils; +import com.op.device.domain.*; import com.op.device.mapper.*; import com.op.system.api.domain.SysUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.op.device.domain.EquOrder; import com.op.device.service.IEquOrderService; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import javax.servlet.http.HttpServletRequest; + +import static com.op.common.core.web.domain.AjaxResult.error; import static com.op.common.core.web.domain.AjaxResult.success; /** @@ -40,6 +46,10 @@ public class EquOrderServiceImpl implements IEquOrderService { private EquOrderStandardMapper equOrderStandardMapper; @Autowired private PersonMapper personMapper; + @Autowired + private EquOrderEquSpareMapper equOrderEquSpareMapper; + @Autowired + private EquRepairOrderMapper equRepairOrderMapper; /** * 查询计划工单 @@ -58,19 +68,24 @@ public class EquOrderServiceImpl implements IEquOrderService { timeArray.add(order.getOrderEnd()); order.setTimeArray(timeArray); - order.setPlanName(equOrderMapper.selectPlanNameByPlanCode(orderCode)); + order.setPlanName(equOrderMapper.selectPlanNameByPlanCode(order.getPlanCode())); order.setWorkCenterName(equOrderMapper.selectCenterNameByCenterCode(order.getPlanWorkshop())); - EquOrderEqu equ = equOrderEquMapper.selectEquOrderEquListByParentCode(order.getOrderCode()); + EquOrderEqu equ = equOrderEquMapper.selectEquOrderEquListByParentCode(order.getOrderId()); - List detailList = equOrderDetailMapper.selectEquOrderDetailByParentCode(equ.getCode()); + List detailList = equOrderDetailMapper.selectEquOrderDetailByParentCode(equ.getId()); for (EquOrderDetail detail : detailList) { - List standardList = equOrderStandardMapper.selectEquOrderStandardByParentCode(detail.getCode()); + List standardList = equOrderStandardMapper.selectEquOrderStandardByParentCode(detail.getId()); detail.setStandardList(standardList); } equ.setDetailList(detailList); + List spareList = equOrderEquSpareMapper.selectEquOrderEquSpareByParentCode(equ.getId()); + if (spareList.size() > 0) { + equ.setSpareList(spareList); + } + // 人员信息 List users = equOrderPersonMapper.selectEquOrderPersonByOrderCode(orderCode); @@ -96,7 +111,13 @@ public class EquOrderServiceImpl implements IEquOrderService { @Override @DS("#header.poolName") public List selectEquOrderList(EquOrder equOrder) { - return equOrderMapper.selectEquOrderList(equOrder); + List orderList = equOrderMapper.selectEquOrderList(equOrder); + for (EquOrder order : orderList) { + EquOrderEqu equ = equOrderEquMapper.selectEquOrderEquListByParentCode(order.getOrderId()); + order.setEquipmentCode(equ.getEquipmentCode()); + order.setEquipmentName(equ.getEquipmentName()); + } + return orderList; } /** @@ -121,24 +142,138 @@ public class EquOrderServiceImpl implements IEquOrderService { @Override @DS("#header.poolName") public AjaxResult updateEquOrder(EquOrder equOrder) { - // 更新工单信息 - equOrder.setOrderStart(equOrder.getTimeArray().get(0)); - equOrder.setOrderEnd(equOrder.getTimeArray().get(1)); - equOrder.setUpdateTime(DateUtils.getNowDate()); - equOrder.setUpdateBy(SecurityContextHolder.getUserName()); - equOrderMapper.updateEquOrder(equOrder); - // 更新标准信息 + // 检验如果审核通过则不允许修改记录 + if (equOrder.getRepairCode() != null) { + if (!equOrder.getRepairCode().isEmpty()) { + EquRepairOrder repairOrder = equRepairOrderMapper.selectEquRepairOrderByRepairCode(equOrder.getRepairCode()); + if (repairOrder == null) { + return error(500, "未查询到报修单信息!"); + } else { + if (!repairOrder.getOrderStatus().equals("待审核")) { + return error(500, "报修单已审核,不可修改记录!"); + } + } + } + } + + boolean hasError = false; + EquOrderEqu equ = equOrder.getEqu(); List detailList = equ.getDetailList(); for (EquOrderDetail detail : detailList) { List standardList = detail.getStandardList(); for (EquOrderStandard standard : standardList) { - standard.setUpdateBy(SecurityContextHolder.getUserName()); + + //上传附件 + if (StringUtils.isNotEmpty(standard.getPicturePath())) { + String[] ids = standard.getPicturePath().split(","); + List files = new ArrayList<>(); + BaseFileData file = null; + for (String id : ids) { + file = new BaseFileData(); + file.setFileId(IdUtils.fastSimpleUUID()); + file.setFileName(id.split("&fileName=")[1]); + file.setFileAddress(id); + file.setSourceId(standard.getId()); + file.setCreateBy(SecurityUtils.getUsername()); + file.setCreateTime(new Date()); + files.add(file); + } + equOrderStandardMapper.insertBaseFileBatch(files); + } + + // 校验标准信息-是否申请报修 + if (standard.getStandardType().equals("quantify")) { + int up = standard.getActualValue().compareTo(standard.getDetailUpLimit()); + int down = standard.getActualValue().compareTo(standard.getDetailDownLimit()); + standard.setDetailReach("1"); + standard.setErrorFlag("0"); + if (!(up != 1 && down != -1)) { + hasError = true; + standard.setErrorFlag("1"); + standard.setDetailReach("0"); + } + } else { + // TODO 未达标 + standard.setErrorFlag("0"); + if (standard.getDetailReach().equals("0")) { + hasError = true; + standard.setErrorFlag("1"); + } + } + + // 更新标准 standard.setUpdateTime(DateUtils.getNowDate()); equOrderStandardMapper.updateEquOrderStandard(standard); } } + + // 更新工单信息 + equOrder.setOrderStatus("1"); // 状态为已完成 + equOrder.setUpdateTime(DateUtils.getNowDate()); + equOrder.setUpdateBy(SecurityContextHolder.getUserName()); + equOrder.setPlanPerson(SecurityContextHolder.getUserName()); + equOrder.setPlanPerson(SecurityContextHolder.getUserName()); + if (equOrder.getTimeArray().size() > 0) { + equOrder.setOrderStart(equOrder.getTimeArray().get(0)); + equOrder.setOrderEnd(equOrder.getTimeArray().get(1)); + } + + boolean checkRepair = false; + + if (equOrder.getRepairCode() == null) { + checkRepair = true; + } else { + if (equOrder.getRepairCode().isEmpty()) { + checkRepair = true; + } + } + + // 报修信息 + if (checkRepair && hasError) { + // 获取故障报修流水号 + EquRepairOrder equRepairOrder = new EquRepairOrder(); + String serialNum = String.format("%03d", equRepairOrderMapper.selectOrderCodeSerialNumber()); + String equipmentCode = equOrder.getEqu().getEquipmentCode(); + //报修单号 + equRepairOrder.setOrderCode("BX" + DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + equipmentCode + serialNum); + //在主表中存入报修单号信息 + equOrder.setRepairCode(equRepairOrder.getOrderCode()); + + //新增报修记录 + equRepairOrder.setOrderId(IdUtils.fastSimpleUUID()); + equRepairOrder.setCreateTime(DateUtils.getNowDate()); + equRepairOrder.setCreateBy(SecurityUtils.getUsername()); + // 报修来源 + if (equOrder.getPlanType().equals("inspection")) { + equRepairOrder.setOrderSource("巡检"); + } + if (equOrder.getPlanType().equals("spotInspection")) { + equRepairOrder.setOrderSource("点检"); + } + if (equOrder.getPlanType().equals("maintenance")) { + equRepairOrder.setOrderSource("保养"); + } + equRepairOrder.setOrderStatus("待审核"); + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + equRepairOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", "")); + equRepairOrderMapper.insertEquRepairOrder(equRepairOrder); + } + + if (!hasError) { + // TODO 删除报修单 + if (equOrder.getRepairCode() != null) { + if (!equOrder.getRepairCode().isEmpty()) { + equRepairOrderMapper.deleteEquRepairOrderByRepairCode(equOrder.getRepairCode()); + equOrder.setRepairCode(""); + } + } + } + + // 更新工单信息 + equOrderMapper.updateEquOrder(equOrder); return success(); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java index 2dbc138a7..a42b3e812 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java @@ -1,5 +1,6 @@ package com.op.device.service.impl; +import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -53,6 +54,9 @@ public class EquPlanServiceImpl implements IEquPlanService { private EquPlanEquMapper equPlanEquMapper; @Autowired private EquPlanEquSpareMapper equPlanEquSpareMapper; + // 备件mapper + @Autowired + private SparePartsLedgerMapper sparePartsLedgerMapper; /** * 查询计划 @@ -202,6 +206,8 @@ public class EquPlanServiceImpl implements IEquPlanService { equPlanDetailMapper.delEquPlanDetailByPlanCode(equPlan.getPlanCode()); equPlanEquMapper.delEquPlanEquByPlanCode(equPlan.getPlanCode()); equPlanStandardMapper.delEquPlanStandardByPlanCode(equPlan.getPlanCode()); + // TODO 有问题没有删除成功 + equPlanEquSpareMapper.delEquPlanEquSpareByPlanCode(equPlan.getPlanCode()); } return success(); } @@ -343,16 +349,10 @@ public class EquPlanServiceImpl implements IEquPlanService { for (EquPlanEqu equipment : equipmentList) { // 获取检查项list - EquPlanDetail selectDetail = new EquPlanDetail(); - selectDetail.setParentCode(equipment.getCode()); - selectDetail.setPlanCode(equPlan.getPlanCode()); - List detailList = equPlanDetailMapper.selectEquPlanDetailList(selectDetail); + List detailList = equPlanDetailMapper.selectEquPlanDetailListByParentCode(equipment.getId()); for (EquPlanDetail detail : detailList) { // 获取标准list - EquPlanStandard selectStandard = new EquPlanStandard(); - selectStandard.setParentCode(detail.getCode()); - selectStandard.setPlanCode(equPlan.getPlanCode()); - List standardList = equPlanStandardMapper.selectEquPlanStandardList(selectStandard); + List standardList = equPlanStandardMapper.selectEquPlanStandardListByParentCode(detail.getId()); for (EquPlanStandard standard : standardList) { standard.setShowFlag(true); } @@ -365,9 +365,14 @@ public class EquPlanServiceImpl implements IEquPlanService { equipment.setEquPlanDetailList(detailList); EquPlanEquSpare spare = new EquPlanEquSpare(); - spare.setParentCode(equipment.getCode()); + spare.setParentCode(equipment.getId()); + // 备件信息 List spareList = equPlanEquSpareMapper.selectEquPlanEquSpareList(spare); if (spareList.size() > 0) { + for (EquPlanEquSpare equSpare : spareList) { + // 通过备件编码查询备件库存信息(总量-冻结) + equSpare.setAmount(sparePartsLedgerMapper.selectRealAmountByMaterialCode(equSpare.getMaterialCode())); + } equipment.setSpareList(spareList); } @@ -408,14 +413,10 @@ public class EquPlanServiceImpl implements IEquPlanService { // 处理计划1-n设备信息 List equipmentItemList = equPlan.getEquipmentItem(); - // 计划-设备流水号 - int equipmentCodeTemp = 0; - for (EquPlanEqu equipment : equipmentItemList) { equipment.setId(IdUtils.fastSimpleUUID()); equipment.setPlanCode(equPlan.getPlanCode()); - equipment.setCode("E" + equPlan.getPlanCode() + String.format("%02d", ++equipmentCodeTemp)); - equipment.setParentCode(equPlan.getPlanCode()); + equipment.setParentCode(equPlan.getPlanId()); equipment.setFactoryCode(factory); equipment.setCreateBy(SecurityContextHolder.getUserName()); equipment.setCreateTime(DateUtils.getNowDate()); @@ -425,16 +426,13 @@ public class EquPlanServiceImpl implements IEquPlanService { // 处理检查项信息 List detailList = equipment.getEquPlanDetailList(); if (detailList != null) { - // 计划检查项流水号 - int itemCodeTemp = 0; for (EquPlanDetail item : detailList) { if (item != null) { item.setId(IdUtils.fastSimpleUUID()); item.setPlanCode(equPlan.getPlanCode()); - item.setCode("C" + equPlan.getPlanCode() + String.format("%02d", ++itemCodeTemp)); - item.setParentCode(equipment.getCode()); + item.setParentCode(equipment.getId()); item.setCreateBy(SecurityContextHolder.getUserName()); item.setCreateTime(DateUtils.getNowDate()); item.setUpdateBy(SecurityContextHolder.getUserName()); @@ -443,9 +441,6 @@ public class EquPlanServiceImpl implements IEquPlanService { // 处理标准 List standardList = item.getEquPlanStandardList(); - // 检查项详情流水号 - int detailCodeTemp = 0; - // 判断是否插入检查项 boolean checkInsert = false; @@ -456,9 +451,8 @@ public class EquPlanServiceImpl implements IEquPlanService { checkInsert = true; standard.setId(IdUtils.fastSimpleUUID()); - standard.setParentCode(item.getCode()); + standard.setParentCode(item.getId()); standard.setPlanCode(equPlan.getPlanCode()); - standard.setCode("D" + equPlan.getPlanCode() + String.format("%02d", ++detailCodeTemp)); standard.setCreateBy(SecurityContextHolder.getUserName()); standard.setCreateTime(DateUtils.getNowDate()); standard.setUpdateBy(SecurityContextHolder.getUserName()); diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairOrderServiceImpl.java index 0fbbf8a45..ba5e35e42 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairOrderServiceImpl.java @@ -1,22 +1,21 @@ package com.op.device.service.impl; +import java.util.ArrayList; +import java.util.Date; import java.util.List; import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.domain.BaseFileData; import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.StringUtils; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.security.utils.SecurityUtils; -import com.op.device.domain.EquEquipment; -import com.op.device.domain.EquOutsourceWork; -import com.op.device.domain.EquRepairWorkOrder; -import com.op.device.mapper.EquEquipmentMapper; -import com.op.device.mapper.EquOutsourceWorkMapper; -import com.op.device.mapper.EquRepairWorkOrderMapper; +import com.op.device.domain.*; +import com.op.device.mapper.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.op.device.mapper.EquRepairOrderMapper; -import com.op.device.domain.EquRepairOrder; import com.op.device.service.IEquRepairOrderService; +import org.springframework.util.CollectionUtils; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -41,6 +40,9 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService { @Autowired private EquOutsourceWorkMapper equOutsourceWorkMapper; + + @Autowired + private EquFileMapper equFileMapper; /** * 查询故障报修 * @@ -50,7 +52,12 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService { @Override @DS("#header.poolName") public EquRepairOrder selectEquRepairOrderByOrderId(String orderId) { - return equRepairOrderMapper.selectEquRepairOrderByOrderId(orderId); + EquRepairOrder list = equRepairOrderMapper.selectEquRepairOrderByOrderId(orderId); + List files = equFileMapper.getEquFileBatch(orderId); + if (!CollectionUtils.isEmpty(files)) { + list.setFiles(files); + } + return list; } /** @@ -83,9 +90,28 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService { equRepairOrder.setCreateTime(DateUtils.getNowDate()); equRepairOrder.setCreateBy(SecurityUtils.getUsername()); equRepairOrder.setOrderStatus("待审核"); -// HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); -// String key = "#header.poolName"; -// equRepairOrder.setFactory(request.getHeader(key.substring(8)).replace("ds_","")); + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + equRepairOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_","")); + + //设备报修上传图片 + if (StringUtils.isNotEmpty(equRepairOrder.getFileList())) { + String[] ids = equRepairOrder.getFileList().split(","); + List files = new ArrayList<>(); + BaseFileData file = null; + for (String id : ids) { + file = new BaseFileData(); + file.setFileId(IdUtils.fastSimpleUUID()); + file.setFileName(id.split("&fileName=")[1]); + file.setFileAddress(id); + file.setSourceId(equRepairOrder.getOrderId()); + file.setCreateBy(SecurityUtils.getUsername()); + file.setCreateTime(new Date()); + files.add(file); + } + equFileMapper.insertEquFileBatch(files); + } + return equRepairOrderMapper.insertEquRepairOrder(equRepairOrder); } @@ -112,6 +138,8 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService { //不委外 equRepairWorkOrder.setWorkOutsource("0"); equRepairWorkOrder.setOutWorkCode("无"); + //是否立即维修 1是 0 否 + equRepairWorkOrder.setWorkHandle("0"); //计划维修时间 equRepairWorkOrder.setWorkPlanTime(equRepairOrder.getWorkPlanTime()); //是否停机维修 停机维修时间 @@ -157,6 +185,9 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService { equRepairOrder.setOrderStatus("审核通过"); }else if(equRepairOrder.getRepairDestination().equals("立即维修")){ //立即维修 + //是否立即维修 1是 0 否 + EquRepairWorkOrder equRepairWorkOrder = new EquRepairWorkOrder(); + equRepairWorkOrder.setWorkHandle("0"); equRepairOrder.setOrderStatus("审核通过"); } equRepairOrder.setUpdateTime(DateUtils.getNowDate()); @@ -173,6 +204,24 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService { @Override @DS("#header.poolName") public int updateEquRepairOrder(EquRepairOrder equRepairOrder) { + equFileMapper.deleteEquFileBySourceId(equRepairOrder.getOrderId()); + //上传附件 + if (StringUtils.isNotEmpty(equRepairOrder.getFileList())) { + String[] ids = equRepairOrder.getFileList().split(","); + List files = new ArrayList<>(); + BaseFileData file = null; + for (String id : ids) { + file = new BaseFileData(); + file.setFileId(IdUtils.fastSimpleUUID()); + file.setFileAddress(id); + file.setFileName(id.split("&fileName=")[1]); + file.setSourceId(equRepairOrder.getOrderId()); + file.setCreateBy(SecurityUtils.getUsername()); + file.setCreateTime(new Date()); + files.add(file); + } + equFileMapper.insertEquFileBatch(files); + } equRepairOrder.setUpdateTime(DateUtils.getNowDate()); equRepairOrder.setUpdateBy(SecurityUtils.getUsername()); return equRepairOrderMapper.updateEquRepairOrder(equRepairOrder); diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java index be3f3be3a..2a172e84e 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java @@ -7,8 +7,8 @@ import com.baomidou.dynamic.datasource.annotation.DS; import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.security.utils.SecurityUtils; -import com.op.device.domain.EquEquipment; import com.op.device.domain.EquOutsourceWork; +import com.op.device.domain.EquTeamUser; import com.op.device.mapper.EquOutsourceWorkMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -90,7 +90,6 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService //维修单号 equRepairWorkOrder.setOrderCode("无"); equRepairWorkOrder.setOutWorkCode("无"); - equRepairWorkOrder.setWorkStatus("待维修"); equRepairWorkOrder.setWorkCode("WX"+DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + equipmentCode + serialNum); equRepairWorkOrder.setCreateBy(SecurityUtils.getUsername()); equRepairWorkOrder.setCreateTime(DateUtils.getNowDate()); @@ -144,8 +143,8 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService //获取维人员列表 @Override - public List getMaintenancePersonList(EquEquipment equEquipment) { - return equRepairWorkOrderMapper.getMaintenancePersonList(equEquipment); + public List getMaintenancePersonList(EquTeamUser equTeamUser) { + return equRepairWorkOrderMapper.getMaintenancePersonList(equTeamUser); } //委外申请 diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquSpareApplyServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquSpareApplyServiceImpl.java index 11a3b01d6..e94737765 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquSpareApplyServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquSpareApplyServiceImpl.java @@ -7,11 +7,16 @@ import com.baomidou.dynamic.datasource.annotation.DS; import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.security.utils.SecurityUtils; +import com.op.device.domain.EquRepairWorkOrder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.op.device.mapper.EquSpareApplyMapper; import com.op.device.domain.EquSpareApply; import com.op.device.service.IEquSpareApplyService; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; /** * 申领记录Service业务层处理 @@ -66,6 +71,10 @@ public class EquSpareApplyServiceImpl implements IEquSpareApplyService { @DS("#header.poolName") public int insertEquSpareApply(EquSpareApply equSpareApply) { equSpareApply.setApplyId(IdUtils.fastSimpleUUID()); + //工厂号 + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + equSpareApply.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_","")); equSpareApply.setCreateTime(DateUtils.getNowDate()); equSpareApply.setCreateBy(SecurityUtils.getUsername()); return equSpareApplyMapper.insertEquSpareApply(equSpareApply); @@ -108,4 +117,13 @@ public class EquSpareApplyServiceImpl implements IEquSpareApplyService { public int deleteEquSpareApplyByApplyId(String applyId) { return equSpareApplyMapper.deleteEquSpareApplyByApplyId(applyId); } + + /** + * 查询维修单对应的申领记录列表 + */ + @Override + @DS("#header.poolName") + public List selectRepairSparePartsRecord(EquRepairWorkOrder equRepairWorkOrder) { + return equSpareApplyMapper.selectRepairSparePartsRecord(equRepairWorkOrder); + } } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquTeamServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquTeamServiceImpl.java index d4d76a1f7..df8779159 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquTeamServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquTeamServiceImpl.java @@ -1,16 +1,29 @@ package com.op.device.service.impl; +import java.util.ArrayList; import java.util.List; import com.baomidou.dynamic.datasource.annotation.DS; import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.uuid.IdUtils; +import com.op.common.core.web.domain.AjaxResult; import com.op.common.security.utils.SecurityUtils; +import com.op.device.domain.EquTeamUser; +import com.op.device.mapper.EquTeamUserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.op.device.mapper.EquTeamMapper; import com.op.device.domain.EquTeam; import com.op.device.service.IEquTeamService; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import com.op.common.core.web.domain.AjaxResult; + +import javax.servlet.http.HttpServletRequest; + +import static com.op.common.core.web.domain.AjaxResult.error; +import static com.op.common.core.web.domain.AjaxResult.success; /** * 设备班组维护Service业务层处理 @@ -22,6 +35,8 @@ import com.op.device.service.IEquTeamService; public class EquTeamServiceImpl implements IEquTeamService { @Autowired private EquTeamMapper equTeamMapper; + @Autowired + private EquTeamUserMapper equTeamUserMapper; /** * 查询设备班组维护 @@ -32,6 +47,11 @@ public class EquTeamServiceImpl implements IEquTeamService { @Override @DS("#header.poolName") public EquTeam selectEquTeamById(String id) { + EquTeamUser equTeamUser = new EquTeamUser(); + equTeamUser.setTeamId(id); + List equTeamUser1 = equTeamUserMapper.selectEquTeamUserList(equTeamUser); + EquTeam equTeam = equTeamMapper.selectEquTeamById(id); + equTeam.setSelectedData(equTeamUser1); return equTeamMapper.selectEquTeamById(id); } @@ -54,12 +74,40 @@ public class EquTeamServiceImpl implements IEquTeamService { * @return 结果 */ @Override + @Transactional @DS("#header.poolName") - public int insertEquTeam(EquTeam equTeam) { - equTeam.setId(IdUtils.fastSimpleUUID()); - equTeam.setCreateTime(DateUtils.getNowDate()); - equTeam.setCreateBy(SecurityUtils.getUsername()); - return equTeamMapper.insertEquTeam(equTeam); + public AjaxResult insertEquTeam(EquTeam equTeam) { + try{ + equTeam.setId(IdUtils.fastSimpleUUID()); + equTeam.setCreateTime(DateUtils.getNowDate()); + equTeam.setCreateBy(SecurityUtils.getUsername()); + //工厂号 + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + equTeam.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_","")); + equTeamMapper.insertEquTeam(equTeam); + //新增设备班组人员信息 + String teamId = equTeam.getId(); + for(int i = 0 ; i < equTeam.getRightData().size() ; i++){ + EquTeamUser equTeamUser = new EquTeamUser(); + equTeamUser.setCreateBy(SecurityUtils.getUsername()); + equTeamUser.setCreateTime(DateUtils.getNowDate()); + equTeamUser.setTeamId(teamId); + equTeamUser.setTeamCode(equTeam.getTeamCode()); + equTeamUser.setId(IdUtils.fastSimpleUUID()); + List list = new ArrayList<>(); + list = equTeam.getRightData(); + String userId = list.get(i); + equTeamUser.setUserId(userId); + EquTeamUser memberList = equTeamMapper.selectTeamMember(equTeamUser); + equTeamUser.setUserName(memberList.getUserName()); + equTeamUser.setNickName(memberList.getNickName()); + equTeamUserMapper.insertEquTeamUser(equTeamUser); + } + return success("新增设备班组成功!"); + }catch (Exception e) { + return error(); + } } /** @@ -70,10 +118,32 @@ public class EquTeamServiceImpl implements IEquTeamService { */ @Override @DS("#header.poolName") - public int updateEquTeam(EquTeam equTeam) { - equTeam.setUpdateTime(DateUtils.getNowDate()); - equTeam.setUpdateBy(SecurityUtils.getUsername()); - return equTeamMapper.updateEquTeam(equTeam); + @Transactional + public AjaxResult updateEquTeam(EquTeam equTeam) { + try{ + equTeam.setUpdateTime(DateUtils.getNowDate()); + equTeam.setUpdateBy(SecurityUtils.getUsername()); + equTeamMapper.updateEquTeam(equTeam); + for(int i = 0;i list = new ArrayList<>(); + list = equTeam.getRightData(); + String userId = list.get(i); + equTeamUser.setUserId(userId); + String userName = equTeamUserMapper.selectUserName(equTeamUser); + //判断班组人员有没有变动 挨个遍历 + equTeamUser.setUserName(userName); + equTeamUserMapper.insertEquTeamUser(equTeamUser); + } + return success("修改设备班组成功!"); + }catch (Exception e) { + return error(); + } } /** @@ -108,4 +178,16 @@ public class EquTeamServiceImpl implements IEquTeamService { public List getMaintenanceTeamList(EquTeam equTeam) { return equTeamMapper.getMaintenanceTeamList(equTeam); } + + /** + * 查询所有人员列表 + * + * @param equTeamUser 班组人员 + * @return 班组人员 + */ + @Override + @DS("#master") + public List selectTeamMembers(EquTeamUser equTeamUser){ + return equTeamMapper.selectTeamMembers(equTeamUser); + } } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java index c19ed49c7..06405fa3a 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java @@ -6,6 +6,7 @@ import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.core.web.domain.AjaxResult; import com.op.device.domain.*; +import com.op.device.domain.dto.UpKeepOrderDTO; import com.op.device.mapper.*; import com.op.device.service.IEquUpkeepOrderService; import com.op.system.api.domain.SysUser; @@ -110,8 +111,7 @@ public class EquUpkeepOrderServiceImpl implements IEquUpkeepOrderService { EquPlanEqu equPlanEqu = equPlanEquList.get(0); BeanUtils.copyProperties(equPlanEqu,equ); equ.setId(IdUtils.fastSimpleUUID()); - equ.setCode("E"+DateUtils.dateTimeNow(DateUtils.YYYYMMDD)+"001"); - equ.setParentCode(equOrder.getOrderCode()); + equ.setParentCode(equOrder.getOrderId()); equ.setOrderCode(equOrder.getOrderCode()); equ.setFactoryCode(factory); equ.setAttr1(""); @@ -121,14 +121,12 @@ public class EquUpkeepOrderServiceImpl implements IEquUpkeepOrderService { // 生成工单-备件 List spareList = new ArrayList<>(); List equSpareList = equPlanEqu.getSpareList(); - int spareSerialNum = 0; for (EquPlanEquSpare spare : equSpareList) { EquOrderEquSpare spareTemp = new EquOrderEquSpare(); BeanUtils.copyProperties(spare,spareTemp); spareTemp.setId(IdUtils.fastSimpleUUID()); - spareTemp.setCode("S"+equOrder.getOrderCode()+String.format("%03d",++spareSerialNum)); spareTemp.setOrderCode(equOrder.getOrderCode()); - spareTemp.setParentCode(equ.getCode()); + spareTemp.setParentCode(equ.getId()); spareTemp.setFactoryCode(factory); spareTemp.setCreateBy(SecurityContextHolder.getUserName()); spareTemp.setCreateTime(DateUtils.getNowDate()); @@ -143,16 +141,14 @@ public class EquUpkeepOrderServiceImpl implements IEquUpkeepOrderService { // 生成工单-设备-保养项 List detailList = equPlanEqu.getEquPlanDetailList(); - int detailSerialNum = 0; for (EquPlanDetail detail : detailList) { EquOrderDetail equOrderDetail = new EquOrderDetail(); List orderStandardList = new ArrayList<>(); List standardList = detail.getEquPlanStandardList(); BeanUtils.copyProperties(detail,equOrderDetail); equOrderDetail.setId(IdUtils.fastSimpleUUID()); - equOrderDetail.setCode("C"+DateUtils.dateTimeNow(DateUtils.YYYYMMDD)+String.format("%03d",++detailSerialNum)); equOrderDetail.setOrderCode(equOrder.getOrderCode()); - equOrderDetail.setParentCode(equ.getCode()); + equOrderDetail.setParentCode(equ.getId()); equOrderDetail.setFactroyCode(factory); equOrderDetail.setStandardList(orderStandardList); equOrderDetail.setCreateBy(SecurityContextHolder.getUserName()); @@ -162,13 +158,11 @@ public class EquUpkeepOrderServiceImpl implements IEquUpkeepOrderService { // 插入检查项信息 equOrderDetailMapper.insertEquOrderDetail(equOrderDetail); - int standardSerialNum = 0; for (EquPlanStandard standard : standardList) { EquOrderStandard orderStandard = new EquOrderStandard(); BeanUtils.copyProperties(standard,orderStandard); orderStandard.setId(IdUtils.fastSimpleUUID()); - orderStandard.setCode("S"+equOrder.getOrderCode()+String.format("%03d",++standardSerialNum)); - orderStandard.setParentCode(equOrderDetail.getCode()); + orderStandard.setParentCode(equOrderDetail.getId()); orderStandard.setOrderCode(equOrder.getOrderCode()); orderStandard.setCreateBy(SecurityContextHolder.getUserName()); orderStandard.setCreateTime(DateUtils.getNowDate()); @@ -184,7 +178,6 @@ public class EquUpkeepOrderServiceImpl implements IEquUpkeepOrderService { for (SysUser user : personList) { EquOrderPerson equOrderPerson = new EquOrderPerson(); equOrderPerson.setId(IdUtils.fastSimpleUUID()); - // TODO 要改变编码格式 equOrderPerson.setOrderCode(equOrder.getOrderCode()); equOrderPerson.setFactoryCode(factory); equOrderPerson.setUserId(user.getUserId()); @@ -207,9 +200,8 @@ public class EquUpkeepOrderServiceImpl implements IEquUpkeepOrderService { */ @Override @DS("#header.poolName") - public int updateEquOrder(EquOrder equOrder) { - equOrder.setUpdateTime(DateUtils.getNowDate()); - return equOrderMapper.updateEquOrder(equOrder); + public AjaxResult updateEquOrder(EquOrder equOrder) { + return success(); } /** @@ -235,4 +227,22 @@ public class EquUpkeepOrderServiceImpl implements IEquUpkeepOrderService { public int deleteEquOrderByOrderId(String orderId) { return equOrderMapper.deleteEquOrderByOrderId(orderId); } + + /** + * 保养工单检验 + * @param upKeepOrderDTO + * @return + */ + @Override + @DS("#header.poolName") + public AjaxResult subInspect(UpKeepOrderDTO upKeepOrderDTO) { + List ids = upKeepOrderDTO.getIds(); + for (String id : ids){ + EquOrder order = new EquOrder(); + order.setOrderId(id); + order.setOrderInspect(upKeepOrderDTO.getInspect()); + equOrderMapper.updateEquOrder(order); + } + return success(); + } } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepServiceImpl.java index bf0be342b..77c4783da 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepServiceImpl.java @@ -247,7 +247,7 @@ public class EquUpkeepServiceImpl implements IEquUpkeepService { equipment.setId(IdUtils.fastSimpleUUID()); equipment.setPlanCode(equPlan.getPlanCode()); equipment.setCode("E" + equPlan.getPlanCode() + String.format("%02d", ++equipmentCodeTemp)); - equipment.setParentCode(equPlan.getPlanCode()); + equipment.setParentCode(equPlan.getPlanId()); equipment.setFactoryCode(factory); equipment.setCreateBy(SecurityContextHolder.getUserName()); equipment.setCreateTime(DateUtils.getNowDate()); @@ -265,8 +265,8 @@ public class EquUpkeepServiceImpl implements IEquUpkeepService { if (item != null) { item.setId(IdUtils.fastSimpleUUID()); item.setPlanCode(equPlan.getPlanCode()); - item.setCode("C" + equPlan.getPlanCode() + String.format("%02d", ++itemCodeTemp)); - item.setParentCode(equipment.getCode()); + item.setCode("C" + equipment.getCode() + String.format("%02d", ++itemCodeTemp)); + item.setParentCode(equipment.getId()); item.setCreateBy(SecurityContextHolder.getUserName()); item.setCreateTime(DateUtils.getNowDate()); item.setUpdateBy(SecurityContextHolder.getUserName()); @@ -275,9 +275,6 @@ public class EquUpkeepServiceImpl implements IEquUpkeepService { // 处理标准 List standardList = item.getEquPlanStandardList(); - // 检查项详情流水号 - int detailCodeTemp = 0; - // 判断是否插入检查项 boolean checkInsert = false; @@ -288,9 +285,8 @@ public class EquUpkeepServiceImpl implements IEquUpkeepService { checkInsert = true; standard.setId(IdUtils.fastSimpleUUID()); - standard.setParentCode(item.getCode()); + standard.setParentCode(item.getId()); standard.setPlanCode(equPlan.getPlanCode()); - standard.setCode("D" + equPlan.getPlanCode() + String.format("%02d", ++detailCodeTemp)); standard.setCreateBy(SecurityContextHolder.getUserName()); standard.setCreateTime(DateUtils.getNowDate()); standard.setUpdateBy(SecurityContextHolder.getUserName()); @@ -321,9 +317,8 @@ public class EquUpkeepServiceImpl implements IEquUpkeepService { if (spareList != null) { for (EquPlanEquSpare spare : spareList) { spare.setId(IdUtils.fastSimpleUUID()); - spare.setCode("S" + equPlan.getPlanCode() + String.format("%02d", ++spareCodeTemp)); spare.setPlanCode(equPlan.getPlanCode()); - spare.setParentCode(equipment.getCode()); + spare.setParentCode(equipment.getId()); spare.setFactoryCode(factory); spare.setCreateBy(SecurityContextHolder.getUserName()); spare.setCreateTime(DateUtils.getNowDate()); diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/InspectionWorkServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/InspectionWorkServiceImpl.java new file mode 100644 index 000000000..f7fbc4d22 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/InspectionWorkServiceImpl.java @@ -0,0 +1,159 @@ +package com.op.device.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.web.domain.AjaxResult; +import com.op.device.domain.*; +import com.op.device.domain.vo.InspectionWorkVO; +import com.op.device.mapper.*; +import com.op.device.service.IInspectionWorkService; + +import java.util.List; +import com.op.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.op.device.service.IEquOrderService; + +import static com.op.common.core.web.domain.AjaxResult.success; + +/** + * 巡检记录Service业务层处理 + * + * @author wws + * @date 2023-11-07 + */ +@Service +public class InspectionWorkServiceImpl implements IInspectionWorkService { + @Autowired + private EquOrderMapper equOrderMapper; + @Autowired + private EquipmentMapper equipmentMapper; + @Autowired + private EquOrderDetailMapper equOrderDetailMapper; + @Autowired + private EquOrderStandardMapper equOrderStandardMapper; + @Autowired + private EquPlanMapper equPlanMapper; + @Autowired + private EquOrderEquSpareMapper equOrderEquSpareMapper; + @Autowired + private EquOrderEquMapper equOrderEquMapper; + + /** + * 查询巡检记录 + * + * @param orderId 巡检记录主键 + * @return 巡检记录 + */ + @Override + @DS("#header.poolName") + public AjaxResult selectEquOrderByOrderId(String orderId) { + InspectionWorkVO workVO = new InspectionWorkVO(); + // 查询工单信息 + EquOrder order = equOrderMapper.selectEquOrderByOrderId(orderId); + // 设置计划名称 + EquPlan equPlan = equPlanMapper.selectEquPlanByPlanCode(order.getPlanCode()); + if (equPlan != null) { + order.setPlanName(equPlan.getPlanName()); + } + + // 查询备件信息 + List spareList = equOrderEquSpareMapper.selectEquOrderEquSpareByOrderCode(order.getOrderCode()); + + // 替换循环周期 + order.setPlanLoopType(equOrderMapper.changeLoopType(order.getPlanLoopType())); + + Equipment equipment = equipmentMapper.selectEquipmentByEquipmentCode(equOrderEquMapper.selectEquOrderEquListByParentCode(order.getOrderId()).getEquipmentCode()); + + // 查询检查项、标准 + List detailList = equOrderDetailMapper.selectEquOrderDetailByOrderCode(order.getOrderCode()); + for (EquOrderDetail detail : detailList) { + List standardList = equOrderStandardMapper.selectEquOrderStandardByParentCode(detail.getId()); + for (EquOrderStandard standard : standardList) { + if (standard.getStandardType().equals("quantify")){ + standard.setStandardTypeName("定量"); + }else { + standard.setStandardTypeName("定性"); + } + + if (standard.getDetailReach() != null) { + if (standard.getDetailReach().equals("0")){ + standard.setDetailReach("未达标"); + }else { + standard.setDetailReach("达标"); + } + } + } + detail.setStandardList(standardList); + } + + workVO.setSpareList(spareList); + workVO.setOrder(order); + workVO.setEqu(equipment); + workVO.setDetailList(detailList); + + return success(workVO); + } + + /** + * 查询巡检记录列表 + * + * @param equOrder 巡检记录 + * @return 巡检记录 + */ + @Override + @DS("#header.poolName") + public List selectEquOrderList(EquOrder equOrder) { + return equOrderMapper.selectEquOrderList(equOrder); + } + + /** + * 新增巡检记录 + * + * @param equOrder 巡检记录 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int insertEquOrder(EquOrder equOrder) { + equOrder.setCreateTime(DateUtils.getNowDate()); + return equOrderMapper.insertEquOrder(equOrder); + } + + /** + * 修改巡检记录 + * + * @param equOrder 巡检记录 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int updateEquOrder(EquOrder equOrder) { + equOrder.setUpdateTime(DateUtils.getNowDate()); + return equOrderMapper.updateEquOrder(equOrder); + } + + /** + * 批量删除巡检记录 + * + * @param orderIds 需要删除的巡检记录主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteEquOrderByOrderIds(String[] orderIds) { + return equOrderMapper.deleteEquOrderByOrderIds(orderIds); + } + + /** + * 删除巡检记录信息 + * + * @param orderId 巡检记录主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteEquOrderByOrderId(String orderId) { + return equOrderMapper.deleteEquOrderByOrderId(orderId); + } + +} diff --git a/op-modules/op-device/src/main/resources/bootstrap.yml b/op-modules/op-device/src/main/resources/bootstrap.yml index b166ed595..efdd19ba2 100644 --- a/op-modules/op-device/src/main/resources/bootstrap.yml +++ b/op-modules/op-device/src/main/resources/bootstrap.yml @@ -16,12 +16,12 @@ spring: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 config: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/op-modules/op-device/src/main/resources/mapper/device/DeviceTaskMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/DeviceTaskMapper.xml new file mode 100644 index 000000000..be468d21f --- /dev/null +++ b/op-modules/op-device/src/main/resources/mapper/device/DeviceTaskMapper.xml @@ -0,0 +1,33 @@ + + + + + + + diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquFileMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquFileMapper.xml new file mode 100644 index 000000000..ef5150b67 --- /dev/null +++ b/op-modules/op-device/src/main/resources/mapper/device/EquFileMapper.xml @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + select file_id, file_name, file_address, source_id, remark, attr1, + attr2, attr3, attr4, create_by, create_time, update_by, + update_time,image_type from base_file + + + + + + + + + + + + + + + insert into base_file + + file_id, + file_name, + file_address, + source_id, + remark, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + image_type, + + + #{fileId}, + #{fileName}, + #{fileAddress}, + #{sourceId}, + #{remark}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + {imageType}, + + + + + INSERT INTO base_file(file_id, file_name, file_address, source_id, remark, create_by, create_time) + VALUES + + ( + #{baseFile.fileId}, + #{baseFile.fileName}, + #{baseFile.fileAddress}, + #{baseFile.sourceId}, + #{baseFile.remark}, + #{baseFile.createBy}, + #{baseFile.createTime} + ) + + + + + update base_file + + file_name = #{fileName}, + file_address = #{fileAddress}, + source_id = #{sourceId}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where file_id = #{fileId} + + + + delete from base_file where file_id = #{fileId} + + + + delete from base_file where file_id in + + #{fileId} + + + + + delete from base_file where source_id = #{sourceId} + + + diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderDetailMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderDetailMapper.xml index 2ca628837..969eb0fa5 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderDetailMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderDetailMapper.xml @@ -44,17 +44,23 @@ and attr1 = #{attr1} and attr2 = #{attr2} and attr3 = #{attr3} + and del_flag = '0' + + diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderEquMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderEquMapper.xml index 13a9e0d3c..1461f6530 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderEquMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderEquMapper.xml @@ -38,17 +38,18 @@ and attr1 = #{attr1} and attr2 = #{attr2} and attr3 = #{attr3} + and del_flag = '0' @@ -107,7 +108,7 @@ update_by = #{updateBy}, update_time = #{updateTime}, - where id = #{id} + where id = #{id} and del_flag = '0' diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderEquSpareMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderEquSpareMapper.xml index 0b4e5fca1..33e4447f5 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderEquSpareMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderEquSpareMapper.xml @@ -42,12 +42,23 @@ and attr1 = #{attr1} and attr2 = #{attr2} and attr3 = #{attr3} + and del_flag = '0' + + + + @@ -112,7 +123,7 @@ update_by = #{updateBy}, update_time = #{updateTime}, - where id = #{id} + where id = #{id} and del_flag = '0' diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml index 2ffbdad74..9ac2d48bf 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml @@ -36,10 +36,13 @@ + + + - select order_id, plan_id, plan_code, plan_type, order_code, plan_workshop, plan_prod_line, plan_loop, plan_loop_type, plan_loop_start, plan_loop_end, order_start, order_end, equipment_code, order_status, order_cost, plan_person, order_cost_time, order_sign_person, factory_code, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time,upkeep,calculation_rule,shut_down from equ_order + select order_id, plan_id, plan_code, plan_type, order_code, plan_workshop, plan_prod_line, plan_loop, plan_loop_type, plan_loop_start, plan_loop_end, order_start, order_end, equipment_code, order_status, order_cost, plan_person, order_cost_time, order_sign_person, factory_code, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time,upkeep,calculation_rule,shut_down,order_inspect,repair_code,work_code from equ_order - - - - - + + + + + + + insert into equ_order order_id, @@ -151,6 +168,10 @@ upkeep, calculation_rule, shut_down, + order_inspect, + repair_code, + repair_code, + work_code, #{orderId}, @@ -184,6 +205,9 @@ #{upkeep}, #{calculationRule}, #{shutDown}, + #{orderInspect}, + #{repairCode}, + #{workCode}, @@ -220,6 +244,9 @@ upkeep = #{upkeep}, calculation_rule = #{calculationRule}, shut_down = #{shutDown}, + order_inspect = #{orderInspect}, + repair_code = #{repairCode}, + work_code = #{workCode}, where order_id = #{orderId} diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderPersonMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderPersonMapper.xml index cfea1d7ef..c6b4ae65a 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderPersonMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderPersonMapper.xml @@ -34,16 +34,17 @@ and attr1 = #{attr1} and attr2 = #{attr2} and attr3 = #{attr3} + and del_flag = '0' @@ -96,7 +97,7 @@ update_by = #{updateBy}, update_time = #{updateTime}, - where id = #{id} + where id = #{id} and del_flag = '0' diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml index 0aaa77396..46ef8be5f 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderStandardMapper.xml @@ -26,11 +26,18 @@ - + + + + + + + + - select id, code, parent_code, order_code, standard_type, standard_name, detail_up_limit, detail_down_limit, detail_unit, detail_reach, actual_value, detail_error, factory_code, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time,picture_path from equ_order_standard + select id, code, parent_code, order_code, standard_type, standard_name, detail_up_limit, detail_down_limit, detail_unit, detail_reach, actual_value, detail_error, factory_code, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time,error_flag,fault_type,repair_reach,repair_value,repair_picture from equ_order_standard @@ -89,7 +101,11 @@ create_time, update_by, update_time, - picture_path, + error_flag, + fault_type, + repair_reach, + repair_value, + repair_picture, #{id}, @@ -113,7 +129,11 @@ #{createTime}, #{updateBy}, #{updateTime}, - #{picturePath}, + #{errorFlag}, + #{faultType}, + #{repairReach}, + #{repairValue}, + #{repairPicture}, @@ -156,9 +176,13 @@ create_time = #{createTime}, update_by = #{updateBy}, update_time = #{updateTime}, - picture_path = #{picturePath}, + error_flag = #{errorFlag}, + fault_type = #{faultType}, + repair_reach = #{repairReach}, + repair_value = #{repairValue}, + repair_picture = #{repairPicture}, - where id = #{id} + where id = #{id} and del_flag = '0' @@ -171,4 +195,26 @@ #{id} + + + \ No newline at end of file diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOutsourceWorkMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOutsourceWorkMapper.xml index b835a9c9d..c127939ae 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOutsourceWorkMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOutsourceWorkMapper.xml @@ -175,11 +175,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from equ_outsource_work where work_id = #{workId} + update equ_outsource_work + set del_flag = '1' + where work_id = #{workId} - delete from equ_outsource_work where work_id in + update equ_outsource_work + set del_flag = '1' + where work_id in #{workId} diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquPlanDetailMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquPlanDetailMapper.xml index 15ffb1ebc..7ab78a503 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquPlanDetailMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquPlanDetailMapper.xml @@ -48,17 +48,24 @@ and attr1 = #{attr1} and attr2 = #{attr2} and attr3 = #{attr3} + and del_flag = '0' + ORDER BY item_name + + @@ -132,7 +139,7 @@ update_by = #{updateBy}, update_time = #{updateTime}, - where id = #{id} + where id = #{id} and del_flag = '0' diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquPlanEquMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquPlanEquMapper.xml index a8e0cfec8..4db0ccfbd 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquPlanEquMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquPlanEquMapper.xml @@ -108,7 +108,7 @@ update_by = #{updateBy}, update_time = #{updateTime}, - where id = #{id} + where id = #{id} and del_flag = '0' diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquPlanEquSpareMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquPlanEquSpareMapper.xml index e61970900..25e17ae8e 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquPlanEquSpareMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquPlanEquSpareMapper.xml @@ -129,4 +129,9 @@ delete from equ_plan_equ_spare where plan_code = #{planCode} + + + update equ_plan_equ_spare set del_flag = '1' where plan_code = #{planCode} and del_flag = '0' + + \ No newline at end of file diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquPlanStandardMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquPlanStandardMapper.xml index 621b0a0c5..759f2caf5 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquPlanStandardMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquPlanStandardMapper.xml @@ -48,6 +48,7 @@ and attr3 = #{attr3} and del_flag = '0' + ORDER BY standard_name - where plan_code = #{planCode} and del_flag ='0' + where plan_code = #{planCode} and del_flag ='0' ORDER BY standard_name + + + diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml index 090182f4d..275997613 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml @@ -203,17 +203,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where order_id = #{orderId} + - delete from equ_repair_order where order_id = #{orderId} + update equ_repair_order + set del_flag = '1' + where order_id = #{orderId} + - delete from equ_repair_order where order_id in + update equ_repair_order + set del_flag = '1' + where order_id in #{orderId} + + delete from equ_repair_order where order_code = #{repairCode} and del_flag = '0' + + - select user_id AS userId, user_name AS userName, @@ -231,4 +241,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where del_flag = '0' + + \ No newline at end of file diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquRepairWorkOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquRepairWorkOrderMapper.xml index e2899f249..6647de50b 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquRepairWorkOrderMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquRepairWorkOrderMapper.xml @@ -306,12 +306,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and del_flag = '0' + - delete from equ_repair_work_order where work_id = #{workId} + update equ_repair_work_order + set del_flag = '1' + where work_id = #{workId} + - delete from equ_repair_work_order where work_id in + update equ_repair_work_order + set del_flag = '1' + where work_id in #{workId} @@ -323,7 +329,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where del_flag = '0' - select su.user_id AS userId, su.user_name AS userName, diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquSpareApplyMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquSpareApplyMapper.xml index c2f28cb46..78e454e3d 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquSpareApplyMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquSpareApplyMapper.xml @@ -7,7 +7,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + @@ -25,16 +28,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + - select apply_id, apply_code, spare_code, spare_name, spare_model, spare_quantity, spare_group_line, spare_use_equipment, apply_time, apply_people, apply_approve_people, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time, factory_code from equ_spare_apply + select apply_id, apply_code, work_code,parent_code,apply_type,spare_code, spare_name, spare_model, spare_quantity, spare_group_line, spare_use_equipment, apply_time, apply_people, apply_approve_people, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time, factory_code from equ_spare_apply + + + and work_code = #{workCode} + and del_flag = '0' + + ORDER BY apply_time DESC + + \ No newline at end of file diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquTeamMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquTeamMapper.xml index 7611f4067..b21528abe 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquTeamMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquTeamMapper.xml @@ -89,11 +89,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from equ_team where id = #{id} + update equ_team + set del_flag = '1' + where id = #{id} - delete from equ_team where id in + update equ_team + set del_flag = '1' + where id in #{id} @@ -105,4 +109,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and team_type = '维修班组' + + + + \ No newline at end of file diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquTeamUserMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquTeamUserMapper.xml new file mode 100644 index 000000000..dae6a04cd --- /dev/null +++ b/op-modules/op-device/src/main/resources/mapper/device/EquTeamUserMapper.xml @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + select id, team_id, team_code, user_id, user_name, create_by, create_time, update_by, update_time from equ_team_user + + + + + + + + insert into equ_team_user + + id, + team_id, + team_code, + user_id, + user_name, + create_by, + create_time, + update_by, + update_time, + + + #{id}, + #{teamId}, + #{teamCode}, + #{userId}, + #{userName}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update equ_team_user + + team_id = #{teamId}, + team_code = #{teamCode}, + user_id = #{userId}, + user_name = #{userName}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from equ_team_user where id = #{id} + + + + delete from equ_team_user where team_id = #{teamId} + + + + delete from equ_team_user where id in + + #{id} + + + + + + + + + + + + + + + + + delete from equ_team_user where team_id in + + #{teamId} + + + + \ No newline at end of file diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquipmentMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquipmentMapper.xml new file mode 100644 index 000000000..b69d3672a --- /dev/null +++ b/op-modules/op-device/src/main/resources/mapper/device/EquipmentMapper.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select equipment_id, equipment_code, equipment_name, equipment_brand, equipment_spec, equipment_type_id, equipment_type_code, equipment_type_name, workshop_id, workshop_code, workshop_name, status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time, workshop_section, equipment_location, hourly_unit_price, equipment_barcode, equipment_barcode_image, manufacturer, supplier, use_life, buy_time, asset_original_value, net_asset_value, asset_head, fixed_asset_code, department, unit_working_hours, plc_ip, plc_port, del_flag, sap_asset from base_equipment + + + + + \ No newline at end of file diff --git a/op-modules/op-device/src/main/resources/mapper/device/SparePartsLedgerMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/SparePartsLedgerMapper.xml index dd5b16320..336af1e00 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/SparePartsLedgerMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/SparePartsLedgerMapper.xml @@ -5,9 +5,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + @@ -32,7 +35,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select storage_type, material_code, material_desc, amount,sap_factory_code, wl_name, del_flag, spare_use_life, spare_name, spare_mode, spare_manufacturer, spare_supplier, spare_replacement_cycle, spare_measurement_unit, spare_conversion_unit, spare_conversion_ratio, spare_inventory_floor, spare_inventory_upper,spare_type,create_by, gmt_create, last_modified_by, gmt_modified, active_flag, factory_code from wms_ods_mate_storage_news + select + storage_id, + storage_type, + material_code, + material_desc, + amount, + storage_amount, + sap_factory_code, + wl_name, + del_flag, + spare_use_life, + spare_name, + spare_mode, + spare_manufacturer, + spare_supplier, + spare_replacement_cycle, + spare_measurement_unit, + spare_conversion_unit, + spare_conversion_ratio, + spare_inventory_floor, + spare_inventory_upper, + spare_type, + create_by, + gmt_create, + last_modified_by, + gmt_modified, + active_flag, + factory_code + from wms_ods_mate_storage_news - + + + insert into wms_ods_mate_storage_news diff --git a/op-modules/op-energy/src/main/resources/bootstrap.yml b/op-modules/op-energy/src/main/resources/bootstrap.yml index 57f1f21a1..5565492d4 100644 --- a/op-modules/op-energy/src/main/resources/bootstrap.yml +++ b/op-modules/op-energy/src/main/resources/bootstrap.yml @@ -16,12 +16,12 @@ spring: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 config: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/op-modules/op-file/src/main/resources/bootstrap.yml b/op-modules/op-file/src/main/resources/bootstrap.yml index 4761653f0..87f14b591 100644 --- a/op-modules/op-file/src/main/resources/bootstrap.yml +++ b/op-modules/op-file/src/main/resources/bootstrap.yml @@ -16,13 +16,13 @@ spring: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 config: # 配置中心地址 namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/op-modules/op-gen/src/main/resources/bootstrap.yml b/op-modules/op-gen/src/main/resources/bootstrap.yml index 8bbf1fa73..75c3c997a 100644 --- a/op-modules/op-gen/src/main/resources/bootstrap.yml +++ b/op-modules/op-gen/src/main/resources/bootstrap.yml @@ -16,13 +16,13 @@ spring: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 config: #命名空间 namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/op-modules/op-job/push-job.bat b/op-modules/op-job/push-job.bat new file mode 100644 index 000000000..8d786148c --- /dev/null +++ b/op-modules/op-job/push-job.bat @@ -0,0 +1,41 @@ +@echo off +echo --------------------------------Զǰ޸-------------------------------------- +set jarName=op-modules-job.jar +set profile=dev +set imageURI=192.168.202.36:30002/op-lanju/op-job +rem echo ȡǰַ +for /f "tokens=1,2,3 delims=/- " %%a in ("%date%") do @set D=%%a%%b%%c +rem echo ȡǰʱַ +for /f "tokens=1,2 delims=:." %%a in ("%time%") do @set T=%%a%%b +rem echo 統ǰСʱС10ո滻Ϊ0 +set T=%T: =0% +rem echo ʾʱַ +set imageVersion=%D%%T% +::Ϣ +echo jar:%jarName% +echo :%profile% +echo ַ:%imageURI% +echo 汾:%imageVersion% + +echo --------------------------------mvn package...-------------------------------- +::call mvn clean package -Dmaven.test.skip=true + +cd .\target +SET df=Dockerfile +if exist %df% ( + del /f /s /q .\Dockerfile +) +echo --------------------------------Dockerfile-------------------------------- +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile +echo COPY %jarName% /application.jar >> Dockerfile +echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile +echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile +dir +echo --------------------------------docker login...------------------------------- +docker login 192.168.202.36:30002 -u deploy -p Deploy@2023 +echo --------------------------------docker build...------------------------------- +docker build -t %imageURI%:%imageVersion% . +echo --------------------------------docker push...-------------------------------- +docker push %imageURI%:%imageVersion% +@pause \ No newline at end of file diff --git a/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java b/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java index a1afab778..4a26c4cde 100644 --- a/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java +++ b/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java @@ -1,5 +1,6 @@ package com.op.job.task; +import com.op.system.api.RemoteDeviceService; import com.op.system.api.RemoteMesService; import com.op.system.api.RemotePlanService; import com.op.system.api.RemoteSapService; @@ -31,6 +32,9 @@ public class RyTask { @Autowired private RemotePlanService remotePlanService; + @Autowired + private RemoteDeviceService remoteDeviceService; + public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) { System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i)); } @@ -117,4 +121,10 @@ public class RyTask { logger.info("++数据库备份的数据+开始++dataBKTask+++++"); remoteMesService.dataBKTask(); } + + /**每日点检计划生成**/ + public void createSpotCheckPlanTask(){ + logger.info("++点检计划+开始++createSpotCheckPlanTask+++++"); + remoteDeviceService.createSpotCheckPlanTask(); + } } diff --git a/op-modules/op-job/src/main/resources/bootstrap.yml b/op-modules/op-job/src/main/resources/bootstrap.yml index 6c487c9e7..e2706f6da 100644 --- a/op-modules/op-job/src/main/resources/bootstrap.yml +++ b/op-modules/op-job/src/main/resources/bootstrap.yml @@ -16,12 +16,12 @@ spring: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 config: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/op-modules/op-mes/push-mes.bat b/op-modules/op-mes/push-mes.bat index 83e172073..9fe496e12 100644 --- a/op-modules/op-mes/push-mes.bat +++ b/op-modules/op-mes/push-mes.bat @@ -26,7 +26,9 @@ if exist %df% ( del /f /s /q .\Dockerfile ) echo --------------------------------Dockerfile-------------------------------- -echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile +echo RUN apk add --update font-adobe-100dpi ttf-dejavu fontconfig echo COPY %jarName% /application.jar >> Dockerfile echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkConsumeController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkConsumeController.java index 9448e5cb9..fc68b8da3 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkConsumeController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkConsumeController.java @@ -4,6 +4,9 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; import com.op.common.core.utils.uuid.IdUtils; +import com.op.system.api.domain.dto.BaseBomDTO; +import com.op.system.api.domain.mes.BaseProductDTO; +import com.op.system.api.domain.mes.BaseTeamTDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -25,7 +28,7 @@ import com.op.common.core.web.page.TableDataInfo; /** * 生产报工物料消耗Controller - * + * * @author Open Platform * @date 2023-08-24 */ @@ -38,7 +41,7 @@ public class MesReportWorkConsumeController extends BaseController { /** * 查询生产报工物料消耗列表 */ - @RequiresPermissions("mes:reportWorkConsume:list") + //@RequiresPermissions("mes:reportWorkConsume:list") @GetMapping("/list") public TableDataInfo list(MesReportWorkConsume mesReportWorkConsume) { startPage(); @@ -49,7 +52,7 @@ public class MesReportWorkConsumeController extends BaseController { /** * 导出生产报工物料消耗列表 */ - @RequiresPermissions("mes:reportWorkConsume:export") + //@RequiresPermissions("mes:reportWorkConsume:export") @Log(title = "生产报工物料消耗", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, MesReportWorkConsume mesReportWorkConsume) { @@ -61,7 +64,7 @@ public class MesReportWorkConsumeController extends BaseController { /** * 获取生产报工物料消耗详细信息 */ - @RequiresPermissions("mes:reportWorkConsume:query") + //@RequiresPermissions("mes:reportWorkConsume:query") @GetMapping(value = "/{recordId}") public AjaxResult getInfo(@PathVariable("recordId") String recordId) { return success(mesReportWorkConsumeService.selectMesReportWorkConsumeByRecordId(recordId)); @@ -70,18 +73,24 @@ public class MesReportWorkConsumeController extends BaseController { /** * 新增生产报工物料消耗 */ - @RequiresPermissions("mes:reportWorkConsume:add") + //@RequiresPermissions("mes:reportWorkConsume:add") @Log(title = "生产报工物料消耗", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody MesReportWorkConsume mesReportWorkConsume) { - mesReportWorkConsume.setRecordId(IdUtils.fastSimpleUUID()); return toAjax(mesReportWorkConsumeService.insertMesReportWorkConsume(mesReportWorkConsume)); } + @PostMapping("/addConsumes") + public AjaxResult addConsumes(@RequestBody List mesReportWorkConsumes) { + return toAjax(mesReportWorkConsumeService.insertMesReportWorkConsumes(mesReportWorkConsumes)); + } + + + /** * 修改生产报工物料消耗 */ - @RequiresPermissions("mes:reportWorkConsume:edit") + //@RequiresPermissions("mes:reportWorkConsume:edit") @Log(title = "生产报工物料消耗", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody MesReportWorkConsume mesReportWorkConsume) { @@ -91,7 +100,7 @@ public class MesReportWorkConsumeController extends BaseController { /** * 删除生产报工物料消耗 */ - @RequiresPermissions("mes:reportWorkConsume:remove") + //@RequiresPermissions("mes:reportWorkConsume:remove") @Log(title = "生产报工物料消耗", businessType = BusinessType.DELETE) @DeleteMapping("/{recordIds}") public AjaxResult remove(@PathVariable String[] recordIds) { @@ -108,4 +117,22 @@ public class MesReportWorkConsumeController extends BaseController { List list = mesReportWorkConsumeService.selectMesReportWorkConsumeList(mesReportWorkConsume); return getDataTable(list); } + + /** + * 查询BOM物料管理列表 + */ + @GetMapping("/getMesListBom") + public TableDataInfo getMesListBom(BaseBomDTO dto) { + startPage(); + List list = mesReportWorkConsumeService.getMesListBom(dto); + return getDataTable(list); + } + + /**获取班组**/ + @GetMapping("/getTeamList") + public List getTeamList(BaseTeamTDTO dto) { + startPage(); + List list = mesReportWorkConsumeService.getTeamList(dto); + return list; + } } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkController.java index c553b7522..f2c6b4dab 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesReportWorkController.java @@ -9,6 +9,7 @@ import java.util.*; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import com.op.common.core.domain.ExcelCol; +import com.op.common.core.domain.R; import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.poi.ExcelMapUtil; import com.op.common.core.utils.uuid.IdUtils; @@ -16,6 +17,7 @@ import com.op.mes.domain.*; import com.op.mes.domain.dto.LineChartDto; import com.op.mes.domain.dto.SysFactoryDto; import com.op.system.api.domain.SysUser; +import com.op.system.api.domain.device.EquEquipmentDTO; import com.op.system.api.domain.mes.ProOrderWorkorderDTO; import org.apache.commons.lang.StringUtils; import org.apache.poi.xssf.streaming.SXSSFWorkbook; @@ -55,6 +57,15 @@ public class MesReportWorkController extends BaseController { @GetMapping("/list") public TableDataInfo list(MesReportWork mesReportWork) { startPage(); + //默认时间范围T 00:00:00~T+1 00:00:00 + if(StringUtils.isEmpty(mesReportWork.getCreateTimeStart())){ + mesReportWork.setCreateTimeStart(DateUtils.getDate()+" 00:00:00");//start + LocalDate date = LocalDate.now(); + LocalDate dateEnd = date.plusDays(1); + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String dateEndStr = dtf.format(dateEnd)+" 00:00:00"; + mesReportWork.setCreateTimeEnd(dateEndStr);//end + } List list = mesReportWorkService.selectMesReportWorkList(mesReportWork); return getDataTable(list); } @@ -66,6 +77,15 @@ public class MesReportWorkController extends BaseController { //@Log(title = "报工报表", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, MesReportWork mesReportWork) { + //默认时间范围T 00:00:00~T+1 00:00:00 + if(StringUtils.isEmpty(mesReportWork.getCreateTimeStart())){ + mesReportWork.setCreateTimeStart(DateUtils.getDate()+" 00:00:00");//start + LocalDate date = LocalDate.now(); + LocalDate dateEnd = date.plusDays(1); + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String dateEndStr = dtf.format(dateEnd)+" 00:00:00"; + mesReportWork.setCreateTimeEnd(dateEndStr);//end + } List list = mesReportWorkService.selectMesReportWorkList(mesReportWork); ExcelUtil util = new ExcelUtil(MesReportWork.class); util.exportExcel(response, list, "报工报表数据"); @@ -101,6 +121,15 @@ public class MesReportWorkController extends BaseController { return toAjax(mesReportWorkService.updateMesReportWork(mesReportWork)); } + /** + * 报工 + */ + @RequiresPermissions("mes:reportWork:edit") + @PutMapping("/reportSap") + public R reportSap(@RequestBody MesReportWork mesReportWork) { + return mesReportWorkService.reportSap(mesReportWork); + } + /** * 删除报工报表 */ @@ -316,7 +345,7 @@ public class MesReportWorkController extends BaseController { } /** - * 查询人员列表 + * 查询工单列表 */ @GetMapping("/getMesListWorkOrder") public TableDataInfo getMesListWorkOrder(ProOrderWorkorderDTO proOrderWorkorderDTO) { @@ -325,6 +354,17 @@ public class MesReportWorkController extends BaseController { return getDataTable(list); } + /** + * 查询工线体列表 + */ + @GetMapping("/getMesListEquip") + public TableDataInfo getMesListEquip(EquEquipmentDTO equEquipmentDTO) { + startPage(); + List list = mesReportWorkService.getMesListEquip(equEquipmentDTO); + return getDataTable(list); + } + + public static void main(String args[]){ DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:00:00"); try { diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/WCSInterfaceController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/WCSInterfaceController.java index e3ff55c4c..5bf967f61 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/WCSInterfaceController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/WCSInterfaceController.java @@ -105,18 +105,6 @@ public class WCSInterfaceController extends BaseController { return success(wCInterfaceService.getMesBoardEquProductionToday(boardDTO)); } - /**上位机报工**/ - @PostMapping("/reportWork") - public AjaxResult reportWork(@RequestBody MesReportWork mesReportWork) { - if(StringUtils.isBlank(mesReportWork.getFactoryCode())){ - return error("[factoryCode] is null"); - } - if(StringUtils.isBlank(mesReportWork.getReportCode())){ - return error("[reportCode] is null"); - } - return success(wCInterfaceService.reportWork(mesReportWork)); - } - /************************************************************/ /****************************数据库清理************************/ /************************************************************/ diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/MesReportWork.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/MesReportWork.java index 478b23526..f96f4b222 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/domain/MesReportWork.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/MesReportWork.java @@ -20,14 +20,14 @@ public class MesReportWork extends BaseEntity { /** 记录id */ private String id; - /** 报工类型,报工类型:SELF自行报工、UNI统一报工 */ - @Excel(name = "报工类型,报工类型:SELF自行报工、UNI统一报工") - private String reportType; - /** 报工单编号 */ @Excel(name = "报工单编号") private String reportCode; + /** 报工类型,报工类型:SELF自行报工、UNI统一报工 */ + @Excel(name = "报工类型,报工类型:SELF上位机报工、UNI系统报工") + private String reportType; + /** 生产工单编码 */ @Excel(name = "生产工单编码") private String workorderCode; @@ -51,17 +51,17 @@ public class MesReportWork extends BaseEntity { /** 排产数量 */ @Excel(name = "排产数量") private BigDecimal quantity; - + private BigDecimal quantitySplit; /** 本次报工数量 */ @Excel(name = "本次报工数量") private BigDecimal quantityFeedback; /** 合格数量 */ - @Excel(name = "合格数量") + //@Excel(name = "合格数量") private BigDecimal quantityQualified; /** 不合格数量 */ - @Excel(name = "不合格数量") + //@Excel(name = "不合格数量") private BigDecimal quantityUnqualified; /** 报工人员 */ @@ -73,7 +73,7 @@ public class MesReportWork extends BaseEntity { private String nickName; /** 报工途径:PAD、MOBILE、PC */ - @Excel(name = "报工途径:PAD、MOBILE、PC") + //@Excel(name = "报工途径:PAD、MOBILE、PC") private String feedbackChannel; /** 报工时间 */ @@ -109,20 +109,27 @@ public class MesReportWork extends BaseEntity { @Excel(name = "班次编码") private String shiftCode; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "SAP报工时间") + private Date uploadTime; + @Excel(name = "SAP报工状态0待报工1成功2失败") + private String uploadStatus; + @Excel(name = "SAP报工信息") + private String uploadMsg; /** 预留字段1 */ - @Excel(name = "预留字段1") + //@Excel(name = "预留字段1") private String attr1; /** 预留字段2 */ - @Excel(name = "预留字段2") + //@Excel(name = "预留字段2") private String attr2; /** 预留字段3 */ - @Excel(name = "预留字段3") + //@Excel(name = "预留字段3") private String attr3; /** 预留字段4 */ - @Excel(name = "预留字段4") + //@Excel(name = "预留字段4") private String attr4; @Excel(name = "计划生产日期") private String productDate; @@ -140,9 +147,6 @@ public class MesReportWork extends BaseEntity { private String factoryName; private String carCode; private String carName; - private Date uploadTime; - private String uploadStatus; - private String uploadMsg; private String workorderCodeSap; private String routeCode; private String sac1; @@ -152,6 +156,50 @@ public class MesReportWork extends BaseEntity { private String sac5; private String sac6; private String prodType; + private String createTimeStart; + private String createTimeEnd; + private String feedbackTimeStart; + private String feedbackTimeEnd; + + public BigDecimal getQuantitySplit() { + return quantitySplit; + } + + public void setQuantitySplit(BigDecimal quantitySplit) { + this.quantitySplit = quantitySplit; + } + + public String getFeedbackTimeStart() { + return feedbackTimeStart; + } + + public void setFeedbackTimeStart(String feedbackTimeStart) { + this.feedbackTimeStart = feedbackTimeStart; + } + + public String getFeedbackTimeEnd() { + return feedbackTimeEnd; + } + + public void setFeedbackTimeEnd(String feedbackTimeEnd) { + this.feedbackTimeEnd = feedbackTimeEnd; + } + + public String getCreateTimeStart() { + return createTimeStart; + } + + public void setCreateTimeStart(String createTimeStart) { + this.createTimeStart = createTimeStart; + } + + public String getCreateTimeEnd() { + return createTimeEnd; + } + + public void setCreateTimeEnd(String createTimeEnd) { + this.createTimeEnd = createTimeEnd; + } public String getProdType() { return prodType; diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkConsumeMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkConsumeMapper.java index daea48774..4a8e3e988 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkConsumeMapper.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkConsumeMapper.java @@ -3,17 +3,20 @@ package com.op.mes.mapper; import java.util.List; import com.op.mes.domain.MesReportWorkConsume; +import com.op.system.api.domain.dto.BaseBomDTO; +import com.op.system.api.domain.mes.BaseTeamTDTO; +import org.apache.ibatis.annotations.Param; /** * 生产报工物料消耗Mapper接口 - * + * * @author Open Platform * @date 2023-08-24 */ public interface MesReportWorkConsumeMapper { /** * 查询生产报工物料消耗 - * + * * @param recordId 生产报工物料消耗主键 * @return 生产报工物料消耗 */ @@ -21,7 +24,7 @@ public interface MesReportWorkConsumeMapper { /** * 查询生产报工物料消耗列表 - * + * * @param mesReportWorkConsume 生产报工物料消耗 * @return 生产报工物料消耗集合 */ @@ -29,7 +32,7 @@ public interface MesReportWorkConsumeMapper { /** * 新增生产报工物料消耗 - * + * * @param mesReportWorkConsume 生产报工物料消耗 * @return 结果 */ @@ -37,7 +40,7 @@ public interface MesReportWorkConsumeMapper { /** * 修改生产报工物料消耗 - * + * * @param mesReportWorkConsume 生产报工物料消耗 * @return 结果 */ @@ -45,7 +48,7 @@ public interface MesReportWorkConsumeMapper { /** * 删除生产报工物料消耗 - * + * * @param recordId 生产报工物料消耗主键 * @return 结果 */ @@ -53,11 +56,17 @@ public interface MesReportWorkConsumeMapper { /** * 批量删除生产报工物料消耗 - * + * * @param recordIds 需要删除的数据主键集合 * @return 结果 */ public int deleteMesReportWorkConsumeByRecordIds(String[] recordIds); List selectMesReportWorkConsumeListById(MesReportWorkConsume mesReportWorkConsume); + + List getMesListBom(BaseBomDTO dto); + + List getTeamList(BaseTeamTDTO dto); + + int insertMesReportWorkConsumes(@Param("list") List mesReportWorkConsumes); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkMapper.java index ae5bd7923..5d133a954 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkMapper.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkMapper.java @@ -104,4 +104,6 @@ public interface MesReportWorkMapper { List getMesListWorkOrder(ProOrderWorkorderDTO proOrderWorkorderDTO); @MapKey("equipmentCode") Map getEquipInfoByCodes(String substring); + + List getMesListEquip(EquEquipmentDTO qo); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkConsumeService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkConsumeService.java index b60e9f5e1..adcf46e47 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkConsumeService.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkConsumeService.java @@ -2,17 +2,20 @@ package com.op.mes.service; import java.util.List; import com.op.mes.domain.MesReportWorkConsume; +import com.op.system.api.domain.dto.BaseBomDTO; +import com.op.system.api.domain.mes.BaseProductDTO; +import com.op.system.api.domain.mes.BaseTeamTDTO; /** * 生产报工物料消耗Service接口 - * + * * @author Open Platform * @date 2023-08-24 */ public interface IMesReportWorkConsumeService { /** * 查询生产报工物料消耗 - * + * * @param recordId 生产报工物料消耗主键 * @return 生产报工物料消耗 */ @@ -28,7 +31,7 @@ public interface IMesReportWorkConsumeService { /** * 查询生产报工物料消耗列表 - * + * * @param mesReportWorkConsume 生产报工物料消耗 * @return 生产报工物料消耗集合 */ @@ -36,7 +39,7 @@ public interface IMesReportWorkConsumeService { /** * 新增生产报工物料消耗 - * + * * @param mesReportWorkConsume 生产报工物料消耗 * @return 结果 */ @@ -44,7 +47,7 @@ public interface IMesReportWorkConsumeService { /** * 修改生产报工物料消耗 - * + * * @param mesReportWorkConsume 生产报工物料消耗 * @return 结果 */ @@ -52,7 +55,7 @@ public interface IMesReportWorkConsumeService { /** * 批量删除生产报工物料消耗 - * + * * @param recordIds 需要删除的生产报工物料消耗主键集合 * @return 结果 */ @@ -60,9 +63,15 @@ public interface IMesReportWorkConsumeService { /** * 删除生产报工物料消耗信息 - * + * * @param recordId 生产报工物料消耗主键 * @return 结果 */ public int deleteMesReportWorkConsumeByRecordId(String recordId); + + public List getMesListBom(BaseBomDTO dto); + + public List getTeamList(BaseTeamTDTO dto); + + int insertMesReportWorkConsumes(List mesReportWorkConsumes); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkService.java index 5877ab8a3..1fd73c969 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkService.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesReportWorkService.java @@ -3,10 +3,12 @@ package com.op.mes.service; import java.util.HashMap; import java.util.List; +import com.op.common.core.domain.R; import com.op.mes.domain.*; import com.op.mes.domain.dto.LineChartDto; import com.op.mes.domain.dto.SysFactoryDto; import com.op.system.api.domain.SysUser; +import com.op.system.api.domain.device.EquEquipmentDTO; import com.op.system.api.domain.mes.ProOrderWorkorderDTO; /** @@ -83,4 +85,7 @@ public interface IMesReportWorkService { List getMesListUser(SysUser sysUser); List getMesListWorkOrder(ProOrderWorkorderDTO proOrderWorkorderDTO); + + List getMesListEquip(EquEquipmentDTO equEquipmentDTO); + R reportSap(MesReportWork mesReportWork); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java index 5cb366a1a..996d4decb 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java @@ -276,29 +276,33 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { @Override public R reportWork(MesReportWork mesReportWork) { - DynamicDataSourceContextHolder.push("ds_"+mesReportWork.getFactoryCode());// 这是数据源的key + if(StringUtils.isNotBlank(mesReportWork.getFactoryCode())){//已经加上ds_ + DynamicDataSourceContextHolder.push(mesReportWork.getFactoryCode());// 这是数据源的key + } + mesReportWork.setUploadStatus("1");//除了1报工成功的,都需要报工 mesReportWork.setProdType("prod"); List reportWorks = mesReportWorkMapper.getReportWorkList(mesReportWork); if(CollectionUtils.isEmpty(reportWorks)){ - return R.fail("未查询报工单"); + return R.fail("未查询到报工单"); } MesReportWork work = reportWorks.get(0); SapRFW sapRFW = new SapRFW(); sapRFW.setAufnr(work.getWorkorderCodeSap());//虚拟工单号 sapRFW.setGamng(work.getQuantityFeedback().toString());//报工数量 - SapRFW.lt_gs ltgs = sapRFW.getLt_gs();//生产订单报工工时修改 + SapRFW.lt_gs ltgs = sapRFW.new lt_gs();//生产订单报工工时修改 ltgs.setConf_activity1(work.getSac1());//人工 ltgs.setConf_activity2(work.getSac2()); ltgs.setConf_activity3(work.getSac3());//机器 ltgs.setConf_activity4(work.getSac4()); ltgs.setConf_activity5(work.getSac5());//折旧 ltgs.setConf_activity6(work.getSac6()); - SapRFW.lt_hw lthw = sapRFW.getLt_hw();//MES生产订单报工货物移动修改 + sapRFW.setLt_gs(ltgs); + SapRFW.lt_hw lthw = sapRFW.new lt_hw();//MES生产订单报工货物移动修改 lthw.setEntry_qnt(work.getQuantityFeedback().toString());//TODO; lthw.setMaterial(work.getProcessCode()); - + sapRFW.setLt_hw(lthw); //添加调用sap日志 SysSapLog sysSapLog = new SysSapLog(); sysSapLog.setId(IdUtils.fastSimpleUUID()); @@ -320,11 +324,11 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { mesReportWorkMapper.updateSyncSapStatus(work); //工单完成数量>工单数量:关闭订单 MesReportWork proResult = mesReportWorkMapper.getProdResult(work); - ProOrderWorkorder topOrder = this.getTopOrder(work.getWorkorderCode()); - if(proResult.getQuantityFeedback().compareTo(new BigDecimal(topOrder.getQuantitySplit()))>=0){ + //ProOrderWorkorder topOrder = this.getTopOrder(work.getWorkorderCode()); + if(proResult.getQuantityFeedback().compareTo(work.getQuantitySplit())>=0){ //工单完成,关闭工单 - remoteSapService.sapCloseOrder(work.getOrderCode()); - work.setStatus("w4"); + remoteSapService.sapCloseOrder(work.getWorkorderCodeSap()); + work.setStatus("w3"); work.setUpdateTime(DateUtils.getNowDate()); //pro_work_order status->w4报工 mesReportWorkMapper.updateWorkOrderStatus(work); @@ -332,16 +336,16 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { return R.ok(); } - //根据工单子单编码获取最顶级订单的母单 - private ProOrderWorkorder getTopOrder(String workorderCode) { - //pro_order_workorder - ProOrderWorkorder topOrder = mesReportWorkMapper.getOrderByCode(workorderCode); - while (!"0".equals(topOrder.getParentOrder()) && StringUtils.isNotEmpty(topOrder.getParentOrder())) { - //pro_order_workorder - topOrder = mesReportWorkMapper.getOrderByCode(topOrder.getParentOrder()); - } - return topOrder; - } +// //根据工单子单编码获取最顶级订单的母单 +// private ProOrderWorkorder getTopOrder(String workorderCode) { +// //pro_order_workorder +// ProOrderWorkorder topOrder = mesReportWorkMapper.getOrderByCode(workorderCode); +// while (!"0".equals(topOrder.getParentOrder()) && StringUtils.isNotEmpty(topOrder.getParentOrder())) { +// //pro_order_workorder +// topOrder = mesReportWorkMapper.getOrderByCode(topOrder.getParentOrder()); +// } +// return topOrder; +// } public void dateBKFunc(String poolName,List tables){ diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkConsumeServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkConsumeServiceImpl.java index 875e24eb7..9549454e6 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkConsumeServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkConsumeServiceImpl.java @@ -4,6 +4,10 @@ import java.util.List; import com.baomidou.dynamic.datasource.annotation.DS; import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.uuid.IdUtils; +import com.op.system.api.domain.dto.BaseBomDTO; +import com.op.system.api.domain.mes.BaseProductDTO; +import com.op.system.api.domain.mes.BaseTeamTDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.op.mes.mapper.MesReportWorkConsumeMapper; @@ -12,7 +16,7 @@ import com.op.mes.service.IMesReportWorkConsumeService; /** * 生产报工物料消耗Service业务层处理 - * + * * @author Open Platform * @date 2023-08-24 */ @@ -23,7 +27,7 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer /** * 查询生产报工物料消耗 - * + * * @param recordId 生产报工物料消耗主键 * @return 生产报工物料消耗 */ @@ -35,7 +39,7 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer /** * 查询生产报工物料消耗列表 - * + * * @param mesReportWorkConsume 生产报工物料消耗 * @return 生产报工物料消耗 */ @@ -59,20 +63,33 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer /** * 新增生产报工物料消耗 - * + * * @param mesReportWorkConsume 生产报工物料消耗 * @return 结果 */ @Override @DS("#header.poolName") public int insertMesReportWorkConsume(MesReportWorkConsume mesReportWorkConsume) { + mesReportWorkConsume.setRecordId(IdUtils.fastSimpleUUID()); mesReportWorkConsume.setCreateTime(DateUtils.getNowDate()); return mesReportWorkConsumeMapper.insertMesReportWorkConsume(mesReportWorkConsume); } + + @Override + @DS("#header.poolName") + public int insertMesReportWorkConsumes(List mesReportWorkConsumes) { + for(MesReportWorkConsume mesReportWorkConsume:mesReportWorkConsumes){ + mesReportWorkConsume.setRecordId(IdUtils.fastSimpleUUID()); + mesReportWorkConsume.setCreateTime(DateUtils.getNowDate()); + } + + return mesReportWorkConsumeMapper.insertMesReportWorkConsumes(mesReportWorkConsumes); + } + /** * 修改生产报工物料消耗 - * + * * @param mesReportWorkConsume 生产报工物料消耗 * @return 结果 */ @@ -85,7 +102,7 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer /** * 批量删除生产报工物料消耗 - * + * * @param recordIds 需要删除的生产报工物料消耗主键 * @return 结果 */ @@ -97,7 +114,7 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer /** * 删除生产报工物料消耗信息 - * + * * @param recordId 生产报工物料消耗主键 * @return 结果 */ @@ -106,4 +123,16 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer public int deleteMesReportWorkConsumeByRecordId(String recordId) { return mesReportWorkConsumeMapper.deleteMesReportWorkConsumeByRecordId(recordId); } + + @Override + @DS("#header.poolName") + public List getMesListBom(BaseBomDTO dto) { + return mesReportWorkConsumeMapper.getMesListBom(dto); + } + + @Override + public List getTeamList(BaseTeamTDTO dto) { + return mesReportWorkConsumeMapper.getTeamList(dto); + } + } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkServiceImpl.java index 22b335cf1..586c82c8b 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkServiceImpl.java @@ -8,8 +8,10 @@ import java.util.*; import com.alibaba.fastjson2.JSONArray; import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.constant.SecurityConstants; import com.op.common.core.domain.R; import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.ServletUtils; import com.op.mes.domain.*; import com.op.mes.domain.dto.LineChartDto; import com.op.mes.domain.dto.LineChartSeriesDto; @@ -18,6 +20,7 @@ import com.op.mes.service.IWCSInterfaceService; import com.op.system.api.domain.SysUser; import com.op.system.api.domain.device.EquEquipmentDTO; import com.op.system.api.domain.mes.ProOrderWorkorderDTO; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.op.mes.mapper.MesReportWorkMapper; @@ -58,9 +61,34 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService { @Override @DS("#header.poolName") public List selectMesReportWorkList(MesReportWork mesReportWork) { - return mesReportWorkMapper.selectMesReportWorkList(mesReportWork); + List dtos = mesReportWorkMapper.selectMesReportWorkList(mesReportWork); + for(MesReportWork dto:dtos){ +// ProOrderWorkorder topOrder = this.getTopOrder(dto.getWorkorderCode()); +// dto.setQuantity(new BigDecimal(topOrder.getQuantitySplit())); +// dto.setUnit(topOrder.getUnit()); + if("1".equals(dto.getUploadStatus())){ + dto.setUploadStatus("sap报工成功"); + }else if("2".equals(dto.getUploadStatus())){ + dto.setUploadStatus("sap报工失败"); + }else if("0".equals(dto.getUploadStatus())){ + dto.setUploadStatus("待报工sap"); + } + } + + return dtos; } +// //根据工单子单编码获取最顶级订单的母单 +// private ProOrderWorkorder getTopOrder(String workorderCode) { +// //pro_order_workorder +// ProOrderWorkorder topOrder = mesReportWorkMapper.getOrderByCode(workorderCode); +// while (!"0".equals(topOrder.getParentOrder()) && StringUtils.isNotEmpty(topOrder.getParentOrder())) { +// //pro_order_workorder +// topOrder = mesReportWorkMapper.getOrderByCode(topOrder.getParentOrder()); +// } +// return topOrder; +// } + /** * 新增报工报表 * @@ -71,13 +99,27 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService { @DS("#header.poolName") public int insertMesReportWork(MesReportWork mesReportWork) { mesReportWork.setCreateTime(DateUtils.getNowDate()); - R s = iWCSInterfaceService.reportWork(mesReportWork); - System.out.println("管理系统报工:"+s.getCode()+",message:"+s.getMsg()); + String bpDD = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, mesReportWork.getFeedbackTime()); int liushuiNum = mesReportWorkMapper.getTodayMaxNum(mesReportWork); String liushuiStr = String.format("%04d", liushuiNum); mesReportWork.setReportCode(bpDD+liushuiStr); - return mesReportWorkMapper.insertMesReportWork(mesReportWork); + mesReportWork.setProdType("prod"); + mesReportWorkMapper.insertMesReportWork(mesReportWork); +//新增的时候直接报工 +// mesReportWork.setFactoryCode(ServletUtils.getRequest().getHeader("PoolName")); +// R s = iWCSInterfaceService.reportWork(mesReportWork); +// System.out.println("管理系统报工:"+s.getCode()+",message:"+s.getMsg()); + return 1; + } + + @Override + @DS("#header.poolName") + public R reportSap(MesReportWork mesReportWork) { + mesReportWork.setFactoryCode(ServletUtils.getRequest().getHeader("PoolName")); + R s = iWCSInterfaceService.reportWork(mesReportWork); + //System.out.println("管理系统报工:"+s.getCode()+",message:"+s.getMsg()); + return s; } /** @@ -319,9 +361,16 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService { return mesReportWorkMapper.getMesListUser(sysUser); } + @Override + @DS("#header.poolName") + public List getMesListEquip(EquEquipmentDTO qo) { + return mesReportWorkMapper.getMesListEquip(qo); + } + @Override @DS("#header.poolName") public List getMesListWorkOrder(ProOrderWorkorderDTO proOrderWorkorderDTO) { + //母单 List dtos = mesReportWorkMapper.getMesListWorkOrder(proOrderWorkorderDTO); for(ProOrderWorkorderDTO dto:dtos){ StringBuilder prodLineName = new StringBuilder(""); @@ -338,11 +387,15 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService { prodLineName.append(equipMap.get(equipCode).getEquipmentName()+ ","); } dto.setProdLineCode(prodLineName.toString()); + +// //把母单的排产数量搞出来 +// ProOrderWorkorder topOrder = this.getTopOrder(dto.getWorkorderCode()); +// dto.setQuantitySplit(topOrder.getQuantitySplit()); +// dto.setUnit(topOrder.getUnit()); } return dtos; } - public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); Date now = calendar.getTime(); diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml index 37d1d4496..2d3b3e14b 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml @@ -60,6 +60,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where record_id = #{recordId} + + insert into mes_report_work_consume @@ -104,6 +126,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{factoryCode}, + + insert into mes_report_work_consume + (record_id, workorder_code, material_code, material_name, material_spc, + quantity, unit,create_by, create_time,report_code) + VALUES + + (#{item.recordId},#{item.workorderCode},#{item.materialCode},#{item.materialName},#{item.materialSpc}, + #{item.quantity},#{item.unit},#{item.createBy},#{item.createTime},#{item.reportCode}) + + + update mes_report_work_consume diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml index b15b612de..dc72daf7a 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml @@ -37,6 +37,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + @@ -79,40 +83,42 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" quantity_unqualified, user_name, nick_name, feedback_channel, feedback_time, record_user, status, remark, work_time, machine_code, machine_name, team_code, shift_code, attr1, attr2, attr3, attr4, create_by, - create_time, update_time, update_by + create_time, update_time, update_by, + upload_time,upload_status,upload_msg from mes_report_work @@ -369,17 +377,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + insert into mes_report_work @@ -451,6 +467,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" create_time, update_time, update_by, + prod_type, #{id}, @@ -485,6 +502,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{createTime}, #{updateTime}, #{updateBy}, + #{prodType}, @@ -528,22 +546,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update mes_report_work - upload_time = #{uploadTime}, + upload_time = #{uploadTime}, upload_status = #{uploadStatus}, upload_msg = #{uploadMsg}, - where id = #{id} + where 1=1 + + and id = #{id} + + + and report_code = #{reportCode} + update pro_order_workorder set status = #{status} where workorder_code = #{workorderCode} - delete from mes_report_work where id = #{id} + update mes_report_work set del_flag = '1' where id = #{id} - delete from mes_report_work where id in + update mes_report_work set del_flag = '1' where id in #{id} diff --git a/op-modules/op-scada/pom.xml b/op-modules/op-open/pom.xml similarity index 97% rename from op-modules/op-scada/pom.xml rename to op-modules/op-open/pom.xml index 2d99eba55..4dfb4924f 100644 --- a/op-modules/op-scada/pom.xml +++ b/op-modules/op-open/pom.xml @@ -9,10 +9,10 @@ 4.0.0 - op-modules-scada + op-modules-open - op-modules-scada系统模块 + op-modules-open接口模块 diff --git a/op-modules/op-open/push-open.bat b/op-modules/op-open/push-open.bat new file mode 100644 index 000000000..70672bb89 --- /dev/null +++ b/op-modules/op-open/push-open.bat @@ -0,0 +1,41 @@ +@echo off +echo --------------------------------Զǰ޸-------------------------------------- +set jarName=op-modules-open.jar +set profile=dev +set imageURI=192.168.202.36:30002/op-lanju/op-open +rem echo ȡǰַ +for /f "tokens=1,2,3 delims=/- " %%a in ("%date%") do @set D=%%a%%b%%c +rem echo ȡǰʱַ +for /f "tokens=1,2 delims=:." %%a in ("%time%") do @set T=%%a%%b +rem echo 統ǰСʱС10ո滻Ϊ0 +set T=%T: =0% +rem echo ʾʱַ +set imageVersion=%D%%T% +::Ϣ +echo jar:%jarName% +echo :%profile% +echo ַ:%imageURI% +echo 汾:%imageVersion% + +echo --------------------------------mvn package...-------------------------------- +::call mvn clean package -Dmaven.test.skip=true + +cd .\target +SET df=Dockerfile +if exist %df% ( + del /f /s /q .\Dockerfile +) +echo --------------------------------Dockerfile-------------------------------- +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile +echo COPY %jarName% /application.jar >> Dockerfile +echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile +echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile +dir +echo --------------------------------docker login...------------------------------- +docker login 192.168.202.36:30002 -u deploy -p Deploy@2023 +echo --------------------------------docker build...------------------------------- +docker build -t %imageURI%:%imageVersion% . +echo --------------------------------docker push...-------------------------------- +docker push %imageURI%:%imageVersion% +@pause \ No newline at end of file diff --git a/op-modules/op-scada/src/main/java/com/op/scada/ScadaApplication.java b/op-modules/op-open/src/main/java/com/op/open/OpenApplication.java similarity index 84% rename from op-modules/op-scada/src/main/java/com/op/scada/ScadaApplication.java rename to op-modules/op-open/src/main/java/com/op/open/OpenApplication.java index 2a62c303b..ecb00c84a 100644 --- a/op-modules/op-scada/src/main/java/com/op/scada/ScadaApplication.java +++ b/op-modules/op-open/src/main/java/com/op/open/OpenApplication.java @@ -1,4 +1,4 @@ -package com.op.wms; +package com.op.open; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -7,7 +7,7 @@ import com.op.common.security.annotation.EnableRyFeignClients; import com.op.common.swagger.annotation.EnableCustomSwagger2; /** - * 系统模块 + * 接口模块 * * @author OP */ @@ -15,10 +15,10 @@ import com.op.common.swagger.annotation.EnableCustomSwagger2; @EnableCustomSwagger2 @EnableRyFeignClients @SpringBootApplication -public class ScadaApplication { +public class OpenApplication { public static void main(String[] args) { - SpringApplication.run(ScadaApplication.class, args); - System.err.println("Scada服务启动成功\n" + SpringApplication.run(OpenApplication.class, args); + System.err.println("OPEN接口服务启动成功\n" + " | | \r\n" + " ___ _ __ ______ ___ _ _ ___| |_ ___ _ __ ___ \r\n" + " / _ \\| '_ \\______/ __| | | / __| __/ _ \\ '_ ` _ \\ \r\n" diff --git a/op-modules/op-open/src/main/java/com/op/open/config/DynamicDatasource.java b/op-modules/op-open/src/main/java/com/op/open/config/DynamicDatasource.java new file mode 100644 index 000000000..b3242fbf5 --- /dev/null +++ b/op-modules/op-open/src/main/java/com/op/open/config/DynamicDatasource.java @@ -0,0 +1,51 @@ +package com.op.open.config; + +import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty; +import com.op.common.core.domain.R; +import com.op.common.datasource.creator.DynamicDatasourceCreator; +import com.op.system.api.RemoteUserService; +import com.op.system.api.domain.SysUser; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +/** + * 初始化动态数据源 + * + * @ClassName: DynamicDatasource + * @Description: TODO + * @author shichangzhou + * @date 2023年4月19日 下午1:01:30 + */ +@Component +public class DynamicDatasource { + + @Resource + private DynamicDatasourceCreator dynamicDatasourceCreator; + @Autowired + private RemoteUserService remoteUserService; + + @PostConstruct + public void init() { + // 加载sf-cloud库的sys_datasource + SysUser sysUser = new SysUser(); + sysUser.setUserId(1L); + R>> dateSources0 = remoteUserService.getPoolNameList(sysUser); + List> dateSources = dateSources0.getData(); + for (Map dateSource : dateSources) { + DataSourceProperty sdp = new DataSourceProperty(); + sdp.setUrl(dateSource.get("url")); + sdp.setUsername(dateSource.get("userName")); + sdp.setPassword(dateSource.get("password")); + sdp.setDriverClassName(dateSource.get("driveClassName")); + sdp.setPoolName(dateSource.get("poolName"));// 这是数据源的key + sdp.setLazy(false); + dynamicDatasourceCreator.createDynamicDataSource(sdp); + } + + } +} diff --git a/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java b/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java new file mode 100644 index 000000000..3af445eb0 --- /dev/null +++ b/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java @@ -0,0 +1,63 @@ +package com.op.open.controller; + +import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.StringUtils; +import com.op.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.open.service.OpenService; +import com.op.system.api.domain.dto.WCSDTO; +import com.op.system.api.domain.mes.MesReportWorkDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * mes上位机专属 + * + * @author sf + * @date 2023-05-18 + */ +@RestController +@RequestMapping("/openInterface") +public class OpenController extends BaseController { + + @Autowired + private OpenService openService; + + + /** + * 下一工序机台集合获取 + * •接口描述:成型机码垛完、暂存区、WCS 请求 MES 获取目的地集合 + * •触发时机:托盘到达 AGV 接驳口 + * @param + * @return + */ + //"下一工序机台集合获取" + @PostMapping("/requestDestinationStations") + public WCSDTO requestDestinationStations(@RequestBody WCSDTO wcsdto) { + if(StringUtils.isBlank(wcsdto.getFactory())){ + wcsdto.setCode("1"); + wcsdto.setMessage("factory is not null"); + return wcsdto; + } + return openService.requestDestinationStations(wcsdto); + } + /**上位机报工**/ + @PostMapping("/reportWork") + public AjaxResult reportWork(@RequestBody MesReportWorkDTO mesReportWork) { + if(StringUtils.isBlank(mesReportWork.getFactoryCode())){ + return error("[factoryCode] is null"); + } + if(StringUtils.isBlank(mesReportWork.getReportCode())){ + return error("[reportCode] is null"); + } + + return success(openService.reportWork(mesReportWork)); + } + + public static void main(String args[]){ + System.out.println(DateUtils.getDate()); + } +} diff --git a/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java b/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java new file mode 100644 index 000000000..9b7462dd1 --- /dev/null +++ b/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java @@ -0,0 +1,42 @@ +package com.op.open.mapper; + +import com.op.system.api.domain.SysSapLog; +import com.op.system.api.domain.mes.MesReportWorkDTO; +import com.op.system.api.domain.mes.ProOrderWorkorderDTO; +import com.op.system.api.domain.mes.ProRfidProcessDetail; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 生产rfid流程Mapper接口 + * + * @author Open Platform + * @date 2023-08-18 + */ +@Mapper +public interface OpenMapper { + + public ProRfidProcessDetail getRfidInfo(String rfidNo); + + public String getStationType(String equipmentCode); + + Integer getEquipNum(String machineCode); + + String getEquipStatus(String machineCode); + + String getEquipMode(String machineCode); + + List getReportWorkList(MesReportWorkDTO mesReportWork); + + void addSapLog(SysSapLog sysSapLog); + + void updateSyncSapStatus(MesReportWorkDTO work); + + MesReportWorkDTO getProdResult(MesReportWorkDTO work); + + void updateWorkOrderStatus(MesReportWorkDTO work); + + ProOrderWorkorderDTO getOrderByCode(String workorderCode); +} + diff --git a/op-modules/op-open/src/main/java/com/op/open/service/OpenService.java b/op-modules/op-open/src/main/java/com/op/open/service/OpenService.java new file mode 100644 index 000000000..8a069cca9 --- /dev/null +++ b/op-modules/op-open/src/main/java/com/op/open/service/OpenService.java @@ -0,0 +1,18 @@ +package com.op.open.service; + +import com.op.common.core.domain.R; +import com.op.system.api.domain.dto.WCSDTO; +import com.op.system.api.domain.mes.MesReportWorkDTO; + +/** + * 订单Service接口 + * + * @author Open Platform + * @date 2023-07-13 + */ +public interface OpenService { + + WCSDTO requestDestinationStations(WCSDTO wcsdto); + + R reportWork(MesReportWorkDTO mesReportWork); +} diff --git a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java new file mode 100644 index 000000000..f999e6e70 --- /dev/null +++ b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java @@ -0,0 +1,232 @@ +package com.op.open.service.impl; + +import com.alibaba.fastjson2.JSONArray; +import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; +import com.op.common.core.domain.R; +import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.bean.BeanUtils; +import com.op.common.core.utils.uuid.IdUtils; +import com.op.open.mapper.OpenMapper; +import com.op.open.service.OpenService; +import com.op.system.api.RemoteSapService; +import com.op.system.api.domain.SysSapLog; +import com.op.system.api.domain.dto.WCSDTO; +import com.op.system.api.domain.dto.WCSDataDTO; +import com.op.system.api.domain.mes.MesReportWorkDTO; +import com.op.system.api.domain.mes.ProOrderWorkorderDTO; +import com.op.system.api.domain.mes.ProRfidProcessDetail; +import com.op.system.api.domain.sap.SapRFW; +import org.apache.commons.lang.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +/** + * wcs接口业务层处理 + * + * @author Open Platform + * @date 2023-07-13 + */ +@Service +public class OpenServiceImpl implements OpenService { + protected Logger logger = LoggerFactory.getLogger(getClass()); + + @Autowired + private OpenMapper openMapper; + @Autowired + private RemoteSapService remoteSapService; + + /**下一工序机台集合获取 + * JSON + * { + * "reqCode": "eb7f8e9f-d1e8-499e-9bcb-e72d3ac195b0", //请求ID + * "reqTime": "2023-06-30 21:24:04", //请求时间, + * "rfidNo": "r12345" //rfid编号 + * "factory" + * } + * + * JSON + * { + * "reqCode": "eb7f8e9f-d1e8-499e-9bcb-e72d3ac195b0", //请求ID + * "code": 0, //返回代码 + * "message": "OK", //返回信息 + * "stationType": "2", //目的机台类型 2烘房 3收坯机 + * "sku": "sku01", //物料编码 + * "spec": "150", //规格 + * "productionState": "K01", //当前工艺状态 + * "stationNos": [ + * { + * "stationNo": "F1", //目的站台编号 + * "qty": 2 //针对于烘房前面的当前筛盘车的数量,如果数量大于2就不会往改烘房分配 + * }, + * { + * "stationNo": "F3", //目的站台编号 + * "qty": 2 //针对于烘房前面的当前筛盘车的数量,如果数量大于2就不会往改烘房分配 + * }, + * { + * "stationNo": "F3", //目的站台编号 + * "qty": 2 //针对于烘房前面的当前筛盘车的数量,如果数量大于2就不会往改烘房分配 + * } + * ], + * } + * @param wcsdto + * @return + */ + @Override + public WCSDTO requestDestinationStations(WCSDTO wcsdto) { + + DynamicDataSourceContextHolder.push("ds_" + wcsdto.getFactory()); + WCSDTO dto = new WCSDTO();//最终结果 + try { + BeanUtils.copyBeanProp(dto, wcsdto); + //根据rfid跟工单绑定,成型机跟工单绑定,获取对应工艺。 + ProRfidProcessDetail rfidInfo = openMapper.getRfidInfo(wcsdto.getRfidNo()); + //获取设备类型 + if (rfidInfo != null && StringUtils.isNotBlank(rfidInfo.getMachineCode())) { + //设备-工艺路线的设备大范围 + String[] machineCodes0 = rfidInfo.getMachineCode().split(","); + String stationType = openMapper.getStationType(machineCodes0[0]); + if (StringUtils.isNotBlank(stationType)) { + dto.setStationType(stationType); + } + //设备-根据工单获取实际规划设备路线 + String machinecode = rfidInfo.getProdLineCode();//openMapper.getActuaEquips(rfidInfo); + JSONArray codeArray = JSONArray.parseArray(machinecode); + List list2 = new ArrayList<>(); + for (int c1 = 0; c1 < codeArray.size(); c1++) { + String equipCode0 = codeArray.getJSONArray(c1).getString(1); + list2.add(equipCode0); + } + + //取交集 + List list1 = Arrays.asList(machineCodes0); + List machineArray = list1.stream() + .filter(u1 -> list2.contains(u1)) + .collect(Collectors.toList()); + + dto.setSku(rfidInfo.getProductCode()); + dto.setSpec(rfidInfo.getProductModel()); + dto.setProductionState(rfidInfo.getNowProcessId()); + List stationNos = new ArrayList<>(); + WCSDataDTO wCSDataDTO = null; + for (String machineCode : machineArray) { + wCSDataDTO = new WCSDataDTO(); + if (StringUtils.isNotBlank(machineCode)) { + //设备是否正常 + String status = openMapper.getEquipStatus(machineCode); + if(StringUtils.isNotBlank(status) && "1".equals(status)){//正常设备且没被删除 + wCSDataDTO.setStationNo(machineCode); + if ("2".equals(stationType)) { + Integer qty = openMapper.getEquipNum(machineCode); + wCSDataDTO.setQty(qty == null ? 0 : qty); + String mode = openMapper.getEquipMode(machineCode); + wCSDataDTO.setFlag(mode); + } + stationNos.add(wCSDataDTO); + } + } + } + dto.setStationNos(stationNos); + dto.setCode("0"); + }else{ + dto.setCode("1"); + dto.setMessage("MES管理系统接口调用异常:数据缺失"); + } + }catch (Exception e){ + dto.setCode("1"); + dto.setMessage("MES管理系统接口调用失败"); + } + return dto; + } + + @Override + public R reportWork(MesReportWorkDTO mesReportWork) { + DynamicDataSourceContextHolder.push("ds_"+mesReportWork.getFactoryCode());// 这是数据源的key + + mesReportWork.setUploadStatus("1");//除了1报工成功的,都需要报工 + mesReportWork.setProdType("prod"); + List reportWorks = openMapper.getReportWorkList(mesReportWork); + if(CollectionUtils.isEmpty(reportWorks)){ + return R.fail("未查询到报工单"); + } + + MesReportWorkDTO work = reportWorks.get(0); + SapRFW sapRFW = new SapRFW(); + sapRFW.setAufnr(work.getWorkorderCodeSap());//虚拟工单号 + sapRFW.setGamng(work.getQuantityFeedback().toString());//报工数量 + SapRFW.lt_gs ltgs = sapRFW.new lt_gs();//生产订单报工工时修改 + ltgs.setConf_activity1(work.getSac1());//人工 + ltgs.setConf_activity2(work.getSac2()); + ltgs.setConf_activity3(work.getSac3());//机器 + ltgs.setConf_activity4(work.getSac4()); + ltgs.setConf_activity5(work.getSac5());//折旧 + ltgs.setConf_activity6(work.getSac6()); + sapRFW.setLt_gs(ltgs); + SapRFW.lt_hw lthw = sapRFW.new lt_hw();//MES生产订单报工货物移动修改 + lthw.setEntry_qnt(work.getQuantityFeedback().toString());//TODO; + lthw.setMaterial(work.getProcessCode()); + sapRFW.setLt_hw(lthw); + //添加调用sap日志 + SysSapLog sysSapLog = new SysSapLog(); + sysSapLog.setId(IdUtils.fastSimpleUUID()); + sysSapLog.setMesssge(sapRFW.toString()); + sysSapLog.setMethod("reportWork"); + sysSapLog.setReqcode("请求"); + sysSapLog.setCreateTime(DateUtils.getNowDate()); + openMapper.addSapLog(sysSapLog); + + //R r = remoteSapService.sapRFWOrder(sapRFW); + //上传成功,更改mes_report_work状态 + //if (r.getCode() == 200) { + work.setUploadStatus("1"); + //} else { + // work.setUploadStatus("2"); + // work.setUploadMsg(r.getMsg()); + //} + work.setUploadTime(DateUtils.getNowDate()); + openMapper.updateSyncSapStatus(work); + //工单完成数量>工单数量:关闭订单 + MesReportWorkDTO proResult = openMapper.getProdResult(work); + //ProOrderWorkorderDTO topOrder = this.getTopOrder(work.getWorkorderCode()); + if(proResult.getQuantityFeedback().compareTo(work.getQuantitySplit())>=0){ + //工单完成,关闭工单 + remoteSapService.sapCloseOrder(work.getWorkorderCodeSap()); + work.setStatus("w3"); + work.setUpdateTime(DateUtils.getNowDate()); + //pro_work_order status->w3报工 + openMapper.updateWorkOrderStatus(work); + } + return R.ok(); + } + +// //根据工单子单编码获取最顶级订单的母单 +// private ProOrderWorkorderDTO getTopOrder(String workorderCode) { +// //pro_order_workorder +// ProOrderWorkorderDTO topOrder = openMapper.getOrderByCode(workorderCode); +// while (!"0".equals(topOrder.getParentOrder()) && StringUtils.isNotEmpty(topOrder.getParentOrder())) { +// //pro_order_workorder +// topOrder = openMapper.getOrderByCode(topOrder.getParentOrder()); +// } +// return topOrder; +// } + + + public static void main(String args[]){ + DateTimeFormatter ymdhms = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDate today = LocalDate.now(); + LocalDate lastMonth3 = today.plus(-3, ChronoUnit.MONTHS); + + System.out.println("7天之前的日期为:"+lastMonth3.getYear()); + } +} diff --git a/op-modules/op-scada/src/main/resources/banner.txt b/op-modules/op-open/src/main/resources/banner.txt similarity index 100% rename from op-modules/op-scada/src/main/resources/banner.txt rename to op-modules/op-open/src/main/resources/banner.txt diff --git a/op-modules/op-scada/src/main/resources/bootstrap.yml b/op-modules/op-open/src/main/resources/bootstrap.yml similarity index 76% rename from op-modules/op-scada/src/main/resources/bootstrap.yml rename to op-modules/op-open/src/main/resources/bootstrap.yml index 72888f58b..f032dd8bc 100644 --- a/op-modules/op-scada/src/main/resources/bootstrap.yml +++ b/op-modules/op-open/src/main/resources/bootstrap.yml @@ -1,12 +1,12 @@ # Tomcat server: - port: 9211 + port: 9214 # Spring spring: application: # 应用名称 - name: op-scada + name: op-open profiles: # 环境配置 active: dev @@ -14,16 +14,16 @@ spring: nacos: discovery: namespace: lanju-op - group: prod-new + group: zxl # 服务注册地址 - server-addr: 192.168.202.20:8848 + server-addr: 175.27.215.92:8848 config: namespace: lanju-op - group: prod-new + group: zxl #命名空间 #group: local # 配置中心地址 - server-addr: 192.168.202.20:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/op-modules/op-scada/src/main/resources/logback.xml b/op-modules/op-open/src/main/resources/logback.xml similarity index 100% rename from op-modules/op-scada/src/main/resources/logback.xml rename to op-modules/op-open/src/main/resources/logback.xml diff --git a/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml b/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml new file mode 100644 index 000000000..2ce1131e2 --- /dev/null +++ b/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml @@ -0,0 +1,113 @@ + + + + + insert into sys_sap_log + (id,messsge,create_time,reqcode,method,remark,status) + values( + #{id},#{messsge}, #{createTime}, #{reqcode},#{method},#{remark},#{status}) + + + update mes_report_work + + upload_time = #{uploadTime}, + upload_status = #{uploadStatus}, + upload_msg = #{uploadMsg}, + + where 1=1 + + and id = #{id} + + + and report_code = #{reportCode} + + + + update pro_order_workorder set status = #{status} where workorder_code = #{workorderCode} + + + + + + + + + + + + + + diff --git a/op-modules/op-plan/push-plan.bat b/op-modules/op-plan/push-plan.bat new file mode 100644 index 000000000..8fb7d0cf6 --- /dev/null +++ b/op-modules/op-plan/push-plan.bat @@ -0,0 +1,42 @@ +@echo off +echo --------------------------------Զǰ޸-------------------------------------- +set jarName=op-modules-plan.jar +set profile=dev +set imageURI=192.168.202.36:30002/op-lanju/op-plan +rem echo ȡǰַ +for /f "tokens=1,2,3 delims=/- " %%a in ("%date%") do @set D=%%a%%b%%c +rem echo ȡǰʱַ +for /f "tokens=1,2 delims=:." %%a in ("%time%") do @set T=%%a%%b +rem echo 統ǰСʱС10ո滻Ϊ0 +set T=%T: =0% +rem echo ʾʱַ +set imageVersion=%D%%T% +::Ϣ +echo jar:%jarName% +echo :%profile% +echo ַ:%imageURI% +echo 汾:%imageVersion% + +echo --------------------------------mvn package...-------------------------------- +::call mvn clean package -Dmaven.test.skip=true + +cd .\target +SET df=Dockerfile +if exist %df% ( + del /f /s /q .\Dockerfile +) +echo --------------------------------Dockerfile-------------------------------- +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile +echo RUN apk add --update font-adobe-100dpi ttf-dejavu fontconfig +echo COPY %jarName% /application.jar >> Dockerfile +echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile +echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile +dir +echo --------------------------------docker login...------------------------------- +docker login 192.168.202.36:30002 -u deploy -p Deploy@2023 +echo --------------------------------docker build...------------------------------- +docker build -t %imageURI%:%imageVersion% . +echo --------------------------------docker push...-------------------------------- +docker push %imageURI%:%imageVersion% +@pause \ No newline at end of file diff --git a/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderController.java b/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderController.java index d8c90655f..22c11cdc6 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderController.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderController.java @@ -3,13 +3,19 @@ package com.op.plan.controller; import java.io.IOException; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.List; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; +import com.op.common.core.domain.ExcelCol; import com.op.common.core.domain.R; import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.StringUtils; +import com.op.common.core.utils.poi.ExcelMapUtil; import com.op.common.security.utils.SecurityUtils; import com.op.plan.domain.dto.SplitOrderDTO; +import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -62,12 +68,12 @@ public class ProOrderController extends BaseController { */ @Log(title = "导入订单信息", businessType = BusinessType.IMPORT) @PostMapping("/importData") + @RequiresPermissions("mes:pro:order:import") public AjaxResult importData(MultipartFile file) throws Exception { // 创建接收对象 ExcelUtil util = new ExcelUtil<>(ProOrder.class); // 接收表格信息 List orderList = util.importExcel(file.getInputStream()); - return proOrderService.importOrder(orderList); } @@ -80,28 +86,34 @@ public class ProOrderController extends BaseController { @PostMapping("/importTemplate") @Log(title = "生成订单模板", businessType = BusinessType.EXPORT) public void importTemplate(HttpServletResponse response) throws IOException { - ExcelUtil util = new ExcelUtil<>(ProOrder.class); - List orderList = new ArrayList<>(); - ProOrder example = new ProOrder(); - example.setPlanFactoryCode("000000"); - example.setOrderType("LJ01"); - example.setOrderCode("000000"); - example.setProdCode("000000"); - example.setProdDesc("物料名称样例"); - example.setQuantity(100L); - example.setUnit("KAR"); - example.setWorkerOrder("510000"); - example.setProdType("prod"); - example.setStatus("o0"); - example.setParentOrder("1000000"); - example.setPlanComplete(DateUtils.getNowDate()); - example.setPlanProDate(DateUtils.getNowDate()); - example.setCreateBy(SecurityUtils.getUsername()); - example.setCreateTime(DateUtils.getNowDate()); - example.setUpdateTime(DateUtils.getNowDate()); - orderList.add(example); - util.exportExcel(response, orderList, "订单基本信息"); + ArrayList excelCols = new ArrayList<>(); + excelCols.add(new ExcelCol("订单类型","orderType",20)); + excelCols.add(new ExcelCol("订单号","orderCode",20)); + excelCols.add(new ExcelCol("父级订单","parentOrder",20)); + excelCols.add(new ExcelCol("物料号","prodCode",20)); + excelCols.add(new ExcelCol("订单数量","quantity",20)); + excelCols.add(new ExcelCol("单位","unit",20)); + excelCols.add(new ExcelCol("计划生产日期","planProDate",20)); + excelCols.add(new ExcelCol("计划完成日期","planComplete",20)); + String titleName = "成品订单导入"; + SXSSFWorkbook workbook = null; + try { + //设置响应头 + response.setHeader("Content-disposition", + "attachment; filename="+ titleName); + response.setContentType("application/octet-stream;charset=UTF-8"); + ServletOutputStream outputStream = response.getOutputStream(); + //调用工具类 + workbook = ExcelMapUtil.initWorkbook(titleName, titleName, excelCols, null); + workbook.write(outputStream); + } catch (Exception e) { + e.printStackTrace(); + }finally { + if (workbook!=null){ + workbook.dispose(); + } + } } @@ -226,7 +238,7 @@ public class ProOrderController extends BaseController { /** * 新增订单 */ - @RequiresPermissions("mes:pro:order:add") + @Log(title = "新增订单", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody ProOrder proOrder) { diff --git a/op-modules/op-plan/src/main/java/com/op/plan/domain/ProOrderWorkorder.java b/op-modules/op-plan/src/main/java/com/op/plan/domain/ProOrderWorkorder.java index 9fe84808a..5e8beb788 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/domain/ProOrderWorkorder.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/domain/ProOrderWorkorder.java @@ -205,6 +205,21 @@ public class ProOrderWorkorder extends TreeEntity { private String workorderCodeSap; + /** 批次号 */ + private List batchCodeList; + private List batchNumList; + + /** $column.columnComment */ + private String factoryCode; + + public List getBatchNumList() { + return batchNumList; + } + + public void setBatchNumList(List batchNumList) { + this.batchNumList = batchNumList; + } + public String getWorkorderCodeSap() { return workorderCodeSap; } @@ -285,9 +300,6 @@ public class ProOrderWorkorder extends TreeEntity { this.shiftDesc = shiftDesc; } - /** 批次号 */ - private List batchCodeList; - public List getBatchCodeList() { return batchCodeList; } @@ -296,9 +308,6 @@ public class ProOrderWorkorder extends TreeEntity { this.batchCodeList = batchCodeList; } - /** $column.columnComment */ - private String factoryCode; - public void setWorkorderId(String workorderId) { this.workorderId = workorderId; } diff --git a/op-modules/op-plan/src/main/java/com/op/plan/mapper/BaseProductMapper.java b/op-modules/op-plan/src/main/java/com/op/plan/mapper/BaseProductMapper.java index fc780b199..57f9153d9 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/mapper/BaseProductMapper.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/mapper/BaseProductMapper.java @@ -1,6 +1,7 @@ package com.op.plan.mapper; import com.op.plan.domain.BaseProduct; +import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -10,6 +11,7 @@ import java.util.List; * @author Open Platform * @date 2023-09-03 */ +@Mapper public interface BaseProductMapper { /** diff --git a/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderMapper.java b/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderMapper.java index 94ccc9529..40edc8ee6 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderMapper.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderMapper.java @@ -133,7 +133,7 @@ public interface ProOrderMapper { * @param workorderId * @return */ - List selectBatchCodesById(String workorderId); + List selectBatchCodesById(String workorderId); /** * 获取包装线list diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java index e4ad84173..01c5cf640 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java @@ -10,6 +10,7 @@ import java.util.stream.Collectors; import com.alibaba.csp.sentinel.util.StringUtil; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONArray; +import com.op.common.core.utils.ServletUtils; import com.op.plan.domain.vo.CascaderDTO; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; @@ -67,11 +68,12 @@ public class ProOrderServiceImpl implements IProOrderService { private ProRouteMapper proRouteMapper; @Autowired private ProWetMaterialPlanDetailMapper proWetMaterialPlanDetailMapper; - @Autowired private RemoteSapService remoteSapService; @Autowired private RemoteUserService remoteUserService; + @Autowired + private BaseProductMapper baseProductMapper; /** * 获取换算值 * @@ -352,16 +354,19 @@ public class ProOrderServiceImpl implements IProOrderService { proOrderWorkorder.setProdLineCode(prodLineName.toString()); // 通过工单id查询批次号 - List batchCodeList = proOrderMapper.selectBatchCodesById(proOrderWorkorder.getWorkorderId()); + List batchCodeList = proOrderMapper.selectBatchCodesById(proOrderWorkorder.getWorkorderId()); List batchCodes = new ArrayList<>(); + List batchNums = new ArrayList<>(); // 格式化数据 - for (String batchCode : batchCodeList) { - batchCodes.add(new StringBuilder(batchCode).append(";").append("\n")); + for (ProOrderWorkorderBatch batchCode : batchCodeList) { + batchCodes.add(new StringBuilder(batchCode.getBatchCode()).append(";")); + batchNums.add(new StringBuilder(batchCode.getBatchQuantity()+"").append(";")); } // 将查询结果设置到当前工单对象 proOrderWorkorder.setShiftDesc(shiftDesc); proOrderWorkorder.setBatchCodeList(batchCodes); + proOrderWorkorder.setBatchNumList(batchNums); // 通过母工单workorder_id查询子工单 List childWorkorders = proOrderWorkorderMapper.selectChildWorkOrder(proOrderWorkorder.getWorkorderCode()); @@ -448,8 +453,14 @@ public class ProOrderServiceImpl implements IProOrderService { public String syncImportFunc(List newOrders){ String failOrder = ""; for (ProOrder proOrder:newOrders) { - proOrder.setProdType("white");//只有白坯有导入 - failOrder += syncFunc(proOrder)+","; + //prodType->@Excel(name = "产品类型", readConverterExp = "white=白坯,prod=成品") + proOrder.setCreateBy(SecurityUtils.getUsername()); + proOrder.setSyncUser("import"); + proOrder.setPlanFactoryCode(proOrder.getFactoryCode()); + String msg = syncFunc(proOrder); + if(StringUtils.isNotBlank(msg)){ + failOrder += msg+","; + } } return failOrder; } @@ -527,6 +538,27 @@ public class ProOrderServiceImpl implements IProOrderService { @DS("#header.poolName") @Transactional public AjaxResult importOrder(List orderList) { + BaseProduct bpqo = null; + for(ProOrder order:orderList){ + if(StringUtils.isBlank(order.getOrderType())){ + order.setOrderType("LJ01"); + } + String factoryCode = ServletUtils.getRequest().getHeader("PoolName").replace("ds_",""); + order.setPlanFactoryCode(factoryCode); + order.setFactoryCode(factoryCode); + order.setCreateBy(SecurityUtils.getUsername()); + order.setCreateTime(DateUtils.getNowDate()); + order.setOrderType("LJ01"); + order.setProdType("prod"); + order.setStatus("o0"); + bpqo = new BaseProduct(); + bpqo.setProductCode(order.getProdCode()); + List bp = baseProductMapper.selectBaseProductList(bpqo); + if(!CollectionUtils.isEmpty(bp)){ + order.setProdDesc(bp.get(0).getProductDescZh()); + } + } + // 数据校验 AjaxResult checkResult = checkImportOrder(orderList); // 如果数据校验成功 @@ -987,7 +1019,7 @@ public class ProOrderServiceImpl implements IProOrderService { // 循环遍历校验数据是否为空 for (ProOrder proOrder : orderList) { // 计划工厂 - if (proOrder.getPlanFactoryCode().isEmpty() || proOrder.getPlanFactoryCode() == null) { + if (proOrder.getFactoryCode().isEmpty() || proOrder.getFactoryCode() == null) { return error(500, "计划工厂信息不能为空!信息导入失败!"); } // 订单号 @@ -1026,6 +1058,7 @@ public class ProOrderServiceImpl implements IProOrderService { if (proOrder.getPlanComplete() == null || StringUtils.isNull(proOrder.getPlanComplete())) { return error(500, "计划完成日期不能为空!信息导入失败!"); } + } return success(); } diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java index bc6e778c3..997f9bf92 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java @@ -89,6 +89,8 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { for (ProOrderWorkorder workorder : workorderList) { String prodLineName = ""; String equipCods = "'"; + System.out.println("workorder_id:"+workorder.getWorkorderId()); + System.out.println("prodLineCode:"+workorder.getProdLineCode()); JSONArray codeArray = JSONArray.parseArray(workorder.getProdLineCode()); for (int c = 0; c < codeArray.size(); c++) { equipCods += codeArray.getJSONArray(c).getString(1) + "','"; @@ -969,11 +971,11 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { proOrderWorkorder.setProdLineCode(prodLineName.toString()); // 通过工单id查询批次号 - List batchCodeList = proOrderMapper.selectBatchCodesById(proOrderWorkorder.getWorkorderId()); + List batchCodeList = proOrderMapper.selectBatchCodesById(proOrderWorkorder.getWorkorderId()); List batchCodes = new ArrayList<>(); // 格式化数据 - for (String batchCode : batchCodeList) { - batchCodes.add(new StringBuilder(batchCode).append(";").append("\n")); + for (ProOrderWorkorderBatch batchCode : batchCodeList) { + batchCodes.add(new StringBuilder(batchCode.getBatchCode()).append(";").append("\n")); } // 将查询结果设置到当前工单对象 proOrderWorkorder.setShiftDesc(shiftDesc); diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProWhiteOrderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProWhiteOrderServiceImpl.java index ef97ae9f7..826fa78df 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProWhiteOrderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProWhiteOrderServiceImpl.java @@ -118,24 +118,6 @@ public class ProWhiteOrderServiceImpl implements IProWhiteOrderService { proOrder.setProdDesc(""); proWhiteOrderMapper.insertProOrder(proOrder); -// System.out.println("源code---->"+proOrder.getProdCode()); -// System.out.println("源desc---->"+proOrder.getProdDesc()); -// -// System.out.println("code---------->"); -// for (String code : prodCodes) { -// System.out.println(code); -// } -// System.out.println("desc----------->"); -// for (String desc : prodDescs) { -// System.out.println(desc); -// } -// -// System.out.println("这里是母订单信息"); -// System.out.println("母订单code"+proOrder.getOrderCode()); -// -// -// System.out.println("这里是子订单信息"); - // 设置子订单信息 for (int i = 0; i< prodCodes.length; i++){ @@ -161,9 +143,6 @@ public class ProWhiteOrderServiceImpl implements IProWhiteOrderService { childProOrder.setUpdateTime(DateUtils.getNowDate()); // 将子订单插入数据库 proWhiteOrderMapper.insertProOrder(childProOrder); - -// System.out.println("子订单code"+i+childProOrder.getOrderCode()); -// System.out.println("子订单parentCode"+i+childProOrder.getParentOrder()); } return 1; @@ -324,11 +303,11 @@ public class ProWhiteOrderServiceImpl implements IProWhiteOrderService { proOrderWorkorder.setProdLineCode(prodLineName.toString()); // 通过工单id查询批次号 - List batchCodeList = proOrderMapper.selectBatchCodesById(proOrderWorkorder.getWorkorderId()); + List batchCodeList = proOrderMapper.selectBatchCodesById(proOrderWorkorder.getWorkorderId()); List batchCodes = new ArrayList<>(); // 格式化数据 - for (String batchCode : batchCodeList) { - batchCodes.add(new StringBuilder(batchCode).append(";").append("\n")); + for (ProOrderWorkorderBatch batchCode : batchCodeList) { + batchCodes.add(new StringBuilder(batchCode.getBatchCode()).append(";").append("\n")); } // 将查询结果设置到当前工单对象 proOrderWorkorder.setShiftDesc(shiftDesc); diff --git a/op-modules/op-plan/src/main/resources/bootstrap.yml b/op-modules/op-plan/src/main/resources/bootstrap.yml index 3f029c5d0..39d689e46 100644 --- a/op-modules/op-plan/src/main/resources/bootstrap.yml +++ b/op-modules/op-plan/src/main/resources/bootstrap.yml @@ -16,12 +16,12 @@ spring: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 config: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderMapper.xml b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderMapper.xml index 252b3d602..a0fe48773 100644 --- a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderMapper.xml +++ b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderMapper.xml @@ -115,8 +115,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHERE sf.f_code = #{prodLineCode} - + SELECT powb.batch_code batchCode, + powb.batch_quantity batchQuantity FROM pro_order_workorder_batch powb LEFT JOIN pro_order_workorder pow ON powb.workorder_id = pow.workorder_id diff --git a/op-modules/op-quality/push-quality.bat b/op-modules/op-quality/push-quality.bat new file mode 100644 index 000000000..d690a5411 --- /dev/null +++ b/op-modules/op-quality/push-quality.bat @@ -0,0 +1,41 @@ +@echo off +echo --------------------------------Զǰ޸-------------------------------------- +set jarName=op-modules-quality.jar +set profile=dev +set imageURI=192.168.202.36:30002/op-lanju/op-quality +rem echo ȡǰַ +for /f "tokens=1,2,3 delims=/- " %%a in ("%date%") do @set D=%%a%%b%%c +rem echo ȡǰʱַ +for /f "tokens=1,2 delims=:." %%a in ("%time%") do @set T=%%a%%b +rem echo 統ǰСʱС10ո滻Ϊ0 +set T=%T: =0% +rem echo ʾʱַ +set imageVersion=%D%%T% +::Ϣ +echo jar:%jarName% +echo :%profile% +echo ַ:%imageURI% +echo 汾:%imageVersion% + +echo --------------------------------mvn package...-------------------------------- +::call mvn clean package -Dmaven.test.skip=true + +cd .\target +SET df=Dockerfile +if exist %df% ( + del /f /s /q .\Dockerfile +) +echo --------------------------------Dockerfile-------------------------------- +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile +echo COPY %jarName% /application.jar >> Dockerfile +echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile +echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile +dir +echo --------------------------------docker login...------------------------------- +docker login 192.168.202.36:30002 -u deploy -p Deploy@2023 +echo --------------------------------docker build...------------------------------- +docker build -t %imageURI%:%imageVersion% . +echo --------------------------------docker push...-------------------------------- +docker push %imageURI%:%imageVersion% +@pause \ No newline at end of file diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportIncomeController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportIncomeController.java index e428cd029..712a07809 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportIncomeController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportIncomeController.java @@ -39,19 +39,19 @@ public class QcCheckReportIncomeController extends BaseController { /** * 查询来料检验列表 */ - @RequiresPermissions("quality:qcIncomeReport:list") + @RequiresPermissions("quality:incomeReport:list") @GetMapping("/list") public TableDataInfo list(QcCheckReportIncome qcCheckReportIncome) { //默认时间范围T 00:00:00~T+1 00:00:00 - /*if(StringUtils.isEmpty(qcCheckReportIncome.getIncomeTimeStart())){ + if(StringUtils.isEmpty(qcCheckReportIncome.getIncomeTimeStart())){ qcCheckReportIncome.setIncomeTimeStart(DateUtils.getDate()+" 00:00:00");//start LocalDate date = LocalDate.now(); LocalDate dateEnd = date.plusDays(1); DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); String dateEndStr = dtf.format(dateEnd)+" 00:00:00"; qcCheckReportIncome.setIncomeTimeEnd(dateEndStr);//end - }*/ + } // if(StringUtils.isEmpty(qcCheckReportIncome.getCheckTimeStart())){ // qcCheckReportIncome.setCheckTimeStart(qcCheckReportIncome.getIncomeTimeStart());//start @@ -66,7 +66,7 @@ public class QcCheckReportIncomeController extends BaseController { /** * 导出来料检验列表 */ - @RequiresPermissions("quality:qcIncomeReport:export") + @RequiresPermissions("quality:incomeReport:export") @Log(title = "来料检验", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, QcCheckReportIncome qcCheckReportIncome) { @@ -94,7 +94,7 @@ public class QcCheckReportIncomeController extends BaseController { /** * 获取来料检验详细信息 */ - @RequiresPermissions("quality:qcIncomeReport:query") + @RequiresPermissions("quality:incomeReport:query") @GetMapping(value = "/{recordId}") public AjaxResult getInfo(@PathVariable("recordId") String recordId) { return success(qcCheckReportIncomeService.selectQcCheckReportIncomeByRecordId(recordId)); @@ -103,7 +103,7 @@ public class QcCheckReportIncomeController extends BaseController { /** * 新增来料检验 */ - @RequiresPermissions("quality:qcIncomeReport:add") + @RequiresPermissions("quality:incomeReport:add") @Log(title = "来料检验", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody QcCheckReportIncome qcCheckReportIncome) { @@ -117,7 +117,7 @@ public class QcCheckReportIncomeController extends BaseController { /** * 修改来料检验 */ - @RequiresPermissions("quality:qcIncomeReport:edit") + @RequiresPermissions("quality:incomeReport:edit") @Log(title = "来料检验", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody QcCheckReportIncome qcCheckReportIncome) { @@ -127,7 +127,7 @@ public class QcCheckReportIncomeController extends BaseController { /** * 删除来料检验 */ - @RequiresPermissions("quality:qcIncomeReport:remove") + @RequiresPermissions("quality:incomeReport:remove") @Log(title = "来料检验", businessType = BusinessType.DELETE) @DeleteMapping("/{recordIds}") public AjaxResult remove(@PathVariable String[] recordIds) { diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProduceController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProduceController.java new file mode 100644 index 000000000..3bc6bd595 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProduceController.java @@ -0,0 +1,181 @@ +package com.op.quality.controller; + +import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.poi.ExcelUtil; +import com.op.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.core.web.page.TableDataInfo; +import com.op.common.log.annotation.Log; +import com.op.common.log.enums.BusinessType; +import com.op.common.security.annotation.RequiresPermissions; +import com.op.common.security.utils.SecurityUtils; +import com.op.quality.domain.QcBomComponent; +import com.op.quality.domain.QcCheckReportIncome; +import com.op.quality.domain.QcCheckTaskDetail; +import com.op.quality.domain.QcSupplier; +import com.op.quality.service.IQcCheckReportProduceService; +import com.op.system.api.domain.SysUser; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.List; + +/** + * 来料检验Controller + * + * @author Open Platform + * @date 2023-10-19 + */ +@RestController +@RequestMapping("/qcProduceReport") +public class QcCheckReportProduceController extends BaseController { + @Autowired + private IQcCheckReportProduceService qcCheckReportProduceService; + + /** + * 查询来料检验列表 + */ + @RequiresPermissions("quality:produceReport:list") + @GetMapping("/list") + public TableDataInfo list(QcCheckReportIncome qcCheckReportIncome) { + + //默认时间范围T 00:00:00~T+1 00:00:00 + if(StringUtils.isEmpty(qcCheckReportIncome.getIncomeTimeStart())){ + qcCheckReportIncome.setIncomeTimeStart(DateUtils.getDate()+" 00:00:00");//start + LocalDate date = LocalDate.now(); + LocalDate dateEnd = date.plusDays(1); + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String dateEndStr = dtf.format(dateEnd)+" 00:00:00"; + qcCheckReportIncome.setIncomeTimeEnd(dateEndStr);//end + } + + startPage(); + List list = qcCheckReportProduceService.selectQcCheckReportIncomeList(qcCheckReportIncome); + return getDataTable(list); + } + + /** + * 导出来料检验列表 + */ + @RequiresPermissions("quality:produceReport:export") + @Log(title = "来料检验", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, QcCheckReportIncome qcCheckReportIncome) { + + //默认时间范围T 00:00:00~T+1 00:00:00 + if(StringUtils.isEmpty(qcCheckReportIncome.getIncomeTimeStart())){ + qcCheckReportIncome.setIncomeTimeStart(DateUtils.getDate()+" 00:00:00");//start + LocalDate date = LocalDate.now(); + LocalDate dateEnd = date.plusDays(1); + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String dateEndStr = dtf.format(dateEnd)+" 00:00:00"; + qcCheckReportIncome.setIncomeTimeEnd(dateEndStr);//end + } + +// if(StringUtils.isEmpty(qcCheckReportIncome.getCheckTimeStart())){ +// qcCheckReportIncome.setCheckTimeStart(qcCheckReportIncome.getIncomeTimeStart());//start +// qcCheckReportIncome.setCheckTimeEnd(qcCheckReportIncome.getIncomeTimeStart());//end +// } + + List list = qcCheckReportProduceService.selectQcCheckReportIncomeList(qcCheckReportIncome); + ExcelUtil util = new ExcelUtil(QcCheckReportIncome.class); + util.exportExcel(response, list, "来料检验数据"); + } + + /** + * 获取来料检验详细信息 + */ + @RequiresPermissions("quality:produceReport:query") + @GetMapping(value = "/{recordId}") + public AjaxResult getInfo(@PathVariable("recordId") String recordId) { + return success(qcCheckReportProduceService.selectQcCheckReportIncomeByRecordId(recordId)); + } + + /** + * 新增来料检验 + */ + @RequiresPermissions("quality:produceReport:add") + @Log(title = "来料检验", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody QcCheckReportIncome qcCheckReportIncome) { + int r = qcCheckReportProduceService.insertQcCheckReportIncome(qcCheckReportIncome); + if(r>0){ + return toAjax(r); + } + return error("添加失败:请检查物料的关联检测项"); + } + + /** + * 修改来料检验 + */ + @RequiresPermissions("quality:produceReport:edit") + @Log(title = "来料检验", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody QcCheckReportIncome qcCheckReportIncome) { + return toAjax(qcCheckReportProduceService.updateQcCheckReportIncome(qcCheckReportIncome)); + } + + /** + * 删除来料检验 + */ + @RequiresPermissions("quality:produceReport:remove") + @Log(title = "来料检验", businessType = BusinessType.DELETE) + @DeleteMapping("/{recordIds}") + public AjaxResult remove(@PathVariable String[] recordIds) { + return toAjax(qcCheckReportProduceService.deleteQcCheckReportIncomeByRecordIds(recordIds)); + } + + /** + * 查询BOM物料管理列表 + */ + @GetMapping("/getQcListBom") + public TableDataInfo getQcListBom(QcBomComponent bomComponent) { + startPage(); + List list = qcCheckReportProduceService.getQcListBom(bomComponent); + return getDataTable(list); + } + /** + * 查询供应商列表 + */ + @GetMapping("/getQcListSupplier") + public TableDataInfo getQcListSupplier(QcSupplier qcSupplier) { + startPage(); + List list = qcCheckReportProduceService.getQcListSupplier(qcSupplier); + return getDataTable(list); + } + /** + * 查询人员列表 + */ + @GetMapping("/getQcListUser") + public TableDataInfo getQcListUser(SysUser sysUser) { + startPage(); + List list = qcCheckReportProduceService.getQcListUser(sysUser); + return getDataTable(list); + } + + /** + * 状态修改 + */ + @PutMapping("/changeIncomeStatus") + public AjaxResult changeIncomeStatus(@RequestBody QcCheckReportIncome qcCheckReportIncome) { + qcCheckReportIncome.setUpdateBy(SecurityUtils.getUsername()); + qcCheckReportIncome.setUpdateTime(DateUtils.getNowDate()); + return toAjax(qcCheckReportProduceService.updateIncomeStatus(qcCheckReportIncome)); + } + + /** + * 检验项目弹窗列表 + * @param + * @return + */ + @GetMapping("/getCkeckProjectList") + public TableDataInfo getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail) { + startPage(); + List list = qcCheckReportProduceService.getCkeckProjectList(qcCheckTaskDetail); + return getDataTable(list); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProductController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProductController.java new file mode 100644 index 000000000..2c097d628 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProductController.java @@ -0,0 +1,186 @@ +package com.op.quality.controller; + +import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.poi.ExcelUtil; +import com.op.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.core.web.page.TableDataInfo; +import com.op.common.log.annotation.Log; +import com.op.common.log.enums.BusinessType; +import com.op.common.security.annotation.RequiresPermissions; +import com.op.common.security.utils.SecurityUtils; +import com.op.quality.domain.QcBomComponent; +import com.op.quality.domain.QcCheckReportIncome; +import com.op.quality.domain.QcCheckTaskDetail; +import com.op.quality.domain.QcSupplier; +import com.op.quality.service.IQcCheckReportProductService; +import com.op.system.api.domain.SysUser; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.List; + +/** + * 来料检验Controller + * + * @author Open Platform + * @date 2023-10-19 + */ +@RestController +@RequestMapping("/qcProductReport") +public class QcCheckReportProductController extends BaseController { + @Autowired + private IQcCheckReportProductService qcCheckReportProductService; + + /** + * 查询来料检验列表 + */ + @RequiresPermissions("quality:productReport:list") + @GetMapping("/list") + public TableDataInfo list(QcCheckReportIncome qcCheckReportIncome) { + + //默认时间范围T 00:00:00~T+1 00:00:00 + if(StringUtils.isEmpty(qcCheckReportIncome.getIncomeTimeStart())){ + qcCheckReportIncome.setIncomeTimeStart(DateUtils.getDate()+" 00:00:00");//start + LocalDate date = LocalDate.now(); + LocalDate dateEnd = date.plusDays(1); + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String dateEndStr = dtf.format(dateEnd)+" 00:00:00"; + qcCheckReportIncome.setIncomeTimeEnd(dateEndStr);//end + } + +// if(StringUtils.isEmpty(qcCheckReportIncome.getCheckTimeStart())){ +// qcCheckReportIncome.setCheckTimeStart(qcCheckReportIncome.getIncomeTimeStart());//start +// qcCheckReportIncome.setCheckTimeEnd(qcCheckReportIncome.getIncomeTimeStart());//end +// } + + startPage(); + List list = qcCheckReportProductService.selectQcCheckReportIncomeList(qcCheckReportIncome); + return getDataTable(list); + } + + /** + * 导出来料检验列表 + */ + @RequiresPermissions("quality:productReport:export") + @Log(title = "来料检验", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, QcCheckReportIncome qcCheckReportIncome) { + + //默认时间范围T 00:00:00~T+1 00:00:00 + if(StringUtils.isEmpty(qcCheckReportIncome.getIncomeTimeStart())){ + qcCheckReportIncome.setIncomeTimeStart(DateUtils.getDate()+" 00:00:00");//start + LocalDate date = LocalDate.now(); + LocalDate dateEnd = date.plusDays(1); + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String dateEndStr = dtf.format(dateEnd)+" 00:00:00"; + qcCheckReportIncome.setIncomeTimeEnd(dateEndStr);//end + } + +// if(StringUtils.isEmpty(qcCheckReportIncome.getCheckTimeStart())){ +// qcCheckReportIncome.setCheckTimeStart(qcCheckReportIncome.getIncomeTimeStart());//start +// qcCheckReportIncome.setCheckTimeEnd(qcCheckReportIncome.getIncomeTimeStart());//end +// } + + List list = qcCheckReportProductService.selectQcCheckReportIncomeList(qcCheckReportIncome); + ExcelUtil util = new ExcelUtil(QcCheckReportIncome.class); + util.exportExcel(response, list, "来料检验数据"); + } + + /** + * 获取来料检验详细信息 + */ + @RequiresPermissions("quality:productReport:query") + @GetMapping(value = "/{recordId}") + public AjaxResult getInfo(@PathVariable("recordId") String recordId) { + return success(qcCheckReportProductService.selectQcCheckReportIncomeByRecordId(recordId)); + } + + /** + * 新增来料检验 + */ + @RequiresPermissions("quality:productReport:add") + @Log(title = "来料检验", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody QcCheckReportIncome qcCheckReportIncome) { + int r = qcCheckReportProductService.insertQcCheckReportIncome(qcCheckReportIncome); + if(r>0){ + return toAjax(r); + } + return error("添加失败:请检查物料的关联检测项"); + } + + /** + * 修改来料检验 + */ + @RequiresPermissions("quality:productReport:edit") + @Log(title = "来料检验", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody QcCheckReportIncome qcCheckReportIncome) { + return toAjax(qcCheckReportProductService.updateQcCheckReportIncome(qcCheckReportIncome)); + } + + /** + * 删除来料检验 + */ + @RequiresPermissions("quality:productReport:remove") + @Log(title = "来料检验", businessType = BusinessType.DELETE) + @DeleteMapping("/{recordIds}") + public AjaxResult remove(@PathVariable String[] recordIds) { + return toAjax(qcCheckReportProductService.deleteQcCheckReportIncomeByRecordIds(recordIds)); + } + + /** + * 查询BOM物料管理列表 + */ + @GetMapping("/getQcListBom") + public TableDataInfo getQcListBom(QcBomComponent bomComponent) { + startPage(); + List list = qcCheckReportProductService.getQcListBom(bomComponent); + return getDataTable(list); + } + /** + * 查询供应商列表 + */ + @GetMapping("/getQcListSupplier") + public TableDataInfo getQcListSupplier(QcSupplier qcSupplier) { + startPage(); + List list = qcCheckReportProductService.getQcListSupplier(qcSupplier); + return getDataTable(list); + } + /** + * 查询人员列表 + */ + @GetMapping("/getQcListUser") + public TableDataInfo getQcListUser(SysUser sysUser) { + startPage(); + List list = qcCheckReportProductService.getQcListUser(sysUser); + return getDataTable(list); + } + + /** + * 状态修改 + */ + @PutMapping("/changeIncomeStatus") + public AjaxResult changeIncomeStatus(@RequestBody QcCheckReportIncome qcCheckReportIncome) { + qcCheckReportIncome.setUpdateBy(SecurityUtils.getUsername()); + qcCheckReportIncome.setUpdateTime(DateUtils.getNowDate()); + return toAjax(qcCheckReportProductService.updateIncomeStatus(qcCheckReportIncome)); + } + + /** + * 检验项目弹窗列表 + * @param + * @return + */ + @GetMapping("/getCkeckProjectList") + public TableDataInfo getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail) { + startPage(); + List list = qcCheckReportProductService.getCkeckProjectList(qcCheckTaskDetail); + return getDataTable(list); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java new file mode 100644 index 000000000..d5edb2a2c --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java @@ -0,0 +1,72 @@ +package com.op.quality.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +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.op.common.log.annotation.Log; +import com.op.common.log.enums.BusinessType; +import com.op.common.security.annotation.RequiresPermissions; +import com.op.quality.domain.QcStaticTable; +import com.op.quality.service.IQcStaticTableService; +import com.op.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.core.utils.poi.ExcelUtil; +import com.op.common.core.web.page.TableDataInfo; + +/** + * 质量系统报Controller + * + * @author Open Platform + * @date 2023-11-08 + */ +@RestController +@RequestMapping("/staticTable") +public class QcStaticTableController extends BaseController { + @Autowired + private IQcStaticTableService qcStaticTableService; + + /** + * 来料质量报表 + */ + @RequiresPermissions("quality:qcTableIncome:list") + @GetMapping("/getIncomeTableList") + public TableDataInfo getIncomeTableList(QcStaticTable qcStaticTable) { + startPage(); + List list = qcStaticTableService.selectQcStaticTableList(qcStaticTable); + return getDataTable(list); + } + @RequiresPermissions("quality:qcTableIncome:list") + @Log(title = "质量系统报", businessType = BusinessType.EXPORT) + @PostMapping("/exportIncomeTableList") + public void exportIncomeTableList(HttpServletResponse response, QcStaticTable qcStaticTable) { + List list = qcStaticTableService.selectQcStaticTableList(qcStaticTable); + ExcelUtil util = new ExcelUtil(QcStaticTable.class); + util.exportExcel(response, list, "质量系统报数据"); + } + /** + * 生产过程质量报表 + */ + @RequiresPermissions("quality:gcTableProduce:list") + @GetMapping("/getProduceTableList") + public TableDataInfo getProduceList(QcStaticTable qcStaticTable) { + startPage(); + List list = qcStaticTableService.selectQcStaticTableList(qcStaticTable); + return getDataTable(list); + } + @RequiresPermissions("quality:gcTableProduce:list") + @Log(title = "质量系统报", businessType = BusinessType.EXPORT) + @PostMapping("/exportTableList") + public void exportTableList(HttpServletResponse response, QcStaticTable qcStaticTable) { + List list = qcStaticTableService.selectQcStaticTableList(qcStaticTable); + ExcelUtil util = new ExcelUtil(QcStaticTable.class); + util.exportExcel(response, list, "质量系统报数据"); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java index b63b4cb21..b1a4176c8 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java @@ -91,7 +91,7 @@ public class QuaController extends BaseController { /**创建生产过程(烘房 首检)检验*/ @PostMapping(value = "createCheckProduceTask") public AjaxResult createCheckProduceTask(@RequestBody QcCheckTaskProduce qcCheckTaskProduce) { - if(StringUtils.isBlank(qcCheckTaskProduce.getBatchNo())){ + if(StringUtils.isBlank(qcCheckTaskProduce.getIncomeBatchNo())){ return error("[batchNo]不能为空"); } @@ -122,8 +122,8 @@ public class QuaController extends BaseController { /**创建成品入库检验*/ @PostMapping(value = "createCheckProductTask") public AjaxResult createCheckProductTask(@RequestBody QcCheckTaskWarehousing qcCheckTaskWarehousing) { - if(StringUtils.isBlank(qcCheckTaskWarehousing.getBatchNo())){ - return error("[batchNo]不能为空"); + if(StringUtils.isBlank(qcCheckTaskWarehousing.getIncomeBatchNo())){ + return error("[incomeBatchNo]不能为空"); } if(StringUtils.isBlank(qcCheckTaskWarehousing.getOrderNo())){ diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java index af6b94417..c52725762 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java @@ -119,8 +119,8 @@ public class QcCheckReportIncome extends BaseEntity { private String incomeTimeEnd; private String checkTimeStart; private String checkTimeEnd; - private String typeCode; - private String checkType; + private String typeCode;//大类 + private String checkType;//小类 public String getCheckType() { diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskProduce.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskProduce.java index 6fbc6f004..21e447749 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskProduce.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskProduce.java @@ -26,7 +26,15 @@ public class QcCheckTaskProduce extends BaseEntity { /** 批次号 */ @Excel(name = "批次号") - private String batchNo; + private String incomeBatchNo; + + public String getIncomeBatchNo() { + return incomeBatchNo; + } + + public void setIncomeBatchNo(String incomeBatchNo) { + this.incomeBatchNo = incomeBatchNo; + } /** 订单号 */ @Excel(name = "订单号") @@ -117,9 +125,17 @@ public class QcCheckTaskProduce extends BaseEntity { private String incomeTimeEnd; private String checkTimeStart; private String checkTimeEnd; - + private String typeCode; private String checkType; + public String getTypeCode() { + return typeCode; + } + + public void setTypeCode(String typeCode) { + this.typeCode = typeCode; + } + public String getCheckType() { return checkType; } @@ -174,13 +190,7 @@ public class QcCheckTaskProduce extends BaseEntity { public String getCheckNo() { return checkNo; } - public void setBatchNo(String batchNo) { - this.batchNo = batchNo; - } - public String getBatchNo() { - return batchNo; - } public void setOrderNo(String orderNo) { this.orderNo = orderNo; } @@ -338,7 +348,7 @@ public class QcCheckTaskProduce extends BaseEntity { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("recordId", getRecordId()) .append("checkNo", getCheckNo()) - .append("batchNo", getBatchNo()) + .append("incomeBatchNo", getIncomeBatchNo()) .append("orderNo", getOrderNo()) .append("materialCode", getMaterialCode()) .append("materialName", getMaterialName()) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskWarehousing.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskWarehousing.java index 0f1b61423..d75d4a5e0 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskWarehousing.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskWarehousing.java @@ -26,7 +26,7 @@ public class QcCheckTaskWarehousing extends BaseEntity { /** 批次号 */ @Excel(name = "批次号") - private String batchNo; + private String incomeBatchNo; /** 订单号 */ @Excel(name = "订单号") @@ -182,13 +182,7 @@ public class QcCheckTaskWarehousing extends BaseEntity { public String getCheckNo() { return checkNo; } - public void setBatchNo(String batchNo) { - this.batchNo = batchNo; - } - public String getBatchNo() { - return batchNo; - } public void setOrderNo(String orderNo) { this.orderNo = orderNo; } @@ -337,12 +331,20 @@ public class QcCheckTaskWarehousing extends BaseEntity { return delFlag; } + public String getIncomeBatchNo() { + return incomeBatchNo; + } + + public void setIncomeBatchNo(String incomeBatchNo) { + this.incomeBatchNo = incomeBatchNo; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("recordId", getRecordId()) .append("checkNo", getCheckNo()) - .append("batchNo", getBatchNo()) + .append("incomeBatchNo", getIncomeBatchNo()) .append("orderNo", getOrderNo()) .append("materialCode", getMaterialCode()) .append("materialName", getMaterialName()) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java new file mode 100644 index 000000000..742f7b0b3 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java @@ -0,0 +1,123 @@ +package com.op.quality.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; + +/** + * 质量系统报对象 qc_static_table + * + * @author Open Platform + * @date 2023-11-08 + */ +public class QcStaticTable extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** ID */ + private String id; + + /** 文件名称 */ + @Excel(name = "文件名称") + private String fileName; + + /** 文件地址 */ + @Excel(name = "文件地址") + private String fileAddress; + + /** 版本号 */ + @Excel(name = "版本号") + private String version; + + /** 备用1 */ + @Excel(name = "备用1") + private String attr1; + + /** 备用2 */ + @Excel(name = "备用2") + private String attr2; + + /** 备用3 */ + @Excel(name = "备用3") + private String attr3; + + /** 备用4 */ + @Excel(name = "备用4") + private String attr4; + + public void setId(String id) { + this.id = id; + } + + public String getId() { + return id; + } + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileName() { + return fileName; + } + public void setFileAddress(String fileAddress) { + this.fileAddress = fileAddress; + } + + public String getFileAddress() { + return fileAddress; + } + public void setVersion(String version) { + this.version = version; + } + + public String getVersion() { + return version; + } + public void setAttr1(String attr1) { + this.attr1 = attr1; + } + + public String getAttr1() { + return attr1; + } + public void setAttr2(String attr2) { + this.attr2 = attr2; + } + + public String getAttr2() { + return attr2; + } + public void setAttr3(String attr3) { + this.attr3 = attr3; + } + + public String getAttr3() { + return attr3; + } + public void setAttr4(String attr4) { + this.attr4 = attr4; + } + + public String getAttr4() { + return attr4; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("fileName", getFileName()) + .append("fileAddress", getFileAddress()) + .append("version", getVersion()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java new file mode 100644 index 000000000..29c1483d6 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java @@ -0,0 +1,25 @@ +package com.op.quality.mapper; + +import java.util.List; + +import com.op.quality.domain.QcStaticTable; +import org.apache.ibatis.annotations.Mapper; + +/** + * 质量系统报Mapper接口 + * + * @author Open Platform + * @date 2023-11-08 + */ +@Mapper +public interface QcStaticTableMapper { + + /** + * 查询质量系统报列表 + * + * @param qcStaticTable 质量系统报 + * @return 质量系统报集合 + */ + public List selectQcStaticTableList(QcStaticTable qcStaticTable); + +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportProduceService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportProduceService.java new file mode 100644 index 000000000..d3adf69af --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportProduceService.java @@ -0,0 +1,77 @@ +package com.op.quality.service; + +import com.op.quality.domain.QcBomComponent; +import com.op.quality.domain.QcCheckReportIncome; +import com.op.quality.domain.QcCheckTaskDetail; +import com.op.quality.domain.QcSupplier; +import com.op.system.api.domain.SysUser; + +import java.util.List; + +/** + * 生产过程报告Service接口 + * + * @author Open Platform + * @date 2023-10-19 + */ +public interface IQcCheckReportProduceService { + /** + * 查询生产过程报告 + * + * @param recordId 生产过程报告主键 + * @return 生产过程检验 + */ + public QcCheckReportIncome selectQcCheckReportIncomeByRecordId(String recordId); + + /** + * 查询生产过程报告列表 + * + * @param qcCheckReportIncome 生产过程报告 + * @return 生产过程检验集合 + */ + public List selectQcCheckReportIncomeList(QcCheckReportIncome qcCheckReportIncome); + + /** + * 新增生产过程报告 + * + * @param qcCheckReportIncome 生产过程报告 + * @return 结果 + */ + public int insertQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome); + + /** + * 修改生产过程报告 + * + * @param qcCheckReportIncome 生产过程报告 + * @return 结果 + */ + public int updateQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome); + + /** + * 批量删除生产过程报告 + * + * @param recordIds 需要删除的生产过程报告主键集合 + * @return 结果 + */ + public int deleteQcCheckReportIncomeByRecordIds(String[] recordIds); + + /** + * 删除生产过程报告信息 + * + * @param recordId 生产过程报告主键 + * @return 结果 + */ + public int deleteQcCheckReportIncomeByRecordId(String recordId); + + public List getQcListBom(QcBomComponent bomComponent); + + public List getQcListSupplier(QcSupplier qcSupplier); + + public List getQcListUser(SysUser sysUser); + + int updateIncomeStatus(QcCheckReportIncome qcCheckReportIncome); + + List getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail); + + public List getPrintData(QcCheckReportIncome qcCheckReportIncome); +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportProductService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportProductService.java new file mode 100644 index 000000000..136def0c2 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportProductService.java @@ -0,0 +1,77 @@ +package com.op.quality.service; + +import com.op.quality.domain.QcBomComponent; +import com.op.quality.domain.QcCheckReportIncome; +import com.op.quality.domain.QcCheckTaskDetail; +import com.op.quality.domain.QcSupplier; +import com.op.system.api.domain.SysUser; + +import java.util.List; + +/** + * 成品入库报告Service接口 + * + * @author Open Platform + * @date 2023-10-19 + */ +public interface IQcCheckReportProductService { + /** + * 查询成品入库报告 + * + * @param recordId 成品入库报告主键 + * @return 成品入库检验 + */ + public QcCheckReportIncome selectQcCheckReportIncomeByRecordId(String recordId); + + /** + * 查询成品入库报告列表 + * + * @param qcCheckReportIncome 成品入库报告 + * @return 成品入库检验集合 + */ + public List selectQcCheckReportIncomeList(QcCheckReportIncome qcCheckReportIncome); + + /** + * 新增成品入库报告 + * + * @param qcCheckReportIncome 成品入库报告 + * @return 结果 + */ + public int insertQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome); + + /** + * 修改成品入库报告 + * + * @param qcCheckReportIncome 成品入库报告 + * @return 结果 + */ + public int updateQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome); + + /** + * 批量删除成品入库报告 + * + * @param recordIds 需要删除的成品入库报告主键集合 + * @return 结果 + */ + public int deleteQcCheckReportIncomeByRecordIds(String[] recordIds); + + /** + * 删除成品入库报告信息 + * + * @param recordId 成品入库报告主键 + * @return 结果 + */ + public int deleteQcCheckReportIncomeByRecordId(String recordId); + + public List getQcListBom(QcBomComponent bomComponent); + + public List getQcListSupplier(QcSupplier qcSupplier); + + public List getQcListUser(SysUser sysUser); + + int updateIncomeStatus(QcCheckReportIncome qcCheckReportIncome); + + List getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail); + + public List getPrintData(QcCheckReportIncome qcCheckReportIncome); +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java new file mode 100644 index 000000000..964656039 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java @@ -0,0 +1,22 @@ +package com.op.quality.service; + +import java.util.List; +import com.op.quality.domain.QcStaticTable; + +/** + * 质量系统报Service接口 + * + * @author Open Platform + * @date 2023-11-08 + */ +public interface IQcStaticTableService { + + /** + * 查询质量系统报列表 + * + * @param qcStaticTable 质量系统报 + * @return 质量系统报集合 + */ + public List selectQcStaticTableList(QcStaticTable qcStaticTable); + +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java index aa4c805ad..4bff73859 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java @@ -74,6 +74,7 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService { @DS("#header.poolName") public List selectQcCheckTaskIncomeList(QcCheckTaskIncome qcCheckTaskIncome) { qcCheckTaskIncome.setDelFlag("0"); + qcCheckTaskIncome.setTypeCode("material"); return qcCheckTaskIncomeMapper.selectQcCheckTaskIncomeList(qcCheckTaskIncome); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskProduceServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskProduceServiceImpl.java index c8b075ccc..bfaaa7a7d 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskProduceServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskProduceServiceImpl.java @@ -68,6 +68,7 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService @DS("#header.poolName") public List selectQcCheckTaskProduceList(QcCheckTaskProduce qcCheckTaskProduce) { qcCheckTaskProduce.setDelFlag("0"); + qcCheckTaskProduce.setTypeCode("produce"); return qcCheckTaskProduceMapper.selectQcCheckTaskProduceList(qcCheckTaskProduce); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java index 95a810f31..dddd4200d 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java @@ -69,6 +69,7 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin @DS("#header.poolName") public List selectQcCheckTaskWarehousingList(QcCheckTaskWarehousing qcCheckTaskWarehousing) { qcCheckTaskWarehousing.setDelFlag("0"); + qcCheckTaskWarehousing.setTypeCode("product"); return qcCheckTaskWarehousingMapper.selectQcCheckTaskWarehousingList(qcCheckTaskWarehousing); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java new file mode 100644 index 000000000..b9621b4d6 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java @@ -0,0 +1,36 @@ +package com.op.quality.service.impl; + +import java.util.List; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.op.quality.mapper.QcStaticTableMapper; +import com.op.quality.domain.QcStaticTable; +import com.op.quality.service.IQcStaticTableService; + +/** + * 质量系统报Service业务层处理 + * + * @author Open Platform + * @date 2023-11-08 + */ +@Service +public class QcStaticTableServiceImpl implements IQcStaticTableService { + @Autowired + private QcStaticTableMapper qcStaticTableMapper; + + /** + * 查询质量系统报列表 + * + * @param qcStaticTable 质量系统报 + * @return 质量系统报 + */ + @Override + @DS("#header.poolName") + public List selectQcStaticTableList(QcStaticTable qcStaticTable) { + return qcStaticTableMapper.selectQcStaticTableList(qcStaticTable); + } + +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckReportIncomeServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckReportIncomeServiceImpl.java index d60f42835..aa75c98fc 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckReportIncomeServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckReportIncomeServiceImpl.java @@ -61,6 +61,7 @@ public class QcCheckReportIncomeServiceImpl implements IQcCheckReportIncomeServi @DS("#header.poolName") public List selectQcCheckReportIncomeList(QcCheckReportIncome qcCheckReportIncome) { qcCheckReportIncome.setDelFlag("0"); + qcCheckReportIncome.setTypeCode("material"); return qcCheckReportIncomeMapper.selectQcCheckReportIncomeList(qcCheckReportIncome); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckReportProduceServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckReportProduceServiceImpl.java new file mode 100644 index 000000000..45ea3f41c --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckReportProduceServiceImpl.java @@ -0,0 +1,204 @@ +package com.op.quality.service.serviceImpl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.uuid.IdUtils; +import com.op.common.security.utils.SecurityUtils; +import com.op.quality.domain.*; +import com.op.quality.mapper.QcCheckReportIncomeMapper; +import com.op.quality.mapper.QcCheckTaskDetailMapper; +import com.op.quality.mapper.QcCheckTypeProjectMapper; +import com.op.quality.mapper.QcMaterialGroupDetailMapper; +import com.op.quality.service.IQcCheckReportProduceService; +import com.op.system.api.domain.SysUser; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; +import java.util.Date; +import java.util.List; + +/** + * 来生产过程中验Service业务层处理 + * + * @author Open Platform + * @date 2023-10-19 + */ +@Service +public class QcCheckReportProduceServiceImpl implements IQcCheckReportProduceService { + @Autowired + private QcCheckReportIncomeMapper qcCheckReportIncomeMapper; + + @Autowired + private QcCheckTypeProjectMapper qcCheckTypeProjectMapper; + + @Autowired + private QcMaterialGroupDetailMapper qcMaterialGroupDetailMapper; + + @Autowired + private QcCheckTaskDetailMapper qcCheckTaskDetailMapper; + + /** + * 查询来生产过程中验 + * + * @param recordId 来生产过程中验主键 + * @return 来生产过程中验 + */ + @Override + @DS("#header.poolName") + public QcCheckReportIncome selectQcCheckReportIncomeByRecordId(String recordId) { + return qcCheckReportIncomeMapper.selectQcCheckReportIncomeByRecordId(recordId); + } + + /** + * 查询来生产过程中验列表 + * + * @param qcCheckReportIncome 来生产过程中验 + * @return 来生产过程中验 + */ + @Override + @DS("#header.poolName") + public List selectQcCheckReportIncomeList(QcCheckReportIncome qcCheckReportIncome) { + qcCheckReportIncome.setDelFlag("0"); + qcCheckReportIncome.setTypeCode("produce"); + return qcCheckReportIncomeMapper.selectQcCheckReportIncomeList(qcCheckReportIncome); + } + + /** + * 新增来生产过程中验 + * + * @param qcCheckReportIncome 来生产过程中验 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int insertQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome) { + + String bpDD = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, DateUtils.getNowDate()); + int liushuiNum = qcCheckReportIncomeMapper.getTodayMaxNum(qcCheckReportIncome); + String liushuiStr = String.format("%04d", liushuiNum); + + String createBy = SecurityUtils.getUsername(); + Date nowDate= DateUtils.getNowDate(); + //获取当前所选工厂 + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + String factoryCode = request.getHeader(key.substring(8)).replace("ds_",""); + + qcCheckReportIncome.setCheckNo(bpDD+liushuiStr); + + /**qc_check_task_income**/ + String beLongId = IdUtils.fastSimpleUUID(); + qcCheckReportIncome.setRecordId(beLongId); + qcCheckReportIncome.setFactoryCode(factoryCode); + qcCheckReportIncome.setCreateTime(nowDate); + qcCheckReportIncomeMapper.insertQcCheckReportIncome(qcCheckReportIncome); + + /**取检测项**/ + QcCheckTypeProject qctp= new QcCheckTypeProject(); + qctp.setTypeId(qcCheckReportIncome.getCheckType());//生产过程检验 + qctp.setMaterialCode(qcCheckReportIncome.getMaterialCode());//特性 + /**qc_check_type_project**/ + List items = qcCheckTypeProjectMapper.getTPByTypeMaterial(qctp); + if(CollectionUtils.isEmpty(items)){ + /**qc_material_group_detail**/ + QcMaterialGroupDetail group = qcMaterialGroupDetailMapper.getGroupByMaterial(qcCheckReportIncome.getMaterialCode()); + if(group == null){ + return 0;//没有找到检测项目 + } + qctp.setGroupId(group.getGroupId());//共性 + items = qcCheckTypeProjectMapper.getTPByTypeGroup(qctp); + } + + /**qc_check_task_detail**/ + if(CollectionUtils.isEmpty(items)){ + return 0;//没有找到检测项目 + } + + for(QcCheckTaskDetail item:items){ + item.setRecordId(IdUtils.fastSimpleUUID()); + item.setBelongTo(beLongId); + item.setCreateTime(nowDate); + item.setCreateBy(createBy); + item.setFactoryCode(factoryCode); + item.setStatus("N"); + } + return qcCheckTaskDetailMapper.addBatch(items); + } + + /** + * 修改来生产过程中验 + * + * @param qcCheckReportIncome 来生产过程中验 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int updateQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome) { + qcCheckReportIncome.setUpdateTime(DateUtils.getNowDate()); + return qcCheckReportIncomeMapper.updateQcCheckReportIncome(qcCheckReportIncome); + } + + /** + * 批量删除来生产过程中验 + * + * @param recordIds 需要删除的来生产过程中验主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteQcCheckReportIncomeByRecordIds(String[] recordIds) { + return qcCheckReportIncomeMapper.deleteQcCheckReportIncomeByRecordIds(recordIds); + } + + /** + * 删除来生产过程中验信息 + * + * @param recordId 来生产过程中验主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteQcCheckReportIncomeByRecordId(String recordId) { + return qcCheckReportIncomeMapper.deleteQcCheckReportIncomeByRecordId(recordId); + } + + @Override + @DS("#header.poolName") + public List getQcListBom(QcBomComponent bomComponent) { + return qcCheckReportIncomeMapper.getQcListBom(bomComponent); + } + + @Override + @DS("#header.poolName") + public List getQcListSupplier(QcSupplier qcSupplier) { + return qcCheckReportIncomeMapper.getQcListSupplier(qcSupplier); + } + + //在公共库里不需要切库 + @Override + public List getQcListUser(SysUser sysUser) { + return qcCheckReportIncomeMapper.getQcListUser(sysUser); + } + + @Override + @DS("#header.poolName") + public int updateIncomeStatus(QcCheckReportIncome qcCheckReportIncome) { + return qcCheckReportIncomeMapper.updateQcCheckReportIncome(qcCheckReportIncome); + } + + @Override + @DS("#header.poolName") + public List getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail) { + return qcCheckReportIncomeMapper.getCkeckProjectList(qcCheckTaskDetail); + } + + @Override + public List getPrintData(QcCheckReportIncome qcCheckReportIncome) { + return null; + } + +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckReportProductServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckReportProductServiceImpl.java new file mode 100644 index 000000000..f415b74c7 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckReportProductServiceImpl.java @@ -0,0 +1,204 @@ +package com.op.quality.service.serviceImpl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.uuid.IdUtils; +import com.op.common.security.utils.SecurityUtils; +import com.op.quality.domain.*; +import com.op.quality.mapper.QcCheckReportIncomeMapper; +import com.op.quality.mapper.QcCheckTaskDetailMapper; +import com.op.quality.mapper.QcCheckTypeProjectMapper; +import com.op.quality.mapper.QcMaterialGroupDetailMapper; +import com.op.quality.service.IQcCheckReportProductService; +import com.op.system.api.domain.SysUser; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; +import java.util.Date; +import java.util.List; + +/** + * 来料检验Service业务层处理 + * + * @author Open Platform + * @date 2023-10-19 + */ +@Service +public class QcCheckReportProductServiceImpl implements IQcCheckReportProductService { + @Autowired + private QcCheckReportIncomeMapper qcCheckReportIncomeMapper; + + @Autowired + private QcCheckTypeProjectMapper qcCheckTypeProjectMapper; + + @Autowired + private QcMaterialGroupDetailMapper qcMaterialGroupDetailMapper; + + @Autowired + private QcCheckTaskDetailMapper qcCheckTaskDetailMapper; + + /** + * 查询来料检验 + * + * @param recordId 来料检验主键 + * @return 来料检验 + */ + @Override + @DS("#header.poolName") + public QcCheckReportIncome selectQcCheckReportIncomeByRecordId(String recordId) { + return qcCheckReportIncomeMapper.selectQcCheckReportIncomeByRecordId(recordId); + } + + /** + * 查询来料检验列表 + * + * @param qcCheckReportIncome 来料检验 + * @return 来料检验 + */ + @Override + @DS("#header.poolName") + public List selectQcCheckReportIncomeList(QcCheckReportIncome qcCheckReportIncome) { + qcCheckReportIncome.setDelFlag("0"); + qcCheckReportIncome.setTypeCode("product"); + return qcCheckReportIncomeMapper.selectQcCheckReportIncomeList(qcCheckReportIncome); + } + + /** + * 新增来料检验 + * + * @param qcCheckReportIncome 来料检验 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int insertQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome) { + + String bpDD = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, DateUtils.getNowDate()); + int liushuiNum = qcCheckReportIncomeMapper.getTodayMaxNum(qcCheckReportIncome); + String liushuiStr = String.format("%04d", liushuiNum); + + String createBy = SecurityUtils.getUsername(); + Date nowDate= DateUtils.getNowDate(); + //获取当前所选工厂 + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + String factoryCode = request.getHeader(key.substring(8)).replace("ds_",""); + + qcCheckReportIncome.setCheckNo(bpDD+liushuiStr); + + /**qc_check_task_income**/ + String beLongId = IdUtils.fastSimpleUUID(); + qcCheckReportIncome.setRecordId(beLongId); + qcCheckReportIncome.setFactoryCode(factoryCode); + qcCheckReportIncome.setCreateTime(nowDate); + qcCheckReportIncomeMapper.insertQcCheckReportIncome(qcCheckReportIncome); + + /**取检测项**/ + QcCheckTypeProject qctp= new QcCheckTypeProject(); + qctp.setTypeId(qcCheckReportIncome.getCheckType());//生产过程检验 + qctp.setMaterialCode(qcCheckReportIncome.getMaterialCode());//特性 + /**qc_check_type_project**/ + List items = qcCheckTypeProjectMapper.getTPByTypeMaterial(qctp); + if(CollectionUtils.isEmpty(items)){ + /**qc_material_group_detail**/ + QcMaterialGroupDetail group = qcMaterialGroupDetailMapper.getGroupByMaterial(qcCheckReportIncome.getMaterialCode()); + if(group == null){ + return 0;//没有找到检测项目 + } + qctp.setGroupId(group.getGroupId());//共性 + items = qcCheckTypeProjectMapper.getTPByTypeGroup(qctp); + } + + /**qc_check_task_detail**/ + if(CollectionUtils.isEmpty(items)){ + return 0;//没有找到检测项目 + } + + for(QcCheckTaskDetail item:items){ + item.setRecordId(IdUtils.fastSimpleUUID()); + item.setBelongTo(beLongId); + item.setCreateTime(nowDate); + item.setCreateBy(createBy); + item.setFactoryCode(factoryCode); + item.setStatus("N"); + } + return qcCheckTaskDetailMapper.addBatch(items); + } + + /** + * 修改来料检验 + * + * @param qcCheckReportIncome 来料检验 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int updateQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome) { + qcCheckReportIncome.setUpdateTime(DateUtils.getNowDate()); + return qcCheckReportIncomeMapper.updateQcCheckReportIncome(qcCheckReportIncome); + } + + /** + * 批量删除来料检验 + * + * @param recordIds 需要删除的来料检验主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteQcCheckReportIncomeByRecordIds(String[] recordIds) { + return qcCheckReportIncomeMapper.deleteQcCheckReportIncomeByRecordIds(recordIds); + } + + /** + * 删除来料检验信息 + * + * @param recordId 来料检验主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteQcCheckReportIncomeByRecordId(String recordId) { + return qcCheckReportIncomeMapper.deleteQcCheckReportIncomeByRecordId(recordId); + } + + @Override + @DS("#header.poolName") + public List getQcListBom(QcBomComponent bomComponent) { + return qcCheckReportIncomeMapper.getQcListBom(bomComponent); + } + + @Override + @DS("#header.poolName") + public List getQcListSupplier(QcSupplier qcSupplier) { + return qcCheckReportIncomeMapper.getQcListSupplier(qcSupplier); + } + + //在公共库里不需要切库 + @Override + public List getQcListUser(SysUser sysUser) { + return qcCheckReportIncomeMapper.getQcListUser(sysUser); + } + + @Override + @DS("#header.poolName") + public int updateIncomeStatus(QcCheckReportIncome qcCheckReportIncome) { + return qcCheckReportIncomeMapper.updateQcCheckReportIncome(qcCheckReportIncome); + } + + @Override + @DS("#header.poolName") + public List getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail) { + return qcCheckReportIncomeMapper.getCkeckProjectList(qcCheckTaskDetail); + } + + @Override + public List getPrintData(QcCheckReportIncome qcCheckReportIncome) { + return null; + } + +} diff --git a/op-modules/op-quality/src/main/resources/bootstrap.yml b/op-modules/op-quality/src/main/resources/bootstrap.yml index d9eea330a..b73385328 100644 --- a/op-modules/op-quality/src/main/resources/bootstrap.yml +++ b/op-modules/op-quality/src/main/resources/bootstrap.yml @@ -16,12 +16,12 @@ spring: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 config: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml index bc241d47f..ccd11f365 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml @@ -36,39 +36,41 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select record_id, check_no, income_batch_no, order_no, material_code, material_name, quality, unit, supplier_code, supplier_name, income_time, check_loc, check_status, check_man_code, check_man_name, check_time, check_result, status, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time, factory_code, del_flag from qc_check_task + select record_id, check_no, income_batch_no, order_no, material_code, material_name, quality, unit, + supplier_code, supplier_name, income_time, check_loc, check_status, check_man_code, check_man_name, + check_time, check_result, status, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time, + factory_code, del_flag from qc_check_task diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml index 5e8e7fa5c..bb18a8d59 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml @@ -45,36 +45,37 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml index 4625f31d3..627e7d626 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml @@ -7,7 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -37,7 +37,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select record_id, check_no, batch_no, order_no, material_code, material_name, + select record_id, check_no, income_batch_no, order_no, material_code, material_name, quality, unit, supplier_code, supplier_name, income_time, check_loc, check_status, check_man_code, check_man_name, check_time, check_result, status, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time, @@ -46,36 +46,37 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -107,7 +108,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" record_id, check_no, - batch_no, + income_batch_no, order_no, material_code, material_name, @@ -115,7 +116,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" unit, supplier_code, supplier_name, - income_time, + income_time, check_loc, check_status, check_man_code, @@ -138,7 +139,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{recordId}, #{checkNo}, - #{batchNo}, + #{incomeBatchNo}, #{orderNo}, #{materialCode}, #{materialName}, @@ -146,7 +147,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{unit}, #{supplierCode}, #{supplierName}, - #{produceDate}, + #{incomeTime}, #{checkLoc}, #{checkStatus}, #{checkManCode}, @@ -172,7 +173,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update qc_check_task check_no = #{checkNo}, - batch_no = #{batchNo}, + income_batch_no = #{incomeBatchNo}, order_no = #{orderNo}, material_code = #{materialCode}, material_name = #{materialName}, @@ -180,7 +181,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" unit = #{unit}, supplier_code = #{supplierCode}, supplier_name = #{supplierName}, - income_time = #{produceDate}, + income_time = #{incomeTime}, check_loc = #{checkLoc}, check_status = #{checkStatus}, check_man_code = #{checkManCode}, diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskWarehousingMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskWarehousingMapper.xml index 05e4a7a2a..6def797c1 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskWarehousingMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskWarehousingMapper.xml @@ -7,7 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -37,44 +37,46 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select record_id, check_no, batch_no, order_no, material_code, + select record_id, check_no, income_batch_no, order_no, material_code, material_name, quality, unit, supplier_code, supplier_name, income_time, check_loc, check_status, check_man_code, check_man_name, - check_time, check_result, status, attr1, attr2, attr3, attr4, create_by, - create_time, update_by, update_time, factory_code, del_flag , check_type + check_time, check_result, status, create_by, + create_time, update_by, update_time, check_type from qc_check_task @@ -99,7 +101,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" record_id, check_no, - batch_no, + income_batch_no, order_no, material_code, material_name, @@ -130,7 +132,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{recordId}, #{checkNo}, - #{batchNo}, + #{incomeBatchNo}, #{orderNo}, #{materialCode}, #{materialName}, @@ -164,7 +166,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update qc_check_task check_no = #{checkNo}, - batch_no = #{batchNo}, + income_batch_no = #{incomeBatchNo}, order_no = #{orderNo}, material_code = #{materialCode}, material_name = #{materialName}, diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml new file mode 100644 index 000000000..7d51383b8 --- /dev/null +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/op-modules/op-security/src/main/java/com/op/security/controller/ScadaController.java b/op-modules/op-security/src/main/java/com/op/security/controller/ScadaController.java new file mode 100644 index 000000000..3b420579c --- /dev/null +++ b/op-modules/op-security/src/main/java/com/op/security/controller/ScadaController.java @@ -0,0 +1,46 @@ +package com.op.security.controller; + +import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.StringUtils; +import com.op.common.core.web.controller.BaseController; +import com.op.system.api.domain.dto.WCSDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * mes上位机专属 + * + * @author sf + * @date 2023-05-18 + */ +@RestController +@RequestMapping("/scadaInterface") +public class ScadaController extends BaseController { + + + /** + * 下一工序机台集合获取 + * •接口描述:成型机码垛完、暂存区、WCS 请求 MES 获取目的地集合 + * •触发时机:托盘到达 AGV 接驳口 + * @param + * @return + */ + //"下一工序机台集合获取" + @PostMapping("/requestDestinationStations") + public WCSDTO requestDestinationStations(@RequestBody WCSDTO wcsdto) { + if(StringUtils.isBlank(wcsdto.getFactory())){ + wcsdto.setCode("1"); + wcsdto.setMessage("factory is not null"); + return wcsdto; + } + return null; + } + + + public static void main(String args[]){ + System.out.println(DateUtils.getDate()); + } +} diff --git a/op-modules/op-security/src/main/resources/bootstrap.yml b/op-modules/op-security/src/main/resources/bootstrap.yml index dee981d37..26eba7e2c 100644 --- a/op-modules/op-security/src/main/resources/bootstrap.yml +++ b/op-modules/op-security/src/main/resources/bootstrap.yml @@ -16,12 +16,12 @@ spring: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 config: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/op-modules/op-system/push-system.bat b/op-modules/op-system/push-system.bat new file mode 100644 index 000000000..9f041629f --- /dev/null +++ b/op-modules/op-system/push-system.bat @@ -0,0 +1,41 @@ +@echo off +echo --------------------------------Զǰ޸-------------------------------------- +set jarName=op-modules-system.jar +set profile=dev +set imageURI=192.168.202.36:30002/op-lanju/op-system +rem echo ȡǰַ +for /f "tokens=1,2,3 delims=/- " %%a in ("%date%") do @set D=%%a%%b%%c +rem echo ȡǰʱַ +for /f "tokens=1,2 delims=:." %%a in ("%time%") do @set T=%%a%%b +rem echo 統ǰСʱС10ո滻Ϊ0 +set T=%T: =0% +rem echo ʾʱַ +set imageVersion=%D%%T% +::Ϣ +echo jar:%jarName% +echo :%profile% +echo ַ:%imageURI% +echo 汾:%imageVersion% + +echo --------------------------------mvn package...-------------------------------- +::call mvn clean package -Dmaven.test.skip=true + +cd .\target +SET df=Dockerfile +if exist %df% ( + del /f /s /q .\Dockerfile +) +echo --------------------------------Dockerfile-------------------------------- +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile +echo COPY %jarName% /application.jar >> Dockerfile +echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile +echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile +dir +echo --------------------------------docker login...------------------------------- +docker login 192.168.202.36:30002 -u deploy -p Deploy@2023 +echo --------------------------------docker build...------------------------------- +docker build -t %imageURI%:%imageVersion% . +echo --------------------------------docker push...-------------------------------- +docker push %imageURI%:%imageVersion% +@pause \ No newline at end of file diff --git a/op-modules/op-system/src/main/java/com/op/system/mapper/SysDatasourceMapper.java b/op-modules/op-system/src/main/java/com/op/system/mapper/SysDatasourceMapper.java index a86c4f100..2c444b5a4 100644 --- a/op-modules/op-system/src/main/java/com/op/system/mapper/SysDatasourceMapper.java +++ b/op-modules/op-system/src/main/java/com/op/system/mapper/SysDatasourceMapper.java @@ -75,4 +75,6 @@ public interface SysDatasourceMapper int deleteUserRoleInfos(@Param("datasourceId") String datasourceId, @Param("userIds") Long[] userIds); List selectDBListByDept(SysDatasource qo); + + void deletUserDB(String userCode); } diff --git a/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java index a12e690e4..d9bcfd2a1 100644 --- a/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java +++ b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java @@ -249,6 +249,10 @@ public class SysUserServiceImpl implements ISysUserService { // 新增用户与园区数据源 SysDatasource qo = new SysDatasource(); qo.setDeptId(user.getDeptId());// + + //先删掉 + sysDatasourceMapper.deletUserDB(user.getUserId().toString()); + //再添加 List dbs = sysDatasourceMapper.selectDBListByDept(qo); List list = new ArrayList(); for (SysDatasource db : dbs) { diff --git a/op-modules/op-system/src/main/resources/mapper/system/SysDatasourceMapper.xml b/op-modules/op-system/src/main/resources/mapper/system/SysDatasourceMapper.xml index 574232b08..e1c22cd15 100644 --- a/op-modules/op-system/src/main/resources/mapper/system/SysDatasourceMapper.xml +++ b/op-modules/op-system/src/main/resources/mapper/system/SysDatasourceMapper.xml @@ -188,4 +188,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{userId} + + delete from sys_user_datasource where user_id =#{userCode} + diff --git a/op-modules/op-system/src/main/resources/mapper/system/SysMenuMapper.xml b/op-modules/op-system/src/main/resources/mapper/system/SysMenuMapper.xml index 6381213b7..80e2adebb 100644 --- a/op-modules/op-system/src/main/resources/mapper/system/SysMenuMapper.xml +++ b/op-modules/op-system/src/main/resources/mapper/system/SysMenuMapper.xml @@ -153,7 +153,7 @@ order_num = #{orderNum}, path = #{path}, component = #{component}, - `query` = #{query}, + query = #{query}, is_frame = #{isFrame}, is_cache = #{isCache}, menu_type = #{menuType}, @@ -176,7 +176,7 @@ order_num, path, component, - `query`, + query, is_frame, is_cache, menu_type, diff --git a/op-modules/op-technology/push-technology.bat b/op-modules/op-technology/push-technology.bat new file mode 100644 index 000000000..24eff561d --- /dev/null +++ b/op-modules/op-technology/push-technology.bat @@ -0,0 +1,41 @@ +@echo off +echo --------------------------------Զǰ޸-------------------------------------- +set jarName=op-modules-technology.jar +set profile=dev +set imageURI=192.168.202.36:30002/op-lanju/op-technology +rem echo ȡǰַ +for /f "tokens=1,2,3 delims=/- " %%a in ("%date%") do @set D=%%a%%b%%c +rem echo ȡǰʱַ +for /f "tokens=1,2 delims=:." %%a in ("%time%") do @set T=%%a%%b +rem echo 統ǰСʱС10ո滻Ϊ0 +set T=%T: =0% +rem echo ʾʱַ +set imageVersion=%D%%T% +::Ϣ +echo jar:%jarName% +echo :%profile% +echo ַ:%imageURI% +echo 汾:%imageVersion% + +echo --------------------------------mvn package...-------------------------------- +::call mvn clean package -Dmaven.test.skip=true + +cd .\target +SET df=Dockerfile +if exist %df% ( + del /f /s /q .\Dockerfile +) +echo --------------------------------Dockerfile-------------------------------- +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile +echo COPY %jarName% /application.jar >> Dockerfile +echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile +echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile +dir +echo --------------------------------docker login...------------------------------- +docker login 192.168.202.36:30002 -u deploy -p Deploy@2023 +echo --------------------------------docker build...------------------------------- +docker build -t %imageURI%:%imageVersion% . +echo --------------------------------docker push...-------------------------------- +docker push %imageURI%:%imageVersion% +@pause \ No newline at end of file diff --git a/op-modules/op-technology/src/main/resources/bootstrap.yml b/op-modules/op-technology/src/main/resources/bootstrap.yml index 44f898758..8359972df 100644 --- a/op-modules/op-technology/src/main/resources/bootstrap.yml +++ b/op-modules/op-technology/src/main/resources/bootstrap.yml @@ -16,12 +16,12 @@ spring: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 config: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/op-modules/op-wms/push-wms.bat b/op-modules/op-wms/push-wms.bat new file mode 100644 index 000000000..8e87e6d48 --- /dev/null +++ b/op-modules/op-wms/push-wms.bat @@ -0,0 +1,41 @@ +@echo off +echo --------------------------------Զǰ޸-------------------------------------- +set jarName=op-modules-wms.jar +set profile=dev +set imageURI=192.168.202.36:30002/op-lanju/op-wms +rem echo ȡǰַ +for /f "tokens=1,2,3 delims=/- " %%a in ("%date%") do @set D=%%a%%b%%c +rem echo ȡǰʱַ +for /f "tokens=1,2 delims=:." %%a in ("%time%") do @set T=%%a%%b +rem echo 統ǰСʱС10ո滻Ϊ0 +set T=%T: =0% +rem echo ʾʱַ +set imageVersion=%D%%T% +::Ϣ +echo jar:%jarName% +echo :%profile% +echo ַ:%imageURI% +echo 汾:%imageVersion% + +echo --------------------------------mvn package...-------------------------------- +::call mvn clean package -Dmaven.test.skip=true + +cd .\target +SET df=Dockerfile +if exist %df% ( + del /f /s /q .\Dockerfile +) +echo --------------------------------Dockerfile-------------------------------- +::echo FROM 192.168.202.36:30002/library/openjdk:8u131-jdk-alpine >> Dockerfile +echo FROM 192.168.202.36:30002/library/openjdk:8-sw66>> Dockerfile +echo COPY %jarName% /application.jar >> Dockerfile +echo RUN echo "Asia/Shanghai" ^> /etc/timezone >> Dockerfile +echo CMD ["java", "-jar", "-Dspring.profiles.active=%profile%", "application.jar"] >> Dockerfile +dir +echo --------------------------------docker login...------------------------------- +docker login 192.168.202.36:30002 -u deploy -p Deploy@2023 +echo --------------------------------docker build...------------------------------- +docker build -t %imageURI%:%imageVersion% . +echo --------------------------------docker push...-------------------------------- +docker push %imageURI%:%imageVersion% +@pause \ No newline at end of file diff --git a/op-modules/op-wms/src/main/resources/bootstrap.yml b/op-modules/op-wms/src/main/resources/bootstrap.yml index 1b5bbe0b8..2aa5669a8 100644 --- a/op-modules/op-wms/src/main/resources/bootstrap.yml +++ b/op-modules/op-wms/src/main/resources/bootstrap.yml @@ -16,12 +16,12 @@ spring: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 config: namespace: lanju-op group: zxl # 服务注册地址 - server-addr: 140.249.53.142:8848 + server-addr: 175.27.215.92:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/op-modules/pom.xml b/op-modules/pom.xml index 11d40a183..185134ecf 100644 --- a/op-modules/pom.xml +++ b/op-modules/pom.xml @@ -21,8 +21,8 @@ op-device op-energy op-quality - op-scada op-security + op-open op-modules