diff --git a/JCO20231213_172552967.trc b/JCO20231213_172552967.trc new file mode 100644 index 000000000..d60026e46 --- /dev/null +++ b/JCO20231213_172552967.trc @@ -0,0 +1,91 @@ +main [17:25:52:968]: ******************** Wed Dec 13 17:25:52 CST 2023 *************************** +main [17:25:52:968]: SAP Java Connector (JCo) runtime information +main [17:25:52:968]: Java Runtime: +main [17:25:52:968]: Operating System : Windows 11 10.0 for amd64 +main [17:25:52:968]: Java VM : 1.8.0_321 Oracle Corporation +main [17:25:52:968]: Java Codepage : UTF8 +main [17:25:52:968]: Versions: +main [17:25:52:968]: JCo API : 3.0.8 (2011-11-28) +main [17:25:52:968]: JCo middleware name : JavaRfc +main [17:25:52:969]: JCo middleware : 2.2.7 +main [17:25:52:969]: JCo middleware native : 721.619 +main [17:25:52:969]: JCo library : D:\KHDF\op-modules\op-sap\sapjco3.dll +main [17:25:52:969]: +main [17:25:52:969]: ******************** Configuration *************************** + jco.trace_level = 1 + jco.trace_path = . + + +main [17:25:52:969]: ********************************************************************* +main [17:25:52:969]: Exception while setting system property to JCo property: jco.cpic_maxconv=202 com.sap.conn.jco.JCoRuntimeException: (131) JCO_ERROR_ILLEGAL_ARGUMENT: Value of property jco.cpic_maxconv causes null + at com.sap.conn.jco.rt.JCoRuntime.setPropertyValue(JCoRuntime.java:888) + at com.sap.conn.jco.rt.DefaultJCoRuntime.setPropertyValue(DefaultJCoRuntime.java:577) + at com.sap.conn.jco.rt.JCoRuntime.setSystemProperty(JCoRuntime.java:149) + at com.sap.conn.jco.rt.DefaultJCoRuntime.readSystemProperties(DefaultJCoRuntime.java:100) + at com.sap.conn.jco.rt.JCoRuntimeFactory.(JCoRuntimeFactory.java:24) + at java.lang.Class.forName0(Native Method) + at java.lang.Class.forName(Class.java:264) + at com.sap.conn.jco.JCo.createJCo(JCo.java:52) + at com.sap.conn.jco.JCo.(JCo.java:26) + at com.sap.conn.jco.JCoDestinationManager.getDestination(JCoDestinationManager.java:77) + at com.op.sap.util.SAPConnUtils.connect(SAPConnUtils.java:24) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) + at com.op.sap.SapApplication.main(SapApplication.java:20) +Caused by: java.lang.NullPointerException + at com.sap.conn.rfc.engine.Trc.criticalTrace(Trc.java:472) + at com.sap.conn.rfc.driver.CpicDriver.setCpicMaxConv(CpicDriver.java:1061) + at com.sap.conn.rfc.engine.DefaultRfcRuntime.setCpicMaxConv(DefaultRfcRuntime.java:113) + at com.sap.conn.jco.rt.JCoRuntime.setPropertyValue(JCoRuntime.java:873) + ... 63 more + diff --git a/dev_jco_rfc.trc b/dev_jco_rfc.trc index afb113b4c..443ae4f27 100644 --- a/dev_jco_rfc.trc +++ b/dev_jco_rfc.trc @@ -1,118 +1,74 @@ -**** Error file opened at 20231205 092106 China Standard Time Rel 3.0.8 (2011-11-28) [721.619] -Error: >Tue Dec 05 09:21:06,526< RfcException: [null] - message: Connect to SAP gateway failed -Connection parameters: TYPE=A DEST=ABAP_AS_WITH_POOL ASHOST=192.168.230.50 SYSNR=00 PCS=1 - -LOCATION CPIC (TCP/IP) on local host with Unicode -ERROR partner '192.168.230.50:3300' not reached -TIME Tue Dec 05 09:21:06 2023 -RELEASE 721 -COMPONENT NI (network interface) -VERSION 40 -RC -10 -MODULE nixxi.cpp -LINE 3283 -DETAIL NiPConnect2: 192.168.230.50: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 Dec 05 09:23:26,607< RfcException: [null] - message: Connect to SAP gateway failed -Connection parameters: TYPE=A DEST=ABAP_AS_WITH_POOL ASHOST=192.168.230.50 SYSNR=00 PCS=1 - -LOCATION CPIC (TCP/IP) on local host with Unicode -ERROR partner '192.168.230.50:3300' not reached -TIME Tue Dec 05 09:23:26 2023 -RELEASE 721 -COMPONENT NI (network interface) -VERSION 40 -RC -10 -MODULE nixxi.cpp -LINE 3283 -DETAIL NiPConnect2: 192.168.230.50: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 file opened at 20231205 100000 China Standard Time Rel 3.0.8 (2011-11-28) [721.619] -Error: >Tue Dec 05 10:00:00,058< >RfcGetException rc (7) message: 数值范围对象 ZMESPROID 不存在 -Tue Dec 05 10:01:14,955< >RfcGetException rc (7) message: 数值范围对象 ZMESPROID 不存在 -Fri Dec 08 16:46:50,007< >RfcGetException rc (7) message: ##.#####,#### -Fri Dec 08 16:49:21,354< >RfcGetException rc (7) message: ##.#####,#### -Fri Dec 08 16:51:02,041< >RfcGetException rc (7) message: ##.#####,#### -Mon Dec 11 15:17:21,694< >RfcGetException rc (7) message: ##.#####,#### -Mon Dec 11 16:00:16,825< RfcException: [DEV|erpdev] - message: connection closed without message (CM_NO_DATA_RECEIVED) - Return code: RFC_CLOSED(6) - error group: 102 - key: RFC_ERROR_COMMUNICATION -Exception raised by DEV|erpdev - - -**** Error file opened at 20231211 172940 China Standard Time Rel 3.0.8 (2011-11-28) [721.619] -Error: >Mon Dec 11 17:29:40,539< >RfcGetException rc (7) message: Syntax error in program SAPLZMES . -Mon Dec 11 17:30:08,292< >RfcGetException rc (7) message: Syntax error in program SAPLZMES . -Mon Dec 11 17:30:54,764< >RfcGetException rc (7) message: Syntax error in program SAPLZMES . -Mon Dec 11 17:33:28,521< >RfcGetException rc (7) message: Syntax error in program SAPLZMES . -Mon Dec 11 17:35:37,983< >RfcGetException rc (7) message: Syntax error in program SAPLZMES . -Mon Dec 11 17:37:48,395< >RfcGetException rc (7) message: Syntax error in program SAPLZMES . -Mon Dec 11 18:20:25,371< >RfcGetException rc (7) message: Syntax error in program SAPLZMES . -Mon Dec 11 18:20:41,130< >RfcGetException rc (7) message: Syntax error in program SAPLZMES . -Mon Dec 11 18:21:52,709< >RfcGetException rc (7) message: Syntax error in program SAPLZMES . -Wed Dec 13 17:25:52,970< [JCoAPI] Exception while setting system property to JCo property: jco.cpic_maxconv=202 com.sap.conn.jco.JCoRuntimeException: (131) JCO_ERROR_ILLEGAL_ARGUMENT: Value of property jco.cpic_maxconv causes null + at com.sap.conn.jco.rt.JCoRuntime.setPropertyValue(JCoRuntime.java:888) + at com.sap.conn.jco.rt.DefaultJCoRuntime.setPropertyValue(DefaultJCoRuntime.java:577) + at com.sap.conn.jco.rt.JCoRuntime.setSystemProperty(JCoRuntime.java:149) + at com.sap.conn.jco.rt.DefaultJCoRuntime.readSystemProperties(DefaultJCoRuntime.java:100) + at com.sap.conn.jco.rt.JCoRuntimeFactory.(JCoRuntimeFactory.java:24) + at java.lang.Class.forName0(Native Method) + at java.lang.Class.forName(Class.java:264) + at com.sap.conn.jco.JCo.createJCo(JCo.java:52) + at com.sap.conn.jco.JCo.(JCo.java:26) + at com.sap.conn.jco.JCoDestinationManager.getDestination(JCoDestinationManager.java:77) + at com.op.sap.util.SAPConnUtils.connect(SAPConnUtils.java:24) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) + at com.op.sap.SapApplication.main(SapApplication.java:20) +Caused by: java.lang.NullPointerException + at com.sap.conn.rfc.engine.Trc.criticalTrace(Trc.java:472) + at com.sap.conn.rfc.driver.CpicDriver.setCpicMaxConv(CpicDriver.java:1061) + at com.sap.conn.rfc.engine.DefaultRfcRuntime.setCpicMaxConv(DefaultRfcRuntime.java:113) + at com.sap.conn.jco.rt.JCoRuntime.setPropertyValue(JCoRuntime.java:873) + ... 63 more diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteQualityService.java b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteQualityService.java index e17a555ce..6197718df 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteQualityService.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteQualityService.java @@ -3,6 +3,7 @@ package com.op.system.api; import com.op.common.core.constant.ServiceNameConstants; import com.op.common.core.domain.R; import com.op.system.api.domain.quality.QcCheckTaskIncomeDTO; +import com.op.system.api.domain.quality.QcCheckTaskWarehousingDTO; import com.op.system.api.factory.RemoteDeviceFallbackFactory; import com.op.system.api.factory.RemoteQualityFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; @@ -25,4 +26,7 @@ public interface RemoteQualityService { @PostMapping("/qcIncome/createIncomeTask") public R createIncomeTask(@RequestBody QcCheckTaskIncomeDTO qcCheckTaskIncome); + + @PostMapping("/qcWarehousing/createProductTask") + public R createProductTask(@RequestBody QcCheckTaskWarehousingDTO qcCheckTaskIncome); } diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/QcCheckTaskIncomeDTO.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/QcCheckTaskIncomeDTO.java index 8464cbcac..037a6dc69 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/QcCheckTaskIncomeDTO.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/QcCheckTaskIncomeDTO.java @@ -135,6 +135,15 @@ public class QcCheckTaskIncomeDTO extends BaseEntity { private BigDecimal aNoOkquality; private BigDecimal bNoOkquality; private BigDecimal cNoOkquality; + private String orderType; + + public String getOrderType() { + return orderType; + } + + public void setOrderType(String orderType) { + this.orderType = orderType; + } public BigDecimal getSampleQuality() { return sampleQuality; diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/QcCheckTaskWarehousingDTO.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/QcCheckTaskWarehousingDTO.java new file mode 100644 index 000000000..47f4b0bb1 --- /dev/null +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/QcCheckTaskWarehousingDTO.java @@ -0,0 +1,376 @@ +package com.op.system.api.domain.quality; + +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; + +/** + * 成品入库检验任务对象 qc_check_task_warehousing + * + * @author Open Platform + * @date 2023-10-19 + */ +public class QcCheckTaskWarehousingDTO extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** id */ + private String recordId; + + /** 检验任务编号 */ + @Excel(name = "检验任务编号") + private String checkNo; + + /** 批次号 */ + @Excel(name = "批次号") + private String incomeBatchNo; + + /** 订单号 */ + @Excel(name = "订单号") + private String orderNo; + + /** 物料号 */ + @Excel(name = "物料号") + private String materialCode; + + /** 物料名称 */ + @Excel(name = "物料名称") + private String materialName; + + /** 数量 */ + @Excel(name = "数量") + private BigDecimal quality; + + /** 单位 */ + @Excel(name = "单位") + private String unit; + + /** 仓库编码 */ + @Excel(name = "仓库编码") + private String supplierCode; + + /** 仓库名称 */ + @Excel(name = "仓库名称") + private String supplierName; + + /** 来料时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date incomeTime; + + /** 检测地点 */ + @Excel(name = "检测地点") + private String checkLoc; + + /** 检测状态 */ + @Excel(name = "检测状态") + private String checkStatus; + + /** 检测人工号 */ + @Excel(name = "检测人工号") + private String checkManCode; + + /** 检测人姓名 */ + @Excel(name = "检测人姓名") + private String checkManName; + + /** 检验时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "检验时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date checkTime; + + /** 检验结果Y合格 */ + @Excel(name = "检验结果Y合格") + private String checkResult; + + /** 是否启用1启用0停用 */ + @Excel(name = "是否启用1启用0停用") + private String status; + + /** 预留字段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 factoryCode; + + /** 删除标识1删除0正常 */ + private String delFlag; + + private String incomeTimeStart; + private String incomeTimeEnd; + private String checkTimeStart; + private String checkTimeEnd; + private String typeCode; + private String checkType; + + public String getCheckType() { + return checkType; + } + + public void setCheckType(String checkType) { + this.checkType = checkType; + } + + public String getIncomeTimeStart() { + return incomeTimeStart; + } + + public void setIncomeTimeStart(String incomeTimeStart) { + this.incomeTimeStart = incomeTimeStart; + } + + public String getIncomeTimeEnd() { + return incomeTimeEnd; + } + + public void setIncomeTimeEnd(String incomeTimeEnd) { + this.incomeTimeEnd = incomeTimeEnd; + } + + public String getCheckTimeStart() { + return checkTimeStart; + } + + public void setCheckTimeStart(String checkTimeStart) { + this.checkTimeStart = checkTimeStart; + } + + public String getCheckTimeEnd() { + return checkTimeEnd; + } + + public void setCheckTimeEnd(String checkTimeEnd) { + this.checkTimeEnd = checkTimeEnd; + } + + public String getTypeCode() { + return typeCode; + } + + public void setTypeCode(String typeCode) { + this.typeCode = typeCode; + } + + public void setRecordId(String recordId) { + this.recordId = recordId; + } + + public String getRecordId() { + return recordId; + } + public void setCheckNo(String checkNo) { + this.checkNo = checkNo; + } + + public String getCheckNo() { + return checkNo; + } + + public void setOrderNo(String orderNo) { + this.orderNo = orderNo; + } + + public String getOrderNo() { + return orderNo; + } + public void setMaterialCode(String materialCode) { + this.materialCode = materialCode; + } + + public String getMaterialCode() { + return materialCode; + } + public void setMaterialName(String materialName) { + this.materialName = materialName; + } + + public String getMaterialName() { + return materialName; + } + public void setQuality(BigDecimal quality) { + this.quality = quality; + } + + public BigDecimal getQuality() { + return quality; + } + public void setUnit(String unit) { + this.unit = unit; + } + + public String getUnit() { + return unit; + } + public void setSupplierCode(String supplierCode) { + this.supplierCode = supplierCode; + } + + public String getSupplierCode() { + return supplierCode; + } + public void setSupplierName(String supplierName) { + this.supplierName = supplierName; + } + + public String getSupplierName() { + return supplierName; + } + public void setIncomeTime(Date incomeTime) { + this.incomeTime = incomeTime; + } + + public Date getIncomeTime() { + return incomeTime; + } + public void setCheckLoc(String checkLoc) { + this.checkLoc = checkLoc; + } + + public String getCheckLoc() { + return checkLoc; + } + public void setCheckStatus(String checkStatus) { + this.checkStatus = checkStatus; + } + + public String getCheckStatus() { + return checkStatus; + } + public void setCheckManCode(String checkManCode) { + this.checkManCode = checkManCode; + } + + public String getCheckManCode() { + return checkManCode; + } + public void setCheckManName(String checkManName) { + this.checkManName = checkManName; + } + + public String getCheckManName() { + return checkManName; + } + public void setCheckTime(Date checkTime) { + this.checkTime = checkTime; + } + + public Date getCheckTime() { + return checkTime; + } + public void setCheckResult(String checkResult) { + this.checkResult = checkResult; + } + + public String getCheckResult() { + return checkResult; + } + 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(String attr3) { + this.attr3 = attr3; + } + + public String getAttr3() { + return attr3; + } + public void setAttr4(String attr4) { + this.attr4 = attr4; + } + + public String getAttr4() { + return attr4; + } + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + + public String getFactoryCode() { + return factoryCode; + } + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + + public String getDelFlag() { + 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("incomeBatchNo", getIncomeBatchNo()) + .append("orderNo", getOrderNo()) + .append("materialCode", getMaterialCode()) + .append("materialName", getMaterialName()) + .append("quality", getQuality()) + .append("unit", getUnit()) + .append("supplierCode", getSupplierCode()) + .append("supplierName", getSupplierName()) + .append("incomeTime", getIncomeTime()) + .append("checkLoc", getCheckLoc()) + .append("checkStatus", getCheckStatus()) + .append("checkManCode", getCheckManCode()) + .append("checkManName", getCheckManName()) + .append("checkTime", getCheckTime()) + .append("checkResult", getCheckResult()) + .append("status", getStatus()) + .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("factoryCode", getFactoryCode()) + .append("delFlag", getDelFlag()) + .toString(); + } +} diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteQualityFallbackFactory.java b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteQualityFallbackFactory.java index f7a38663d..4d63c12c1 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteQualityFallbackFactory.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteQualityFallbackFactory.java @@ -5,6 +5,7 @@ import com.op.common.core.domain.R; import com.op.system.api.RemoteDeviceService; import com.op.system.api.RemoteQualityService; import com.op.system.api.domain.quality.QcCheckTaskIncomeDTO; +import com.op.system.api.domain.quality.QcCheckTaskWarehousingDTO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; @@ -30,7 +31,12 @@ public class RemoteQualityFallbackFactory implements FallbackFactory users = openMapper.getUserByMaterial(qcCheckTaskProduce.getMaterialCode()); if(CollectionUtils.isEmpty(users)){ QcUserMaterialDTO dto0 = new QcUserMaterialDTO(); + dto0.setId(IdUtils.fastSimpleUUID()); + dto0.setBelongTo(beLongId); + dto0.setCheckNo(qcCheckTaskProduce.getCheckNo()); + dto0.setCreateBy(createBy); + dto0.setFactoryCode(factoryCode); + dto0.setCreateTime(nowDate); dto0.setUserCode("mobile"); dto0.setUserName("手持测试用户"); users.add(dto0); diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskWarehousingController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskWarehousingController.java index b32bb710b..f380a6db4 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskWarehousingController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskWarehousingController.java @@ -6,7 +6,10 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.bean.BeanUtils; +import com.op.quality.domain.QcCheckTaskIncome; import com.op.quality.domain.QcCheckTaskProduce; +import com.op.system.api.domain.quality.QcCheckTaskWarehousingDTO; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -103,6 +106,17 @@ public class QcCheckTaskWarehousingController extends BaseController { return error("添加失败:请检查物料的关联检测项"); } + @PostMapping("/createProductTask") + public AjaxResult createProductTask(@RequestBody QcCheckTaskWarehousingDTO qcCheckTaskWarehousingDTO) { + QcCheckTaskWarehousing qcCheckTaskIncome = new QcCheckTaskWarehousing(); + BeanUtils.copyProperties(qcCheckTaskIncome,qcCheckTaskWarehousingDTO); + int r = qcCheckTaskWarehousingService.insertQcCheckTaskWarehousing(qcCheckTaskIncome); + if(r>0){ + return toAjax(r); + } + return error("添加失败:请检查物料的关联检测项"); + } + /** * 修改成品入库检验任务 */ 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 index 1db2db044..473287128 100644 --- 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 @@ -147,11 +147,16 @@ public class QcStaticTableController extends BaseController { if(mdata.getcNoOkquality()==null){ mdata.setcNoOkquality(new BigDecimal("0")); } - BigDecimal defectRate = (mdata.getaNoOkquality().add(mdata.getbNoOkquality()).multiply(new BigDecimal("0.65")) - .add(mdata.getcNoOkquality()).multiply(new BigDecimal(0.35))) - .divide(new BigDecimal(mdata.getSampleQuality())) - .setScale(2, BigDecimal.ROUND_HALF_UP); - datas.add(defectRate.doubleValue()); + if(!"0.00".equals(mdata.getSampleQuality())){ + BigDecimal defectRate = (mdata.getaNoOkquality().add(mdata.getbNoOkquality()).multiply(new BigDecimal("0.65")) + .add(mdata.getcNoOkquality()).multiply(new BigDecimal(0.35))) + .divide(new BigDecimal(mdata.getSampleQuality())) + .setScale(2, BigDecimal.ROUND_HALF_UP); + datas.add(defectRate.doubleValue()); + }else{ + datas.add(0.00); + } + }else{ datas.add(0.00); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/WmsRawOrderInController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/WmsRawOrderInController.java new file mode 100644 index 000000000..89c853f93 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/WmsRawOrderInController.java @@ -0,0 +1,97 @@ +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.WmsRawOrderIn; +import com.op.quality.service.IWmsRawOrderInService; +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-12-26 + */ +@RestController +@RequestMapping("/bPproduct") +public class WmsRawOrderInController extends BaseController { + @Autowired + private IWmsRawOrderInService wmsRawOrderInService; + + /** + * 查询白坯手动入库单列表 + */ + @RequiresPermissions("quality:bPproduct:list") + @GetMapping("/list") + public TableDataInfo list(WmsRawOrderIn wmsRawOrderIn) { + startPage(); + List list = wmsRawOrderInService.selectWmsRawOrderInList(wmsRawOrderIn); + return getDataTable(list); + } + + /** + * 导出白坯手动入库单列表 + */ + @RequiresPermissions("quality:bPproduct:export") + @Log(title = "白坯手动入库单", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, WmsRawOrderIn wmsRawOrderIn) { + List list = wmsRawOrderInService.selectWmsRawOrderInList(wmsRawOrderIn); + ExcelUtil util = new ExcelUtil(WmsRawOrderIn.class); + util.exportExcel(response, list, "白坯手动入库单数据"); + } + + /** + * 获取白坯手动入库单详细信息 + */ + @RequiresPermissions("quality:bPproduct:query") + @GetMapping(value = "/{rawOrderInId}") + public AjaxResult getInfo(@PathVariable("rawOrderInId") String rawOrderInId) { + return success(wmsRawOrderInService.selectWmsRawOrderInByRawOrderInId(rawOrderInId)); + } + + /** + * 新增白坯手动入库单 + */ + @RequiresPermissions("quality:bPproduct:add") + @Log(title = "白坯手动入库单", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody WmsRawOrderIn wmsRawOrderIn) { + return toAjax(wmsRawOrderInService.insertWmsRawOrderIn(wmsRawOrderIn)); + } + + /** + * 修改白坯手动入库单 + */ + @RequiresPermissions("quality:bPproduct:edit") + @Log(title = "白坯手动入库单", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody WmsRawOrderIn wmsRawOrderIn) { + return toAjax(wmsRawOrderInService.updateWmsRawOrderIn(wmsRawOrderIn)); + } + + /** + * 删除白坯手动入库单 + */ + @RequiresPermissions("quality:bPproduct:remove") + @Log(title = "白坯手动入库单", businessType = BusinessType.DELETE) + @DeleteMapping("/{rawOrderInIds}") + public AjaxResult remove(@PathVariable String[] rawOrderInIds) { + return toAjax(wmsRawOrderInService.deleteWmsRawOrderInByRawOrderInIds(rawOrderInIds)); + } +} 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 c267cb334..e186e3db4 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 @@ -119,6 +119,15 @@ public class QcCheckTaskWarehousing extends BaseEntity { private String checkTimeEnd; private String typeCode; private String checkType; + private String orderType; + + public String getOrderType() { + return orderType; + } + + public void setOrderType(String orderType) { + this.orderType = orderType; + } public String getCheckType() { return checkType; diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/WmsRawOrderIn.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/WmsRawOrderIn.java new file mode 100644 index 000000000..3dd9fd03b --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/WmsRawOrderIn.java @@ -0,0 +1,665 @@ +package com.op.quality.domain; + +import java.math.BigDecimal; +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; + +/** + * 白坯手动入库单对象 wms_raw_order_in + * + * @author Open Platform + * @date 2023-12-26 + */ +public class WmsRawOrderIn extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 唯一序列号 */ + private String rawOrderInId; + + /** 工厂编码 */ + @Excel(name = "工厂编码") + private String factoryCode; + + /** 仓库编码 */ + @Excel(name = "仓库编码") + private String whCode; + + /** 库区编码 */ + @Excel(name = "库区编码") + private String waCode; + + /** 库位编码 */ + @Excel(name = "库位编码") + private String wlCode; + + /** 入库单类型 */ + @Excel(name = "入库单类型") + private String orderInType; + + /** 入库单号 */ + @Excel(name = "入库单号") + private String orderNo; + + /** DN单号 */ + @Excel(name = "DN单号") + private String dnNo; + + /** 采购订单号 */ + @Excel(name = "采购订单号") + private String poNo; + + /** 采购订单行号 */ + @Excel(name = "采购订单行号") + private String poLine; + + /** 采购订单类型 */ + @Excel(name = "采购订单类型") + private String poType; + + /** 物料号 */ + @Excel(name = "物料号") + private String materialCode; + + /** 物料描述 */ + @Excel(name = "物料描述") + private String materialDesc; + + /** 单位 */ + @Excel(name = "单位") + private String unit; + + /** 采购组 */ + @Excel(name = "采购组") + private String buyerGroup; + + /** 供应商编码 */ + @Excel(name = "供应商编码") + private String supplyCode; + + /** 工厂 */ + @Excel(name = "工厂") + private String sapFactoryCode; + + /** 交货地点 */ + @Excel(name = "交货地点") + private String sendSpot; + + /** 需求数量 */ + @Excel(name = "需求数量") + private BigDecimal requestAmount; + + /** 收货数量 */ + @Excel(name = "收货数量") + private BigDecimal receiptAmount; + + /** 备品数量 */ + @Excel(name = "备品数量") + private BigDecimal shelvesAmount; + + /** 库存地点 */ + @Excel(name = "库存地点") + private String location; + + /** 需求时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "需求时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date requestTime; + + /** 质检状态,默认0待检,1合格,2不合格,3免检, */ + @Excel(name = "质检状态,默认0待检,1合格,2不合格,3免检,") + private String qualityStatus; + + /** 0创建1拒收2收货完成3上架完成4入库完成 */ + @Excel(name = "0创建1拒收2收货完成3上架完成4入库完成") + private String orderStatus; + + /** 收货操作人 */ + @Excel(name = "收货操作人") + private String receiptOperator; + + /** 收货时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "收货时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date receiptTime; + + /** 上架操作人 */ + @Excel(name = "上架操作人") + private String shelvesOperator; + + /** 退货数量 */ + @Excel(name = "退货数量") + private BigDecimal returnAmount; + + /** 退料人 */ + @Excel(name = "退料人") + private String returnName; + + /** 退货过账时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "退货过账时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date returnTime; + + /** 冲销过账: +0未退货; +1用户拒绝; +2退货完成; +3SAP正在处理; +4SAP拒绝 */ +// @Excel(name = "冲销过账: 0未退货; +//1用户拒绝; +//2退货完成; +//3SAP正在处理; +//4SAP拒绝") + private String returnStatus; + + /** 上架时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "上架时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date shelvesTime; + + /** 退货过账信息 */ + @Excel(name = "退货过账信息") + private String returnMessage; + + private String name; + /** 收货过账状态: +0未收货; +1用户拒绝; +2收货完成; +3SAP正在处理; +4SAP拒绝 */ +// @Excel(name = "收货过账状态: +//0未收货; +//1用户拒绝; +//2收货完成; +//3SAP正在处理; +//4SAP拒绝") + private String accountingStatus; + + /** 收货过账时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "收货过账时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date accountingTime; + + /** 收货过账信息 */ + @Excel(name = "收货过账信息") + private String accountingMessage; + + /** 备用 */ + @Excel(name = "备用") + private String userDefined1; + + /** 备用 */ + @Excel(name = "备用") + private String userDefined2; + + /** 备用 */ + @Excel(name = "备用") + private String userDefined3; + + /** 备用 */ + @Excel(name = "备用") + private String userDefined4; + + /** 备用 */ + @Excel(name = "备用") + private String userDefined5; + + /** 备用 */ + @Excel(name = "备用") + private String userDefined6; + + /** 备用 */ + @Excel(name = "备用") + private String userDefined7; + + /** 备用 */ + @Excel(name = "备用") + private String userDefined8; + + /** 备用9 */ + @Excel(name = "备用9") + private String userDefined9; + + /** 备用10 */ + @Excel(name = "备用10") + private String userDefined10; + + /** 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date gmtCreate; + + /** 最后更新人 */ + @Excel(name = "最后更新人") + private String lastModifiedBy; + + /** 最后更新时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date gmtModified; + + /** 有效标记 */ + @Excel(name = "有效标记") + private String activeFlag; + + public void setRawOrderInId(String rawOrderInId) { + this.rawOrderInId = rawOrderInId; + } + + public String getRawOrderInId() { + return rawOrderInId; + } + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + + public String getFactoryCode() { + return factoryCode; + } + public void setWhCode(String whCode) { + this.whCode = whCode; + } + + public String getWhCode() { + return whCode; + } + public void setWaCode(String waCode) { + this.waCode = waCode; + } + + public String getWaCode() { + return waCode; + } + public void setWlCode(String wlCode) { + this.wlCode = wlCode; + } + + public String getWlCode() { + return wlCode; + } + public void setOrderInType(String orderInType) { + this.orderInType = orderInType; + } + + public String getOrderInType() { + return orderInType; + } + public void setOrderNo(String orderNo) { + this.orderNo = orderNo; + } + + public String getOrderNo() { + return orderNo; + } + public void setDnNo(String dnNo) { + this.dnNo = dnNo; + } + + public String getDnNo() { + return dnNo; + } + public void setPoNo(String poNo) { + this.poNo = poNo; + } + + public String getPoNo() { + return poNo; + } + public void setPoLine(String poLine) { + this.poLine = poLine; + } + + public String getPoLine() { + return poLine; + } + public void setPoType(String poType) { + this.poType = poType; + } + + public String getPoType() { + return poType; + } + public void setMaterialCode(String materialCode) { + this.materialCode = materialCode; + } + + public String getMaterialCode() { + return materialCode; + } + public void setMaterialDesc(String materialDesc) { + this.materialDesc = materialDesc; + } + + public String getMaterialDesc() { + return materialDesc; + } + public void setUnit(String unit) { + this.unit = unit; + } + + public String getUnit() { + return unit; + } + public void setBuyerGroup(String buyerGroup) { + this.buyerGroup = buyerGroup; + } + + public String getBuyerGroup() { + return buyerGroup; + } + public void setSupplyCode(String supplyCode) { + this.supplyCode = supplyCode; + } + + public String getSupplyCode() { + return supplyCode; + } + public void setSapFactoryCode(String sapFactoryCode) { + this.sapFactoryCode = sapFactoryCode; + } + + public String getSapFactoryCode() { + return sapFactoryCode; + } + public void setSendSpot(String sendSpot) { + this.sendSpot = sendSpot; + } + + public String getSendSpot() { + return sendSpot; + } + public void setRequestAmount(BigDecimal requestAmount) { + this.requestAmount = requestAmount; + } + + public BigDecimal getRequestAmount() { + return requestAmount; + } + public void setReceiptAmount(BigDecimal receiptAmount) { + this.receiptAmount = receiptAmount; + } + + public BigDecimal getReceiptAmount() { + return receiptAmount; + } + public void setShelvesAmount(BigDecimal shelvesAmount) { + this.shelvesAmount = shelvesAmount; + } + + public BigDecimal getShelvesAmount() { + return shelvesAmount; + } + public void setLocation(String location) { + this.location = location; + } + + public String getLocation() { + return location; + } + public void setRequestTime(Date requestTime) { + this.requestTime = requestTime; + } + + public Date getRequestTime() { + return requestTime; + } + public void setQualityStatus(String qualityStatus) { + this.qualityStatus = qualityStatus; + } + + public String getQualityStatus() { + return qualityStatus; + } + public void setOrderStatus(String orderStatus) { + this.orderStatus = orderStatus; + } + + public String getOrderStatus() { + return orderStatus; + } + public void setReceiptOperator(String receiptOperator) { + this.receiptOperator = receiptOperator; + } + + public String getReceiptOperator() { + return receiptOperator; + } + public void setReceiptTime(Date receiptTime) { + this.receiptTime = receiptTime; + } + + public Date getReceiptTime() { + return receiptTime; + } + public void setShelvesOperator(String shelvesOperator) { + this.shelvesOperator = shelvesOperator; + } + + public String getShelvesOperator() { + return shelvesOperator; + } + public void setReturnAmount(BigDecimal returnAmount) { + this.returnAmount = returnAmount; + } + + public BigDecimal getReturnAmount() { + return returnAmount; + } + public void setReturnName(String returnName) { + this.returnName = returnName; + } + + public String getReturnName() { + return returnName; + } + public void setReturnTime(Date returnTime) { + this.returnTime = returnTime; + } + + public Date getReturnTime() { + return returnTime; + } + public void setReturnStatus(String returnStatus) { + this.returnStatus = returnStatus; + } + + public String getReturnStatus() { + return returnStatus; + } + public void setShelvesTime(Date shelvesTime) { + this.shelvesTime = shelvesTime; + } + + public Date getShelvesTime() { + return shelvesTime; + } + public void setReturnMessage(String returnMessage) { + this.returnMessage = returnMessage; + } + + public String getReturnMessage() { + return returnMessage; + } + public void setAccountingStatus(String accountingStatus) { + this.accountingStatus = accountingStatus; + } + + public String getAccountingStatus() { + return accountingStatus; + } + public void setAccountingTime(Date accountingTime) { + this.accountingTime = accountingTime; + } + + public Date getAccountingTime() { + return accountingTime; + } + public void setAccountingMessage(String accountingMessage) { + this.accountingMessage = accountingMessage; + } + + public String getAccountingMessage() { + return accountingMessage; + } + 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 setUserDefined7(String userDefined7) { + this.userDefined7 = userDefined7; + } + + public String getUserDefined7() { + return userDefined7; + } + public void setUserDefined8(String userDefined8) { + this.userDefined8 = userDefined8; + } + + public String getUserDefined8() { + return userDefined8; + } + public void setUserDefined9(String userDefined9) { + this.userDefined9 = userDefined9; + } + + public String getUserDefined9() { + return userDefined9; + } + public void setUserDefined10(String userDefined10) { + this.userDefined10 = userDefined10; + } + + public String getUserDefined10() { + return userDefined10; + } + public void setGmtCreate(Date gmtCreate) { + this.gmtCreate = gmtCreate; + } + + public Date getGmtCreate() { + return gmtCreate; + } + public void setLastModifiedBy(String lastModifiedBy) { + this.lastModifiedBy = lastModifiedBy; + } + + public String getLastModifiedBy() { + return lastModifiedBy; + } + public void setGmtModified(Date gmtModified) { + this.gmtModified = gmtModified; + } + + public Date getGmtModified() { + return gmtModified; + } + public void setActiveFlag(String activeFlag) { + this.activeFlag = activeFlag; + } + + public String getActiveFlag() { + return activeFlag; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("rawOrderInId", getRawOrderInId()) + .append("factoryCode", getFactoryCode()) + .append("whCode", getWhCode()) + .append("waCode", getWaCode()) + .append("wlCode", getWlCode()) + .append("orderInType", getOrderInType()) + .append("orderNo", getOrderNo()) + .append("dnNo", getDnNo()) + .append("poNo", getPoNo()) + .append("poLine", getPoLine()) + .append("poType", getPoType()) + .append("materialCode", getMaterialCode()) + .append("materialDesc", getMaterialDesc()) + .append("unit", getUnit()) + .append("buyerGroup", getBuyerGroup()) + .append("supplyCode", getSupplyCode()) + .append("sapFactoryCode", getSapFactoryCode()) + .append("sendSpot", getSendSpot()) + .append("requestAmount", getRequestAmount()) + .append("receiptAmount", getReceiptAmount()) + .append("shelvesAmount", getShelvesAmount()) + .append("location", getLocation()) + .append("requestTime", getRequestTime()) + .append("qualityStatus", getQualityStatus()) + .append("orderStatus", getOrderStatus()) + .append("receiptOperator", getReceiptOperator()) + .append("receiptTime", getReceiptTime()) + .append("shelvesOperator", getShelvesOperator()) + .append("returnAmount", getReturnAmount()) + .append("returnName", getReturnName()) + .append("returnTime", getReturnTime()) + .append("returnStatus", getReturnStatus()) + .append("shelvesTime", getShelvesTime()) + .append("returnMessage", getReturnMessage()) + .append("accountingStatus", getAccountingStatus()) + .append("accountingTime", getAccountingTime()) + .append("accountingMessage", getAccountingMessage()) + .append("userDefined1", getUserDefined1()) + .append("userDefined2", getUserDefined2()) + .append("userDefined3", getUserDefined3()) + .append("userDefined4", getUserDefined4()) + .append("userDefined5", getUserDefined5()) + .append("userDefined6", getUserDefined6()) + .append("userDefined7", getUserDefined7()) + .append("userDefined8", getUserDefined8()) + .append("userDefined9", getUserDefined9()) + .append("userDefined10", getUserDefined10()) + .append("createBy", getCreateBy()) + .append("gmtCreate", getGmtCreate()) + .append("lastModifiedBy", getLastModifiedBy()) + .append("gmtModified", getGmtModified()) + .append("activeFlag", getActiveFlag()) + .toString(); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/WmsRawOrderInMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/WmsRawOrderInMapper.java new file mode 100644 index 000000000..93a1e5ff1 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/WmsRawOrderInMapper.java @@ -0,0 +1,61 @@ +package com.op.quality.mapper; + +import java.util.List; + +import com.op.quality.domain.WmsRawOrderIn; + +/** + * 白坯手动入库单Mapper接口 + * + * @author Open Platform + * @date 2023-12-26 + */ +public interface WmsRawOrderInMapper { + /** + * 查询白坯手动入库单 + * + * @param rawOrderInId 白坯手动入库单主键 + * @return 白坯手动入库单 + */ + public WmsRawOrderIn selectWmsRawOrderInByRawOrderInId(String rawOrderInId); + + /** + * 查询白坯手动入库单列表 + * + * @param wmsRawOrderIn 白坯手动入库单 + * @return 白坯手动入库单集合 + */ + public List selectWmsRawOrderInList(WmsRawOrderIn wmsRawOrderIn); + + /** + * 新增白坯手动入库单 + * + * @param wmsRawOrderIn 白坯手动入库单 + * @return 结果 + */ + public int insertWmsRawOrderIn(WmsRawOrderIn wmsRawOrderIn); + + /** + * 修改白坯手动入库单 + * + * @param wmsRawOrderIn 白坯手动入库单 + * @return 结果 + */ + public int updateWmsRawOrderIn(WmsRawOrderIn wmsRawOrderIn); + + /** + * 删除白坯手动入库单 + * + * @param rawOrderInId 白坯手动入库单主键 + * @return 结果 + */ + public int deleteWmsRawOrderInByRawOrderInId(String rawOrderInId); + + /** + * 批量删除白坯手动入库单 + * + * @param rawOrderInIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteWmsRawOrderInByRawOrderInIds(String[] rawOrderInIds); +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskWarehousingService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskWarehousingService.java index d972ff19d..dfc40dc4b 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskWarehousingService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskWarehousingService.java @@ -2,6 +2,7 @@ package com.op.quality.service; import java.util.List; import com.op.quality.domain.QcCheckTaskWarehousing; +import com.op.system.api.domain.quality.QcCheckTaskWarehousingDTO; /** * 成品入库检验任务Service接口 diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IWmsRawOrderInService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IWmsRawOrderInService.java new file mode 100644 index 000000000..520a1e3db --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IWmsRawOrderInService.java @@ -0,0 +1,60 @@ +package com.op.quality.service; + +import java.util.List; +import com.op.quality.domain.WmsRawOrderIn; + +/** + * 白坯手动入库单Service接口 + * + * @author Open Platform + * @date 2023-12-26 + */ +public interface IWmsRawOrderInService { + /** + * 查询白坯手动入库单 + * + * @param rawOrderInId 白坯手动入库单主键 + * @return 白坯手动入库单 + */ + public WmsRawOrderIn selectWmsRawOrderInByRawOrderInId(String rawOrderInId); + + /** + * 查询白坯手动入库单列表 + * + * @param wmsRawOrderIn 白坯手动入库单 + * @return 白坯手动入库单集合 + */ + public List selectWmsRawOrderInList(WmsRawOrderIn wmsRawOrderIn); + + /** + * 新增白坯手动入库单 + * + * @param wmsRawOrderIn 白坯手动入库单 + * @return 结果 + */ + public int insertWmsRawOrderIn(WmsRawOrderIn wmsRawOrderIn); + + /** + * 修改白坯手动入库单 + * + * @param wmsRawOrderIn 白坯手动入库单 + * @return 结果 + */ + public int updateWmsRawOrderIn(WmsRawOrderIn wmsRawOrderIn); + + /** + * 批量删除白坯手动入库单 + * + * @param rawOrderInIds 需要删除的白坯手动入库单主键集合 + * @return 结果 + */ + public int deleteWmsRawOrderInByRawOrderInIds(String[] rawOrderInIds); + + /** + * 删除白坯手动入库单信息 + * + * @param rawOrderInId 白坯手动入库单主键 + * @return 结果 + */ + public int deleteWmsRawOrderInByRawOrderInId(String rawOrderInId); +} 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 6aaf0ed8b..9c9cccb6e 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 @@ -170,6 +170,12 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService { List users = qcCheckTaskIncomeMapper.getUserByMaterial(qcCheckTaskIncome.getMaterialCode()); if(CollectionUtils.isEmpty(users)){ QcUserMaterialDTO dto0 = new QcUserMaterialDTO(); + dto0.setId(IdUtils.fastSimpleUUID()); + dto0.setBelongTo(beLongId); + dto0.setCheckNo(qcCheckTaskIncome.getCheckNo()); + dto0.setCreateBy(createBy); + dto0.setFactoryCode(factoryCode); + dto0.setCreateTime(nowDate); dto0.setUserCode("mobile"); dto0.setUserName("手持测试用户"); users.add(dto0); 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 32e76b3d7..f609dcfd9 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 @@ -20,18 +20,16 @@ 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.quality.domain.*; -import com.op.quality.mapper.QcCheckTaskDetailMapper; -import com.op.quality.mapper.QcCheckTypeProjectMapper; -import com.op.quality.mapper.QcMaterialGroupDetailMapper; +import com.op.quality.mapper.*; import com.op.quality.service.IQcCheckTaskUserService; import com.op.system.api.RemoteUserService; import com.op.system.api.domain.SysUser; import com.op.system.api.domain.mes.ProOrderWorkorderDTO; +import com.op.system.api.domain.quality.QcUserMaterialDTO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.op.quality.mapper.QcCheckTaskProduceMapper; import com.op.quality.service.IQcCheckTaskProduceService; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -73,6 +71,9 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService @Autowired private IQcCheckTaskUserService qcCheckTaskUserService; + @Autowired + private QcCheckTaskIncomeMapper qcCheckTaskIncomeMapper; + /** * 查询生产过程检验任务 * @@ -167,24 +168,56 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService qcCheckTaskProduce.setCreateTime(nowDate); qcCheckTaskProduce.setTypeCode("produce");//大检验节点 /**qc_task_user start**/ - String checkManName = qcCheckTaskProduce.getCheckManName(); - String checkManCode = qcCheckTaskProduce.getCheckManCode(); - qcCheckTaskProduce.setCheckManName(""); - qcCheckTaskProduce.setCheckManCode(""); - String[] splitNames = checkManName.split(","); - String[] splitCodes = checkManCode.split(","); - List qcCheckTaskUserList = new ArrayList<>(); - for (int i = 0; i < splitNames.length; i++) { - QcCheckTaskUser qcCheckTaskUser = new QcCheckTaskUser(); - qcCheckTaskUser.setCheckManName(splitNames[i]); - qcCheckTaskUser.setCheckManCode(splitCodes[i]); - qcCheckTaskUser.setCheckNo(qcCheckTaskProduce.getCheckNo()); - qcCheckTaskUser.setBelongTo(beLongId); - qcCheckTaskUserList.add(qcCheckTaskUser); - } + if(StringUtils.isNotBlank(qcCheckTaskProduce.getCheckManName())){ + String checkManName = qcCheckTaskProduce.getCheckManName(); + String checkManCode = qcCheckTaskProduce.getCheckManCode(); + qcCheckTaskProduce.setCheckManName(""); + qcCheckTaskProduce.setCheckManCode(""); + String[] splitNames = checkManName.split(","); + String[] splitCodes = checkManCode.split(","); + List qcCheckTaskUserList = new ArrayList<>(); + for (int i = 0; i < splitNames.length; i++) { + QcCheckTaskUser qcCheckTaskUser = new QcCheckTaskUser(); + qcCheckTaskUser.setCheckManName(splitNames[i]); + qcCheckTaskUser.setCheckManCode(splitCodes[i]); + qcCheckTaskUser.setCheckNo(qcCheckTaskProduce.getCheckNo()); + qcCheckTaskUser.setBelongTo(beLongId); + qcCheckTaskUserList.add(qcCheckTaskUser); + } + //检验人插入 + qcCheckTaskUserService.insertQcCheckTaskUserList(qcCheckTaskUserList); + }else{//上位机 + qcCheckTaskProduce.setCheckManName(""); + qcCheckTaskProduce.setCheckManCode(""); + /**qc_user_material取默认检查人**/ + List users = qcCheckTaskIncomeMapper.getUserByMaterial(qcCheckTaskProduce.getMaterialCode()); + if(CollectionUtils.isEmpty(users)){ + QcUserMaterialDTO dto0 = new QcUserMaterialDTO(); + dto0.setId(IdUtils.fastSimpleUUID()); + dto0.setBelongTo(beLongId); + dto0.setCheckNo(qcCheckTaskProduce.getCheckNo()); + dto0.setCreateBy(createBy); + dto0.setFactoryCode(factoryCode); + dto0.setCreateTime(nowDate); + dto0.setUserCode("mobile"); + dto0.setUserName("手持测试用户"); + users.add(dto0); + }else{ + for(QcUserMaterialDTO user:users){ + user.setId(IdUtils.fastSimpleUUID()); + user.setBelongTo(beLongId); + user.setCheckNo(qcCheckTaskProduce.getCheckNo()); + user.setCreateBy(createBy); + user.setFactoryCode(factoryCode); + user.setCreateTime(nowDate); + } + } + int m=qcCheckTaskIncomeMapper.addCheckUsers(users); + logger.info("检查人新增"+m+"成功"); + } + qcCheckTaskProduceMapper.insertQcCheckTaskProduce(qcCheckTaskProduce); - //检验人插入 - qcCheckTaskUserService.insertQcCheckTaskUserList(qcCheckTaskUserList); + /**qc_check_task_detail**/ for (QcCheckTaskDetail item : items) { item.setRecordId(IdUtils.fastSimpleUUID()); @@ -314,7 +347,7 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService Date startTime = productTask.getCreateTime(); long mins = DateUtil.between(startTime, nowTime, DateUnit.MINUTE); - if(mins>=15){ + if(mins>=60){ int m = insertQcCheckTaskProduce(productTask); logger.info("++++++++++++过程检验巡检任务生成" + m + "++++++++++++++"); } 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 bdc73e262..1d232d154 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 @@ -12,13 +12,13 @@ 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.quality.domain.*; -import com.op.quality.mapper.QcCheckTaskDetailMapper; -import com.op.quality.mapper.QcCheckTypeProjectMapper; -import com.op.quality.mapper.QcMaterialGroupDetailMapper; +import com.op.quality.mapper.*; import com.op.quality.service.IQcCheckTaskUserService; +import com.op.system.api.domain.quality.QcUserMaterialDTO; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.op.quality.mapper.QcCheckTaskWarehousingMapper; import com.op.quality.service.IQcCheckTaskWarehousingService; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -35,6 +35,7 @@ import javax.servlet.http.HttpServletRequest; */ @Service public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousingService { + protected Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private QcCheckTaskWarehousingMapper qcCheckTaskWarehousingMapper; @@ -50,6 +51,8 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin @Autowired private IQcCheckTaskUserService qcCheckTaskUserService; + private QcCheckTaskIncomeMapper qcCheckTaskIncomeMapper; + /** * 查询成品入库检验任务 * @@ -132,24 +135,50 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin qcCheckTaskWarehousing.setCreateTime(nowDate); qcCheckTaskWarehousing.setTypeCode("product");//大检验节点 /**qc_task_user start**/ - String checkManName = qcCheckTaskWarehousing.getCheckManName(); - String checkManCode = qcCheckTaskWarehousing.getCheckManCode(); - qcCheckTaskWarehousing.setCheckManName(""); - qcCheckTaskWarehousing.setCheckManCode(""); - String[] splitNames = checkManName.split(","); - String[] splitCodes = checkManCode.split(","); - List qcCheckTaskUserList = new ArrayList<>(); - for (int i = 0; i < splitNames.length; i++) { - QcCheckTaskUser qcCheckTaskUser = new QcCheckTaskUser(); - qcCheckTaskUser.setCheckManName(splitNames[i]); - qcCheckTaskUser.setCheckManCode(splitCodes[i]); - qcCheckTaskUser.setCheckNo(qcCheckTaskWarehousing.getCheckNo()); - qcCheckTaskUser.setBelongTo(beLongId); - qcCheckTaskUserList.add(qcCheckTaskUser); + if(StringUtils.isNotBlank(qcCheckTaskWarehousing.getCheckManName())){ + String checkManName = qcCheckTaskWarehousing.getCheckManName(); + String checkManCode = qcCheckTaskWarehousing.getCheckManCode(); + qcCheckTaskWarehousing.setCheckManName(""); + qcCheckTaskWarehousing.setCheckManCode(""); + String[] splitNames = checkManName.split(","); + String[] splitCodes = checkManCode.split(","); + List qcCheckTaskUserList = new ArrayList<>(); + for (int i = 0; i < splitNames.length; i++) { + QcCheckTaskUser qcCheckTaskUser = new QcCheckTaskUser(); + qcCheckTaskUser.setCheckManName(splitNames[i]); + qcCheckTaskUser.setCheckManCode(splitCodes[i]); + qcCheckTaskUser.setCheckNo(qcCheckTaskWarehousing.getCheckNo()); + qcCheckTaskUser.setBelongTo(beLongId); + qcCheckTaskUserList.add(qcCheckTaskUser); + } + //检验人插入 + qcCheckTaskUserService.insertQcCheckTaskUserList(qcCheckTaskUserList); + }else{//上位机触发 + qcCheckTaskWarehousing.setCheckManName(""); + qcCheckTaskWarehousing.setCheckManCode(""); + /**qc_user_material取默认检查人**/ + List users = qcCheckTaskIncomeMapper.getUserByMaterial(qcCheckTaskWarehousing.getMaterialCode()); + if(CollectionUtils.isEmpty(users)){ + QcUserMaterialDTO dto0 = new QcUserMaterialDTO(); + dto0.setUserCode("mobile"); + dto0.setUserName("手持测试用户"); + users.add(dto0); + }else{ + for(QcUserMaterialDTO user:users){ + user.setId(IdUtils.fastSimpleUUID()); + user.setBelongTo(beLongId); + user.setCheckNo(qcCheckTaskWarehousing.getCheckNo()); + user.setCreateBy(createBy); + user.setFactoryCode(factoryCode); + user.setCreateTime(nowDate); + } + } + int m=qcCheckTaskIncomeMapper.addCheckUsers(users); + logger.info("检查人新增"+m+"成功"); } + qcCheckTaskWarehousingMapper.insertQcCheckTaskWarehousing(qcCheckTaskWarehousing); - //检验人插入 - qcCheckTaskUserService.insertQcCheckTaskUserList(qcCheckTaskUserList); + /**qc_check_task_detail**/ for(QcCheckTaskDetail item:items){ item.setRecordId(IdUtils.fastSimpleUUID()); diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/WmsRawOrderInServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/WmsRawOrderInServiceImpl.java new file mode 100644 index 000000000..b7153029e --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/WmsRawOrderInServiceImpl.java @@ -0,0 +1,105 @@ +package com.op.quality.service.impl; + +import java.util.List; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.utils.uuid.IdUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.op.quality.mapper.WmsRawOrderInMapper; +import com.op.quality.domain.WmsRawOrderIn; +import com.op.quality.service.IWmsRawOrderInService; + +/** + * 白坯手动入库单Service业务层处理 + * + * @author Open Platform + * @date 2023-12-26 + */ +@Service +public class WmsRawOrderInServiceImpl implements IWmsRawOrderInService { + @Autowired + private WmsRawOrderInMapper wmsRawOrderInMapper; + + /** + * 查询白坯手动入库单 + * + * @param rawOrderInId 白坯手动入库单主键 + * @return 白坯手动入库单 + */ + @Override + @DS("#header.poolName") + public WmsRawOrderIn selectWmsRawOrderInByRawOrderInId(String rawOrderInId) { + return wmsRawOrderInMapper.selectWmsRawOrderInByRawOrderInId(rawOrderInId); + } + + /** + * 查询白坯手动入库单列表 + * + * @param wmsRawOrderIn 白坯手动入库单 + * @return 白坯手动入库单 + */ + @Override + @DS("#header.poolName") + public List selectWmsRawOrderInList(WmsRawOrderIn wmsRawOrderIn) { + return wmsRawOrderInMapper.selectWmsRawOrderInList(wmsRawOrderIn); + } + + /** + * 新增白坯手动入库单 + * + * @param wmsRawOrderIn 白坯手动入库单 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int insertWmsRawOrderIn(WmsRawOrderIn wmsRawOrderIn) { + wmsRawOrderIn.setRawOrderInId(IdUtils.fastSimpleUUID()); + wmsRawOrderIn.setFactoryCode("1000"); + wmsRawOrderIn.setWhCode("A"); + wmsRawOrderIn.setWaCode("A"); + wmsRawOrderIn.setWlCode("A-A01"); + wmsRawOrderIn.setDnNo("202312"); + wmsRawOrderIn.setOrderStatus("0"); + wmsRawOrderIn.setActiveFlag("1"); + wmsRawOrderIn.setSupplyCode("0000102874"); + wmsRawOrderIn.setSapFactoryCode("1000"); + return wmsRawOrderInMapper.insertWmsRawOrderIn(wmsRawOrderIn); + } + + /** + * 修改白坯手动入库单 + * + * @param wmsRawOrderIn 白坯手动入库单 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int updateWmsRawOrderIn(WmsRawOrderIn wmsRawOrderIn) { + return wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn); + } + + /** + * 批量删除白坯手动入库单 + * + * @param rawOrderInIds 需要删除的白坯手动入库单主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteWmsRawOrderInByRawOrderInIds(String[] rawOrderInIds) { + return wmsRawOrderInMapper.deleteWmsRawOrderInByRawOrderInIds(rawOrderInIds); + } + + /** + * 删除白坯手动入库单信息 + * + * @param rawOrderInId 白坯手动入库单主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteWmsRawOrderInByRawOrderInId(String rawOrderInId) { + return wmsRawOrderInMapper.deleteWmsRawOrderInByRawOrderInId(rawOrderInId); + } +} diff --git a/op-modules/op-quality/src/main/resources/bootstrap.yml b/op-modules/op-quality/src/main/resources/bootstrap.yml index b73385328..bcce7b90f 100644 --- a/op-modules/op-quality/src/main/resources/bootstrap.yml +++ b/op-modules/op-quality/src/main/resources/bootstrap.yml @@ -14,12 +14,12 @@ spring: nacos: discovery: namespace: lanju-op - group: zxl + group: chj # 服务注册地址 server-addr: 175.27.215.92:8848 config: namespace: lanju-op - group: zxl + group: chj # 服务注册地址 server-addr: 175.27.215.92:8848 # 配置文件格式 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 53b401f51..8d8416cc9 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 @@ -193,6 +193,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" check_type, type_code, sample_quality, + order_type, #{recordId}, @@ -227,6 +228,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{checkType}, #{typeCode}, #{sampleQuality}, + #{orderType}, 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 debdfb6eb..9d16ea667 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 @@ -131,6 +131,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" type_code, noOk_quality, sample_quality, + order_type, #{recordId}, @@ -165,6 +166,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{typeCode}, #{noOkQuality}, #{sampleQuality}, + #{orderType}, diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/WmsRawOrderInMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/WmsRawOrderInMapper.xml new file mode 100644 index 000000000..130dfc136 --- /dev/null +++ b/op-modules/op-quality/src/main/resources/mapper/quality/WmsRawOrderInMapper.xml @@ -0,0 +1,307 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select raw_order_in_id, factory_code, wh_code, wa_code, wl_code, order_in_type, order_no, dn_no, po_no, po_line, po_type, material_code, material_desc, unit, buyer_group, supply_code, sap_factory_code, send_spot, request_amount, receipt_amount, shelves_amount, location, request_time, quality_status, order_status, receipt_operator, receipt_time, shelves_operator, return_amount, return_name, return_time, return_status, shelves_time, return_message, accounting_status, accounting_time, accounting_message, user_defined1, user_defined2, user_defined3, user_defined4, user_defined5, user_defined6, user_defined7, user_defined8, user_defined9, user_defined10, create_by, gmt_create, last_modified_by, gmt_modified, active_flag from wms_raw_order_in + + + + + + + + insert into wms_raw_order_in + + raw_order_in_id, + factory_code, + wh_code, + wa_code, + wl_code, + order_in_type, + order_no, + dn_no, + po_no, + po_line, + po_type, + material_code, + material_desc, + unit, + buyer_group, + supply_code, + sap_factory_code, + send_spot, + request_amount, + receipt_amount, + shelves_amount, + location, + request_time, + quality_status, + order_status, + receipt_operator, + receipt_time, + shelves_operator, + return_amount, + return_name, + return_time, + return_status, + shelves_time, + return_message, + accounting_status, + accounting_time, + accounting_message, + user_defined1, + user_defined2, + user_defined3, + user_defined4, + user_defined5, + user_defined6, + user_defined7, + user_defined8, + user_defined9, + user_defined10, + create_by, + gmt_create, + last_modified_by, + gmt_modified, + active_flag, + + + #{rawOrderInId}, + #{factoryCode}, + #{whCode}, + #{waCode}, + #{wlCode}, + #{orderInType}, + #{orderNo}, + #{dnNo}, + #{poNo}, + #{poLine}, + #{poType}, + #{materialCode}, + #{materialDesc}, + #{unit}, + #{buyerGroup}, + #{supplyCode}, + #{sapFactoryCode}, + #{sendSpot}, + #{requestAmount}, + #{receiptAmount}, + #{shelvesAmount}, + #{location}, + #{requestTime}, + #{qualityStatus}, + #{orderStatus}, + #{receiptOperator}, + #{receiptTime}, + #{shelvesOperator}, + #{returnAmount}, + #{returnName}, + #{returnTime}, + #{returnStatus}, + #{shelvesTime}, + #{returnMessage}, + #{accountingStatus}, + #{accountingTime}, + #{accountingMessage}, + #{userDefined1}, + #{userDefined2}, + #{userDefined3}, + #{userDefined4}, + #{userDefined5}, + #{userDefined6}, + #{userDefined7}, + #{userDefined8}, + #{userDefined9}, + #{userDefined10}, + #{createBy}, + #{gmtCreate}, + #{lastModifiedBy}, + #{gmtModified}, + #{activeFlag}, + + + + + update wms_raw_order_in + + factory_code = #{factoryCode}, + wh_code = #{whCode}, + wa_code = #{waCode}, + wl_code = #{wlCode}, + order_in_type = #{orderInType}, + order_no = #{orderNo}, + dn_no = #{dnNo}, + po_no = #{poNo}, + po_line = #{poLine}, + po_type = #{poType}, + material_code = #{materialCode}, + material_desc = #{materialDesc}, + unit = #{unit}, + buyer_group = #{buyerGroup}, + supply_code = #{supplyCode}, + sap_factory_code = #{sapFactoryCode}, + send_spot = #{sendSpot}, + request_amount = #{requestAmount}, + receipt_amount = #{receiptAmount}, + shelves_amount = #{shelvesAmount}, + location = #{location}, + request_time = #{requestTime}, + quality_status = #{qualityStatus}, + order_status = #{orderStatus}, + receipt_operator = #{receiptOperator}, + receipt_time = #{receiptTime}, + shelves_operator = #{shelvesOperator}, + return_amount = #{returnAmount}, + return_name = #{returnName}, + return_time = #{returnTime}, + return_status = #{returnStatus}, + shelves_time = #{shelvesTime}, + return_message = #{returnMessage}, + accounting_status = #{accountingStatus}, + accounting_time = #{accountingTime}, + accounting_message = #{accountingMessage}, + user_defined1 = #{userDefined1}, + user_defined2 = #{userDefined2}, + user_defined3 = #{userDefined3}, + user_defined4 = #{userDefined4}, + user_defined5 = #{userDefined5}, + user_defined6 = #{userDefined6}, + user_defined7 = #{userDefined7}, + user_defined8 = #{userDefined8}, + user_defined9 = #{userDefined9}, + user_defined10 = #{userDefined10}, + create_by = #{createBy}, + gmt_create = #{gmtCreate}, + last_modified_by = #{lastModifiedBy}, + gmt_modified = #{gmtModified}, + active_flag = #{activeFlag}, + + where raw_order_in_id = #{rawOrderInId} + + + + delete from wms_raw_order_in where raw_order_in_id = #{rawOrderInId} + + + + delete from wms_raw_order_in where raw_order_in_id in + + #{rawOrderInId} + + + \ No newline at end of file