diff --git a/hw-api/hw-api-jindie/pom.xml b/hw-api/hw-api-jindie/pom.xml
new file mode 100644
index 00000000..0f8a7442
--- /dev/null
+++ b/hw-api/hw-api-jindie/pom.xml
@@ -0,0 +1,32 @@
+
+
+
+ com.hw
+ hw-api
+ 3.6.3
+
+ 4.0.0
+
+ hw-api-jindie
+
+
+ hw-api-jindie
+
+
+
+
+
+
+ com.hw
+ hw-common-core
+
+
+ org.quartz-scheduler
+ quartz
+
+
+
+
+
diff --git a/hw-api/hw-api-jindie/src/main/java/com/hw/jindie/api/RemoteJindieService.java b/hw-api/hw-api-jindie/src/main/java/com/hw/jindie/api/RemoteJindieService.java
new file mode 100644
index 00000000..ca9184ba
--- /dev/null
+++ b/hw-api/hw-api-jindie/src/main/java/com/hw/jindie/api/RemoteJindieService.java
@@ -0,0 +1,28 @@
+package com.hw.jindie.api;
+
+import com.hw.common.core.constant.SecurityConstants;
+import com.hw.common.core.constant.ServiceNameConstants;
+import com.hw.common.core.domain.R;
+import com.hw.jindie.api.factory.RemoteJindieFallbackFactory;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestHeader;
+import org.springframework.web.bind.annotation.RequestParam;
+
+/**
+ * @ClassName : RemoteJindieService
+ * @Description : zhouhy
+ * @Author :
+ * @Date: 2024-04-26 13:27
+ */
+@FeignClient(contextId = "remoteJindieService", value = ServiceNameConstants.JINDIE_SERVICE, fallbackFactory = RemoteJindieFallbackFactory.class)
+public interface RemoteJindieService {
+
+ /** 同步供应商*/
+ @GetMapping("/jindie/ErpSupplierInfo")
+ R ErpSupplierInfo(@RequestHeader(SecurityConstants.FROM_SOURCE) String source, @RequestParam("beginTime") String beginTime, @RequestParam("endTime") String endTime);
+
+ /** 同步物料*/
+ @GetMapping("/jindie/syncMaterialInfo")
+ R ErpMesMaterialInfo(@RequestHeader(SecurityConstants.FROM_SOURCE) String source, @RequestParam("beginTime") String beginTime, @RequestParam("endTime") String endTime);
+}
diff --git a/hw-api/hw-api-jindie/src/main/java/com/hw/jindie/api/factory/RemoteJindieFallbackFactory.java b/hw-api/hw-api-jindie/src/main/java/com/hw/jindie/api/factory/RemoteJindieFallbackFactory.java
new file mode 100644
index 00000000..e9bc33e0
--- /dev/null
+++ b/hw-api/hw-api-jindie/src/main/java/com/hw/jindie/api/factory/RemoteJindieFallbackFactory.java
@@ -0,0 +1,27 @@
+package com.hw.jindie.api.factory;
+
+import com.hw.common.core.domain.R;
+import com.hw.jindie.api.RemoteJindieService;
+import org.springframework.cloud.openfeign.FallbackFactory;
+
+/**
+ * @ClassName : RemoteJindieFallbackFactory
+ * @Description : zhouhy
+ * @Author :
+ * @Date: 2024-04-26 13:29
+ */
+public class RemoteJindieFallbackFactory implements FallbackFactory {
+ public RemoteJindieService create(Throwable throwable) {
+ return new RemoteJindieService() {
+ @Override
+ public R ErpSupplierInfo(String source, String beginTime, String endTime) {
+ return null;
+ }
+
+ @Override
+ public R ErpMesMaterialInfo(String source, String beginTime, String endTime) {
+ return null;
+ }
+ };
+ }
+}
diff --git a/hw-api/hw-api-jindie/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/hw-api/hw-api-jindie/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 00000000..d0caddd0
--- /dev/null
+++ b/hw-api/hw-api-jindie/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1 @@
+com.hw.jindie.api.factory.RemoteJindieFallbackFactory
diff --git a/hw-common/hw-common-core/src/main/java/com/hw/common/core/constant/ServiceNameConstants.java b/hw-common/hw-common-core/src/main/java/com/hw/common/core/constant/ServiceNameConstants.java
index 60006cf9..564d3e56 100644
--- a/hw-common/hw-common-core/src/main/java/com/hw/common/core/constant/ServiceNameConstants.java
+++ b/hw-common/hw-common-core/src/main/java/com/hw/common/core/constant/ServiceNameConstants.java
@@ -52,4 +52,8 @@ public class ServiceNameConstants
* 打印机服务的serviceid
* */
public static final String PRINTER_SERVICE = "hw-printer";
+ /**
+ * jindie服务下的serviceid
+ * */
+ public static final String JINDIE_SERVICE = "hw-jindie";
}
diff --git a/hw-common/hw-common-core/src/main/java/com/hw/common/core/constant/WfConstants.java b/hw-common/hw-common-core/src/main/java/com/hw/common/core/constant/WfConstants.java
index 11a92d38..f37062a1 100644
--- a/hw-common/hw-common-core/src/main/java/com/hw/common/core/constant/WfConstants.java
+++ b/hw-common/hw-common-core/src/main/java/com/hw/common/core/constant/WfConstants.java
@@ -17,6 +17,10 @@ public class WfConstants {
public static final Long WF_QUALITY_ABNORMAL_PROCESS_ID = 301L;//不合格处置工单流程ID
+ /** 质检工单报修流程节点*/
+ public static final Long WF_QUALITY_INSTANCE_ACTIVITY_FIRST_ID = 3011L;
+ public static final Long WF_QUALITY_INSTANCE_ACTIVITY_SECOND_ID = 3012L;
+
/**质检工单实例状态*/
public static final String WF_INSTANCE_STATUS_TO_START = "0";//未启动
public static final String WF_INSTANCE_STATUS_START = "1";//已启动
@@ -28,4 +32,8 @@ public class WfConstants {
/**质检文件关联类型*/
public static final String QMS_FILE_TARGET_TYPE_QUALITY_INSTANCE_ACTIVITY = "1";//质检工单实例节点
+
+
+
+
}
diff --git a/hw-modules/hw-jindie/install-jindie-jar.bat b/hw-modules/hw-jindie/install-jindie-jar.bat
index 6baf4b8a..87aaca99 100644
--- a/hw-modules/hw-jindie/install-jindie-jar.bat
+++ b/hw-modules/hw-jindie/install-jindie-jar.bat
@@ -1,2 +1,2 @@
-call mvn install:install-file -Dfile=D:\IdeaProjects\HwMes\hw-modules\hw-jindie\k3cloud-webapi-sdk8.0.6.jar -DgroupId=com.kingdee.bos -DartifactId=k3cloud-webapi-sdk -Dversion=8.0.6 -Dpackaging=jar
-@pause
\ No newline at end of file
+call mvn install:install-file -Dfile=D:\git\HwMes-beifen1\hw-modules\hw-jindie\k3cloud-webapi-sdk8.0.6.jar -DgroupId=com.kingdee.bos -DartifactId=k3cloud-webapi-sdk -Dversion=8.0.6 -Dpackaging=jar
+@pause
diff --git a/hw-modules/hw-jindie/src/main/java/com/hw/jindie/controller/KingdeeErpSyncController.java b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/controller/KingdeeErpSyncController.java
index b44a6f60..da101441 100644
--- a/hw-modules/hw-jindie/src/main/java/com/hw/jindie/controller/KingdeeErpSyncController.java
+++ b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/controller/KingdeeErpSyncController.java
@@ -26,15 +26,28 @@ public class KingdeeErpSyncController {
@Autowired
private KingdeeErpService kingdeeErpService;
+ /**
+ * 同步erp中供应商数据
+ * */
+ @GetMapping("/ErpSupplierInfo")
+ public AjaxResult ErpSupplierInfo(String beginTime, String endTime){
+ try {
+ return AjaxResult.success(kingdeeErpSyncService.syncSupplierInfoFromErp(0,beginTime,endTime));
+ } catch (Exception e){
+ e.printStackTrace();
+ return AjaxResult.error();
+ }
+ }
+
/**
* 新增原材料入库记录
*/
// @RequiresPermissions("wms:mobile:addrawinstock")
@Log(title = "物料信息", businessType = BusinessType.INSERT)
@GetMapping(("/syncMaterialInfo"))
- public AjaxResult syncMaterialInfo() {
+ public AjaxResult syncMaterialInfo(String beginTime, String endTime) {
try {
- return AjaxResult.success(kingdeeErpSyncService.syncMaterialInfoFromErp());
+ return AjaxResult.success(kingdeeErpSyncService.syncMaterialInfoFromErp(beginTime,endTime));
} catch (Exception e) {
e.printStackTrace();
return AjaxResult.error();
diff --git a/hw-modules/hw-jindie/src/main/java/com/hw/jindie/domain/MesBaseMaterialInfo.java b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/domain/MesBaseMaterialInfo.java
index 602197b4..846c5c1f 100644
--- a/hw-modules/hw-jindie/src/main/java/com/hw/jindie/domain/MesBaseMaterialInfo.java
+++ b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/domain/MesBaseMaterialInfo.java
@@ -110,6 +110,17 @@ public class MesBaseMaterialInfo extends BaseEntity
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "erp最后更新日期;对应FModifyDate", width = 30, dateFormat = "yyyy-MM-dd")
private Date erpModifyDate;
+ /** 采购计价单位;对应FPurchasePriceUnitId*/
+ @Excel(name = "采购计价单位;对应FPurchasePriceUnitId")
+ public Long purchasePriceUnitId;
+
+ public Long getPurchasePriceUnitId() {
+ return purchasePriceUnitId;
+ }
+
+ public void setPurchasePriceUnitId(Long purchasePriceUnitId) {
+ this.purchasePriceUnitId = purchasePriceUnitId;
+ }
public void setMaterialId(Long materialId)
{
diff --git a/hw-modules/hw-jindie/src/main/java/com/hw/jindie/domain/MesBaseSupplierInfo.java b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/domain/MesBaseSupplierInfo.java
new file mode 100644
index 00000000..8916d71c
--- /dev/null
+++ b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/domain/MesBaseSupplierInfo.java
@@ -0,0 +1,116 @@
+package com.hw.jindie.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.hw.common.core.annotation.Excel;
+import com.hw.common.core.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.util.Date;
+
+/**
+ * 物料供应商信息对象 mes_base_supplier_info
+ *
+ * @author Yinq
+ * @date 2024-01-24
+ */
+public class MesBaseSupplierInfo extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 主键标识 */
+ private Long supplierId;
+
+ /** 供应商编号 */
+ @Excel(name = "供应商编号")
+ private String supplierCode;
+
+ /** 供应商名称 */
+ @Excel(name = "供应商名称")
+ private String supplierName;
+
+ /** erp主键 */
+ @Excel(name = "erp主键")
+ private Long erpId;
+
+ /** 供应商状态 */
+ @Excel(name = "供应商状态")
+ private String supplierStatus;
+
+ /** 审核日期 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "审核日期", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date auditDate;
+
+ public void setSupplierId(Long supplierId)
+ {
+ this.supplierId = supplierId;
+ }
+
+ public Long getSupplierId()
+ {
+ return supplierId;
+ }
+ 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 setErpId(Long erpId)
+ {
+ this.erpId = erpId;
+ }
+
+ public Long getErpId()
+ {
+ return erpId;
+ }
+ public void setSupplierStatus(String supplierStatus)
+ {
+ this.supplierStatus = supplierStatus;
+ }
+
+ public String getSupplierStatus()
+ {
+ return supplierStatus;
+ }
+ public void setAuditDate(Date auditDate)
+ {
+ this.auditDate = auditDate;
+ }
+
+ public Date getAuditDate()
+ {
+ return auditDate;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("supplierId", getSupplierId())
+ .append("supplierCode", getSupplierCode())
+ .append("supplierName", getSupplierName())
+ .append("erpId", getErpId())
+ .append("supplierStatus", getSupplierStatus())
+ .append("remark", getRemark())
+ .append("createBy", getCreateBy())
+ .append("createTime", getCreateTime())
+ .append("updateBy", getUpdateBy())
+ .append("updateTime", getUpdateTime())
+ .append("auditDate", getAuditDate())
+ .toString();
+ }
+}
diff --git a/hw-modules/hw-jindie/src/main/java/com/hw/jindie/domain/MesProjectInfo.java b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/domain/MesProjectInfo.java
new file mode 100644
index 00000000..079619c9
--- /dev/null
+++ b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/domain/MesProjectInfo.java
@@ -0,0 +1,229 @@
+package com.hw.jindie.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.hw.common.core.annotation.Excel;
+import com.hw.common.core.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.util.Date;
+
+/**
+ * 项目信息对象 mes_project_info
+ *
+ * @author Yinq
+ * @date 2024-02-19
+ */
+public class MesProjectInfo extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键标识
+ */
+ private Long projectId;
+
+ /**
+ * ERP主键
+ */
+ @Excel(name = "ERP主键")
+ private Long erpId;
+
+ /**
+ * 项目编码;对应FNumber
+ */
+ @Excel(name = "项目编码")
+ private String projectNo;
+
+ /**
+ * 项目名称;对应FName'
+ */
+ @Excel(name = "项目名称")
+ private String projectName;
+
+ /**
+ * 单据状态;对应FDocumentStatus
+ */
+ @Excel(name = "单据状态")
+ private String documentStatus;
+
+ /**
+ * 禁用状态;对应FForbidStatus
+ */
+ @Excel(name = "禁用状态")
+ private String forbidStatus;
+
+ /**
+ * 审核日期;对应FAuditDate
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "审核日期", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date auditDate;
+
+ /**
+ * ERP最后修改日期;对应FModifyDate
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "ERP最后修改日期", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date erpModifyDate;
+
+ /**
+ * 计划开始日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "计划开始日期", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date beginDate;
+
+ /**
+ * 计划结束日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "计划结束日期", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date endDate;
+
+ /**
+ * 项目状态(1待开始2已开始3已完成)
+ */
+ @Excel(name = "项目状态")
+ private String orderStatus;
+
+ /**
+ * 完成日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "完成日期", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date completeDate;
+
+ /**
+ * 是否标识;1-是;0-否
+ */
+ @Excel(name = "是否标识")
+ private String isFlag;
+
+ public void setProjectId(Long projectId) {
+ this.projectId = projectId;
+ }
+
+ public Long getProjectId() {
+ return projectId;
+ }
+
+ public void setErpId(Long erpId) {
+ this.erpId = erpId;
+ }
+
+ public Long getErpId() {
+ return erpId;
+ }
+
+ public void setProjectNo(String projectNo) {
+ this.projectNo = projectNo;
+ }
+
+ public String getProjectNo() {
+ return projectNo;
+ }
+
+ public void setProjectName(String projectName) {
+ this.projectName = projectName;
+ }
+
+ public String getProjectName() {
+ return projectName;
+ }
+
+ public void setDocumentStatus(String documentStatus) {
+ this.documentStatus = documentStatus;
+ }
+
+ public String getDocumentStatus() {
+ return documentStatus;
+ }
+
+ public void setForbidStatus(String forbidStatus) {
+ this.forbidStatus = forbidStatus;
+ }
+
+ public String getForbidStatus() {
+ return forbidStatus;
+ }
+
+ public void setAuditDate(Date auditDate) {
+ this.auditDate = auditDate;
+ }
+
+ public Date getAuditDate() {
+ return auditDate;
+ }
+
+ public void setErpModifyDate(Date erpModifyDate) {
+ this.erpModifyDate = erpModifyDate;
+ }
+
+ public Date getErpModifyDate() {
+ return erpModifyDate;
+ }
+
+ public void setBeginDate(Date beginDate) {
+ this.beginDate = beginDate;
+ }
+
+ public Date getBeginDate() {
+ return beginDate;
+ }
+
+ public void setEndDate(Date endDate) {
+ this.endDate = endDate;
+ }
+
+ public Date getEndDate() {
+ return endDate;
+ }
+
+ public void setOrderStatus(String orderStatus) {
+ this.orderStatus = orderStatus;
+ }
+
+ public String getOrderStatus() {
+ return orderStatus;
+ }
+
+ public void setCompleteDate(Date completeDate) {
+ this.completeDate = completeDate;
+ }
+
+ public Date getCompleteDate() {
+ return completeDate;
+ }
+
+ public void setIsFlag(String isFlag) {
+ this.isFlag = isFlag;
+ }
+
+ public String getIsFlag() {
+ return isFlag;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+ .append("projectId", getProjectId())
+ .append("erpId", getErpId())
+ .append("projectNo", getProjectNo())
+ .append("projectName", getProjectName())
+ .append("documentStatus", getDocumentStatus())
+ .append("forbidStatus", getForbidStatus())
+ .append("auditDate", getAuditDate())
+ .append("erpModifyDate", getErpModifyDate())
+ .append("beginDate", getBeginDate())
+ .append("endDate", getEndDate())
+ .append("orderStatus", getOrderStatus())
+ .append("completeDate", getCompleteDate())
+ .append("isFlag", getIsFlag())
+ .append("remark", getRemark())
+ .append("createBy", getCreateBy())
+ .append("createTime", getCreateTime())
+ .append("updateBy", getUpdateBy())
+ .append("updateTime", getUpdateTime())
+ .toString();
+ }
+}
diff --git a/hw-modules/hw-jindie/src/main/java/com/hw/jindie/domain/MesSaleOrder.java b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/domain/MesSaleOrder.java
new file mode 100644
index 00000000..73dbeccd
--- /dev/null
+++ b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/domain/MesSaleOrder.java
@@ -0,0 +1,381 @@
+package com.hw.jindie.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.hw.common.core.annotation.Excel;
+import com.hw.common.core.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 销售订单信息对象 mes_sale_order
+ *
+ * @author Yinq
+ * @date 2024-02-19
+ */
+public class MesSaleOrder extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键标识
+ */
+ private Long saleOrderId;
+
+ /**
+ * ERP的主键信息;对应FID
+ */
+ @Excel(name = "ERP的主键信息;对应FID")
+ private Long erpId;
+
+ /**
+ * 对应金蝶ERP订单明细的ID;对应FSaleOrderEntry.FEntryID
+ */
+ @Excel(name = "对应金蝶ERP订单明细的ID;对应FSaleOrderEntry.FEntryID")
+ private Long fentryId;
+
+ /**
+ * 销售订单编号;对应FBillNo
+ */
+ @Excel(name = "销售订单编号;对应FBillNo")
+ private String saleorderCode;
+
+ /**
+ * 销售订单行号
+ */
+ @Excel(name = "销售订单行号")
+ private String saleorderLinenumber;
+
+ /**
+ * 单据状态;对应FDocumentStatus
+ */
+ @Excel(name = "单据状态;对应FDocumentStatus")
+ private String documentStatus;
+
+ /**
+ * 所属工厂,关联mes_base_factory_info的factory_id
+ */
+ @Excel(name = "所属工厂,关联mes_base_factory_info的factory_id")
+ private Long factoryId;
+
+ /**
+ * 所属产线,关联mes_base_prodline_info的prodline_id
+ */
+ @Excel(name = "所属产线,关联mes_base_prodline_info的prodline_id")
+ private Long prodlineId;
+
+ /**
+ * 物料ID,关联物料信息主键
+ */
+ @Excel(name = "物料ID,关联物料信息主键")
+ private Long materialId;
+
+ /**
+ * 物料编码;对应FMaterialId.FNumber
+ */
+ @Excel(name = "物料编码;对应FMaterialId.FNumber")
+ private String materialCode;
+
+ /**
+ * 物料名称;对应FMaterialName
+ */
+ @Excel(name = "物料名称;对应FMaterialName")
+ private String materialName;
+
+ /**
+ * 物料组
+ */
+ @Excel(name = "物料组")
+ private String matkl;
+
+ /**
+ * 订单计划数量;对应FQty
+ */
+ @Excel(name = "订单计划数量;对应FQty")
+ private BigDecimal orderAmount;
+
+ /**
+ * 完成数量
+ */
+ @Excel(name = "完成数量")
+ private BigDecimal completeAmount;
+
+ /**
+ * 已发布数量(或叫已派工数量)
+ */
+ @Excel(name = "已发布数量", readConverterExp = "或=叫已派工数量")
+ private BigDecimal releaseQty;
+
+ /**
+ * 是否已下达计划(1-是,0-否)
+ */
+ @Excel(name = "是否已下达计划", readConverterExp = "1=-是,0-否")
+ private String isRelease;
+
+ /**
+ * 审核日期;对应FApproveDate
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "审核日期;对应FApproveDate", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date approveDate;
+
+ /**
+ * ERP最后修改日期;对应FModifyDate
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "ERP最后修改日期;对应FModifyDate", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date erpModifyDate;
+
+ /**
+ * 计划交货日期;对应FMinPlanDeliveryDate
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "计划交货日期;对应FMinPlanDeliveryDate", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date planDeliveryDate;
+
+ /**
+ * 计划开始日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "计划开始日期", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date beginDate;
+
+ /**
+ * 计划结束日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "计划结束日期", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date endDate;
+
+ /**
+ * 完成日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "完成日期", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date completeDate;
+
+ /**
+ * 是否标识:1-是;0-否
+ */
+ @Excel(name = "是否标识:1-是;0-否")
+ private String isFlag;
+
+ public void setSaleOrderId(Long saleOrderId) {
+ this.saleOrderId = saleOrderId;
+ }
+
+ public Long getSaleOrderId() {
+ return saleOrderId;
+ }
+
+ public void setErpId(Long erpId) {
+ this.erpId = erpId;
+ }
+
+ public Long getErpId() {
+ return erpId;
+ }
+
+ public void setFentryId(Long fentryId) {
+ this.fentryId = fentryId;
+ }
+
+ public Long getFentryId() {
+ return fentryId;
+ }
+
+ public void setSaleorderCode(String saleorderCode) {
+ this.saleorderCode = saleorderCode;
+ }
+
+ public String getSaleorderCode() {
+ return saleorderCode;
+ }
+
+ public void setSaleorderLinenumber(String saleorderLinenumber) {
+ this.saleorderLinenumber = saleorderLinenumber;
+ }
+
+ public String getSaleorderLinenumber() {
+ return saleorderLinenumber;
+ }
+
+ public void setDocumentStatus(String documentStatus) {
+ this.documentStatus = documentStatus;
+ }
+
+ public String getDocumentStatus() {
+ return documentStatus;
+ }
+
+ public void setFactoryId(Long factoryId) {
+ this.factoryId = factoryId;
+ }
+
+ public Long getFactoryId() {
+ return factoryId;
+ }
+
+ public void setProdlineId(Long prodlineId) {
+ this.prodlineId = prodlineId;
+ }
+
+ public Long getProdlineId() {
+ return prodlineId;
+ }
+
+ public void setMaterialId(Long materialId) {
+ this.materialId = materialId;
+ }
+
+ public Long getMaterialId() {
+ return materialId;
+ }
+
+ 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 setMatkl(String matkl) {
+ this.matkl = matkl;
+ }
+
+ public String getMatkl() {
+ return matkl;
+ }
+
+ public void setOrderAmount(BigDecimal orderAmount) {
+ this.orderAmount = orderAmount;
+ }
+
+ public BigDecimal getOrderAmount() {
+ return orderAmount;
+ }
+
+ public void setCompleteAmount(BigDecimal completeAmount) {
+ this.completeAmount = completeAmount;
+ }
+
+ public BigDecimal getCompleteAmount() {
+ return completeAmount;
+ }
+
+ public void setReleaseQty(BigDecimal releaseQty) {
+ this.releaseQty = releaseQty;
+ }
+
+ public BigDecimal getReleaseQty() {
+ return releaseQty;
+ }
+
+ public void setIsRelease(String isRelease) {
+ this.isRelease = isRelease;
+ }
+
+ public String getIsRelease() {
+ return isRelease;
+ }
+
+ public void setApproveDate(Date approveDate) {
+ this.approveDate = approveDate;
+ }
+
+ public Date getApproveDate() {
+ return approveDate;
+ }
+
+ public void setErpModifyDate(Date erpModifyDate) {
+ this.erpModifyDate = erpModifyDate;
+ }
+
+ public Date getErpModifyDate() {
+ return erpModifyDate;
+ }
+
+ public void setPlanDeliveryDate(Date planDeliveryDate) {
+ this.planDeliveryDate = planDeliveryDate;
+ }
+
+ public Date getPlanDeliveryDate() {
+ return planDeliveryDate;
+ }
+
+ public void setBeginDate(Date beginDate) {
+ this.beginDate = beginDate;
+ }
+
+ public Date getBeginDate() {
+ return beginDate;
+ }
+
+ public void setEndDate(Date endDate) {
+ this.endDate = endDate;
+ }
+
+ public Date getEndDate() {
+ return endDate;
+ }
+
+ public void setCompleteDate(Date completeDate) {
+ this.completeDate = completeDate;
+ }
+
+ public Date getCompleteDate() {
+ return completeDate;
+ }
+
+ public void setIsFlag(String isFlag) {
+ this.isFlag = isFlag;
+ }
+
+ public String getIsFlag() {
+ return isFlag;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+ .append("saleOrderId", getSaleOrderId())
+ .append("erpId", getErpId())
+ .append("fentryId", getFentryId())
+ .append("saleorderCode", getSaleorderCode())
+ .append("saleorderLinenumber", getSaleorderLinenumber())
+ .append("documentStatus", getDocumentStatus())
+ .append("factoryId", getFactoryId())
+ .append("prodlineId", getProdlineId())
+ .append("materialId", getMaterialId())
+ .append("materialCode", getMaterialCode())
+ .append("materialName", getMaterialName())
+ .append("matkl", getMatkl())
+ .append("orderAmount", getOrderAmount())
+ .append("completeAmount", getCompleteAmount())
+ .append("releaseQty", getReleaseQty())
+ .append("isRelease", getIsRelease())
+ .append("approveDate", getApproveDate())
+ .append("erpModifyDate", getErpModifyDate())
+ .append("planDeliveryDate", getPlanDeliveryDate())
+ .append("beginDate", getBeginDate())
+ .append("endDate", getEndDate())
+ .append("completeDate", getCompleteDate())
+ .append("isFlag", getIsFlag())
+ .append("remark", getRemark())
+ .append("createBy", getCreateBy())
+ .append("createTime", getCreateTime())
+ .append("updateBy", getUpdateBy())
+ .append("updateTime", getUpdateTime())
+ .toString();
+ }
+}
diff --git a/hw-modules/hw-jindie/src/main/java/com/hw/jindie/mapper/MesBaseSupplierInfoMapper.java b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/mapper/MesBaseSupplierInfoMapper.java
new file mode 100644
index 00000000..5e5da9a1
--- /dev/null
+++ b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/mapper/MesBaseSupplierInfoMapper.java
@@ -0,0 +1,62 @@
+package com.hw.jindie.mapper;
+
+import com.hw.jindie.domain.MesBaseSupplierInfo;
+
+import java.util.List;
+
+/**
+ * 物料供应商信息Mapper接口
+ *
+ * @author Yinq
+ * @date 2024-01-24
+ */
+public interface MesBaseSupplierInfoMapper
+{
+ /**
+ * 查询物料供应商信息
+ *
+ * @param supplierId 物料供应商信息主键
+ * @return 物料供应商信息
+ */
+ public MesBaseSupplierInfo selectMesBaseSupplierInfoBySupplierId(Long supplierId);
+
+ /**
+ * 查询物料供应商信息列表
+ *
+ * @param mesBaseSupplierInfo 物料供应商信息
+ * @return 物料供应商信息集合
+ */
+ public List selectMesBaseSupplierInfoList(MesBaseSupplierInfo mesBaseSupplierInfo);
+
+ /**
+ * 新增物料供应商信息
+ *
+ * @param mesBaseSupplierInfo 物料供应商信息
+ * @return 结果
+ */
+ public int insertMesBaseSupplierInfo(MesBaseSupplierInfo mesBaseSupplierInfo);
+
+ /**
+ * 修改物料供应商信息
+ *
+ * @param mesBaseSupplierInfo 物料供应商信息
+ * @return 结果
+ */
+ public int updateMesBaseSupplierInfo(MesBaseSupplierInfo mesBaseSupplierInfo);
+
+ /**
+ * 删除物料供应商信息
+ *
+ * @param supplierId 物料供应商信息主键
+ * @return 结果
+ */
+ public int deleteMesBaseSupplierInfoBySupplierId(Long supplierId);
+
+ /**
+ * 批量删除物料供应商信息
+ *
+ * @param supplierIds 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteMesBaseSupplierInfoBySupplierIds(Long[] supplierIds);
+}
diff --git a/hw-modules/hw-jindie/src/main/java/com/hw/jindie/mapper/MesProjectInfoMapper.java b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/mapper/MesProjectInfoMapper.java
new file mode 100644
index 00000000..814d58e6
--- /dev/null
+++ b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/mapper/MesProjectInfoMapper.java
@@ -0,0 +1,62 @@
+package com.hw.jindie.mapper;
+
+import com.hw.jindie.domain.MesProjectInfo;
+
+import java.util.List;
+
+/**
+ * 项目信息Mapper接口
+ *
+ * @author Yinq
+ * @date 2024-02-19
+ */
+public interface MesProjectInfoMapper
+{
+ /**
+ * 查询项目信息
+ *
+ * @param projectId 项目信息主键
+ * @return 项目信息
+ */
+ public MesProjectInfo selectMesProjectInfoByProjectId(Long projectId);
+
+ /**
+ * 查询项目信息列表
+ *
+ * @param mesProjectInfo 项目信息
+ * @return 项目信息集合
+ */
+ public List selectMesProjectInfoList(MesProjectInfo mesProjectInfo);
+
+ /**
+ * 新增项目信息
+ *
+ * @param mesProjectInfo 项目信息
+ * @return 结果
+ */
+ public int insertMesProjectInfo(MesProjectInfo mesProjectInfo);
+
+ /**
+ * 修改项目信息
+ *
+ * @param mesProjectInfo 项目信息
+ * @return 结果
+ */
+ public int updateMesProjectInfo(MesProjectInfo mesProjectInfo);
+
+ /**
+ * 删除项目信息
+ *
+ * @param projectId 项目信息主键
+ * @return 结果
+ */
+ public int deleteMesProjectInfoByProjectId(Long projectId);
+
+ /**
+ * 批量删除项目信息
+ *
+ * @param projectIds 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteMesProjectInfoByProjectIds(Long[] projectIds);
+}
diff --git a/hw-modules/hw-jindie/src/main/java/com/hw/jindie/mapper/MesSaleOrderMapper.java b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/mapper/MesSaleOrderMapper.java
new file mode 100644
index 00000000..431e9087
--- /dev/null
+++ b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/mapper/MesSaleOrderMapper.java
@@ -0,0 +1,62 @@
+package com.hw.jindie.mapper;
+
+import com.hw.jindie.domain.MesSaleOrder;
+
+import java.util.List;
+
+/**
+ * 销售订单信息Mapper接口
+ *
+ * @author Yinq
+ * @date 2024-02-19
+ */
+public interface MesSaleOrderMapper
+{
+ /**
+ * 查询销售订单信息
+ *
+ * @param saleOrderId 销售订单信息主键
+ * @return 销售订单信息
+ */
+ public MesSaleOrder selectMesSaleOrderBySaleOrderId(Long saleOrderId);
+
+ /**
+ * 查询销售订单信息列表
+ *
+ * @param mesSaleOrder 销售订单信息
+ * @return 销售订单信息集合
+ */
+ public List selectMesSaleOrderList(MesSaleOrder mesSaleOrder);
+
+ /**
+ * 新增销售订单信息
+ *
+ * @param mesSaleOrder 销售订单信息
+ * @return 结果
+ */
+ public int insertMesSaleOrder(MesSaleOrder mesSaleOrder);
+
+ /**
+ * 修改销售订单信息
+ *
+ * @param mesSaleOrder 销售订单信息
+ * @return 结果
+ */
+ public int updateMesSaleOrder(MesSaleOrder mesSaleOrder);
+
+ /**
+ * 删除销售订单信息
+ *
+ * @param saleOrderId 销售订单信息主键
+ * @return 结果
+ */
+ public int deleteMesSaleOrderBySaleOrderId(Long saleOrderId);
+
+ /**
+ * 批量删除销售订单信息
+ *
+ * @param saleOrderIds 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteMesSaleOrderBySaleOrderIds(Long[] saleOrderIds);
+}
diff --git a/hw-modules/hw-jindie/src/main/java/com/hw/jindie/service/IKingdeeErpSyncService.java b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/service/IKingdeeErpSyncService.java
index d7b5fc22..e900865d 100644
--- a/hw-modules/hw-jindie/src/main/java/com/hw/jindie/service/IKingdeeErpSyncService.java
+++ b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/service/IKingdeeErpSyncService.java
@@ -2,6 +2,7 @@ package com.hw.jindie.service;
public interface IKingdeeErpSyncService {
- public int syncMaterialInfoFromErp() throws Exception;
+ public int syncMaterialInfoFromErp(String beginTime,String endTime) throws Exception;
+ public int syncSupplierInfoFromErp(int startRow,String beginTime,String endTime) throws Exception;
}
diff --git a/hw-modules/hw-jindie/src/main/java/com/hw/jindie/service/impl/KingdeeErpSyncServiceImpl.java b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/service/impl/KingdeeErpSyncServiceImpl.java
index 5d6b909f..891d67b8 100644
--- a/hw-modules/hw-jindie/src/main/java/com/hw/jindie/service/impl/KingdeeErpSyncServiceImpl.java
+++ b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/service/impl/KingdeeErpSyncServiceImpl.java
@@ -3,10 +3,15 @@ package com.hw.jindie.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
+import com.google.gson.JsonObject;
import com.hw.common.core.utils.DateUtils;
import com.hw.common.core.utils.StringUtils;
import com.hw.jindie.domain.MesBaseMaterialInfo;
+import com.hw.jindie.domain.MesBaseSupplierInfo;
+import com.hw.jindie.domain.MesProjectInfo;
+import com.hw.jindie.domain.MesSaleOrder;
import com.hw.jindie.mapper.MesBaseMaterialInfoMapper;
+import com.hw.jindie.mapper.MesBaseSupplierInfoMapper;
import com.hw.jindie.service.IKingdeeErpSyncService;
import com.kingdee.bos.webapi.entity.RepoRet;
import com.kingdee.bos.webapi.sdk.K3CloudApi;
@@ -15,6 +20,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Date;
+import java.util.List;
/**
* @Description: 与金蝶ERP交互业务处理类
@@ -27,24 +33,27 @@ import java.util.Date;
public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
@Autowired
private MesBaseMaterialInfoMapper mesBaseMaterialInfoMapper;
+ @Autowired
+ private MesBaseSupplierInfoMapper mesBaseSupplierInfoMapper;
+
/**
* @throws Exception
* @Description:从金蝶ERP同步供应商信息
*/
- public static void syncSupplierInfoFromErp() throws Exception {
+ public int syncSupplierInfoFromErp(int startRow,String beginTime,String endTime) throws Exception {
K3CloudApi api = new K3CloudApi();
// "FormId": "BD_Supplier",
// "FieldKeys": "FNumber ,FName,FCreateDate,FModifyDate,FAuditDate",
// "FilterString": "FDocumentStatus='C' AND FCreateDate>'2022-01-01' ",
JSONObject queryJson = new JSONObject();
String formId = "BD_Supplier";
- String fieldKeys = "FSupplierId,FNumber,FName,FCreateDate,FModifyDate,FAuditDate";
+ String fieldKeys = "FSupplierId,FNumber,FName,FCreateDate,FModifyDate,FAuditDate,FCreatorId,FModifierId";
String orderString = "";
int topRowCount = 0;
- int startRow = 0;
- int limit = 100;
+// int startRow = 0;
+ int limit = 2;
queryJson.put("FormId", formId);
queryJson.put("FieldKeys", fieldKeys);
queryJson.put("OrderString", orderString);
@@ -52,7 +61,12 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
queryJson.put("StartRow", startRow);
queryJson.put("Limit", limit);
queryJson.put("SubSystemId", "");
- System.out.println(queryJson.toString());
+ //条件查询
+ if (StringUtils.isNotEmpty(beginTime)&&StringUtils.isNotEmpty(endTime)){
+ String filterString = "FCreateDate >'"+beginTime+"' AND '"+endTime+"' >FCreateDate";
+ queryJson.put("FilterString",filterString);
+ }
+// System.out.println(queryJson.toString());
// "FieldKeys": "FNumber,FName,FBaseUnitId,FSpecification,FNETWEIGHT,FGROSSWEIGHT,FCreateDate,FModifyDate,FApproveDate",
// "FilterString": "FDocumentStatus='C' AND FCreateDate>'2022-01-01' and FMaterialGroup.FNUMBER IN ('28')",
@@ -60,17 +74,81 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
String result = api.billQuery(queryJson.toString());
JSONArray resultArray = JSONArray.parseArray(result);
- System.out.println(resultArray.size());
- System.out.println("供应商查询接口: " + result);
- }
+// System.out.println(resultArray.size());
+// System.out.println("供应商查询接口: " + result);
+
+ for (int i = 0; i < resultArray.size(); i++) {
+ try {
+ JSONObject resultObject = (JSONObject) resultArray.get(i);
+ MesBaseSupplierInfo mesBaseSupplierInfo = new MesBaseSupplierInfo();
+ //供应商编号
+ String FNumber = (String) resultObject.get("FNumber");
+ //供应商名称
+ String FName = (String) resultObject.get("FName");
+ //erp主键id
+ Integer erpId = resultObject.get("FSupplierId") == null ? 0 : (Integer) resultObject.get("FSupplierId");
+ //创建时间
+ String FCreateDate = (String) resultObject.get("FCreateDate");
+ //更新时间
+ String FModifyDate = (String) resultObject.get("FModifyDate");
+ //审核日期
+ String FAuditDate = (String) resultObject.get("FAuditDate");
+
+
+ mesBaseSupplierInfo.setErpId(Long.valueOf(erpId));
+
+ List mesBaseSupplierInfos = mesBaseSupplierInfoMapper.selectMesBaseSupplierInfoList(mesBaseSupplierInfo);
+
+ mesBaseSupplierInfo.setSupplierCode(FNumber);
+ mesBaseSupplierInfo.setSupplierName(FName);
+
+ //供应商状态
+ mesBaseSupplierInfo.setSupplierStatus("1");
+// mesBaseSupplierInfo.setCreateBy(FCreatorId);
+// mesBaseSupplierInfo.setUpdateBy(FModifierId);
+ if (StringUtils.isNotEmpty(FCreateDate)) {
+ mesBaseSupplierInfo.setCreateTime(conversionERPTime(FCreateDate));
+ }
+ if (StringUtils.isNotEmpty(FModifyDate)) {
+ mesBaseSupplierInfo.setUpdateTime(conversionERPTime(FModifyDate));
+ }
+ if (StringUtils.isNotEmpty(FAuditDate)) {
+ mesBaseSupplierInfo.setAuditDate(conversionERPTime(FAuditDate));
+ }
+
+ System.out.println(mesBaseSupplierInfo);
+ //通过erp主键判断,表中是否有重复的数据,如果有则更新,没有则插入
+ if (mesBaseSupplierInfos.size()==0){
+ mesBaseSupplierInfoMapper.insertMesBaseSupplierInfo(mesBaseSupplierInfo);
+ }
+ else {
+ //todo 主键
+ mesBaseSupplierInfo.setSupplierId(mesBaseSupplierInfos.get(0).getSupplierId());
+ mesBaseSupplierInfoMapper.updateMesBaseSupplierInfo(mesBaseSupplierInfo);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ if (resultArray.size() < limit) {
+// System.out.println(startRow);
+ //通过递归同步所有供应商,测试先不用
+ int i = syncSupplierInfoFromErp(startRow + resultArray.size(),beginTime,endTime);
+// return i;
+ return 1;
+ } else {
+ //为空时的总行数
+ return startRow+resultArray.size();
+ }
+ }
/**
* @throws Exception
* @Description:从金蝶ERP同步物料信息
*/
@Override
- public int syncMaterialInfoFromErp() throws Exception {
+ public int syncMaterialInfoFromErp(String beginTime,String endTime) throws Exception {
K3CloudApi api = new K3CloudApi();
String FDocumentStatus = "C";
@@ -79,19 +157,22 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
String fieldKeys = "FMaterialId,FNumber,FName,FBaseUnitId,FSpecification,FNETWEIGHT,FGROSSWEIGHT," +
"FCreateDate,FModifyDate,FApproveDate,FCreateOrgId,FUseOrgId,FPurchasePriceUnitId";
// String filterString = "FNumber='98010102'";
- String filterString = "";
String orderString = "";
int topRowCount = 0;
int startRow = 0;
- int limit = 99;
+ int limit = 20;
queryJson.put("FormId", formId);
queryJson.put("FieldKeys", fieldKeys);
- queryJson.put("FilterString", filterString);
queryJson.put("OrderString", orderString);
queryJson.put("TopRowCount", topRowCount);
queryJson.put("StartRow", startRow);
queryJson.put("Limit", limit);
queryJson.put("SubSystemId", "");
+ //条件查询
+ if (StringUtils.isNotEmpty(beginTime)&&StringUtils.isNotEmpty(endTime)){
+ String filterString = "FCreateDate >'"+beginTime+"' AND '"+endTime+"' >FCreateDate";
+ queryJson.put("FilterString",filterString);
+ }
System.out.println(queryJson.toString());
@@ -103,23 +184,39 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
try {
JSONObject resultObject = (JSONObject) resultArray.get(i);
MesBaseMaterialInfo mesBaseMaterialInfo = new MesBaseMaterialInfo();
+ //erp主键
Integer erpId = (Integer) resultObject.get("FMaterialId");
+ //物料编码
String materialCode = (String) resultObject.get("FNumber");
+ //物料名称
String materialName = (String) resultObject.get("FName");
+ //计量单位ID
Integer materaialUnitId = resultObject.get("FBaseUnitId") == null ? null : (Integer) resultObject.get("FBaseUnitId");
+ //物料规格
String materialSpec = resultObject.get("FSpecification") == null ? null : (String) resultObject.get("FSpecification");
+ //净重
BigDecimal netWeight = resultObject.get("FNETWEIGHT") == null ? null : (BigDecimal) resultObject.get("FNETWEIGHT");
+ //毛重
BigDecimal grossWeight = resultObject.get("FGROSSWEIGHT") == null ? null : (BigDecimal) resultObject.get("FGROSSWEIGHT");
+ //创建时间
String createDateStr = resultObject.get("FCreateDate") == null ? null : (String) resultObject.get("FCreateDate");
+ //erp最后更新日期
String modifyDateStr = resultObject.get("FModifyDate") == null ? null : (String) resultObject.get("FModifyDate");
+ //审核日期
String approveDateStr = resultObject.get("FApproveDate") == null ? null : (String) resultObject.get("FApproveDate");
+ //创建组织
Integer createOrgId = resultObject.get("FCreateOrgId") == null ? null : (Integer) resultObject.get("FCreateOrgId");
+ //使用组织
Integer useOrgId = resultObject.get("FUseOrgId") == null ? null : (Integer) resultObject.get("FUseOrgId");
+ //采购计量单价
+ Integer purchasePriceUnitId = resultObject.get("FPurchasePriceUnitId") == null ? null : (Integer) resultObject.get("FPurchasePriceUnit");
// 2023-08-26T16:15:15.05
mesBaseMaterialInfo.setErpId(Long.valueOf(erpId));
+
+ List mesBaseMaterialInfos = mesBaseMaterialInfoMapper.selectMesBaseMaterialInfoList(mesBaseMaterialInfo);
mesBaseMaterialInfo.setMaterialCode(materialCode);
mesBaseMaterialInfo.setMaterialName(materialName);
mesBaseMaterialInfo.setMaterialUnitId(Long.valueOf(materaialUnitId));
@@ -129,25 +226,26 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
mesBaseMaterialInfo.setCreateOrgId(Long.valueOf(createOrgId));
mesBaseMaterialInfo.setUseOrgId(Long.valueOf(useOrgId));
+
if (StringUtils.isNotEmpty(createDateStr)) {
- createDateStr = createDateStr.replace("T", " ");
- Date createDate = DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", createDateStr);
- mesBaseMaterialInfo.setCreateTime(createDate);
+ mesBaseMaterialInfo.setCreateTime(conversionERPTime(createDateStr));
}
if (StringUtils.isNotEmpty(modifyDateStr)) {
- modifyDateStr = modifyDateStr.replace("T", " ");
- Date modifyDate = DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", modifyDateStr);
- mesBaseMaterialInfo.setErpModifyDate(modifyDate);
+ mesBaseMaterialInfo.setErpModifyDate(conversionERPTime(modifyDateStr));
}
if (StringUtils.isNotEmpty(approveDateStr)) {
- approveDateStr = approveDateStr.replace("T", " ");
- Date approveDate = DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", approveDateStr);
- mesBaseMaterialInfo.setApproveDate(approveDate);
+ mesBaseMaterialInfo.setApproveDate(conversionERPTime(approveDateStr));
}
-
- mesBaseMaterialInfoMapper.insertMesBaseMaterialInfo(mesBaseMaterialInfo);
+ System.out.println(mesBaseMaterialInfo);
+ if (mesBaseMaterialInfos.size()!=0){
+ mesBaseMaterialInfoMapper.updateMesBaseMaterialInfo(mesBaseMaterialInfo);
+ }
+ else {
+ mesBaseMaterialInfoMapper.insertMesBaseMaterialInfo(mesBaseMaterialInfo);
+ }
+// mesBaseMaterialInfoMapper.insertMesBaseMaterialInfo(mesBaseMaterialInfo);
} catch (Exception e) {
e.printStackTrace();
}
@@ -221,7 +319,7 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
String orderString = "";
int topRowCount = 0;
int startRow = 0;
- int limit = 2;
+ int limit = 20;
queryJson.put("FormId", formId);
queryJson.put("FieldKeys", fieldKeys);
queryJson.put("FilterString", filterString);
@@ -236,6 +334,50 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
JSONArray resultArray = JSONArray.parseArray(result);
System.out.println(resultArray.size());
System.out.println("项目信息单据查询接口: " + result);
+
+ for (int i = 0; i < resultArray.size(); i++){
+ try {
+ JSONObject resultObject = (JSONObject) resultArray.get(i);
+ MesProjectInfo mesProjectInfo = new MesProjectInfo();
+
+ Integer FID = resultObject.get("FID")==null ? 0 : (Integer)resultObject.get("FID");
+ String FNumber = resultObject.get("FNumber")==null ? null : (String)resultObject.get("FNumber");
+ String FName = resultObject.get("FName")==null ? null :(String)resultObject.get("FName");
+// String FDocumentStatus = resultObject.get("FDocumentStatus")==null? null:(String)resultObject.get("FDocumentStatus");
+ String FForbidStatus = resultObject.get("FForbidStatus")==null? null:(String)resultObject.get("FForbidStatus");
+ String FAuditDate = resultObject.get("FAuditDate")==null?null:(String) resultObject.get("FAuditDate");
+ String FModifyDate = resultObject.get("FModifyDate")==null?null:(String) resultObject.get("FModifyDate");
+ String FCreateDate = resultObject.get("FCreateDate")==null?null:(String) resultObject.get("FCreateDate");
+
+
+ mesProjectInfo.setErpId(Long.valueOf(FID));
+ mesProjectInfo.setProjectNo(FNumber);
+ mesProjectInfo.setProjectName(FName);
+ mesProjectInfo.setDocumentStatus(FDocumentStatus);
+ mesProjectInfo.setForbidStatus(FForbidStatus);
+ mesProjectInfo.setIsFlag("1");
+ if (StringUtils.isNotEmpty(FAuditDate)) {
+ FAuditDate = FAuditDate.replace("T", " ");
+ Date date = DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", FAuditDate);
+ mesProjectInfo.setAuditDate(date);
+ }
+ if (StringUtils.isNotEmpty(FModifyDate)){
+ FModifyDate = FModifyDate.replace("T"," ");
+ Date date = DateUtils.dateTime("yyyy-MM-dd HH:mm:ss",FModifyDate);
+ mesProjectInfo.setErpModifyDate(date);
+ }
+ if (StringUtils.isNotEmpty(FCreateDate)){
+ FCreateDate = FCreateDate.replace("T"," ");
+ Date date = DateUtils.dateTime("yyyy-MM-dd HH:mm:ss",FCreateDate);
+ mesProjectInfo.setCreateTime(date);
+ }
+ System.out.println(mesProjectInfo);
+
+
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }
}
/**
@@ -273,11 +415,17 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
}
public static void main(String[] args) throws Exception {
-// syncSupplierInfoFromErp();
+// int i = syncSupplierInfoFromErp(0);
// syncMaterialInfoFromErp();
// syncSaleOrderFromErp();
- syncPurchaseOrderFromErp();
-// syncProjectInfoFromErp();
+// syncPurchaseOrderFromErp();
+ syncProjectInfoFromErp();
}
+ //将erp中获取的时间string转换为date类型
+ public Date conversionERPTime(String ERPTime){
+ ERPTime = ERPTime.replace("T", " ");
+ Date date = DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", ERPTime);
+ return date;
+ }
}
diff --git a/hw-modules/hw-jindie/src/main/resources/mapper/jindie/MesBaseMaterialInfoMapper.xml b/hw-modules/hw-jindie/src/main/resources/mapper/jindie/MesBaseMaterialInfoMapper.xml
index 43667458..4f162b5b 100644
--- a/hw-modules/hw-jindie/src/main/resources/mapper/jindie/MesBaseMaterialInfoMapper.xml
+++ b/hw-modules/hw-jindie/src/main/resources/mapper/jindie/MesBaseMaterialInfoMapper.xml
@@ -33,6 +33,7 @@
+
@@ -63,7 +64,8 @@
update_by,
update_time,
approve_date,
- erp_modify_date
+ erp_modify_date,
+ purchase_price_unit_id
from mes_base_material_info
@@ -139,6 +141,7 @@
update_time,
approve_date,
erp_modify_date,
+ purchase_price_unit_id,
#{erpId},
@@ -168,6 +171,7 @@
#{updateTime},
#{approveDate},
#{erpModifyDate},
+ #{purchasePriceUnitId},
@@ -203,6 +207,7 @@
update_time = #{updateTime},
approve_date = #{approveDate},
erp_modify_date = #{erpModifyDate},
+ purchase_price_unit_id = #{purchasePriceUnitId},
where material_id = #{materialId}
diff --git a/hw-modules/hw-jindie/src/main/resources/mapper/jindie/MesBaseSupplierInfoMapper.xml b/hw-modules/hw-jindie/src/main/resources/mapper/jindie/MesBaseSupplierInfoMapper.xml
new file mode 100644
index 00000000..7b0f6999
--- /dev/null
+++ b/hw-modules/hw-jindie/src/main/resources/mapper/jindie/MesBaseSupplierInfoMapper.xml
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select supplier_id, supplier_code, supplier_name, erp_id, supplier_status, remark, create_by, create_time, update_by, update_time, audit_date from mes_base_supplier_info
+
+
+
+
+
+
+
+ insert into mes_base_supplier_info
+
+ supplier_code,
+ supplier_name,
+ erp_id,
+ supplier_status,
+ remark,
+ create_by,
+ create_time,
+ update_by,
+ update_time,
+ audit_date,
+
+
+ #{supplierCode},
+ #{supplierName},
+ #{erpId},
+ #{supplierStatus},
+ #{remark},
+ #{createBy},
+ #{createTime},
+ #{updateBy},
+ #{updateTime},
+ #{auditDate},
+
+
+
+
+ update mes_base_supplier_info
+
+ supplier_code = #{supplierCode},
+ supplier_name = #{supplierName},
+ erp_id = #{erpId},
+ supplier_status = #{supplierStatus},
+ remark = #{remark},
+ create_by = #{createBy},
+ create_time = #{createTime},
+ update_by = #{updateBy},
+ update_time = #{updateTime},
+ audit_date = #{auditDate},
+
+ where supplier_id = #{supplierId}
+
+
+
+ delete from mes_base_supplier_info where supplier_id = #{supplierId}
+
+
+
+ delete from mes_base_supplier_info where supplier_id in
+
+ #{supplierId}
+
+
+
diff --git a/hw-modules/hw-jindie/src/main/resources/mapper/jindie/MesProjectInfoMapper.xml b/hw-modules/hw-jindie/src/main/resources/mapper/jindie/MesProjectInfoMapper.xml
new file mode 100644
index 00000000..b9584538
--- /dev/null
+++ b/hw-modules/hw-jindie/src/main/resources/mapper/jindie/MesProjectInfoMapper.xml
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select project_id, erp_id, project_no, project_name, document_status, forbid_status, audit_date, erp_modify_date, begin_date, end_date, order_status, complete_date, is_flag, remark, create_by, create_time, update_by, update_time from mes_project_info
+
+
+
+
+
+
+
+ insert into mes_project_info
+
+ erp_id,
+ project_no,
+ project_name,
+ document_status,
+ forbid_status,
+ audit_date,
+ erp_modify_date,
+ begin_date,
+ end_date,
+ order_status,
+ complete_date,
+ is_flag,
+ remark,
+ create_by,
+ create_time,
+ update_by,
+ update_time,
+
+
+ #{erpId},
+ #{projectNo},
+ #{projectName},
+ #{documentStatus},
+ #{forbidStatus},
+ #{auditDate},
+ #{erpModifyDate},
+ #{beginDate},
+ #{endDate},
+ #{orderStatus},
+ #{completeDate},
+ #{isFlag},
+ #{remark},
+ #{createBy},
+ #{createTime},
+ #{updateBy},
+ #{updateTime},
+
+
+
+
+ update mes_project_info
+
+ erp_id = #{erpId},
+ project_no = #{projectNo},
+ project_name = #{projectName},
+ document_status = #{documentStatus},
+ forbid_status = #{forbidStatus},
+ audit_date = #{auditDate},
+ erp_modify_date = #{erpModifyDate},
+ begin_date = #{beginDate},
+ end_date = #{endDate},
+ order_status = #{orderStatus},
+ complete_date = #{completeDate},
+ is_flag = #{isFlag},
+ remark = #{remark},
+ create_by = #{createBy},
+ create_time = #{createTime},
+ update_by = #{updateBy},
+ update_time = #{updateTime},
+
+ where project_id = #{projectId}
+
+
+
+ delete from mes_project_info where project_id = #{projectId}
+
+
+
+ delete from mes_project_info where project_id in
+
+ #{projectId}
+
+
+
diff --git a/hw-modules/hw-jindie/src/main/resources/mapper/jindie/MesSaleOrderMapper.xml b/hw-modules/hw-jindie/src/main/resources/mapper/jindie/MesSaleOrderMapper.xml
new file mode 100644
index 00000000..0102cbab
--- /dev/null
+++ b/hw-modules/hw-jindie/src/main/resources/mapper/jindie/MesSaleOrderMapper.xml
@@ -0,0 +1,215 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select sale_order_id,
+ erp_id,
+ fentry_id,
+ saleorder_code,
+ saleorder_linenumber,
+ document_status,
+ factory_id,
+ prodline_id,
+ material_id,
+ material_code,
+ material_name,
+ matkl,
+ order_amount,
+ complete_amount,
+ release_qty,
+ is_release,
+ approve_date,
+ erp_modify_date,
+ plan_delivery_date,
+ begin_date,
+ end_date,
+ complete_date,
+ is_flag,
+ remark,
+ create_by,
+ create_time,
+ update_by,
+ update_time
+ from mes_sale_order
+
+
+
+
+
+
+
+ insert into mes_sale_order
+
+ erp_id,
+ fentry_id,
+ saleorder_code,
+ saleorder_linenumber,
+ document_status,
+ factory_id,
+ prodline_id,
+ material_id,
+ material_code,
+ material_name,
+ matkl,
+ order_amount,
+ complete_amount,
+ release_qty,
+ is_release,
+ approve_date,
+ erp_modify_date,
+ plan_delivery_date,
+ begin_date,
+ end_date,
+ complete_date,
+ is_flag,
+ remark,
+ create_by,
+ create_time,
+ update_by,
+ update_time,
+
+
+ #{erpId},
+ #{fentryId},
+ #{saleorderCode},
+ #{saleorderLinenumber},
+ #{documentStatus},
+ #{factoryId},
+ #{prodlineId},
+ #{materialId},
+ #{materialCode},
+ #{materialName},
+ #{matkl},
+ #{orderAmount},
+ #{completeAmount},
+ #{releaseQty},
+ #{isRelease},
+ #{approveDate},
+ #{erpModifyDate},
+ #{planDeliveryDate},
+ #{beginDate},
+ #{endDate},
+ #{completeDate},
+ #{isFlag},
+ #{remark},
+ #{createBy},
+ #{createTime},
+ #{updateBy},
+ #{updateTime},
+
+
+
+
+ update mes_sale_order
+
+ erp_id = #{erpId},
+ fentry_id = #{fentryId},
+ saleorder_code = #{saleorderCode},
+ saleorder_linenumber = #{saleorderLinenumber},
+ document_status = #{documentStatus},
+ factory_id = #{factoryId},
+ prodline_id = #{prodlineId},
+ material_id = #{materialId},
+ material_code = #{materialCode},
+ material_name = #{materialName},
+ matkl = #{matkl},
+ order_amount = #{orderAmount},
+ complete_amount = #{completeAmount},
+ release_qty = #{releaseQty},
+ is_release = #{isRelease},
+ approve_date = #{approveDate},
+ erp_modify_date = #{erpModifyDate},
+ plan_delivery_date = #{planDeliveryDate},
+ begin_date = #{beginDate},
+ end_date = #{endDate},
+ complete_date = #{completeDate},
+ is_flag = #{isFlag},
+ remark = #{remark},
+ create_by = #{createBy},
+ create_time = #{createTime},
+ update_by = #{updateBy},
+ update_time = #{updateTime},
+
+ where sale_order_id = #{saleOrderId}
+
+
+
+ delete
+ from mes_sale_order
+ where sale_order_id = #{saleOrderId}
+
+
+
+ delete from mes_sale_order where sale_order_id in
+
+ #{saleOrderId}
+
+
+
diff --git a/hw-modules/hw-job/pom.xml b/hw-modules/hw-job/pom.xml
index 0fc1dd4e..27ee793c 100644
--- a/hw-modules/hw-job/pom.xml
+++ b/hw-modules/hw-job/pom.xml
@@ -89,6 +89,12 @@
3.6.3
compile
+
+ com.hw
+ hw-api-jindie
+ 3.6.3
+ compile
+
diff --git a/hw-modules/hw-job/src/main/java/com/hw/job/task/RyTask.java b/hw-modules/hw-job/src/main/java/com/hw/job/task/RyTask.java
index 474b074a..f1b5c8bd 100644
--- a/hw-modules/hw-job/src/main/java/com/hw/job/task/RyTask.java
+++ b/hw-modules/hw-job/src/main/java/com/hw/job/task/RyTask.java
@@ -3,6 +3,7 @@ package com.hw.job.task;
import com.hw.common.core.constant.SecurityConstants;
import com.hw.dms.api.RemoteDmsService;
import com.hw.ems.api.RemoteEmsService;
+import com.hw.jindie.api.RemoteJindieService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.hw.common.core.utils.StringUtils;
@@ -19,6 +20,8 @@ public class RyTask
private RemoteEmsService remoteEmsService;
@Autowired
private RemoteDmsService remoteDmsService;
+ @Autowired
+ private RemoteJindieService remoteJindieService;
public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
{
System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i));
@@ -63,7 +66,14 @@ public class RyTask
public void getDmsBillsMaint(String planMaintCode){
System.out.println("++创建保养工单++getDmsMaintInstance");
remoteDmsService.getDmsBillsMaintInstance(SecurityConstants.INNER,planMaintCode);
-
+ }
+ public void ERPSynMesSupplierInfo(String beginTime, String endTime){
+ System.out.println("++同步ERP中物料供应商++ErpSupplierInfo");
+ remoteJindieService.ErpSupplierInfo(SecurityConstants.INNER,beginTime,endTime);
+ }
+ public void ERPSynMesMaterialInfo(String beginTime, String endTime){
+ System.out.println("++同步ERP中物料信息++ErpMesMaterialInfo");
+ remoteJindieService.ErpMesMaterialInfo(SecurityConstants.INNER,beginTime,endTime);
}
}
diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesProductPlanDetailServiceImpl.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesProductPlanDetailServiceImpl.java
index 420c242d..f2b01f64 100644
--- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesProductPlanDetailServiceImpl.java
+++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesProductPlanDetailServiceImpl.java
@@ -132,7 +132,9 @@ public class MesProductPlanDetailServiceImpl implements IMesProductPlanDetailSer
MesProductPlanDetail queryProductPlanDetail = new MesProductPlanDetail();
queryProductPlanDetail.setPlanId(mesProductPlanDetailVo.getPlanId());
+ //获取生产计划明细列表
List mesProductPlanDetails = mesProductPlanDetailMapper.selectMesProductPlanDetailList(queryProductPlanDetail);
+ //判断该计划是否已有明细
if (mesProductPlanDetails != null && mesProductPlanDetails.size() > 0) {
return 0;
} else {
@@ -250,6 +252,7 @@ public class MesProductPlanDetailServiceImpl implements IMesProductPlanDetailSer
Date currentDate = new Date();
String userName = SecurityUtils.getUsername();
BigDecimal planAmount = null;
+ //获取计划数量
String attachId = dbProductPlan.getAttachId();
if (StringUtils.isNotEmpty(attachId)) {//如果是按图纸生产的
String[] attachIdArr = attachId.split(",");
diff --git a/hw-modules/hw-qms/src/main/java/com/hw/qms/controller/QmsQualityInstanceActivityController.java b/hw-modules/hw-qms/src/main/java/com/hw/qms/controller/QmsQualityInstanceActivityController.java
new file mode 100644
index 00000000..8d82d82f
--- /dev/null
+++ b/hw-modules/hw-qms/src/main/java/com/hw/qms/controller/QmsQualityInstanceActivityController.java
@@ -0,0 +1,116 @@
+package com.hw.qms.controller;
+
+import java.util.List;
+import java.io.IOException;
+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.hw.common.log.annotation.Log;
+import com.hw.common.log.enums.BusinessType;
+import com.hw.common.security.annotation.RequiresPermissions;
+import com.hw.qms.domain.QmsQualityInstanceActivity;
+import com.hw.qms.service.IQmsQualityInstanceActivityService;
+import com.hw.common.core.web.controller.BaseController;
+import com.hw.common.core.web.domain.AjaxResult;
+import com.hw.common.core.utils.poi.ExcelUtil;
+import com.hw.common.core.web.page.TableDataInfo;
+
+/**
+ * 质检工单实例节点Controller
+ *
+ * @author xins
+ * @date 2024-04-22
+ */
+@RestController
+@RequestMapping("/qualityinstanceactivity")
+public class QmsQualityInstanceActivityController extends BaseController
+{
+ @Autowired
+ private IQmsQualityInstanceActivityService qmsQualityInstanceActivityService;
+
+ /**
+ * 查询质检工单实例节点列表
+ */
+ @RequiresPermissions("qms:qualityinstanceactivity:list")
+ @GetMapping("/list")
+ public TableDataInfo list(QmsQualityInstanceActivity qmsQualityInstanceActivity)
+ {
+ startPage();
+ List list = qmsQualityInstanceActivityService.selectQmsQualityInstanceActivityList(qmsQualityInstanceActivity);
+ return getDataTable(list);
+ }
+ /**
+ * 查询质检工单实例节点列表(状态不等于2)
+ */
+ @RequiresPermissions("qms:qualityinstanceactivity:list")
+ @GetMapping("/list/noStatus")
+ public TableDataInfo noStatus(QmsQualityInstanceActivity qmsQualityInstanceActivity)
+ {
+ startPage();
+ List list = qmsQualityInstanceActivityService.selectQmsQualityInstanceActivitynoStatus(qmsQualityInstanceActivity);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出质检工单实例节点列表
+ */
+ @RequiresPermissions("qms:qualityinstanceactivity:export")
+ @Log(title = "质检工单实例节点", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, QmsQualityInstanceActivity qmsQualityInstanceActivity)
+ {
+ List list = qmsQualityInstanceActivityService.selectQmsQualityInstanceActivityList(qmsQualityInstanceActivity);
+ ExcelUtil util = new ExcelUtil(QmsQualityInstanceActivity.class);
+ util.exportExcel(response, list, "质检工单实例节点数据");
+ }
+
+ /**
+ * 获取质检工单实例节点详细信息
+ */
+ @RequiresPermissions("qms:qualityinstanceactivity:query")
+ @GetMapping(value = "/{instanceActivityId}")
+ public AjaxResult getInfo(@PathVariable("instanceActivityId") Long instanceActivityId)
+ {
+ return success(qmsQualityInstanceActivityService.selectQmsQualityInstanceActivityByInstanceActivityId(instanceActivityId));
+ }
+
+ /**
+ * 新增质检工单实例节点
+ */
+ @RequiresPermissions("qms:qualityinstanceactivity:add")
+ @Log(title = "质检工单实例节点", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody QmsQualityInstanceActivity qmsQualityInstanceActivity)
+ {
+ return toAjax(qmsQualityInstanceActivityService.insertQmsQualityInstanceActivity(qmsQualityInstanceActivity));
+ }
+
+ /**
+ * 修改质检工单实例节点
+ */
+ @RequiresPermissions("qms:qualityinstanceactivity:edit")
+ @Log(title = "质检工单实例节点", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody QmsQualityInstanceActivity qmsQualityInstanceActivity)
+ {
+ return toAjax(qmsQualityInstanceActivityService.updateQmsQualityInstanceActivity(qmsQualityInstanceActivity));
+ }
+
+ /**
+ * 删除质检工单实例节点
+ */
+ @RequiresPermissions("qms:qualityinstanceactivity:remove")
+ @Log(title = "质检工单实例节点", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{instanceActivityIds}")
+ public AjaxResult remove(@PathVariable Long[] instanceActivityIds)
+ {
+ return toAjax(qmsQualityInstanceActivityService.deleteQmsQualityInstanceActivityByInstanceActivityIds(instanceActivityIds));
+ }
+}
diff --git a/hw-modules/hw-qms/src/main/java/com/hw/qms/domain/QmsCheckInstanceFile.java b/hw-modules/hw-qms/src/main/java/com/hw/qms/domain/QmsCheckInstanceFile.java
index 792d6495..8238d4f8 100644
--- a/hw-modules/hw-qms/src/main/java/com/hw/qms/domain/QmsCheckInstanceFile.java
+++ b/hw-modules/hw-qms/src/main/java/com/hw/qms/domain/QmsCheckInstanceFile.java
@@ -7,7 +7,7 @@ import com.hw.common.core.web.domain.BaseEntity;
/**
* 质检文件对象 qms_check_instance_file
- *
+ *
* @author xins
* @date 2024-01-23
*/
@@ -30,39 +30,49 @@ public class QmsCheckInstanceFile extends BaseEntity
@Excel(name = "故障文件地址,一般是图片")
private String faultFile;
- public void setCheckInstanceFileId(Long checkInstanceFileId)
+ private String filePath;
+
+ public String getFilePath() {
+ return filePath;
+ }
+
+ public void setFilePath(String filePath) {
+ this.filePath = filePath;
+ }
+
+ public void setCheckInstanceFileId(Long checkInstanceFileId)
{
this.checkInstanceFileId = checkInstanceFileId;
}
- public Long getCheckInstanceFileId()
+ public Long getCheckInstanceFileId()
{
return checkInstanceFileId;
}
- public void setTargetType(String targetType)
+ public void setTargetType(String targetType)
{
this.targetType = targetType;
}
- public String getTargetType()
+ public String getTargetType()
{
return targetType;
}
- public void setTargetId(Long targetId)
+ public void setTargetId(Long targetId)
{
this.targetId = targetId;
}
- public Long getTargetId()
+ public Long getTargetId()
{
return targetId;
}
- public void setFaultFile(String faultFile)
+ public void setFaultFile(String faultFile)
{
this.faultFile = faultFile;
}
- public String getFaultFile()
+ public String getFaultFile()
{
return faultFile;
}
diff --git a/hw-modules/hw-qms/src/main/java/com/hw/qms/domain/QmsQualityInstance.java b/hw-modules/hw-qms/src/main/java/com/hw/qms/domain/QmsQualityInstance.java
index 1c3b11f8..a5c94bdc 100644
--- a/hw-modules/hw-qms/src/main/java/com/hw/qms/domain/QmsQualityInstance.java
+++ b/hw-modules/hw-qms/src/main/java/com/hw/qms/domain/QmsQualityInstance.java
@@ -10,7 +10,7 @@ import com.hw.common.core.web.domain.BaseEntity;
/**
* 质检工单对象 qms_quality_instance
- *
+ *
* @author xins
* @date 2024-01-23
*/
@@ -47,69 +47,129 @@ public class QmsQualityInstance extends BaseEntity
@Excel(name = "处理结束时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date endTime;
+ //规则id
+ private Long checkRuleId;
+ //批次代码
+ private String materialBatch;
+ //处理意见
+ private String processHandleResolution;
+ //处理描述
+ private String processHandleDesc;
+
+ private List fileUrls;
+ private Long stepsNum;
+
/** 质检工单实例节点信息 */
private List qmsQualityInstanceActivityList;
- public void setQualityInstanceId(Long qualityInstanceId)
+ public Long getStepsNum() {
+ return stepsNum;
+ }
+
+ public void setStepsNum(Long stepsNum) {
+ this.stepsNum = stepsNum;
+ }
+
+ public List getFileUrls() {
+ return fileUrls;
+ }
+
+ public void setFileUrls(List fileUrls) {
+ this.fileUrls = fileUrls;
+ }
+
+ public String getProcessHandleResolution() {
+ return processHandleResolution;
+ }
+
+ public void setProcessHandleResolution(String processHandleResolution) {
+ this.processHandleResolution = processHandleResolution;
+ }
+
+ public String getProcessHandleDesc() {
+ return processHandleDesc;
+ }
+
+ public void setProcessHandleDesc(String processHandleDesc) {
+ this.processHandleDesc = processHandleDesc;
+ }
+
+ public Long getCheckRuleId() {
+ return checkRuleId;
+ }
+
+ public void setCheckRuleId(Long checkRuleId) {
+ this.checkRuleId = checkRuleId;
+ }
+
+ public String getMaterialBatch() {
+ return materialBatch;
+ }
+
+ public void setMaterialBatch(String materialBatch) {
+ this.materialBatch = materialBatch;
+ }
+
+ public void setQualityInstanceId(Long qualityInstanceId)
{
this.qualityInstanceId = qualityInstanceId;
}
- public Long getQualityInstanceId()
+ public Long getQualityInstanceId()
{
return qualityInstanceId;
}
- public void setWfProcessId(Long wfProcessId)
+ public void setWfProcessId(Long wfProcessId)
{
this.wfProcessId = wfProcessId;
}
- public Long getWfProcessId()
+ public Long getWfProcessId()
{
return wfProcessId;
}
- public void setWfInstanceStatus(String wfInstanceStatus)
+ public void setWfInstanceStatus(String wfInstanceStatus)
{
this.wfInstanceStatus = wfInstanceStatus;
}
- public String getWfInstanceStatus()
+ public String getWfInstanceStatus()
{
return wfInstanceStatus;
}
- public void setCheckResultId(Long checkResultId)
+ public void setCheckResultId(Long checkResultId)
{
this.checkResultId = checkResultId;
}
- public Long getCheckResultId()
+ public Long getCheckResultId()
{
return checkResultId;
}
- public void setQualityDescription(String qualityDescription)
+ public void setQualityDescription(String qualityDescription)
{
this.qualityDescription = qualityDescription;
}
- public String getQualityDescription()
+ public String getQualityDescription()
{
return qualityDescription;
}
- public void setStartTime(Date startTime)
+ public void setStartTime(Date startTime)
{
this.startTime = startTime;
}
- public Date getStartTime()
+ public Date getStartTime()
{
return startTime;
}
- public void setEndTime(Date endTime)
+ public void setEndTime(Date endTime)
{
this.endTime = endTime;
}
- public Date getEndTime()
+ public Date getEndTime()
{
return endTime;
}
diff --git a/hw-modules/hw-qms/src/main/java/com/hw/qms/domain/QmsQualityInstanceActivity.java b/hw-modules/hw-qms/src/main/java/com/hw/qms/domain/QmsQualityInstanceActivity.java
index 18143012..3ee0d775 100644
--- a/hw-modules/hw-qms/src/main/java/com/hw/qms/domain/QmsQualityInstanceActivity.java
+++ b/hw-modules/hw-qms/src/main/java/com/hw/qms/domain/QmsQualityInstanceActivity.java
@@ -77,6 +77,15 @@ public class QmsQualityInstanceActivity extends BaseEntity
private List qmsCheckInstanceFileList;
private boolean editedAble = false;//是否可编辑
+ private Long wfLength;
+
+ public Long getWfLength() {
+ return wfLength;
+ }
+
+ public void setWfLength(Long wfLength) {
+ this.wfLength = wfLength;
+ }
public void setInstanceActivityId(Long instanceActivityId)
{
diff --git a/hw-modules/hw-qms/src/main/java/com/hw/qms/mapper/QmsCheckRuleDetailMapper.java b/hw-modules/hw-qms/src/main/java/com/hw/qms/mapper/QmsCheckRuleDetailMapper.java
index 932a6606..62ad2729 100644
--- a/hw-modules/hw-qms/src/main/java/com/hw/qms/mapper/QmsCheckRuleDetailMapper.java
+++ b/hw-modules/hw-qms/src/main/java/com/hw/qms/mapper/QmsCheckRuleDetailMapper.java
@@ -1,6 +1,8 @@
package com.hw.qms.mapper;
import java.util.List;
+import java.util.Map;
+
import com.hw.qms.domain.QmsCheckRuleDetail;
/**
@@ -76,4 +78,13 @@ public interface QmsCheckRuleDetailMapper
* @return 结果
*/
public int deleteQmsCheckRuleDetails(List checkRuleDetails);
+
+ /**
+ * 通过规则id获取物料物料大类
+ *
+ * */
+ public Map getBaseMaterialCategoriesByQmsCheckRuleId(Long checkRuleId);
+
+ public Map getMesBaseBarcodeInfoByBatchCode(String batchCode);
+
}
diff --git a/hw-modules/hw-qms/src/main/java/com/hw/qms/mapper/QmsQualityInstanceActivityMapper.java b/hw-modules/hw-qms/src/main/java/com/hw/qms/mapper/QmsQualityInstanceActivityMapper.java
index 168b1695..7ed6b4ec 100644
--- a/hw-modules/hw-qms/src/main/java/com/hw/qms/mapper/QmsQualityInstanceActivityMapper.java
+++ b/hw-modules/hw-qms/src/main/java/com/hw/qms/mapper/QmsQualityInstanceActivityMapper.java
@@ -6,15 +6,15 @@ import com.hw.qms.domain.QmsCheckInstanceFile;
/**
* 质检工单实例节点Mapper接口
- *
+ *
* @author xins
* @date 2024-03-11
*/
-public interface QmsQualityInstanceActivityMapper
+public interface QmsQualityInstanceActivityMapper
{
/**
* 查询质检工单实例节点
- *
+ *
* @param instanceActivityId 质检工单实例节点主键
* @return 质检工单实例节点
*/
@@ -22,15 +22,17 @@ public interface QmsQualityInstanceActivityMapper
/**
* 查询质检工单实例节点列表
- *
+ *
* @param qmsQualityInstanceActivity 质检工单实例节点
* @return 质检工单实例节点集合
*/
public List selectQmsQualityInstanceActivityList(QmsQualityInstanceActivity qmsQualityInstanceActivity);
+ public List selectQmsQualityInstanceActivitynoStatus(QmsQualityInstanceActivity qmsQualityInstanceActivity);
+
/**
* 新增质检工单实例节点
- *
+ *
* @param qmsQualityInstanceActivity 质检工单实例节点
* @return 结果
*/
@@ -38,7 +40,7 @@ public interface QmsQualityInstanceActivityMapper
/**
* 修改质检工单实例节点
- *
+ *
* @param qmsQualityInstanceActivity 质检工单实例节点
* @return 结果
*/
@@ -46,7 +48,7 @@ public interface QmsQualityInstanceActivityMapper
/**
* 删除质检工单实例节点
- *
+ *
* @param instanceActivityId 质检工单实例节点主键
* @return 结果
*/
@@ -54,7 +56,7 @@ public interface QmsQualityInstanceActivityMapper
/**
* 批量删除质检工单实例节点
- *
+ *
* @param instanceActivityIds 需要删除的数据主键集合
* @return 结果
*/
@@ -62,24 +64,24 @@ public interface QmsQualityInstanceActivityMapper
/**
* 批量删除质检文件
- *
+ *
* @param instanceActivityIds 需要删除的数据主键集合
* @return 结果
*/
public int deleteQmsCheckInstanceFileByTargetIds(Long[] instanceActivityIds);
-
+
/**
* 批量新增质检文件
- *
+ *
* @param qmsCheckInstanceFileList 质检文件列表
* @return 结果
*/
public int batchQmsCheckInstanceFile(List qmsCheckInstanceFileList);
-
+
/**
* 通过质检工单实例节点主键删除质检文件信息
- *
+ *
* @param instanceActivityId 质检工单实例节点ID
* @return 结果
*/
diff --git a/hw-modules/hw-qms/src/main/java/com/hw/qms/service/IQmsQualityInstanceActivityService.java b/hw-modules/hw-qms/src/main/java/com/hw/qms/service/IQmsQualityInstanceActivityService.java
new file mode 100644
index 00000000..0796bfe5
--- /dev/null
+++ b/hw-modules/hw-qms/src/main/java/com/hw/qms/service/IQmsQualityInstanceActivityService.java
@@ -0,0 +1,63 @@
+package com.hw.qms.service;
+
+import java.util.List;
+import com.hw.qms.domain.QmsQualityInstanceActivity;
+
+/**
+ * 质检工单实例节点Service接口
+ *
+ * @author xins
+ * @date 2024-04-22
+ */
+public interface IQmsQualityInstanceActivityService
+{
+ /**
+ * 查询质检工单实例节点
+ *
+ * @param instanceActivityId 质检工单实例节点主键
+ * @return 质检工单实例节点
+ */
+ public QmsQualityInstanceActivity selectQmsQualityInstanceActivityByInstanceActivityId(Long instanceActivityId);
+
+ /**
+ * 查询质检工单实例节点列表
+ *
+ * @param qmsQualityInstanceActivity 质检工单实例节点
+ * @return 质检工单实例节点集合
+ */
+ public List selectQmsQualityInstanceActivityList(QmsQualityInstanceActivity qmsQualityInstanceActivity);
+
+ public List selectQmsQualityInstanceActivitynoStatus(QmsQualityInstanceActivity qmsQualityInstanceActivity);
+
+ /**
+ * 新增质检工单实例节点
+ *
+ * @param qmsQualityInstanceActivity 质检工单实例节点
+ * @return 结果
+ */
+ public int insertQmsQualityInstanceActivity(QmsQualityInstanceActivity qmsQualityInstanceActivity);
+
+ /**
+ * 修改质检工单实例节点
+ *
+ * @param qmsQualityInstanceActivity 质检工单实例节点
+ * @return 结果
+ */
+ public int updateQmsQualityInstanceActivity(QmsQualityInstanceActivity qmsQualityInstanceActivity);
+
+ /**
+ * 批量删除质检工单实例节点
+ *
+ * @param instanceActivityIds 需要删除的质检工单实例节点主键集合
+ * @return 结果
+ */
+ public int deleteQmsQualityInstanceActivityByInstanceActivityIds(Long[] instanceActivityIds);
+
+ /**
+ * 删除质检工单实例节点信息
+ *
+ * @param instanceActivityId 质检工单实例节点主键
+ * @return 结果
+ */
+ public int deleteQmsQualityInstanceActivityByInstanceActivityId(Long instanceActivityId);
+}
diff --git a/hw-modules/hw-qms/src/main/java/com/hw/qms/service/impl/QmsQualityInstanceActivityServiceImpl.java b/hw-modules/hw-qms/src/main/java/com/hw/qms/service/impl/QmsQualityInstanceActivityServiceImpl.java
new file mode 100644
index 00000000..98b9f319
--- /dev/null
+++ b/hw-modules/hw-qms/src/main/java/com/hw/qms/service/impl/QmsQualityInstanceActivityServiceImpl.java
@@ -0,0 +1,170 @@
+package com.hw.qms.service.impl;
+
+import java.util.List;
+import com.hw.common.core.utils.DateUtils;
+import com.hw.common.security.utils.SecurityUtils;
+import com.hw.qms.domain.QmsQualityInstance;
+import com.hw.qms.mapper.QmsQualityInstanceMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import java.util.ArrayList;
+import com.hw.common.core.utils.StringUtils;
+import org.springframework.transaction.annotation.Transactional;
+import com.hw.qms.domain.QmsCheckInstanceFile;
+import com.hw.qms.mapper.QmsQualityInstanceActivityMapper;
+import com.hw.qms.domain.QmsQualityInstanceActivity;
+import com.hw.qms.service.IQmsQualityInstanceActivityService;
+
+/**
+ * 质检工单实例节点Service业务层处理
+ *
+ * @author xins
+ * @date 2024-04-22
+ */
+@Service
+public class QmsQualityInstanceActivityServiceImpl implements IQmsQualityInstanceActivityService
+{
+ @Autowired
+ private QmsQualityInstanceActivityMapper qmsQualityInstanceActivityMapper;
+ @Autowired
+ private QmsQualityInstanceMapper qmsQualityInstanceMapper;
+
+ /**
+ * 查询质检工单实例节点
+ *
+ * @param instanceActivityId 质检工单实例节点主键
+ * @return 质检工单实例节点
+ */
+ @Override
+ public QmsQualityInstanceActivity selectQmsQualityInstanceActivityByInstanceActivityId(Long instanceActivityId)
+ {
+ return qmsQualityInstanceActivityMapper.selectQmsQualityInstanceActivityByInstanceActivityId(instanceActivityId);
+ }
+
+ /**
+ * 查询质检工单实例节点列表
+ *
+ * @param qmsQualityInstanceActivity 质检工单实例节点
+ * @return 质检工单实例节点
+ */
+ @Override
+ public List selectQmsQualityInstanceActivityList(QmsQualityInstanceActivity qmsQualityInstanceActivity)
+ {
+
+ return qmsQualityInstanceActivityMapper.selectQmsQualityInstanceActivityList(qmsQualityInstanceActivity);
+ }
+
+ @Override
+ public List selectQmsQualityInstanceActivitynoStatus(QmsQualityInstanceActivity qmsQualityInstanceActivity) {
+ return qmsQualityInstanceActivityMapper.selectQmsQualityInstanceActivitynoStatus(qmsQualityInstanceActivity);
+ }
+
+ /**
+ * 新增质检工单实例节点
+ *
+ * @param qmsQualityInstanceActivity 质检工单实例节点
+ * @return 结果
+ */
+ @Transactional
+ @Override
+ public int insertQmsQualityInstanceActivity(QmsQualityInstanceActivity qmsQualityInstanceActivity)
+ {
+
+ QmsQualityInstanceActivity qms = new QmsQualityInstanceActivity();
+ qms.setProcessHandleStatus("2");
+ qms.setQualityInstanceId(qmsQualityInstanceActivity.getQualityInstanceId());
+ //查询实例节点中 状态等于2的
+ List qmsQualityInstanceActivities = qmsQualityInstanceActivityMapper.selectQmsQualityInstanceActivityList(qms);
+
+ QmsQualityInstanceActivity activity = qmsQualityInstanceActivities.get(0);
+ //赋值
+ activity.setCreateTime(DateUtils.getNowDate());
+ activity.setCreateBy(SecurityUtils.getUsername());
+ activity.setStartTime(DateUtils.getNowDate());
+ activity.setProcessHandleStatus("1");
+ activity.setHandleUserId(SecurityUtils.getUserId());
+ activity.setHandleBy(SecurityUtils.getUsername());
+ activity.setProcessHandleResolution(qmsQualityInstanceActivity.getProcessHandleResolution());
+ activity.setProcessHandleDesc(qmsQualityInstanceActivity.getProcessHandleDesc());
+ activity.setQmsCheckInstanceFileList(qmsQualityInstanceActivity.getQmsCheckInstanceFileList());
+ //文件
+ insertQmsCheckInstanceFile(activity);
+ qms.setProcessHandleStatus("1");
+ List qmsQualityInstanceActivities1 = qmsQualityInstanceActivityMapper.selectQmsQualityInstanceActivityList(qms);
+ for (QmsQualityInstanceActivity q:qmsQualityInstanceActivities1){
+ q.setProcessHandleStatus("3");
+ q.setEndTime(DateUtils.getNowDate());
+ qmsQualityInstanceActivityMapper.updateQmsQualityInstanceActivity(q);
+ }
+ int rows = qmsQualityInstanceActivityMapper.updateQmsQualityInstanceActivity(activity);
+
+ return rows;
+ }
+
+ /**
+ * 修改质检工单实例节点
+ *
+ * @param qmsQualityInstanceActivity 质检工单实例节点
+ * @return 结果
+ */
+ @Transactional
+ @Override
+ public int updateQmsQualityInstanceActivity(QmsQualityInstanceActivity qmsQualityInstanceActivity)
+ {
+ qmsQualityInstanceActivityMapper.deleteQmsCheckInstanceFileByTargetId(qmsQualityInstanceActivity.getInstanceActivityId());
+ insertQmsCheckInstanceFile(qmsQualityInstanceActivity);
+ return qmsQualityInstanceActivityMapper.updateQmsQualityInstanceActivity(qmsQualityInstanceActivity);
+ }
+
+ /**
+ * 批量删除质检工单实例节点
+ *
+ * @param instanceActivityIds 需要删除的质检工单实例节点主键
+ * @return 结果
+ */
+ @Transactional
+ @Override
+ public int deleteQmsQualityInstanceActivityByInstanceActivityIds(Long[] instanceActivityIds)
+ {
+ qmsQualityInstanceActivityMapper.deleteQmsCheckInstanceFileByTargetIds(instanceActivityIds);
+ return qmsQualityInstanceActivityMapper.deleteQmsQualityInstanceActivityByInstanceActivityIds(instanceActivityIds);
+ }
+
+ /**
+ * 删除质检工单实例节点信息
+ *
+ * @param instanceActivityId 质检工单实例节点主键
+ * @return 结果
+ */
+ @Transactional
+ @Override
+ public int deleteQmsQualityInstanceActivityByInstanceActivityId(Long instanceActivityId)
+ {
+ qmsQualityInstanceActivityMapper.deleteQmsCheckInstanceFileByTargetId(instanceActivityId);
+ return qmsQualityInstanceActivityMapper.deleteQmsQualityInstanceActivityByInstanceActivityId(instanceActivityId);
+ }
+
+ /**
+ * 新增质检文件信息
+ *
+ * @param qmsQualityInstanceActivity 质检工单实例节点对象
+ */
+ public void insertQmsCheckInstanceFile(QmsQualityInstanceActivity qmsQualityInstanceActivity)
+ {
+ List qmsCheckInstanceFileList = qmsQualityInstanceActivity.getQmsCheckInstanceFileList();
+ Long instanceActivityId = qmsQualityInstanceActivity.getInstanceActivityId();
+ if (StringUtils.isNotNull(qmsCheckInstanceFileList))
+ {
+ List list = new ArrayList();
+ for (QmsCheckInstanceFile qmsCheckInstanceFile : qmsCheckInstanceFileList)
+ {
+ qmsCheckInstanceFile.setTargetId(instanceActivityId);
+ list.add(qmsCheckInstanceFile);
+ }
+ if (list.size() > 0)
+ {
+ qmsQualityInstanceActivityMapper.batchQmsCheckInstanceFile(list);
+ }
+ }
+ }
+}
diff --git a/hw-modules/hw-qms/src/main/java/com/hw/qms/service/impl/QmsQualityInstanceServiceImpl.java b/hw-modules/hw-qms/src/main/java/com/hw/qms/service/impl/QmsQualityInstanceServiceImpl.java
index 6e8dbfa3..a9e5cf02 100644
--- a/hw-modules/hw-qms/src/main/java/com/hw/qms/service/impl/QmsQualityInstanceServiceImpl.java
+++ b/hw-modules/hw-qms/src/main/java/com/hw/qms/service/impl/QmsQualityInstanceServiceImpl.java
@@ -3,22 +3,22 @@ package com.hw.qms.service.impl;
import java.util.Date;
import java.util.List;
+import com.hw.common.core.constant.DmsConstants;
+import com.hw.common.core.constant.QmsConstants;
import com.hw.common.core.constant.WfConstants;
import com.hw.common.core.utils.DateUtils;
import com.hw.common.security.utils.SecurityUtils;
-import com.hw.qms.domain.QmsCheckInstanceFile;
+import com.hw.qms.domain.*;
import com.hw.qms.domain.vo.QmsQualityInstanceActivityVo;
-import com.hw.qms.mapper.QmsQualityInstanceActivityMapper;
+import com.hw.qms.mapper.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
+import java.util.Map;
import com.hw.common.core.utils.StringUtils;
import org.springframework.transaction.annotation.Transactional;
-import com.hw.qms.domain.QmsQualityInstanceActivity;
-import com.hw.qms.mapper.QmsQualityInstanceMapper;
-import com.hw.qms.domain.QmsQualityInstance;
import com.hw.qms.service.IQmsQualityInstanceService;
/**
@@ -35,6 +35,18 @@ public class QmsQualityInstanceServiceImpl implements IQmsQualityInstanceService
@Autowired
private QmsQualityInstanceActivityMapper qmsQualityInstanceActivityMapper;
+ @Autowired
+ private QmsCheckRuleMapper qmsCheckRuleMapper;
+
+ @Autowired
+ private QmsCheckRuleDetailMapper qmsCheckRuleDetailMapper;
+
+ @Autowired
+ private QmsCheckResultMapper qmsCheckResultMapper;
+
+ @Autowired
+ private QmsCheckInstanceFileMapper qmsCheckInstanceFileMapper;
+
/**
* 查询质检工单
*
@@ -67,8 +79,108 @@ public class QmsQualityInstanceServiceImpl implements IQmsQualityInstanceService
@Override
public int insertQmsQualityInstance(QmsQualityInstance qmsQualityInstance) {
qmsQualityInstance.setCreateTime(DateUtils.getNowDate());
+ qmsQualityInstance.setStartTime(DateUtils.getNowDate());
+ //第一步 根据校验规则id 获取校验规则信息
+ QmsCheckRule qmsCheckRule = qmsCheckRuleMapper.selectQmsCheckRuleByCheckRuleId(qmsQualityInstance.getCheckRuleId());
+ //第二步 根据校验规则获取规则明细的物料信息
+ QmsCheckRuleDetail qmsCheckRuleDetail = new QmsCheckRuleDetail();
+ qmsCheckRuleDetail.setCheckRuleId(qmsCheckRule.getCheckRuleId());
+ qmsCheckRuleDetail.setTargetType("1");
+ //第三步 根据物料信息查看他是半、成品还是原材料
+ Map materialMap = qmsCheckRuleDetailMapper.getBaseMaterialCategoriesByQmsCheckRuleId(qmsQualityInstance.getCheckRuleId());
+ // 根据检验此批获取出生产计划、销售订单、采购订单编号
+ Map barcodeMap = qmsCheckRuleDetailMapper.getMesBaseBarcodeInfoByBatchCode(qmsQualityInstance.getMaterialBatch());
+ //都有了之后创建质检结果,状态为未开始
+ QmsCheckResult qmsCheckResult = new QmsCheckResult();
+ qmsCheckResult.setCheckRuleId(qmsQualityInstance.getCheckRuleId());
+ qmsCheckResult.setMaterialType(materialMap.get("material_categories"));
+ Object material_id = materialMap.get("material_id");
+ String s = material_id.toString();
+ qmsCheckResult.setMaterialId(Long.valueOf(s));
+ qmsCheckResult.setMaterialBatch(qmsQualityInstance.getMaterialBatch());
+ qmsCheckResult.setCheckMode(qmsCheckRule.getCheckMode());
+ if (qmsCheckRule.getCheckMode()!="" && qmsCheckRule.getCheckMode().equals("2")){
+ qmsCheckResult.setCheckSample(qmsCheckRule.getCheckSample());}
+ if (barcodeMap.get("plan_code")!=null) {
+ qmsCheckResult.setPlanCode(barcodeMap.get("plan_code"));
+ }
+ if (barcodeMap.get("plan_detail_code")!=null){
+ qmsCheckResult.setPlanDetailCode(barcodeMap.get("plan_detail_code"));
+ }
+ if (barcodeMap.get("sale_order_id")!=null){
+ qmsCheckResult.setSaleOrderId(String.valueOf((Object)barcodeMap.get("sale_order_id")));
+ }
+ if (barcodeMap.get("sale_order_code")!=null){
+ qmsCheckResult.setSaleorderCode(barcodeMap.get("sale_order_code"));
+ }
+ if (barcodeMap.get("po_no")!=null){
+ qmsCheckResult.setPoNo(barcodeMap.get("po_no"));
+ }
+ if (barcodeMap.get("project_no")!=null){
+ qmsCheckResult.setProjectNo(barcodeMap.get("project_no"));
+ }
+ qmsCheckResult.setCheckStatus("0");
+ qmsCheckResult.setCheckRuleName(qmsCheckRule.getCheckRuleName());
+ qmsCheckResult.setCheckRuleType(qmsCheckRule.getCheckRuleType());
+ //创建质检结果
+ int checkResultId = qmsCheckResultMapper.insertQmsCheckResult(qmsCheckResult);
+ //创建工单实例对象
+ //为质检工单添加质检结果id
+ qmsQualityInstance.setCheckResultId(checkResultId*1l);
+ qmsQualityInstance.setWfInstanceStatus("0");
int rows = qmsQualityInstanceMapper.insertQmsQualityInstance(qmsQualityInstance);
insertQmsQualityInstanceActivity(qmsQualityInstance);
+
+
+
+
+
+
+ //创建工单实例节点
+ //根据wf中的步骤,创建出所有的工单流程实例节点,除了当前节点外其他节点状态都为待接取
+ List qmsQualityInstanceActivities = new ArrayList();
+ for (int i=0;i
+
+
+
+
diff --git a/hw-modules/hw-qms/src/main/resources/mapper/qms/QmsQualityInstanceActivityMapper.xml b/hw-modules/hw-qms/src/main/resources/mapper/qms/QmsQualityInstanceActivityMapper.xml
index ec3fe365..712376c2 100644
--- a/hw-modules/hw-qms/src/main/resources/mapper/qms/QmsQualityInstanceActivityMapper.xml
+++ b/hw-modules/hw-qms/src/main/resources/mapper/qms/QmsQualityInstanceActivityMapper.xml
@@ -3,7 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-
+
@@ -39,7 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-
+
-
+
insert into qms_quality_instance_activity
@@ -125,14 +125,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- delete from qms_quality_instance_activity where instance_activity_id in
+ delete from qms_quality_instance_activity where instance_activity_id in
#{instanceActivityId}
-
+
- delete from qms_check_instance_file where target_id in
+ delete from qms_check_instance_file where target_id in
#{targetId}
@@ -148,4 +148,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
( #{item.checkInstanceFileId}, #{item.targetType}, #{item.targetId}, #{item.faultFile})
-
\ No newline at end of file
+
+
+
diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsRawInstockDetail.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsRawInstockDetail.java
index b38ec10a..4c2fea01 100644
--- a/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsRawInstockDetail.java
+++ b/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsRawInstockDetail.java
@@ -1,336 +1,336 @@
-//package com.hw.wms.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.hw.common.core.annotation.Excel;
-//import com.hw.common.core.web.domain.BaseEntity;
-//
-///**
-// * 原材料入库记录明细对象 wms_raw_instock_detail
-// *
-// * @author xs
-// * @date 2023-12-21
-// */
-//public class WmsRawInstockDetail extends BaseEntity
-//{
-// private static final long serialVersionUID = 1L;
-//
-// /** 原材料入库记录明细ID */
-// private Long rawInstockDetailId;
-//
-// /** 原材料入库ID */
-// @Excel(name = "原材料入库ID")
-// private Long rawInstockId;
-//
-// /** 库位编码 */
-// @Excel(name = "库位编码")
-// private String locationCode;
-//
-// /** 存放物料条码 */
-// @Excel(name = "存放物料条码")
-// private String materialBarcode;
-//
-// /** 物料ID */
-// @Excel(name = "物料ID")
-// private Long materialId;
-//
-// /** 批次;入库扫描条码时,从打印条码记录表中获取 */
-// @Excel(name = "批次;入库扫描条码时,从打印条码记录表中获取")
-// private String instockBatch;
-//
-// /** 生产日期;入库扫描条码时,从打印条码记录表中获取 */
-// @JsonFormat(pattern = "yyyy-MM-dd")
-// @Excel(name = "生产日期;入库扫描条码时,从打印条码记录表中获取", width = 30, dateFormat = "yyyy-MM-dd")
-// private Date materialProductionDate;
-//
-// /** 入库数量 */
-// @Excel(name = "计划数量")
-// private BigDecimal planAmount;
-//
-// /** 入库数量 */
-// @Excel(name = "入库数量")
-// private BigDecimal instockAmount;
-//
-// /** 执行状态(0待执行,1执行中,2执行完成) */
-// @Excel(name = "执行状态(0待执行,1执行中,2执行完成)")
-// private String executeStatus;
-//
-// /** 同步ERP状态(0:失败,1成功) */
-// @Excel(name = "同步ERP状态(0:失败,1成功)")
-// private String erpStatus;
-//
-// /** 入库人 */
-// @Excel(name = "入库人")
-// private String instockPerson;
-//
-// /** 入库时间 */
-// @JsonFormat(pattern = "yyyy-MM-dd")
-// @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd")
-// private Date instockTime;
-//
-// /** 入库方式( 0:PC入库 1:手持入库 2:AGV入库 ) */
-// @Excel(name = "入库方式", readConverterExp = "0=:PC入库,1=:手持入库,2=:AGV入库")
-// private String instockWay;
-//
-// /** 使用机台名称;入库扫描条码时,从打印条码记录表中获取 */
-// @Excel(name = "使用机台名称;入库扫描条码时,从打印条码记录表中获取")
-// private String machineName;
-//
-// /** 质检状态(0:待质检,1:合格,2:NG) */
-// @Excel(name = "质检状态(0:待质检,1:合格,2:NG)")
-// private String qualityStatus;
-//
-// /** 每托数量 */
-// @Excel(name = "每托数量")
-// private BigDecimal stackAmount;
-//
-// /** 创建时间 */
-// @JsonFormat(pattern = "yyyy-MM-dd")
-// @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
-// private Date createDate;
-//
-// /** 最后更新时间 */
-// @JsonFormat(pattern = "yyyy-MM-dd")
-// @Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd")
-// private Date updateDate;
-//
-// /** 有效标记 */
-// @Excel(name = "有效标记")
-// private String activeFlag;
-//
-// //采购订单号
-// private String poNo;
-// /** 采购订单行项目 */
-// @Excel(name = "采购订单行项目")
-// private String poLine;
-//
-// public void setRawInstockDetailId(Long rawInstockDetailId)
-// {
-// this.rawInstockDetailId = rawInstockDetailId;
-// }
-//
-// public Long getRawInstockDetailId()
-// {
-// return rawInstockDetailId;
-// }
-// public void setRawInstockId(Long rawInstockId)
-// {
-// this.rawInstockId = rawInstockId;
-// }
-//
-// public Long getRawInstockId()
-// {
-// return rawInstockId;
-// }
-// public void setLocationCode(String locationCode)
-// {
-// this.locationCode = locationCode;
-// }
-//
-// public String getLocationCode()
-// {
-// return locationCode;
-// }
-// public void setMaterialBarcode(String materialBarcode)
-// {
-// this.materialBarcode = materialBarcode;
-// }
-//
-// public String getMaterialBarcode()
-// {
-// return materialBarcode;
-// }
-// public void setMaterialId(Long materialId)
-// {
-// this.materialId = materialId;
-// }
-//
-// public Long getMaterialId()
-// {
-// return materialId;
-// }
-// public void setInstockBatch(String instockBatch)
-// {
-// this.instockBatch = instockBatch;
-// }
-//
-// public String getInstockBatch()
-// {
-// return instockBatch;
-// }
-// public void setMaterialProductionDate(Date materialProductionDate)
-// {
-// this.materialProductionDate = materialProductionDate;
-// }
-//
-// public Date getMaterialProductionDate()
-// {
-// return materialProductionDate;
-// }
-//
-// public BigDecimal getPlanAmount() {
-// return planAmount;
-// }
-//
-// public void setPlanAmount(BigDecimal planAmount) {
-// this.planAmount = planAmount;
-// }
-//
-// public void setInstockAmount(BigDecimal instockAmount)
-// {
-// this.instockAmount = instockAmount;
-// }
-//
-// public BigDecimal getInstockAmount()
-// {
-// return instockAmount;
-// }
-// public void setExecuteStatus(String executeStatus)
-// {
-// this.executeStatus = executeStatus;
-// }
-//
-// public String getExecuteStatus()
-// {
-// return executeStatus;
-// }
-// public void setErpStatus(String erpStatus)
-// {
-// this.erpStatus = erpStatus;
-// }
-//
-// public String getErpStatus()
-// {
-// return erpStatus;
-// }
-// public void setInstockPerson(String instockPerson)
-// {
-// this.instockPerson = instockPerson;
-// }
-//
-// public String getInstockPerson()
-// {
-// return instockPerson;
-// }
-// public void setInstockTime(Date instockTime)
-// {
-// this.instockTime = instockTime;
-// }
-//
-// public Date getInstockTime()
-// {
-// return instockTime;
-// }
-// public void setInstockWay(String instockWay)
-// {
-// this.instockWay = instockWay;
-// }
-//
-// public String getInstockWay()
-// {
-// return instockWay;
-// }
-// public void setMachineName(String machineName)
-// {
-// this.machineName = machineName;
-// }
-//
-// public String getMachineName()
-// {
-// return machineName;
-// }
-// public void setQualityStatus(String qualityStatus)
-// {
-// this.qualityStatus = qualityStatus;
-// }
-//
-// public String getQualityStatus()
-// {
-// return qualityStatus;
-// }
-// public void setStackAmount(BigDecimal stackAmount)
-// {
-// this.stackAmount = stackAmount;
-// }
-//
-// public BigDecimal getStackAmount()
-// {
-// return stackAmount;
-// }
-// public void setCreateDate(Date createDate)
-// {
-// this.createDate = createDate;
-// }
-//
-// public Date getCreateDate()
-// {
-// return createDate;
-// }
-// public void setUpdateDate(Date updateDate)
-// {
-// this.updateDate = updateDate;
-// }
-//
-// public Date getUpdateDate()
-// {
-// return updateDate;
-// }
-// public void setActiveFlag(String activeFlag)
-// {
-// this.activeFlag = activeFlag;
-// }
-//
-// public String getActiveFlag()
-// {
-// return activeFlag;
-// }
-//
-// public String getPoNo() {
-// return poNo;
-// }
-//
-// public void setPoNo(String poNo) {
-// this.poNo = poNo;
-// }
-//
-// public void setPoLine(String poLine)
-// {
-// this.poLine = poLine;
-// }
-//
-// public String getPoLine()
-// {
-// return poLine;
-// }
-//
-// @Override
-// public String toString() {
-// return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-// .append("rawInstockDetailId", getRawInstockDetailId())
-// .append("rawInstockId", getRawInstockId())
-// .append("locationCode", getLocationCode())
-// .append("materialBarcode", getMaterialBarcode())
-// .append("materialId", getMaterialId())
-// .append("instockBatch", getInstockBatch())
-// .append("materialProductionDate", getMaterialProductionDate())
-// .append("instockAmount", getInstockAmount())
-// .append("executeStatus", getExecuteStatus())
-// .append("erpStatus", getErpStatus())
-// .append("instockPerson", getInstockPerson())
-// .append("instockTime", getInstockTime())
-// .append("instockWay", getInstockWay())
-// .append("machineName", getMachineName())
-// .append("qualityStatus", getQualityStatus())
-// .append("stackAmount", getStackAmount())
-// .append("createBy", getCreateBy())
-// .append("createDate", getCreateDate())
-// .append("updateBy", getUpdateBy())
-// .append("updateDate", getUpdateDate())
-// .append("activeFlag", getActiveFlag())
-// .append("poLine", getPoLine())
-// .toString();
-// }
-//}
+package com.hw.wms.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.hw.common.core.annotation.Excel;
+import com.hw.common.core.web.domain.BaseEntity;
+
+/**
+ * 原材料入库记录明细对象 wms_raw_instock_detail
+ *
+ * @author xs
+ * @date 2023-12-21
+ */
+public class WmsRawInstockDetail extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 原材料入库记录明细ID */
+ private Long rawInstockDetailId;
+
+ /** 原材料入库ID */
+ @Excel(name = "原材料入库ID")
+ private Long rawInstockId;
+
+ /** 库位编码 */
+ @Excel(name = "库位编码")
+ private String locationCode;
+
+ /** 存放物料条码 */
+ @Excel(name = "存放物料条码")
+ private String materialBarcode;
+
+ /** 物料ID */
+ @Excel(name = "物料ID")
+ private Long materialId;
+
+ /** 批次;入库扫描条码时,从打印条码记录表中获取 */
+ @Excel(name = "批次;入库扫描条码时,从打印条码记录表中获取")
+ private String instockBatch;
+
+ /** 生产日期;入库扫描条码时,从打印条码记录表中获取 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "生产日期;入库扫描条码时,从打印条码记录表中获取", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date materialProductionDate;
+
+ /** 入库数量 */
+ @Excel(name = "计划数量")
+ private BigDecimal planAmount;
+
+ /** 入库数量 */
+ @Excel(name = "入库数量")
+ private BigDecimal instockAmount;
+
+ /** 执行状态(0待执行,1执行中,2执行完成) */
+ @Excel(name = "执行状态(0待执行,1执行中,2执行完成)")
+ private String executeStatus;
+
+ /** 同步ERP状态(0:失败,1成功) */
+ @Excel(name = "同步ERP状态(0:失败,1成功)")
+ private String erpStatus;
+
+ /** 入库人 */
+ @Excel(name = "入库人")
+ private String instockPerson;
+
+ /** 入库时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date instockTime;
+
+ /** 入库方式( 0:PC入库 1:手持入库 2:AGV入库 ) */
+ @Excel(name = "入库方式", readConverterExp = "0=:PC入库,1=:手持入库,2=:AGV入库")
+ private String instockWay;
+
+ /** 使用机台名称;入库扫描条码时,从打印条码记录表中获取 */
+ @Excel(name = "使用机台名称;入库扫描条码时,从打印条码记录表中获取")
+ private String machineName;
+
+ /** 质检状态(0:待质检,1:合格,2:NG) */
+ @Excel(name = "质检状态(0:待质检,1:合格,2:NG)")
+ private String qualityStatus;
+
+ /** 每托数量 */
+ @Excel(name = "每托数量")
+ private BigDecimal stackAmount;
+
+ /** 创建时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date createDate;
+
+ /** 最后更新时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date updateDate;
+
+ /** 有效标记 */
+ @Excel(name = "有效标记")
+ private String activeFlag;
+
+ //采购订单号
+ private String poNo;
+ /** 采购订单行项目 */
+ @Excel(name = "采购订单行项目")
+ private String poLine;
+
+ public void setRawInstockDetailId(Long rawInstockDetailId)
+ {
+ this.rawInstockDetailId = rawInstockDetailId;
+ }
+
+ public Long getRawInstockDetailId()
+ {
+ return rawInstockDetailId;
+ }
+ public void setRawInstockId(Long rawInstockId)
+ {
+ this.rawInstockId = rawInstockId;
+ }
+
+ public Long getRawInstockId()
+ {
+ return rawInstockId;
+ }
+ public void setLocationCode(String locationCode)
+ {
+ this.locationCode = locationCode;
+ }
+
+ public String getLocationCode()
+ {
+ return locationCode;
+ }
+ public void setMaterialBarcode(String materialBarcode)
+ {
+ this.materialBarcode = materialBarcode;
+ }
+
+ public String getMaterialBarcode()
+ {
+ return materialBarcode;
+ }
+ public void setMaterialId(Long materialId)
+ {
+ this.materialId = materialId;
+ }
+
+ public Long getMaterialId()
+ {
+ return materialId;
+ }
+ public void setInstockBatch(String instockBatch)
+ {
+ this.instockBatch = instockBatch;
+ }
+
+ public String getInstockBatch()
+ {
+ return instockBatch;
+ }
+ public void setMaterialProductionDate(Date materialProductionDate)
+ {
+ this.materialProductionDate = materialProductionDate;
+ }
+
+ public Date getMaterialProductionDate()
+ {
+ return materialProductionDate;
+ }
+
+ public BigDecimal getPlanAmount() {
+ return planAmount;
+ }
+
+ public void setPlanAmount(BigDecimal planAmount) {
+ this.planAmount = planAmount;
+ }
+
+ public void setInstockAmount(BigDecimal instockAmount)
+ {
+ this.instockAmount = instockAmount;
+ }
+
+ public BigDecimal getInstockAmount()
+ {
+ return instockAmount;
+ }
+ public void setExecuteStatus(String executeStatus)
+ {
+ this.executeStatus = executeStatus;
+ }
+
+ public String getExecuteStatus()
+ {
+ return executeStatus;
+ }
+ public void setErpStatus(String erpStatus)
+ {
+ this.erpStatus = erpStatus;
+ }
+
+ public String getErpStatus()
+ {
+ return erpStatus;
+ }
+ public void setInstockPerson(String instockPerson)
+ {
+ this.instockPerson = instockPerson;
+ }
+
+ public String getInstockPerson()
+ {
+ return instockPerson;
+ }
+ public void setInstockTime(Date instockTime)
+ {
+ this.instockTime = instockTime;
+ }
+
+ public Date getInstockTime()
+ {
+ return instockTime;
+ }
+ public void setInstockWay(String instockWay)
+ {
+ this.instockWay = instockWay;
+ }
+
+ public String getInstockWay()
+ {
+ return instockWay;
+ }
+ public void setMachineName(String machineName)
+ {
+ this.machineName = machineName;
+ }
+
+ public String getMachineName()
+ {
+ return machineName;
+ }
+ public void setQualityStatus(String qualityStatus)
+ {
+ this.qualityStatus = qualityStatus;
+ }
+
+ public String getQualityStatus()
+ {
+ return qualityStatus;
+ }
+ public void setStackAmount(BigDecimal stackAmount)
+ {
+ this.stackAmount = stackAmount;
+ }
+
+ public BigDecimal getStackAmount()
+ {
+ return stackAmount;
+ }
+ public void setCreateDate(Date createDate)
+ {
+ this.createDate = createDate;
+ }
+
+ public Date getCreateDate()
+ {
+ return createDate;
+ }
+ public void setUpdateDate(Date updateDate)
+ {
+ this.updateDate = updateDate;
+ }
+
+ public Date getUpdateDate()
+ {
+ return updateDate;
+ }
+ public void setActiveFlag(String activeFlag)
+ {
+ this.activeFlag = activeFlag;
+ }
+
+ public String getActiveFlag()
+ {
+ return activeFlag;
+ }
+
+ public String getPoNo() {
+ return poNo;
+ }
+
+ public void setPoNo(String poNo) {
+ this.poNo = poNo;
+ }
+
+ public void setPoLine(String poLine)
+ {
+ this.poLine = poLine;
+ }
+
+ public String getPoLine()
+ {
+ return poLine;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("rawInstockDetailId", getRawInstockDetailId())
+ .append("rawInstockId", getRawInstockId())
+ .append("locationCode", getLocationCode())
+ .append("materialBarcode", getMaterialBarcode())
+ .append("materialId", getMaterialId())
+ .append("instockBatch", getInstockBatch())
+ .append("materialProductionDate", getMaterialProductionDate())
+ .append("instockAmount", getInstockAmount())
+ .append("executeStatus", getExecuteStatus())
+ .append("erpStatus", getErpStatus())
+ .append("instockPerson", getInstockPerson())
+ .append("instockTime", getInstockTime())
+ .append("instockWay", getInstockWay())
+ .append("machineName", getMachineName())
+ .append("qualityStatus", getQualityStatus())
+ .append("stackAmount", getStackAmount())
+ .append("createBy", getCreateBy())
+ .append("createDate", getCreateDate())
+ .append("updateBy", getUpdateBy())
+ .append("updateDate", getUpdateDate())
+ .append("activeFlag", getActiveFlag())
+ .append("poLine", getPoLine())
+ .toString();
+ }
+}
diff --git a/hw-ui/src/api/qms/checkresult.js b/hw-ui/src/api/qms/checkresult.js
new file mode 100644
index 00000000..64864f38
--- /dev/null
+++ b/hw-ui/src/api/qms/checkresult.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询质检结果列表
+export function listCheckresult(query) {
+ return request({
+ url: '/qms/checkresult/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询质检结果详细
+export function getCheckresult(checkResultId) {
+ return request({
+ url: '/qms/checkresult/' + checkResultId,
+ method: 'get'
+ })
+}
+
+// 新增质检结果
+export function addCheckresult(data) {
+ return request({
+ url: '/qms/checkresult',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改质检结果
+export function updateCheckresult(data) {
+ return request({
+ url: '/qms/checkresult',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除质检结果
+export function delCheckresult(checkResultId) {
+ return request({
+ url: '/qms/checkresult/' + checkResultId,
+ method: 'delete'
+ })
+}
diff --git a/hw-ui/src/api/qms/checkresultdetail.js b/hw-ui/src/api/qms/checkresultdetail.js
new file mode 100644
index 00000000..14ff84d8
--- /dev/null
+++ b/hw-ui/src/api/qms/checkresultdetail.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询质检结果详情列表
+export function listCheckresultdetail(query) {
+ return request({
+ url: '/qms/checkresultdetail/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询质检结果详情详细
+export function getCheckresultdetail(checkResultDetailId) {
+ return request({
+ url: '/qms/checkresultdetail/' + checkResultDetailId,
+ method: 'get'
+ })
+}
+
+// 新增质检结果详情
+export function addCheckresultdetail(data) {
+ return request({
+ url: '/qms/checkresultdetail',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改质检结果详情
+export function updateCheckresultdetail(data) {
+ return request({
+ url: '/qms/checkresultdetail',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除质检结果详情
+export function delCheckresultdetail(checkResultDetailId) {
+ return request({
+ url: '/qms/checkresultdetail/' + checkResultDetailId,
+ method: 'delete'
+ })
+}
diff --git a/hw-ui/src/api/qms/qualityinstance.js b/hw-ui/src/api/qms/qualityinstance.js
new file mode 100644
index 00000000..074a1eeb
--- /dev/null
+++ b/hw-ui/src/api/qms/qualityinstance.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询质检工单列表
+export function listQualityinstance(query) {
+ return request({
+ url: '/qms/qualityinstance/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询质检工单详细
+export function getQualityinstance(qualityInstanceId) {
+ return request({
+ url: '/qms/qualityinstance/' + qualityInstanceId,
+ method: 'get'
+ })
+}
+
+// 新增质检工单
+export function addQualityinstance(data) {
+ return request({
+ url: '/qms/qualityinstance',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改质检工单
+export function updateQualityinstance(data) {
+ return request({
+ url: '/qms/qualityinstance',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除质检工单
+export function delQualityinstance(qualityInstanceId) {
+ return request({
+ url: '/qms/qualityinstance/' + qualityInstanceId,
+ method: 'delete'
+ })
+}
diff --git a/hw-ui/src/api/qms/qualityinstanceactivity.js b/hw-ui/src/api/qms/qualityinstanceactivity.js
new file mode 100644
index 00000000..d8f5d1f1
--- /dev/null
+++ b/hw-ui/src/api/qms/qualityinstanceactivity.js
@@ -0,0 +1,52 @@
+import request from '@/utils/request'
+
+// 查询质检工单实例节点列表
+export function listQualityinstanceactivity(query) {
+ return request({
+ url: '/qms/qualityinstanceactivity/list',
+ method: 'get',
+ params: query
+ })
+}
+// 查询质检工单实例节点列表
+export function listQualityinstanceactivitynoStatus(query) {
+ return request({
+ url: '/qms/qualityinstanceactivity/list/noStatus',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询质检工单实例节点详细
+export function getQualityinstanceactivity(instanceActivityId) {
+ return request({
+ url: '/qms/qualityinstanceactivity/' + instanceActivityId,
+ method: 'get'
+ })
+}
+
+// 新增质检工单实例节点
+export function addQualityinstanceactivity(data) {
+ return request({
+ url: '/qms/qualityinstanceactivity',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改质检工单实例节点
+export function updateQualityinstanceactivity(data) {
+ return request({
+ url: '/qms/qualityinstanceactivity',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除质检工单实例节点
+export function delQualityinstanceactivity(instanceActivityId) {
+ return request({
+ url: '/qms/qualityinstanceactivity/' + instanceActivityId,
+ method: 'delete'
+ })
+}
diff --git a/hw-ui/src/router/index.js b/hw-ui/src/router/index.js
index 5e7509d6..9fa0d433 100644
--- a/hw-ui/src/router/index.js
+++ b/hw-ui/src/router/index.js
@@ -529,6 +529,21 @@ export const dynamicRoutes = [
},
],
},
+ // 质检工单实例
+ {
+ path: "/qms/base/qualityinstanceactivity",
+ component: Layout,
+ hidden: true,
+ permissions: ["tool:gen:edit"],
+ children: [
+ {
+ path: "index/:qualityInstanceId(\\d+)",
+ component: () => import("@/views/qms/base/qualityinstanceactivity/index"),
+ name: "checkQualityInstanceActivity",
+ meta: { title: "质检结果详细", activeMenu: "/qms/base/qualityinstanceactivity" },
+ },
+ ],
+ },
]
diff --git a/hw-ui/src/views/mes/productplan/editProductPlan.vue b/hw-ui/src/views/mes/productplan/editProductPlan.vue
index 583a257c..c1862252 100644
--- a/hw-ui/src/views/mes/productplan/editProductPlan.vue
+++ b/hw-ui/src/views/mes/productplan/editProductPlan.vue
@@ -36,7 +36,7 @@
:row-class-name="rowMesProductPlanIndex" @selection-change="handleMesProductPlanSelectionChange">
-
+
diff --git a/hw-ui/src/views/qms/base/checkresult/index.vue b/hw-ui/src/views/qms/base/checkresult/index.vue
new file mode 100644
index 00000000..22c521c9
--- /dev/null
+++ b/hw-ui/src/views/qms/base/checkresult/index.vue
@@ -0,0 +1,445 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.materialCode }}
+
+
+
+
+
+
+ {{ item.materialName }}
+
+
+
+
+
+
+
+
+
+
+
+ {{scope.row.checkSample}}%
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 结果详细
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/hw-ui/src/views/qms/base/checkresultdetail/index.vue b/hw-ui/src/views/qms/base/checkresultdetail/index.vue
new file mode 100644
index 00000000..d00e9328
--- /dev/null
+++ b/hw-ui/src/views/qms/base/checkresultdetail/index.vue
@@ -0,0 +1,451 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.checkProjectName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/hw-ui/src/views/qms/base/qualityinstance/index.vue b/hw-ui/src/views/qms/base/qualityinstance/index.vue
new file mode 100644
index 00000000..bd85f246
--- /dev/null
+++ b/hw-ui/src/views/qms/base/qualityinstance/index.vue
@@ -0,0 +1,528 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}
+
+
+
+
+ {{ parseTime(scope.row.endTime, '{y}-{m}-{d}') }}
+
+
+
+
+ 查看工单
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/hw-ui/src/views/qms/base/qualityinstanceactivity/index.vue b/hw-ui/src/views/qms/base/qualityinstanceactivity/index.vue
new file mode 100644
index 00000000..72bfa287
--- /dev/null
+++ b/hw-ui/src/views/qms/base/qualityinstanceactivity/index.vue
@@ -0,0 +1,452 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提 交
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 质检文件信息
+
+
+ 添加
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pom.xml b/pom.xml
index 3f9e89b7..67c133b4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -251,6 +251,7 @@
hw-modules
hw-api
hw-common
+ hw-api/hw-api-jindie
pom