diff --git a/ABAP_AS_WITH_POOL.jcoDestination b/ABAP_AS_WITH_POOL.jcoDestination new file mode 100644 index 000000000..f7184e0a1 --- /dev/null +++ b/ABAP_AS_WITH_POOL.jcoDestination @@ -0,0 +1,11 @@ +#for tests only ! +#Tue Jul 25 15:29:49 CST 2023 +jco.destination.pool_capacity=true +jco.client.lang=zh +jco.client.ashost=192.168.0.53 +jco.client.saprouter= +jco.client.user=MES +jco.client.sysnr=0 +jco.destination.peak_limit=20 +jco.client.passwd=f.6zg4)u7K,V?%$f3X1@sDv,o,cE^tQDiv#oPB+PX*24w(Z. +jco.client.client=800 diff --git a/dev_jco_rfc.trc b/dev_jco_rfc.trc new file mode 100644 index 000000000..0c27d8b02 --- /dev/null +++ b/dev_jco_rfc.trc @@ -0,0 +1,96 @@ + +**** Error file opened at 20230724 105509 China Standard Time Rel. 3.0.17 (2017-07-17) [721.913] +Error: >Mon Jul 24 10:55:09,173< RfcException: + message: Connect to SAP gateway failed +Connection parameters: TYPE=A DEST=ABAP_AS_WITH_POOL ASHOST=192.168.0.53 SYSNR=00 PCS=1 + +LOCATION CPIC (TCP/IP) on local host with Unicode +ERROR partner '192.168.0.53:3300' not reached +TIME Mon Jul 24 10:55:09 2023 +RELEASE 721 +COMPONENT NI (network interface) +VERSION 40 +RC -10 +MODULE nixxi.cpp +LINE 3289 +DETAIL NiPConnect2: 192.168.0.53:3300 +SYSTEM CALL connect +ERRNO 10060 +ERRNO TEXT WSAETIMEDOUT: Connection timed out +COUNTER 2 + + return code: RFC_FAILURE (1) + error group: 102 + key: RFC_ERROR_COMMUNICATION + +Error: >Mon Jul 24 10:55:30,220< RfcException: + message: Connect to SAP gateway failed +Connection parameters: TYPE=A DEST=ABAP_AS_WITH_POOL ASHOST=192.168.0.53 SYSNR=00 PCS=1 + +LOCATION CPIC (TCP/IP) on local host with Unicode +ERROR partner '192.168.0.53:3300' not reached +TIME Mon Jul 24 10:55:30 2023 +RELEASE 721 +COMPONENT NI (network interface) +VERSION 40 +RC -10 +MODULE nixxi.cpp +LINE 3289 +DETAIL NiPConnect2: 192.168.0.53:3300 +SYSTEM CALL connect +ERRNO 10060 +ERRNO TEXT WSAETIMEDOUT: Connection timed out +COUNTER 4 + + return code: RFC_FAILURE (1) + error group: 102 + key: RFC_ERROR_COMMUNICATION + + +**** Error file opened at 20230725 103104 China Standard Time Rel. 3.0.17 (2017-07-17) [721.913] +Error: >Tue Jul 25 10:31:04,628< RfcException: + message: Connect to SAP gateway failed +Connection parameters: TYPE=A DEST=ABAP_AS_WITH_POOL ASHOST=192.168.0.53 SYSNR=00 PCS=1 + +LOCATION CPIC (TCP/IP) on local host with Unicode +ERROR partner '192.168.0.53:3300' not reached +TIME Tue Jul 25 10:31:04 2023 +RELEASE 721 +COMPONENT NI (network interface) +VERSION 40 +RC -10 +MODULE nixxi.cpp +LINE 3289 +DETAIL NiPConnect2: 192.168.0.53:3300 +SYSTEM CALL connect +ERRNO 10060 +ERRNO TEXT WSAETIMEDOUT: Connection timed out +COUNTER 2 + + return code: RFC_FAILURE (1) + error group: 102 + key: RFC_ERROR_COMMUNICATION + +Error: >Tue Jul 25 10:31:25,675< RfcException: + message: Connect to SAP gateway failed +Connection parameters: TYPE=A DEST=ABAP_AS_WITH_POOL ASHOST=192.168.0.53 SYSNR=00 PCS=1 + +LOCATION CPIC (TCP/IP) on local host with Unicode +ERROR partner '192.168.0.53:3300' not reached +TIME Tue Jul 25 10:31:25 2023 +RELEASE 721 +COMPONENT NI (network interface) +VERSION 40 +RC -10 +MODULE nixxi.cpp +LINE 3289 +DETAIL NiPConnect2: 192.168.0.53:3300 +SYSTEM CALL connect +ERRNO 10060 +ERRNO TEXT WSAETIMEDOUT: Connection timed out +COUNTER 4 + + return code: RFC_FAILURE (1) + error group: 102 + key: RFC_ERROR_COMMUNICATION + diff --git a/op-api/op-api-system/op-api-system.iml b/op-api/op-api-system/op-api-system.iml index 441acd6e4..3a887afc6 100644 --- a/op-api/op-api-system/op-api-system.iml +++ b/op-api/op-api-system/op-api-system.iml @@ -4,6 +4,11 @@ + + + + + diff --git a/op-api/op-api-system/pom.xml b/op-api/op-api-system/pom.xml index 3dda358ff..fea55c4d4 100644 --- a/op-api/op-api-system/pom.xml +++ b/op-api/op-api-system/pom.xml @@ -8,7 +8,7 @@ 0.0.1 4.0.0 - + op-api-system @@ -16,13 +16,13 @@ - + com.op op-common-core - + - \ No newline at end of file + diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteMesService.java b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteMesService.java index b754bb0a3..2dd160e2d 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteMesService.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteMesService.java @@ -3,7 +3,9 @@ package com.op.system.api; import com.op.common.core.constant.ServiceNameConstants; import com.op.common.core.domain.BaseFileData; import com.op.common.core.domain.R; + import com.op.system.api.factory.RemoteMesFallbackFactory; +import com.op.system.api.model.SapProOrder; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; @@ -15,8 +17,15 @@ import java.util.List; * @author OP */ @FeignClient(contextId = "remoteMesService", value = ServiceNameConstants.MES_SERVICE, fallbackFactory = RemoteMesFallbackFactory.class) + + + public interface RemoteMesService { @PostMapping("/file/upLoadFile") public R upLoadFile(@RequestBody List files); + + @PostMapping("/order/sapAddOrder") + public R sapAddOrder(@RequestBody SapProOrder sapProOrder); + } diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteMesFallbackFactory.java b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteMesFallbackFactory.java index 1c9fb7b06..93b713164 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteMesFallbackFactory.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteMesFallbackFactory.java @@ -3,6 +3,8 @@ package com.op.system.api.factory; import com.op.common.core.domain.BaseFileData; import com.op.common.core.domain.R; import com.op.system.api.RemoteMesService; + +import com.op.system.api.model.SapProOrder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; @@ -27,6 +29,12 @@ public class RemoteMesFallbackFactory implements FallbackFactory upLoadFile(List files) { return R.fail("上传失败:" + throwable.getMessage()); } + + @Override + public R sapAddOrder(SapProOrder sapProOrder) { + return R.fail("新增SAP订单失败:" + throwable.getMessage()); + } + }; } } diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteUserFallbackFactory.java b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteUserFallbackFactory.java index 2566a99b2..42cda6b41 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteUserFallbackFactory.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteUserFallbackFactory.java @@ -1,6 +1,7 @@ package com.op.system.api.factory; import com.op.common.core.domain.BaseFileData; +import org.apache.commons.collections4.EnumerationUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/model/SapProOrder.java b/op-api/op-api-system/src/main/java/com/op/system/api/model/SapProOrder.java new file mode 100644 index 000000000..77f12e8e4 --- /dev/null +++ b/op-api/op-api-system/src/main/java/com/op/system/api/model/SapProOrder.java @@ -0,0 +1,253 @@ +package com.op.system.api.model; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.TreeEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; + +public class SapProOrder extends TreeEntity { + private static final long serialVersionUID = 1L; + + /** ID */ + private String id; + + /** 计划工厂编码 */ + @Excel(name = "计划工厂编码") + private String planFactoryCode; + + /** 计划工厂编码 */ + @Excel(name = "工厂编码") + private String factoryCode; + + /** 订单类型 */ + @Excel(name = "订单类型") + private String orderType; + + /** 订单号 */ + @Excel(name = "订单号") + private String orderCode; + + /** 物料号 */ + @Excel(name = "物料号") + private String prodCode; + + /** 物料名称 */ + @Excel(name = "物料名称") + private String prodDesc; + + /** 订单数量 */ + @Excel(name = "订单数量") + private Long quantity; + + /** 已拆分订单数量 */ + @Excel(name = "已拆分订单数量") + private Long quantitySplit; + + /** 单位 */ + @Excel(name = "单位") + private String unit; + + /** 任务清单 */ + @Excel(name = "任务清单") + private String workerOrder; + + public Long getQuantitySplit() { + return quantitySplit; + } + + public void setQuantitySplit(Long quantitySplit) { + this.quantitySplit = quantitySplit; + } + + /** 计划生产日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "计划生产日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date planProDate; + + /** 计划完成日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "计划完成日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date planComplete; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String atrr1; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String atrr2; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String atrr3; + + /** 0未拆分 */ + @Excel(name = "0未拆分") + private String status; + + /** 上级工单 */ + @Excel(name = "上级工单") + private String parentOrder; + + public String getPlanFactoryCode() { + return planFactoryCode; + } + + public void setPlanFactoryCode(String planFactoryCode) { + this.planFactoryCode = planFactoryCode; + } + + /** 产品类型 */ + @Excel(name = "产品类型") + private String prodType; + + public void setId(String id) { + this.id = id; + } + + public String getId() { + return id; + } + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + + public String getFactoryCode() { + return factoryCode; + } + public void setOrderType(String orderType) { + this.orderType = orderType; + } + + public String getOrderType() { + return orderType; + } + public void setOrderCode(String orderCode) { + this.orderCode = orderCode; + } + + public String getOrderCode() { + return orderCode; + } + public void setProdCode(String prodCode) { + this.prodCode = prodCode; + } + + public String getProdCode() { + return prodCode; + } + public void setProdDesc(String prodDesc) { + this.prodDesc = prodDesc; + } + + public String getProdDesc() { + return prodDesc; + } + public void setQuantity(Long quantity) { + this.quantity = quantity; + } + + public Long getQuantity() { + return quantity; + } + public void setUnit(String unit) { + this.unit = unit; + } + + public String getUnit() { + return unit; + } + public void setWorkerOrder(String workerOrder) { + this.workerOrder = workerOrder; + } + + public String getWorkerOrder() { + return workerOrder; + } + public void setPlanProDate(Date planProDate) { + this.planProDate = planProDate; + } + + public Date getPlanProDate() { + return planProDate; + } + public void setPlanComplete(Date planComplete) { + this.planComplete = planComplete; + } + + public Date getPlanComplete() { + return planComplete; + } + public void setAtrr1(String atrr1) { + this.atrr1 = atrr1; + } + + public String getAtrr1() { + return atrr1; + } + public void setAtrr2(String atrr2) { + this.atrr2 = atrr2; + } + + public String getAtrr2() { + return atrr2; + } + public void setAtrr3(String atrr3) { + this.atrr3 = atrr3; + } + + public String getAtrr3() { + return atrr3; + } + public void setStatus(String status) { + this.status = status; + } + + public String getStatus() { + return status; + } + public void setParentOrder(String parentOrder) { + this.parentOrder = parentOrder; + } + + public String getParentOrder() { + return parentOrder; + } + public void setProdType(String prodType) { + this.prodType = prodType; + } + + public String getProdType() { + return prodType; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("factoryCode", getFactoryCode()) + .append("orderType", getOrderType()) + .append("orderCode", getOrderCode()) + .append("prodCode", getProdCode()) + .append("prodDesc", getProdDesc()) + .append("quantity", getQuantity()) + .append("unit", getUnit()) + .append("workerOrder", getWorkerOrder()) + .append("planProDate", getPlanProDate()) + .append("planComplete", getPlanComplete()) + .append("atrr1", getAtrr1()) + .append("atrr2", getAtrr2()) + .append("atrr3", getAtrr3()) + .append("status", getStatus()) + .append("parentOrder", getParentOrder()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("prodType", getProdType()) + .toString(); + } +} 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 d18dbb1f2..2a2c8e3cd 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 @@ -30,4 +30,9 @@ public class ServiceNameConstants { * 系统模块的serviceid */ public static final String WMS_SERVICE = "op-wms"; + + /** + * SAP模块的serviceid + */ + public static final String SAP_SERVICE = "op-sap"; } diff --git a/op-modules/op-job/lib/sapjco3.dll b/op-modules/op-job/lib/sapjco3.dll new file mode 100644 index 000000000..20da90d34 Binary files /dev/null and b/op-modules/op-job/lib/sapjco3.dll differ diff --git a/op-modules/op-job/lib/sapjco3.jar b/op-modules/op-job/lib/sapjco3.jar new file mode 100644 index 000000000..8f123918d Binary files /dev/null and b/op-modules/op-job/lib/sapjco3.jar differ diff --git a/op-modules/op-job/lib/sapjco3.pdb b/op-modules/op-job/lib/sapjco3.pdb new file mode 100644 index 000000000..b5283b3d4 Binary files /dev/null and b/op-modules/op-job/lib/sapjco3.pdb differ diff --git a/op-modules/op-job/op-modules-job.iml b/op-modules/op-job/op-modules-job.iml index e40fd0cea..4d746d2a2 100644 --- a/op-modules/op-job/op-modules-job.iml +++ b/op-modules/op-job/op-modules-job.iml @@ -1,14 +1,14 @@ + + + - - - @@ -20,6 +20,8 @@ + + diff --git a/op-modules/op-job/pom.xml b/op-modules/op-job/pom.xml index 81fa71d13..5dc851f6b 100644 --- a/op-modules/op-job/pom.xml +++ b/op-modules/op-job/pom.xml @@ -77,6 +77,7 @@ op-common-log + com.op diff --git a/op-modules/op-job/src/main/java/com/op/job/config/SapConnConfig.java b/op-modules/op-job/src/main/java/com/op/job/config/SapConnConfig.java new file mode 100644 index 000000000..963425efb --- /dev/null +++ b/op-modules/op-job/src/main/java/com/op/job/config/SapConnConfig.java @@ -0,0 +1,25 @@ +package com.op.job.config; + +import com.op.common.core.utils.uuid.IdUtils; +import com.op.job.domain.SapConn; +import com.op.job.util.SAPConnUtils; +import com.op.system.api.RemoteMesService; +import com.op.system.api.model.SapProOrder; +import com.sap.conn.jco.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + + +public class SapConnConfig { + + +} diff --git a/op-modules/op-sap/src/main/java/com/op/mes/util/SapConn.java b/op-modules/op-job/src/main/java/com/op/job/domain/SapConn.java similarity index 99% rename from op-modules/op-sap/src/main/java/com/op/mes/util/SapConn.java rename to op-modules/op-job/src/main/java/com/op/job/domain/SapConn.java index ef13634b5..aae4935db 100644 --- a/op-modules/op-sap/src/main/java/com/op/mes/util/SapConn.java +++ b/op-modules/op-job/src/main/java/com/op/job/domain/SapConn.java @@ -1,4 +1,4 @@ -package com.op.mes.util; +package com.op.job.domain; public class SapConn { // SAP服务器 diff --git a/op-modules/op-job/src/main/java/com/op/job/service/ISysJobService.java b/op-modules/op-job/src/main/java/com/op/job/service/ISysJobService.java index 3770b2b5e..e6e118f76 100644 --- a/op-modules/op-job/src/main/java/com/op/job/service/ISysJobService.java +++ b/op-modules/op-job/src/main/java/com/op/job/service/ISysJobService.java @@ -1,19 +1,22 @@ package com.op.job.service; import java.util.List; + +import com.op.common.core.domain.R; +import com.op.system.api.model.SapProOrder; import org.quartz.SchedulerException; import com.op.common.core.exception.job.TaskException; import com.op.job.domain.SysJob; /** * 定时任务调度信息信息 服务层 - * + * * @author OP */ public interface ISysJobService { /** * 获取quartz调度器的计划任务 - * + * * @param job 调度信息 * @return 调度任务集合 */ @@ -21,7 +24,7 @@ public interface ISysJobService { /** * 通过调度任务ID查询调度信息 - * + * * @param jobId 调度任务ID * @return 调度任务对象信息 */ @@ -29,7 +32,7 @@ public interface ISysJobService { /** * 暂停任务 - * + * * @param job 调度信息 * @return 结果 */ @@ -37,7 +40,7 @@ public interface ISysJobService { /** * 恢复任务 - * + * * @param job 调度信息 * @return 结果 */ @@ -45,7 +48,7 @@ public interface ISysJobService { /** * 删除任务后,所对应的trigger也将被删除 - * + * * @param job 调度信息 * @return 结果 */ @@ -53,7 +56,7 @@ public interface ISysJobService { /** * 批量删除调度信息 - * + * * @param jobIds 需要删除的任务ID * @return 结果 */ @@ -61,7 +64,7 @@ public interface ISysJobService { /** * 任务调度状态修改 - * + * * @param job 调度信息 * @return 结果 */ @@ -69,7 +72,7 @@ public interface ISysJobService { /** * 立即运行任务 - * + * * @param job 调度信息 * @return 结果 */ @@ -77,7 +80,7 @@ public interface ISysJobService { /** * 新增任务 - * + * * @param job 调度信息 * @return 结果 */ @@ -85,7 +88,7 @@ public interface ISysJobService { /** * 更新任务 - * + * * @param job 调度信息 * @return 结果 */ @@ -93,9 +96,10 @@ public interface ISysJobService { /** * 校验cron表达式是否有效 - * + * * @param cronExpression 表达式 * @return 结果 */ public boolean checkCronExpressionIsValid(String cronExpression); -} \ No newline at end of file + +} diff --git a/op-modules/op-job/src/main/java/com/op/job/service/SysJobServiceImpl.java b/op-modules/op-job/src/main/java/com/op/job/service/SysJobServiceImpl.java index e1a560c27..ab7941a0f 100644 --- a/op-modules/op-job/src/main/java/com/op/job/service/SysJobServiceImpl.java +++ b/op-modules/op-job/src/main/java/com/op/job/service/SysJobServiceImpl.java @@ -2,6 +2,10 @@ package com.op.job.service; import java.util.List; import javax.annotation.PostConstruct; + +import com.op.common.core.domain.R; +import com.op.system.api.RemoteMesService; +import com.op.system.api.model.SapProOrder; import org.quartz.JobDataMap; import org.quartz.JobKey; import org.quartz.Scheduler; @@ -18,7 +22,7 @@ import com.op.job.util.ScheduleUtils; /** * 定时任务调度信息 服务层 - * + * * @author OP */ @Service @@ -43,7 +47,7 @@ public class SysJobServiceImpl implements ISysJobService { /** * 获取quartz调度器的计划任务列表 - * + * * @param job 调度信息 * @return */ @@ -54,7 +58,7 @@ public class SysJobServiceImpl implements ISysJobService { /** * 通过调度任务ID查询调度信息 - * + * * @param jobId 调度任务ID * @return 调度任务对象信息 */ @@ -65,7 +69,7 @@ public class SysJobServiceImpl implements ISysJobService { /** * 暂停任务 - * + * * @param job 调度信息 */ @Override @@ -83,7 +87,7 @@ public class SysJobServiceImpl implements ISysJobService { /** * 恢复任务 - * + * * @param job 调度信息 */ @Override @@ -101,7 +105,7 @@ public class SysJobServiceImpl implements ISysJobService { /** * 删除任务后,所对应的trigger也将被删除 - * + * * @param job 调度信息 */ @Override @@ -118,7 +122,7 @@ public class SysJobServiceImpl implements ISysJobService { /** * 批量删除调度信息 - * + * * @param jobIds 需要删除的任务ID * @return 结果 */ @@ -133,7 +137,7 @@ public class SysJobServiceImpl implements ISysJobService { /** * 任务调度状态修改 - * + * * @param job 调度信息 */ @Override @@ -151,7 +155,7 @@ public class SysJobServiceImpl implements ISysJobService { /** * 立即运行任务 - * + * * @param job 调度信息 */ @Override @@ -174,7 +178,7 @@ public class SysJobServiceImpl implements ISysJobService { /** * 新增任务 - * + * * @param job 调度信息 调度信息 */ @Override @@ -190,7 +194,7 @@ public class SysJobServiceImpl implements ISysJobService { /** * 更新任务的时间表达式 - * + * * @param job 调度信息 */ @Override @@ -206,7 +210,7 @@ public class SysJobServiceImpl implements ISysJobService { /** * 更新任务 - * + * * @param job 任务对象 * @param jobGroup 任务组名 */ @@ -223,7 +227,7 @@ public class SysJobServiceImpl implements ISysJobService { /** * 校验cron表达式是否有效 - * + * * @param cronExpression 表达式 * @return 结果 */ @@ -231,4 +235,5 @@ public class SysJobServiceImpl implements ISysJobService { public boolean checkCronExpressionIsValid(String cronExpression) { return CronUtils.isValid(cronExpression); } -} \ 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 df3f7bb2d..8fbb060c9 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 @@ -5,7 +5,7 @@ import com.op.common.core.utils.StringUtils; /** * 定时任务调度测试 - * + * * @author OP */ @Component("ryTask") @@ -21,4 +21,5 @@ public class RyTask { public void ryNoParams() { System.out.println("执行无参方法"); } + } diff --git a/op-modules/op-job/src/main/java/com/op/job/task/SapTask.java b/op-modules/op-job/src/main/java/com/op/job/task/SapTask.java new file mode 100644 index 000000000..f56d85b5e --- /dev/null +++ b/op-modules/op-job/src/main/java/com/op/job/task/SapTask.java @@ -0,0 +1,248 @@ +package com.op.job.task; + +import com.op.common.core.constant.SecurityConstants; +import com.op.common.core.utils.uuid.IdUtils; +import com.op.job.config.SapConnConfig; +import com.op.job.domain.SapConn; +import com.op.job.service.ISysJobService; +import com.op.job.util.SAPConnUtils; + +import com.op.system.api.RemoteMesService; + +import com.op.system.api.RemoteUserService; +import com.op.system.api.model.SapProOrder; +import com.sap.conn.jco.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Component("sapTask") +public class SapTask { + static List> returnList = new ArrayList>(); + + @Autowired + private RemoteMesService remoteMesService; + + + + @Value("${sap.ashost}") + public String ashost; + + @Value("${sap.sysnr}") + public String sysnr; + + @Value("${sap.client}") + public String client; + + @Value("${sap.user}") + public String user; + + @Value("${sap.passwd}") + public String passwd; + + @Value("${sap.lang}") + public String lang; + + @Value("${sap.pool_capacity}") + public String pool_capacity; + + @Value("${sap.peak_limit}") + public String peak_limit; + + @Value("${sap.saprouter}") + public String saprouter; + + public void sapSyncTask() { + + System.out.println("执行SAP订单同步方法"); + // 连接 + SapConn con = new SapConn( + ashost, + sysnr, + client, + user, + passwd, + lang, + pool_capacity, + peak_limit, + saprouter + ); + JCoDestination jCoDestination = SAPConnUtils.connect(con); + //获取SAP订单数据 + RfcTest(jCoDestination); + + } + public void maraSyncTask(){ + + } + + + public static void main(String[] args) throws JCoException { + System.out.println("执行BOM同步方法"); + // 连接 + SapConn con = new SapConn( + "192.168.0.53", + "00", + "800", + "MES", + "123456", + "zh", + "true", + "20", + "" + ); + JCoDestination jCoDestination = SAPConnUtils.connect(con); + //获取BOM数据 + //获取调用 RFC 函数对象 + + JCoFunction func = jCoDestination.getRepository().getFunction("ZPPR_MES_BOM"); + + + // 配置传入参数 + JCoParameterList importParameterList = func.getImportParameterList(); + // importParameterList.setValue("S_WERKS","1000"); + + // 调用并获取返回值 + func.execute(jCoDestination); + // 获取 内表 - ZMES_PRO + JCoTable bomTable = func.getTableParameterList().getTable("LT_BOM"); + JCoRecordMetaData metaData = bomTable.getRecordMetaData(); + System.out.println("###"+metaData.toString()); + System.out.println("###"+bomTable.getNumRows()); + for (int i = 0; i < bomTable.getNumRows(); i++) { + bomTable.setRow(i); + String MATNR = bomTable.getString("MATNR"); + String MAKTX = bomTable.getString("MAKTX"); + String WERKS = bomTable.getString("WERKS"); + String VERID = bomTable.getString("VERID"); + String STLNR = bomTable.getString("STLNR"); + System.out.println("物料编码:" +MATNR+" - 物料名称:" + MAKTX+" - 工厂:" + WERKS+" - 生产版本:" + VERID+" - BOM单号:" + STLNR); + } + } + +// public static void main(String[] arg) throws JCoException { +// System.out.println("执行同步方法"); +// // 连接 +// SapConn con = new SapConn( +// "192.168.0.53", +// "00", +// "800", +// "MES", +// "123456", +// "zh", +// "true", +// "20", +// "" +// ); +// JCoDestination jCoDestination = SAPConnUtils.connect(con); +// //获取SAP订单数据 +// // 获取调用 RFC 函数对象 +// JCoFunction func = jCoDestination.getRepository().getFunction("ZMMR_MES_MAT_GET"); +// +// // 配置传入参数 +// JCoParameterList importParameterList = func.getImportParameterList(); +// importParameterList.setValue("S_MATNR","000000000000000019" ); +// +// // 调用并获取返回值 +// func.execute(jCoDestination); +// // 获取 内表 - ZMES_PRO +// JCoTable bomTable = func.getTableParameterList().getTable("LT_MARA"); +// JCoRecordMetaData metaData = bomTable.getRecordMetaData(); +// System.out.println("###"+metaData.toString()); +// System.out.println("###"+bomTable.getNumRows()); +// for (int i = 0; i < bomTable.getNumRows(); i++) { +// String MATNR = bomTable.getString("MATNR"); +// String MAKTX = bomTable.getString("MAKTX"); +//// String WERKS = bomTable.getString("WERKS"); +//// String VERID = bomTable.getString("VERID"); +//// String STLNR = bomTable.getString("STLNR"); +// System.out.println("物料号:" +MATNR+" - 物料描述:" + MAKTX); +// } +// } + + + + + + public List> RfcTest(JCoDestination jCoDestination){ + try { + // 获取调用 RFC 函数对象 + JCoFunction func = jCoDestination.getRepository().getFunction("ZPPR_MES_PRO_TO"); + + // 配置传入参数 + JCoParameterList importParameterList = func.getImportParameterList(); + //importParameterList.setValue("S_AUFNR",001002125255 ); + + // 调用并获取返回值 + func.execute(jCoDestination); + // 获取 内表 - ZMES_PRO + JCoTable maraTable = func.getTableParameterList().getTable("ZMES_PRO"); + JCoRecordMetaData metaData = maraTable.getRecordMetaData(); + System.out.println("###"+metaData.toString()); + SapProOrder proOrder=new SapProOrder(); + List proOrderList=new ArrayList<>(); + // 循环输出 Table 数据 + for (int i = 0; i < maraTable.getNumRows(); i++) { + maraTable.setRow(i); + String AUFNR = maraTable.getString("AUFNR"); + String AUART = maraTable.getString("AUART"); + String MAUFNR = maraTable.getString("MAUFNR"); + String PLNBEZ = maraTable.getString("PLNBEZ"); + String MAKTX = maraTable.getString("MAKTX"); + String PWERK = maraTable.getString("PWERK"); + String GAMNG = maraTable.getString("GAMNG"); + String GMEIN = maraTable.getString("GMEIN"); + String PLNNR = maraTable.getString("PLNNR"); + String GSTRP = maraTable.getString("GSTRP"); + String GLTRP = maraTable.getString("GLTRP"); + String ERNAM = maraTable.getString("ERNAM"); + String ERDAT = maraTable.getString("ERDAT"); + String STTXT = maraTable.getString("STTXT"); + System.out.println("订单号:" +AUFNR+" - 订单类型:" + AUART+ " - 上级订单编号:" + MAUFNR+ " - 物料号:" + PLNBEZ+ " - 物料描述(短文本):" + MAKTX + + " - 订单的计划工厂:" + PWERK+ " - 订单数量总计:" + GAMNG+ " - 基本计量单位:" + GMEIN+ " - 任务清单组码:" + PLNNR+ " - 基本开始日期:" + GSTRP + + " - 基本完成日期:" + GLTRP+ " - 输入者:" + ERNAM+ " - 创建日期:" + ERDAT+ " - 系统状态:" + STTXT); + proOrder.setId(IdUtils.fastSimpleUUID()); + proOrder.setPlanFactoryCode(PWERK); + proOrder.setOrderCode(AUFNR); + proOrder.setProdCode(PLNBEZ); + proOrder.setProdDesc(MAKTX); + proOrder.setQuantity(Long.parseLong(GAMNG.substring(0,GAMNG.indexOf(".")))); + proOrder.setUnit(GMEIN); + proOrder.setWorkerOrder(PLNNR); + proOrder.setPlanProDate(dateparse(GSTRP)); + proOrder.setPlanComplete(dateparse(GLTRP)); + proOrder.setParentOrder(MAUFNR); + proOrder.setCreateBy(ERNAM); + proOrder.setCreateTime(dateparse(ERDAT)); + proOrder.setUpdateBy(ERNAM); + proOrder.setUpdateTime(dateparse(ERDAT)); + proOrder.setStatus("0"); + // proOrderList.add(proOrder); +// System.out.println("物料编号:" + matnr + " - 创建日期:" + esdra + " - 创建人:" + ernam + " - 物料组:" + matkl + " - 单位:" + meins); + remoteMesService.sapAddOrder(proOrder); + + } + + + } catch (Exception e) { + e.printStackTrace(); + } + return returnList; + } + + + + private static Date dateparse(String date) throws ParseException { + SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); + Date sfdate = sf.parse(date); + return sfdate; + } + +} diff --git a/op-modules/op-sap/src/main/java/com/op/mes/util/SAPConnUtils.java b/op-modules/op-job/src/main/java/com/op/job/util/SAPConnUtils.java similarity index 98% rename from op-modules/op-sap/src/main/java/com/op/mes/util/SAPConnUtils.java rename to op-modules/op-job/src/main/java/com/op/job/util/SAPConnUtils.java index 8a03efad1..8fbcd9496 100644 --- a/op-modules/op-sap/src/main/java/com/op/mes/util/SAPConnUtils.java +++ b/op-modules/op-job/src/main/java/com/op/job/util/SAPConnUtils.java @@ -1,5 +1,8 @@ -package com.op.mes.util; +package com.op.job.util; + + +import com.op.job.domain.SapConn; import com.sap.conn.jco.JCoDestination; import com.sap.conn.jco.JCoDestinationManager; import com.sap.conn.jco.JCoException; @@ -77,4 +80,5 @@ public class SAPConnUtils { } return destination; } + } diff --git a/op-modules/op-job/src/main/resources/bootstrap.yml b/op-modules/op-job/src/main/resources/bootstrap.yml index efda0fbaf..52a01cdd6 100644 --- a/op-modules/op-job/src/main/resources/bootstrap.yml +++ b/op-modules/op-job/src/main/resources/bootstrap.yml @@ -14,12 +14,12 @@ spring: nacos: discovery: namespace: lanju-op - group: zxl + group: ywl # 服务注册地址 server-addr: 140.249.53.142:8848 config: namespace: lanju-op - group: zxl + group: ywl #命名空间 #group: local # 配置中心地址 diff --git a/op-modules/op-mes/op-modules-mes.iml b/op-modules/op-mes/op-modules-mes.iml index 871896279..0cd655a41 100644 --- a/op-modules/op-mes/op-modules-mes.iml +++ b/op-modules/op-mes/op-modules-mes.iml @@ -1,14 +1,14 @@ + + + - - - diff --git a/op-modules/op-mes/pom.xml b/op-modules/op-mes/pom.xml index f201fee97..e6d1bea42 100644 --- a/op-modules/op-mes/pom.xml +++ b/op-modules/op-mes/pom.xml @@ -83,6 +83,8 @@ op-common-swagger + + diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/ProOrderController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/ProOrderController.java index 39f00f58f..5c1a20abb 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/ProOrderController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/ProOrderController.java @@ -3,6 +3,8 @@ package com.op.mes.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; +import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; +import com.op.common.core.domain.R; import com.op.mes.domain.dto.SplitOrderDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -128,6 +130,24 @@ public class ProOrderController extends BaseController { public AjaxResult add(@RequestBody ProOrder proOrder) { return toAjax(proOrderService.insertProOrder(proOrder)); } + /** + * 定时任务新增订单 + */ + @Log(title = "批量保存SAP生产订单", businessType = BusinessType.INSERT) + @PostMapping("/sapAddOrder") + public R sapAddOrder(@RequestBody ProOrder proOrder) { + try { + if (proOrder!=null){ + + proOrderService.insertSapProOrder(proOrder); + } + }catch (Exception e){ + return R.fail(e.getMessage()); + } + return R.ok(); + + } + /** * 修改订单 diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/ProProcessContentController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/ProProcessContentController.java index 4bc8d41b8..2b890ab6b 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/ProProcessContentController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/ProProcessContentController.java @@ -8,7 +8,6 @@ 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.mes.domain.ProProcessContent; import com.op.mes.service.IProProcessContentService; import org.springframework.beans.factory.annotation.Autowired; diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/ProProcessController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/ProProcessController.java index 985b5ef9d..0bf292fb1 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/ProProcessController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/ProProcessController.java @@ -1,22 +1,15 @@ package com.op.mes.controller; -import java.security.Security; -import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletResponse; -import com.alibaba.nacos.client.constant.Constants; -import com.op.common.core.constant.UserConstants; -import com.op.common.core.utils.StringUtils; import com.op.common.core.utils.poi.ExcelUtil; -import com.op.common.core.utils.uuid.IdUtils; 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.mes.domain.ProProcess; import com.op.mes.service.IProProcessService; import org.springframework.beans.factory.annotation.Autowired; diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/ProRouteController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/ProRouteController.java index d9e1e2e88..c09824379 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/ProRouteController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/ProRouteController.java @@ -3,7 +3,6 @@ package com.op.mes.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; -import com.baomidou.dynamic.datasource.annotation.DS; import com.op.common.core.utils.poi.ExcelUtil; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.core.web.domain.AjaxResult; @@ -16,7 +15,6 @@ import com.op.mes.domain.ProRoute; import com.op.mes.service.IProRouteProcessService; import com.op.mes.service.IProRouteService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/ProRouteProcessController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/ProRouteProcessController.java index c8583058f..714ef5584 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/ProRouteProcessController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/ProRouteProcessController.java @@ -11,12 +11,11 @@ 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.mes.domain.ProProcess; import com.op.mes.domain.ProRouteProcess; -import com.op.mes.service.IProProcessService; import com.op.mes.service.IProRouteProcessService; +import com.op.mes.service.IProProcessService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/ProRouteProductController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/ProRouteProductController.java index e5277261e..b4b62b466 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/ProRouteProductController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/ProRouteProductController.java @@ -13,7 +13,6 @@ 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.mes.domain.ProRouteProduct; import com.op.mes.service.IProRouteProductService; import com.op.common.core.web.controller.BaseController; diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/SysUserController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/SysUserController.java new file mode 100644 index 000000000..7c2187453 --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/SysUserController.java @@ -0,0 +1,117 @@ +package com.op.mes.controller; + +import java.io.IOException; +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.op.mes.service.ISysUserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +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.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.op.common.core.utils.StringUtils; +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.system.api.domain.SysUser; + +/** + * 用户信息 + * + * @author OP + */ +@RestController +@RequestMapping("/user") +public class SysUserController extends BaseController { + @Autowired + private ISysUserService userService; + + + /** + * 获取用户列表 + */ + @RequiresPermissions("system:user:list") + @GetMapping("/list") + public TableDataInfo list(SysUser user) { + startPage(); + List list = userService.selectUserList(user); + return getDataTable(list); + } + + @Log(title = "用户管理", businessType = BusinessType.EXPORT) + @RequiresPermissions("system:user:export") + @PostMapping("/export") + public void export(HttpServletResponse response, SysUser user) { + List list = userService.selectUserList(user); + ExcelUtil util = new ExcelUtil(SysUser.class); + util.exportExcel(response, list, "用户数据"); + } + + + + @PostMapping("/importTemplate") + public void importTemplate(HttpServletResponse response) throws IOException { + ExcelUtil util = new ExcelUtil(SysUser.class); + util.importTemplateExcel(response, "用户数据"); + } + + + + /** + * 新增用户 + */ + @RequiresPermissions("system:user:add") + @Log(title = "用户管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@Validated @RequestBody SysUser user) { + if (!userService.checkUserNameUnique(user)) { + return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); + } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) { + return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在"); + } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) { + return error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在"); + } + user.setCreateBy(SecurityUtils.getUsername()); + user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); + return toAjax(userService.insertUser(user)); + } + + + + /** + * 重置密码 + */ + @RequiresPermissions("system:user:edit") + @Log(title = "用户管理", businessType = BusinessType.UPDATE) + @PutMapping("/resetPwd") + public AjaxResult resetPwd(@RequestBody SysUser user) { + userService.checkUserAllowed(user); + userService.checkUserDataScope(user.getUserId()); + user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); + user.setUpdateBy(SecurityUtils.getUsername()); + return toAjax(userService.resetPwd(user)); + } + + /** + * 状态修改 + */ + @RequiresPermissions("system:user:edit") + @Log(title = "用户管理", businessType = BusinessType.UPDATE) + @PutMapping("/changeStatus") + public AjaxResult changeStatus(@RequestBody SysUser user) { + userService.checkUserAllowed(user); + userService.checkUserDataScope(user.getUserId()); + user.setUpdateBy(SecurityUtils.getUsername()); + return toAjax(userService.updateUserStatus(user)); + } + +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/ProProcess.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProProcess.java index ce0326cf9..4ec810888 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/domain/ProProcess.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProProcess.java @@ -1,7 +1,6 @@ package com.op.mes.domain; import com.op.common.core.annotation.Excel; -import com.op.common.core.domain.BaseFileData; import com.op.common.core.web.domain.BaseEntity; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/ProRouteProcess.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProRouteProcess.java index 708735c97..926b0289e 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/domain/ProRouteProcess.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProRouteProcess.java @@ -2,8 +2,6 @@ package com.op.mes.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; /** * 工艺组成对象 pro_route_process diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/dto/SplitOrderDTO.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/dto/SplitOrderDTO.java index aee3464e5..cc19743cc 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/domain/dto/SplitOrderDTO.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/dto/SplitOrderDTO.java @@ -1,7 +1,6 @@ package com.op.mes.domain.dto; import com.op.mes.domain.Batch; -import com.op.mes.domain.ProOrder; import java.util.Date; import java.util.List; diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/ProOrderWorkorderBatchMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/ProOrderWorkorderBatchMapper.java index 9bcb9980c..25837cf22 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/mapper/ProOrderWorkorderBatchMapper.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/ProOrderWorkorderBatchMapper.java @@ -59,4 +59,4 @@ public interface ProOrderWorkorderBatchMapper { */ public int deleteProOrderWorkorderBatchByWorkorderIds(String[] workorderIds); -} \ No newline at end of file +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/ProOrderWorkorderMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/ProOrderWorkorderMapper.java index b3e8f34c5..8d240c23b 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/mapper/ProOrderWorkorderMapper.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/ProOrderWorkorderMapper.java @@ -1,6 +1,7 @@ package com.op.mes.mapper; import com.op.mes.domain.ProOrderWorkorder; +import org.apache.ibatis.annotations.Select; import java.util.Date; import java.util.List; @@ -67,7 +68,7 @@ public interface ProOrderWorkorderMapper { * @return */ List selectFirWorkOrder(String id); - ProOrderWorkorder selectWorkOrderByCode(String workorderCode); + /** * 通过code查询子工单 * @@ -94,3 +95,4 @@ public interface ProOrderWorkorderMapper { */ String selectEndWorkOrder(String id); } + diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/IProOrderService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/IProOrderService.java index 8fabe2a06..8570d2931 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/IProOrderService.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/IProOrderService.java @@ -47,6 +47,13 @@ public interface IProOrderService { */ public int insertProOrder(ProOrder proOrder); + /** + * SAP新增加订单 + * @param proOrder + * @return + */ + public int insertSapProOrder(ProOrder proOrder); + /** * 修改订单 * diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/ISysUserService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/ISysUserService.java new file mode 100644 index 000000000..03e39a0f2 --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/ISysUserService.java @@ -0,0 +1,149 @@ +package com.op.mes.service; + +import java.util.List; +import com.op.system.api.domain.SysUser; + +/** + * 用户 业务层 + * + * @author OP + */ +public interface ISysUserService { + /** + * 根据条件分页查询用户列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + public List selectUserList(SysUser user); + + /** + * 根据条件分页查询已分配用户角色列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + public List selectAllocatedList(SysUser user); + + /** + * 根据条件分页查询未分配用户角色列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + public List selectUnallocatedList(SysUser user); + + /** + * 通过用户名查询用户 + * + * @param userName 用户名 + * @return 用户对象信息 + */ + public SysUser selectUserByUserName(String userName); + + /** + * 通过用户ID查询用户 + * + * @param userId 用户ID + * @return 用户对象信息 + */ + public SysUser selectUserById(Long userId); + + /** + * 校验用户名称是否唯一 + * + * @param user 用户信息 + * @return 结果 + */ + public boolean checkUserNameUnique(SysUser user); + + /** + * 校验手机号码是否唯一 + * + * @param user 用户信息 + * @return 结果 + */ + public boolean checkPhoneUnique(SysUser user); + + /** + * 校验email是否唯一 + * + * @param user 用户信息 + * @return 结果 + */ + public boolean checkEmailUnique(SysUser user); + + /** + * 校验用户是否允许操作 + * + * @param user 用户信息 + */ + public void checkUserAllowed(SysUser user); + + /** + * 校验用户是否有数据权限 + * + * @param userId 用户id + */ + public void checkUserDataScope(Long userId); + + /** + * 新增用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + public int insertUser(SysUser user); + + /** + * 注册用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + public boolean registerUser(SysUser user); + + + /** + * 修改用户状态 + * + * @param user 用户信息 + * @return 结果 + */ + public int updateUserStatus(SysUser user); + + /** + * 修改用户基本信息 + * + * @param user 用户信息 + * @return 结果 + */ + public int updateUserProfile(SysUser user); + + /** + * 修改用户头像 + * + * @param userName 用户名 + * @param avatar 头像地址 + * @return 结果 + */ + public boolean updateUserAvatar(String userName, String avatar); + + /** + * 重置用户密码 + * + * @param user 用户信息 + * @return 结果 + */ + public int resetPwd(SysUser user); + + /** + * 重置用户密码 + * + * @param userName 用户名 + * @param password 密码 + * @return 结果 + */ + public int resetUserPwd(String userName, String password); + +} diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProOrderServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProOrderServiceImpl.java index 989ffa458..c4ae229e5 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProOrderServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProOrderServiceImpl.java @@ -83,9 +83,6 @@ public class ProOrderServiceImpl implements IProOrderService { // 生成对应工单表 // 一级 ProOrderWorkorder firWorkOrder = setWorkOrder(proOrderWorkorder, product); - // code - int endCode = getEndCode(product.getId()); - firWorkOrder.setWorkorderCode(product.getOrderCode()+"-"+endCode); // 更新到数据库 proOrderWorkorderMapper.insertProOrderWorkorder(firWorkOrder); // 创建通用批次表对象 @@ -103,8 +100,6 @@ public class ProOrderServiceImpl implements IProOrderService { // 设置父工单 proOrderWorkorder.setParentOrder(firWorkOrder.getWorkorderCode()); ProOrderWorkorder secWorkOrder = setWorkOrder(proOrderWorkorder, product); - // code - secWorkOrder.setWorkorderCode(product.getOrderCode()+"-"+(endCode+1)); // 更新到数据库 proOrderWorkorderMapper.insertProOrderWorkorder(secWorkOrder); // 生成批次表并更新到数据库 @@ -122,8 +117,6 @@ public class ProOrderServiceImpl implements IProOrderService { ProOrderWorkorder thiWorkOrder = setWorkOrder(proOrderWorkorder, product); // 设置为底层节点 thiWorkOrder.setIsEnd(1); - // code - thiWorkOrder.setWorkorderCode(product.getOrderCode()+"-"+(endCode+2)); // 更新到数据库 proOrderWorkorderMapper.insertProOrderWorkorder(thiWorkOrder); // 生成批次表并更新到数据库 @@ -131,7 +124,7 @@ public class ProOrderServiceImpl implements IProOrderService { } // 设置为底层节点 - if (checkEnd == 1) { + if (checkEnd == 1){ updateWorker.setWorkorderId(secWorkOrder.getWorkorderId()); updateWorker.setIsEnd(1); proOrderWorkorderMapper.updateProOrderWorkorder(updateWorker); @@ -140,7 +133,7 @@ public class ProOrderServiceImpl implements IProOrderService { } // 设置为底层节点 - if (checkEnd == 1) { + if (checkEnd == 1){ updateWorker.setWorkorderId(firWorkOrder.getWorkorderId()); updateWorker.setIsEnd(1); proOrderWorkorderMapper.updateProOrderWorkorder(updateWorker); @@ -165,23 +158,23 @@ public class ProOrderServiceImpl implements IProOrderService { // 通过订单id查询所有工单信息list List proOrderWorkorderList = proOrderWorkorderMapper.selectFirWorkOrder(id); // 母工单循环遍历 - for (int i = 0; i < proOrderWorkorderList.size(); i++) { + for (int i = 0;i < proOrderWorkorderList.size();i++){ // 通过设备code查询出机型名称 String prodLineName = proOrderMapper.selectProdLineName(proOrderWorkorderList.get(i).getProdLineCode()); // 通过工单id查询批次号 List batchCodeList = proOrderMapper.selectBatchCodesById(proOrderWorkorderList.get(i).getWorkorderId()); List batchCodes = new ArrayList<>(); // 格式化数据 - for (int j = 0; j < batchCodeList.size(); j++) { + for (int j = 0;j < batchCodeList.size();j++){ batchCodes.add(new StringBuilder(batchCodeList.get(j)).append(";").append("\n")); } // 通过母工单workorder_id查询子工单 // 二级 List secProOrderWorkorder = proOrderWorkorderMapper.selectChildWorkOrder(proOrderWorkorderList.get(i).getWorkorderCode()); - if (secProOrderWorkorder.size() > 0 && secProOrderWorkorder != null) { + if (secProOrderWorkorder.size() > 0 && secProOrderWorkorder != null){ // 三级 List thiProOrderWorkorders = proOrderWorkorderMapper.selectChildWorkOrder(secProOrderWorkorder.get(0).getWorkorderCode()); - if (thiProOrderWorkorders.size() > 0 && thiProOrderWorkorders != null) { + if (thiProOrderWorkorders.size() > 0 && thiProOrderWorkorders != null){ // 将三级放入二级child thiProOrderWorkorders.get(0).setProdLineCode(prodLineName); thiProOrderWorkorders.get(0).setBatchCodeList(batchCodes); @@ -233,12 +226,8 @@ public class ProOrderServiceImpl implements IProOrderService { */ @Override @DS("#header.poolName") - public LineAndShiftVo getProdLineShift(String type) { - if (type.equals("white")){ - LineAndShiftVo lineAndShiftVo = new LineAndShiftVo(proOrderMapper.selectProdLine(), proOrderMapper.selectProShift()); - return lineAndShiftVo; - } - LineAndShiftVo lineAndShiftVo = new LineAndShiftVo(proOrderMapper.selectPackageLine(), proOrderMapper.selectProShift()); + public LineAndShiftVo getProdLineShift() { + LineAndShiftVo lineAndShiftVo = new LineAndShiftVo(proOrderMapper.selectProdLine(), proOrderMapper.selectProShift()); return lineAndShiftVo; } @@ -249,7 +238,6 @@ public class ProOrderServiceImpl implements IProOrderService { * @return 订单 */ @Override - @DS("#header.poolName") public ProOrder selectProOrderById(String id) { return proOrderMapper.selectProOrderById(id); } @@ -263,11 +251,7 @@ public class ProOrderServiceImpl implements IProOrderService { @Override @DS("#header.poolName") public List selectProOrderList(ProOrder proOrder) { - List proOrderList = proOrderMapper.selectProOrderList(proOrder); - for (int i = 0; i < proOrderList.size(); i++) { - proOrderList.get(i).setStatus(changeStatus(proOrderList.get(i).getStatus())); - } - return proOrderList; + return proOrderMapper.selectProOrderList(proOrder); } /** @@ -281,12 +265,15 @@ public class ProOrderServiceImpl implements IProOrderService { public int insertProOrder(ProOrder proOrder) { // 获取当前时间 Date date = new Date(); + + proOrder.setId(IdUtils.fastSimpleUUID()); + proOrder.setCreateTime(DateUtils.getNowDate()); + return proOrderMapper.insertProOrder(proOrder); + } + @Override + public int insertSapProOrder(ProOrder proOrder) { + DynamicDataSourceContextHolder.push("op_xiaolan");// 这是数据源的key proOrder.setId(IdUtils.fastSimpleUUID()); - proOrder.setParentOrder("0"); - proOrder.setStatus("o0"); - proOrder.setOrderType(proOrder.getProdType()); - proOrder.setOrderCode("DD"+ DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSSsss, date)); - proOrder.setCreateBy(SecurityContextHolder.getUserName()); proOrder.setCreateTime(date); proOrder.setUpdateBy(SecurityContextHolder.getUserName()); proOrder.setUpdateTime(date); @@ -396,6 +383,8 @@ public class ProOrderServiceImpl implements IProOrderService { proOrderWorkorder.setUnit(proOrder.getUnit()); // 已拆分数量 proOrderWorkorder.setQuantitySplit(Long.valueOf(proOrder.getAtrr1())); + // TODO 工艺编码 + // TODO 所有父节点 return proOrderWorkorder; } @@ -406,6 +395,7 @@ public class ProOrderServiceImpl implements IProOrderService { */ private ProOrderWorkorderBatch setCommonBatchAttribute() { ProOrderWorkorderBatch workBatch = new ProOrderWorkorderBatch(); + Date date = new Date(); // 更新者 workBatch.setUpdateBy(SecurityContextHolder.getUserName()); // 创建者 diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProProcessServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProProcessServiceImpl.java index 25ee16204..b0a48c9c2 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProProcessServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProProcessServiceImpl.java @@ -13,7 +13,6 @@ import com.op.mes.mapper.BaseFileMapper; import com.op.mes.mapper.ProProcessMapper; import com.op.mes.service.IProProcessService; -import com.op.system.api.RemoteUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProRouteProcessServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProRouteProcessServiceImpl.java index 96b1b01ae..47773f5a7 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProRouteProcessServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProRouteProcessServiceImpl.java @@ -1,7 +1,6 @@ package com.op.mes.service.impl; import java.util.List; -import java.util.stream.Collectors; import com.baomidou.dynamic.datasource.annotation.DS; import com.op.common.core.constant.UserConstants; @@ -9,9 +8,9 @@ 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.mes.domain.ProRouteProcess; +import com.op.mes.service.IProRouteProcessService; import com.op.mes.mapper.ProRouteMapper; import com.op.mes.mapper.ProRouteProcessMapper; -import com.op.mes.service.IProRouteProcessService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProRouteServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProRouteServiceImpl.java index c8bb69602..7ac11d4b3 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProRouteServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProRouteServiceImpl.java @@ -12,7 +12,6 @@ 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.mes.domain.BaseFile; -import com.op.mes.domain.ProProcess; import com.op.mes.domain.ProRoute; import com.op.mes.mapper.BaseFileMapper; import com.op.mes.mapper.ProRouteMapper; diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/SysUserServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/SysUserServiceImpl.java new file mode 100644 index 000000000..8f83a25d7 --- /dev/null +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/SysUserServiceImpl.java @@ -0,0 +1,257 @@ +package com.op.mes.service.impl; + +import java.util.List; +import javax.validation.Validator; + +import com.op.mes.service.ISysUserService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import com.op.common.core.constant.UserConstants; +import com.op.common.core.exception.ServiceException; +import com.op.common.core.utils.SpringUtils; +import com.op.common.core.utils.StringUtils; +import com.op.common.datascope.annotation.DataScope; +import com.op.common.security.utils.SecurityUtils; +import com.op.system.api.domain.SysUser; +import com.op.mes.mapper.SysUserMapper; + +/** + * 用户 业务层处理 + * + * @author OP + */ +@Service +public class SysUserServiceImpl implements ISysUserService { + private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class); + + @Autowired + private SysUserMapper userMapper; + + + @Autowired + protected Validator validator; + + /** + * 根据条件分页查询用户列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + @Override + @DataScope(deptAlias = "d", userAlias = "u") + public List selectUserList(SysUser user) { + return userMapper.selectUserList(user); + } + + /** + * 根据条件分页查询已分配用户角色列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + @Override + @DataScope(deptAlias = "d", userAlias = "u") + public List selectAllocatedList(SysUser user) { + return userMapper.selectAllocatedList(user); + } + + /** + * 根据条件分页查询未分配用户角色列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + @Override + @DataScope(deptAlias = "d", userAlias = "u") + public List selectUnallocatedList(SysUser user) { + return userMapper.selectUnallocatedList(user); + } + + /** + * 通过用户名查询用户 + * + * @param userName 用户名 + * @return 用户对象信息 + */ + @Override + public SysUser selectUserByUserName(String userName) { + return userMapper.selectUserByUserName(userName); + } + + /** + * 通过用户ID查询用户 + * + * @param userId 用户ID + * @return 用户对象信息 + */ + @Override + public SysUser selectUserById(Long userId) { + return userMapper.selectUserById(userId); + } + + + /** + * 校验用户名称是否唯一 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + public boolean checkUserNameUnique(SysUser user) { + Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); + SysUser info = userMapper.checkUserNameUnique(user.getUserName()); + if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 校验手机号码是否唯一 + * + * @param user 用户信息 + * @return + */ + @Override + public boolean checkPhoneUnique(SysUser user) { + Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); + SysUser info = userMapper.checkPhoneUnique(user.getPhonenumber()); + if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 校验email是否唯一 + * + * @param user 用户信息 + * @return + */ + @Override + public boolean checkEmailUnique(SysUser user) { + Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); + SysUser info = userMapper.checkEmailUnique(user.getEmail()); + if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 校验用户是否允许操作 + * + * @param user 用户信息 + */ + @Override + public void checkUserAllowed(SysUser user) { + if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) { + throw new ServiceException("不允许操作超级管理员用户"); + } + } + + /** + * 校验用户是否有数据权限 + * + * @param userId 用户id + */ + @Override + public void checkUserDataScope(Long userId) { + if (!SysUser.isAdmin(SecurityUtils.getUserId())) { + SysUser user = new SysUser(); + user.setUserId(userId); + List users = SpringUtils.getAopProxy(this).selectUserList(user); + if (StringUtils.isEmpty(users)) { + throw new ServiceException("没有权限访问用户数据!"); + } + } + } + + /** + * 新增保存用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public int insertUser(SysUser user) { + // 新增用户信息 + int rows = userMapper.insertUser(user); + + return rows; + } + + /** + * 注册用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + public boolean registerUser(SysUser user) { + return userMapper.insertUser(user) > 0; + } + + + /** + * 修改用户状态 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + public int updateUserStatus(SysUser user) { + return userMapper.updateUser(user); + } + + /** + * 修改用户基本信息 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + public int updateUserProfile(SysUser user) { + return userMapper.updateUser(user); + } + + /** + * 修改用户头像 + * + * @param userName 用户名 + * @param avatar 头像地址 + * @return 结果 + */ + @Override + public boolean updateUserAvatar(String userName, String avatar) { + return userMapper.updateUserAvatar(userName, avatar) > 0; + } + + /** + * 重置用户密码 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + public int resetPwd(SysUser user) { + return userMapper.updateUser(user); + } + + /** + * 重置用户密码 + * + * @param userName 用户名 + * @param password 密码 + * @return 结果 + */ + @Override + public int resetUserPwd(String userName, String password) { + return userMapper.resetUserPwd(userName, password); + } + +} diff --git a/op-modules/op-sap/op-modules-sap.iml b/op-modules/op-sap/op-modules-sap.iml index 085e0bc95..f4b83a853 100644 --- a/op-modules/op-sap/op-modules-sap.iml +++ b/op-modules/op-sap/op-modules-sap.iml @@ -1,14 +1,14 @@ - + + + + - - - @@ -194,6 +194,5 @@ - \ No newline at end of file diff --git a/op-modules/op-sap/src/main/java/com/op/mes/util/SapConnConfig.java b/op-modules/op-sap/src/main/java/com/op/mes/util/SapConnConfig.java deleted file mode 100644 index fb5ecd7f5..000000000 --- a/op-modules/op-sap/src/main/java/com/op/mes/util/SapConnConfig.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.op.mes.util; - -import com.sap.conn.jco.*; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -@Configuration -public class SapConnConfig { - static List> returnList = new ArrayList>(); - static JCoFunction function; - @Value("${sap.ashost}") - public String ashost; - - @Value("${sap.sysnr}") - public String sysnr; - - @Value("${sap.client}") - public String client; - - @Value("${sap.user}") - public String user; - - @Value("${sap.passwd}") - public String passwd; - - @Value("${sap.lang}") - public String lang; - - @Value("${sap.pool_capacity}") - public String pool_capacity; - - @Value("${sap.peak_limit}") - public String peak_limit; - - @Value("${sap.saprouter}") - public String saprouter; - @Bean - public void SapConn() { - SapConn con = new SapConn( - ashost, - sysnr, - client, - user, - passwd, - lang, - pool_capacity, - peak_limit, - saprouter - ); - // 连接 - JCoDestination jCoDestination = SAPConnUtils.connect(con); - RfcTest(jCoDestination); - - } - public static List> RfcTest(JCoDestination jCoDestination){ - try { - // 获取调用 RFC 函数对象 - JCoFunction func = jCoDestination.getRepository().getFunction("ZPPR_MES_PRO_TO"); - - // 配置传入参数 - JCoParameterList importParameterList = func.getImportParameterList(); - //importParameterList.setValue("S_AUFNR",001002125255 ); - - // 调用并获取返回值 - func.execute(jCoDestination); - // 获取 内表 - ZMES_PRO - JCoTable maraTable = func.getTableParameterList().getTable("ZMES_PRO"); - JCoRecordMetaData metaData = maraTable.getRecordMetaData(); - System.out.println("###"+metaData.toString()); - // 循环输出 Table 数据 - for (int i = 0; i < maraTable.getNumRows(); i++) { - maraTable.setRow(i); - String AUFNR = maraTable.getString("AUFNR"); - String AUART = maraTable.getString("AUART"); - String MAUFNR = maraTable.getString("MAUFNR"); - String PLNBEZ = maraTable.getString("PLNBEZ"); - String MAKTX = maraTable.getString("MAKTX"); - String PWERK = maraTable.getString("PWERK"); - String GAMNG = maraTable.getString("GAMNG"); - String GMEIN = maraTable.getString("GMEIN"); - String PLNNR = maraTable.getString("PLNNR"); - String GSTRP = maraTable.getString("GSTRP"); - String GLTRP = maraTable.getString("GLTRP"); - String ERNAM = maraTable.getString("ERNAM"); - String ERDAT = maraTable.getString("ERDAT"); - String STTXT = maraTable.getString("STTXT"); - -// System.out.println("物料编号:" + matnr + " - 创建日期:" + esdra + " - 创建人:" + ernam + " - 物料组:" + matkl + " - 单位:" + meins); - System.out.println("订单号:" +AUFNR+" - 订单类型:" + AUART+ " - 上级订单编号:" + MAUFNR+ " - 物料号:" + PLNBEZ+ " - 物料描述(短文本):" + MAKTX - + " - 订单的计划工厂:" + PWERK+ " - 订单数量总计:" + GAMNG+ " - 基本计量单位:" + GMEIN+ " - 任务清单组码:" + PLNNR+ " - 基本开始日期:" + GSTRP - + " - 基本完成日期:" + GLTRP+ " - 输入者:" + ERNAM+ " - 创建日期:" + ERDAT+ " - 系统状态:" + STTXT); - } - - - } catch (Exception e) { - e.printStackTrace(); - } - return returnList; - } - -} diff --git a/op-modules/op-sap/src/main/java/com/op/mes/SapApplication.java b/op-modules/op-sap/src/main/java/com/op/sap/SapApplication.java similarity index 96% rename from op-modules/op-sap/src/main/java/com/op/mes/SapApplication.java rename to op-modules/op-sap/src/main/java/com/op/sap/SapApplication.java index 21ae6143e..61b7b8d6a 100644 --- a/op-modules/op-sap/src/main/java/com/op/mes/SapApplication.java +++ b/op-modules/op-sap/src/main/java/com/op/sap/SapApplication.java @@ -1,4 +1,4 @@ -package com.op.mes; +package com.op.sap; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java b/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java new file mode 100644 index 000000000..7abf87279 --- /dev/null +++ b/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java @@ -0,0 +1,5 @@ +package com.op.sap.controller; + +public class SapController { + +} diff --git a/op-modules/op-sap/src/main/resources/bootstrap.yml b/op-modules/op-sap/src/main/resources/bootstrap.yml index 736f5ce64..5f449eb11 100644 --- a/op-modules/op-sap/src/main/resources/bootstrap.yml +++ b/op-modules/op-sap/src/main/resources/bootstrap.yml @@ -14,12 +14,12 @@ spring: nacos: discovery: namespace: lanju-op - group: zxl + group: ywl # 服务注册地址 server-addr: 140.249.53.142:8848 config: namespace: lanju-op - group: zxl + group: ywl #命名空间 #group: local # 配置中心地址 diff --git a/op-modules/op-system/op-modules-system.iml b/op-modules/op-system/op-modules-system.iml index 871896279..1aa5993b7 100644 --- a/op-modules/op-system/op-modules-system.iml +++ b/op-modules/op-system/op-modules-system.iml @@ -1,14 +1,17 @@ - - - - - + + + + + + + + diff --git a/op-modules/op-system/src/main/java/com/op/system/controller/SysUserController.java b/op-modules/op-system/src/main/java/com/op/system/controller/SysUserController.java index d203d9999..ea181c02c 100644 --- a/op-modules/op-system/src/main/java/com/op/system/controller/SysUserController.java +++ b/op-modules/op-system/src/main/java/com/op/system/controller/SysUserController.java @@ -333,4 +333,5 @@ public class SysUserController extends BaseController { public R>> getPoolNameLis(@RequestBody SysUser user) { return R.ok(userService.getPoolNameList(user)); } + } diff --git a/op-modules/op-system/src/main/resources/bootstrap.yml b/op-modules/op-system/src/main/resources/bootstrap.yml index fe34e4c4c..58c6eeba3 100644 --- a/op-modules/op-system/src/main/resources/bootstrap.yml +++ b/op-modules/op-system/src/main/resources/bootstrap.yml @@ -14,12 +14,12 @@ spring: nacos: discovery: namespace: lanju-op - group: zxl + group: ywl # 服务注册地址 server-addr: 140.249.53.142:8848 config: namespace: lanju-op - group: zxl + group: ywl #命名空间 #group: local # 配置中心地址 diff --git a/op-modules/op-system/web/WEB-INF/web.xml b/op-modules/op-system/web/WEB-INF/web.xml new file mode 100644 index 000000000..d80081d13 --- /dev/null +++ b/op-modules/op-system/web/WEB-INF/web.xml @@ -0,0 +1,6 @@ + + + \ No newline at end of file diff --git a/op-modules/op-wms/op-modules-wms.iml b/op-modules/op-wms/op-modules-wms.iml index 871896279..0cd655a41 100644 --- a/op-modules/op-wms/op-modules-wms.iml +++ b/op-modules/op-wms/op-modules-wms.iml @@ -1,14 +1,14 @@ + + + - - - diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/vo/MetaVo.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/vo/MetaVo.java index c03b76c8d..93e5927af 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/domain/vo/MetaVo.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/vo/MetaVo.java @@ -1,4 +1,4 @@ -package com.op.mes.domain.vo; +package com.op.sap.domain.vo; import com.op.common.core.utils.StringUtils; diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/vo/RouterVo.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/vo/RouterVo.java index 6f87be3cc..51c003b5b 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/domain/vo/RouterVo.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/vo/RouterVo.java @@ -1,4 +1,4 @@ -package com.op.mes.domain.vo; +package com.op.sap.domain.vo; import com.fasterxml.jackson.annotation.JsonInclude; import java.util.List; diff --git a/op-modules/op-wms/src/main/resources/bootstrap.yml b/op-modules/op-wms/src/main/resources/bootstrap.yml index 01b12e10d..6cb3e8303 100644 --- a/op-modules/op-wms/src/main/resources/bootstrap.yml +++ b/op-modules/op-wms/src/main/resources/bootstrap.yml @@ -14,12 +14,12 @@ spring: nacos: discovery: namespace: lanju-op - group: zxl + group: ywl # 服务注册地址 server-addr: 140.249.53.142:8848 config: namespace: lanju-op - group: zxl + group: ywl #命名空间 #group: local # 配置中心地址 diff --git a/op-visual/op-monitor/op-visual-monitor.iml b/op-visual/op-monitor/op-visual-monitor.iml index dc3eaf234..106428e8f 100644 --- a/op-visual/op-monitor/op-visual-monitor.iml +++ b/op-visual/op-monitor/op-visual-monitor.iml @@ -1,14 +1,14 @@ + + + - - -