diff --git a/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseMaterialInfo.java b/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseMaterialInfo.java
index f5a3914d..29087b39 100644
--- a/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseMaterialInfo.java
+++ b/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseMaterialInfo.java
@@ -1,5 +1,8 @@
package com.hw.mes.api.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;
@@ -9,7 +12,7 @@ import com.hw.common.core.web.domain.BaseEntity;
* 物料信息对象 mes_base_material_info
*
* @author xins
- * @date 2023-12-21
+ * @date 2024-01-09
*/
public class MesBaseMaterialInfo extends BaseEntity
{
@@ -18,12 +21,20 @@ public class MesBaseMaterialInfo extends BaseEntity
/** 主键标识 */
private Long materialId;
- /** 物料编码 */
- @Excel(name = "物料编码")
+ /** ERP的主键;对应FMATERIALID */
+ @Excel(name = "ERP的主键;对应FMATERIALID")
+ private Long erpId;
+
+ /** 物料编码;对应ERP的FNumber */
+ @Excel(name = "物料编码;对应ERP的FNumber")
private String materialCode;
- /** 物料名称 */
- @Excel(name = "物料名称")
+ /** 旧物料编码 */
+ @Excel(name = "旧物料编码")
+ private String oldMaterialCode;
+
+ /** 物料名称;对应ERP的FName */
+ @Excel(name = "物料名称;对应ERP的FName")
private String materialName;
/** 物料大类(1,原材料 2,半成品 3,成品) */
@@ -38,38 +49,68 @@ public class MesBaseMaterialInfo extends BaseEntity
@Excel(name = "物料类型,关联mes_base_material_type的material_type_id")
private Long materialTypeId;
- /** 计量单位 */
- @Excel(name = "计量单位")
+ /** 批次标识,(0否,1是) */
+ @Excel(name = "批次标识,(0否,1是)")
+ private String batchFlag;
+
+ /** 计量单位ID;对应FBaseUnitId */
+ @Excel(name = "计量单位ID;对应FBaseUnitId")
+ private Long materialUnitId;
+
+ /** 计量单位名称 */
+ @Excel(name = "计量单位名称")
private String materialUnit;
/** 物料组 */
@Excel(name = "物料组")
private String materialMatkl;
- /** 物料规格 */
- @Excel(name = "物料规格")
+ /** 物料规格;对应FSpecification */
+ @Excel(name = "物料规格;对应FSpecification")
private String materialSpec;
+ /** 净重;FNETWEIGHT */
+ @Excel(name = "净重;FNETWEIGHT")
+ private BigDecimal netWeight;
+
+ /** 毛重;FGROSSWEIGHT */
+ @Excel(name = "毛重;FGROSSWEIGHT")
+ private BigDecimal grossWeight;
+
/** 所属工厂,关联mes_base_factory_info的factory_id */
@Excel(name = "所属工厂,关联mes_base_factory_info的factory_id")
private Long factoryId;
- /** 所属产线 */
- @Excel(name = "所属产线")
+ /** 创建组织;对应FCreateOrgId */
+ @Excel(name = "创建组织;对应FCreateOrgId")
+ private Long createOrgId;
+
+ /** 使用组织;对应FUseOrgId */
+ @Excel(name = "使用组织;对应FUseOrgId")
+ private Long useOrgId;
+
+ /** 所属产线;多个用,隔开 */
+ @Excel(name = "所属产线;多个用,隔开")
private String prodlineId;
- /** 是否标识:1-是;0-否 */
- @Excel(name = "是否标识:1-是;0-否")
- private Long isFlag;
-
- /** ERP的主键(内码) */
- @Excel(name = "ERP的主键(内码)")
- private Long erpId;
+ /** 激活标识:1-是;0-否 */
+ @Excel(name = "激活标识:1-是;0-否")
+ private String activeFlag;
/** 删除标识(0否,1是) */
@Excel(name = "删除标识(0否,1是)")
private String deletedFlag;
+ /** 审核日期;对应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;
+
public void setMaterialId(Long materialId)
{
this.materialId = materialId;
@@ -79,6 +120,15 @@ public class MesBaseMaterialInfo extends BaseEntity
{
return materialId;
}
+ public void setErpId(Long erpId)
+ {
+ this.erpId = erpId;
+ }
+
+ public Long getErpId()
+ {
+ return erpId;
+ }
public void setMaterialCode(String materialCode)
{
this.materialCode = materialCode;
@@ -88,6 +138,15 @@ public class MesBaseMaterialInfo extends BaseEntity
{
return materialCode;
}
+ public void setOldMaterialCode(String oldMaterialCode)
+ {
+ this.oldMaterialCode = oldMaterialCode;
+ }
+
+ public String getOldMaterialCode()
+ {
+ return oldMaterialCode;
+ }
public void setMaterialName(String materialName)
{
this.materialName = materialName;
@@ -124,6 +183,24 @@ public class MesBaseMaterialInfo extends BaseEntity
{
return materialTypeId;
}
+ public void setBatchFlag(String batchFlag)
+ {
+ this.batchFlag = batchFlag;
+ }
+
+ public String getBatchFlag()
+ {
+ return batchFlag;
+ }
+ public void setMaterialUnitId(Long materialUnitId)
+ {
+ this.materialUnitId = materialUnitId;
+ }
+
+ public Long getMaterialUnitId()
+ {
+ return materialUnitId;
+ }
public void setMaterialUnit(String materialUnit)
{
this.materialUnit = materialUnit;
@@ -151,6 +228,24 @@ public class MesBaseMaterialInfo extends BaseEntity
{
return materialSpec;
}
+ public void setNetWeight(BigDecimal netWeight)
+ {
+ this.netWeight = netWeight;
+ }
+
+ public BigDecimal getNetWeight()
+ {
+ return netWeight;
+ }
+ public void setGrossWeight(BigDecimal grossWeight)
+ {
+ this.grossWeight = grossWeight;
+ }
+
+ public BigDecimal getGrossWeight()
+ {
+ return grossWeight;
+ }
public void setFactoryId(Long factoryId)
{
this.factoryId = factoryId;
@@ -160,6 +255,24 @@ public class MesBaseMaterialInfo extends BaseEntity
{
return factoryId;
}
+ public void setCreateOrgId(Long createOrgId)
+ {
+ this.createOrgId = createOrgId;
+ }
+
+ public Long getCreateOrgId()
+ {
+ return createOrgId;
+ }
+ public void setUseOrgId(Long useOrgId)
+ {
+ this.useOrgId = useOrgId;
+ }
+
+ public Long getUseOrgId()
+ {
+ return useOrgId;
+ }
public void setProdlineId(String prodlineId)
{
this.prodlineId = prodlineId;
@@ -169,23 +282,14 @@ public class MesBaseMaterialInfo extends BaseEntity
{
return prodlineId;
}
- public void setIsFlag(Long isFlag)
+ public void setActiveFlag(String activeFlag)
{
- this.isFlag = isFlag;
+ this.activeFlag = activeFlag;
}
- public Long getIsFlag()
+ public String getActiveFlag()
{
- return isFlag;
- }
- public void setErpId(Long erpId)
- {
- this.erpId = erpId;
- }
-
- public Long getErpId()
- {
- return erpId;
+ return activeFlag;
}
public void setDeletedFlag(String deletedFlag)
{
@@ -196,29 +300,56 @@ public class MesBaseMaterialInfo extends BaseEntity
{
return deletedFlag;
}
+ 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;
+ }
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
- .append("materialId", getMaterialId())
- .append("materialCode", getMaterialCode())
- .append("materialName", getMaterialName())
- .append("materialCategories", getMaterialCategories())
- .append("materialSubclass", getMaterialSubclass())
- .append("materialTypeId", getMaterialTypeId())
- .append("materialUnit", getMaterialUnit())
- .append("materialMatkl", getMaterialMatkl())
- .append("materialSpec", getMaterialSpec())
- .append("factoryId", getFactoryId())
- .append("prodlineId", getProdlineId())
- .append("isFlag", getIsFlag())
- .append("erpId", getErpId())
- .append("deletedFlag", getDeletedFlag())
- .append("remark", getRemark())
- .append("createBy", getCreateBy())
- .append("createTime", getCreateTime())
- .append("updateBy", getUpdateBy())
- .append("updateTime", getUpdateTime())
- .toString();
+ .append("materialId", getMaterialId())
+ .append("erpId", getErpId())
+ .append("materialCode", getMaterialCode())
+ .append("oldMaterialCode", getOldMaterialCode())
+ .append("materialName", getMaterialName())
+ .append("materialCategories", getMaterialCategories())
+ .append("materialSubclass", getMaterialSubclass())
+ .append("materialTypeId", getMaterialTypeId())
+ .append("batchFlag", getBatchFlag())
+ .append("materialUnitId", getMaterialUnitId())
+ .append("materialUnit", getMaterialUnit())
+ .append("materialMatkl", getMaterialMatkl())
+ .append("materialSpec", getMaterialSpec())
+ .append("netWeight", getNetWeight())
+ .append("grossWeight", getGrossWeight())
+ .append("factoryId", getFactoryId())
+ .append("createOrgId", getCreateOrgId())
+ .append("useOrgId", getUseOrgId())
+ .append("prodlineId", getProdlineId())
+ .append("activeFlag", getActiveFlag())
+ .append("deletedFlag", getDeletedFlag())
+ .append("remark", getRemark())
+ .append("createBy", getCreateBy())
+ .append("createTime", getCreateTime())
+ .append("updateBy", getUpdateBy())
+ .append("updateTime", getUpdateTime())
+ .append("approveDate", getApproveDate())
+ .append("erpModifyDate", getErpModifyDate())
+ .toString();
}
}
diff --git a/hw-common/hw-common-core/src/main/java/com/hw/common/core/constant/WmsConstants.java b/hw-common/hw-common-core/src/main/java/com/hw/common/core/constant/WmsConstants.java
index 36b4be91..3b54f557 100644
--- a/hw-common/hw-common-core/src/main/java/com/hw/common/core/constant/WmsConstants.java
+++ b/hw-common/hw-common-core/src/main/java/com/hw/common/core/constant/WmsConstants.java
@@ -173,4 +173,6 @@ public class WmsConstants {
/*原材料库存完整标识*/
public static final String WMS_RAW_STOCK_COMPLETE_FLAG_YES = "1";//是
public static final String WMS_RAW_STOCK_COMPLETE_FLAG_NO = "0";//否
+
+ public static final String WMS_WAREHOUSE_MATERIAL_STORAGE_TYPE_MATERIAL = "1";
}
diff --git a/hw-modules/hw-jindie/pom.xml b/hw-modules/hw-jindie/pom.xml
index 2fcb0624..745e1156 100644
--- a/hw-modules/hw-jindie/pom.xml
+++ b/hw-modules/hw-jindie/pom.xml
@@ -92,7 +92,6 @@
gson
-
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
new file mode 100644
index 00000000..b40e7dbb
--- /dev/null
+++ b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/controller/KingdeeErpSyncController.java
@@ -0,0 +1,39 @@
+package com.hw.jindie.controller;
+
+import com.hw.common.core.web.domain.AjaxResult;
+import com.hw.common.log.annotation.Log;
+import com.hw.common.log.enums.BusinessType;
+import com.hw.jindie.service.IKingdeeErpSyncService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @Description:
+ * @ProjectName:HwMes
+ * @Author:xins
+ * @Date:2024-01-11 17:26
+ * @Version:1.0
+ */
+@RestController
+@RequestMapping("/jindie")
+public class KingdeeErpSyncController {
+ @Autowired
+ private IKingdeeErpSyncService kingdeeErpSyncService;
+
+ /**
+ * 新增原材料入库记录
+ */
+// @RequiresPermissions("wms:mobile:addrawinstock")
+ @Log(title = "物料信息", businessType = BusinessType.INSERT)
+ @GetMapping(("/syncMaterialInfo"))
+ public AjaxResult syncMaterialInfo() {
+ try{
+ return AjaxResult.success(kingdeeErpSyncService.syncMaterialInfoFromErp());
+ }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
new file mode 100644
index 00000000..602197b4
--- /dev/null
+++ b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/domain/MesBaseMaterialInfo.java
@@ -0,0 +1,355 @@
+package com.hw.jindie.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;
+
+/**
+ * 物料信息对象 mes_base_material_info
+ *
+ * @author xins
+ * @date 2024-01-09
+ */
+public class MesBaseMaterialInfo extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 主键标识 */
+ private Long materialId;
+
+ /** ERP的主键;对应FMATERIALID */
+ @Excel(name = "ERP的主键;对应FMATERIALID")
+ private Long erpId;
+
+ /** 物料编码;对应ERP的FNumber */
+ @Excel(name = "物料编码;对应ERP的FNumber")
+ private String materialCode;
+
+ /** 旧物料编码 */
+ @Excel(name = "旧物料编码")
+ private String oldMaterialCode;
+
+ /** 物料名称;对应ERP的FName */
+ @Excel(name = "物料名称;对应ERP的FName")
+ private String materialName;
+
+ /** 物料大类(1,原材料 2,半成品 3,成品) */
+ @Excel(name = "物料大类(1,原材料 2,半成品 3,成品)")
+ private String materialCategories;
+
+ /** 物料小类;暂时不使用,预留 */
+ @Excel(name = "物料小类;暂时不使用,预留")
+ private String materialSubclass;
+
+ /** 物料类型,关联mes_base_material_type的material_type_id */
+ @Excel(name = "物料类型,关联mes_base_material_type的material_type_id")
+ private Long materialTypeId;
+
+ /** 批次标识,(0否,1是) */
+ @Excel(name = "批次标识,(0否,1是)")
+ private String batchFlag;
+
+ /** 计量单位ID;对应FBaseUnitId */
+ @Excel(name = "计量单位ID;对应FBaseUnitId")
+ private Long materialUnitId;
+
+ /** 计量单位名称 */
+ @Excel(name = "计量单位名称")
+ private String materialUnit;
+
+ /** 物料组 */
+ @Excel(name = "物料组")
+ private String materialMatkl;
+
+ /** 物料规格;对应FSpecification */
+ @Excel(name = "物料规格;对应FSpecification")
+ private String materialSpec;
+
+ /** 净重;FNETWEIGHT */
+ @Excel(name = "净重;FNETWEIGHT")
+ private BigDecimal netWeight;
+
+ /** 毛重;FGROSSWEIGHT */
+ @Excel(name = "毛重;FGROSSWEIGHT")
+ private BigDecimal grossWeight;
+
+ /** 所属工厂,关联mes_base_factory_info的factory_id */
+ @Excel(name = "所属工厂,关联mes_base_factory_info的factory_id")
+ private Long factoryId;
+
+ /** 创建组织;对应FCreateOrgId */
+ @Excel(name = "创建组织;对应FCreateOrgId")
+ private Long createOrgId;
+
+ /** 使用组织;对应FUseOrgId */
+ @Excel(name = "使用组织;对应FUseOrgId")
+ private Long useOrgId;
+
+ /** 所属产线;多个用,隔开 */
+ @Excel(name = "所属产线;多个用,隔开")
+ private String prodlineId;
+
+ /** 激活标识:1-是;0-否 */
+ @Excel(name = "激活标识:1-是;0-否")
+ private String activeFlag;
+
+ /** 删除标识(0否,1是) */
+ @Excel(name = "删除标识(0否,1是)")
+ private String deletedFlag;
+
+ /** 审核日期;对应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;
+
+ public void setMaterialId(Long materialId)
+ {
+ this.materialId = materialId;
+ }
+
+ public Long getMaterialId()
+ {
+ return materialId;
+ }
+ public void setErpId(Long erpId)
+ {
+ this.erpId = erpId;
+ }
+
+ public Long getErpId()
+ {
+ return erpId;
+ }
+ public void setMaterialCode(String materialCode)
+ {
+ this.materialCode = materialCode;
+ }
+
+ public String getMaterialCode()
+ {
+ return materialCode;
+ }
+ public void setOldMaterialCode(String oldMaterialCode)
+ {
+ this.oldMaterialCode = oldMaterialCode;
+ }
+
+ public String getOldMaterialCode()
+ {
+ return oldMaterialCode;
+ }
+ public void setMaterialName(String materialName)
+ {
+ this.materialName = materialName;
+ }
+
+ public String getMaterialName()
+ {
+ return materialName;
+ }
+ public void setMaterialCategories(String materialCategories)
+ {
+ this.materialCategories = materialCategories;
+ }
+
+ public String getMaterialCategories()
+ {
+ return materialCategories;
+ }
+ public void setMaterialSubclass(String materialSubclass)
+ {
+ this.materialSubclass = materialSubclass;
+ }
+
+ public String getMaterialSubclass()
+ {
+ return materialSubclass;
+ }
+ public void setMaterialTypeId(Long materialTypeId)
+ {
+ this.materialTypeId = materialTypeId;
+ }
+
+ public Long getMaterialTypeId()
+ {
+ return materialTypeId;
+ }
+ public void setBatchFlag(String batchFlag)
+ {
+ this.batchFlag = batchFlag;
+ }
+
+ public String getBatchFlag()
+ {
+ return batchFlag;
+ }
+ public void setMaterialUnitId(Long materialUnitId)
+ {
+ this.materialUnitId = materialUnitId;
+ }
+
+ public Long getMaterialUnitId()
+ {
+ return materialUnitId;
+ }
+ public void setMaterialUnit(String materialUnit)
+ {
+ this.materialUnit = materialUnit;
+ }
+
+ public String getMaterialUnit()
+ {
+ return materialUnit;
+ }
+ public void setMaterialMatkl(String materialMatkl)
+ {
+ this.materialMatkl = materialMatkl;
+ }
+
+ public String getMaterialMatkl()
+ {
+ return materialMatkl;
+ }
+ public void setMaterialSpec(String materialSpec)
+ {
+ this.materialSpec = materialSpec;
+ }
+
+ public String getMaterialSpec()
+ {
+ return materialSpec;
+ }
+ public void setNetWeight(BigDecimal netWeight)
+ {
+ this.netWeight = netWeight;
+ }
+
+ public BigDecimal getNetWeight()
+ {
+ return netWeight;
+ }
+ public void setGrossWeight(BigDecimal grossWeight)
+ {
+ this.grossWeight = grossWeight;
+ }
+
+ public BigDecimal getGrossWeight()
+ {
+ return grossWeight;
+ }
+ public void setFactoryId(Long factoryId)
+ {
+ this.factoryId = factoryId;
+ }
+
+ public Long getFactoryId()
+ {
+ return factoryId;
+ }
+ public void setCreateOrgId(Long createOrgId)
+ {
+ this.createOrgId = createOrgId;
+ }
+
+ public Long getCreateOrgId()
+ {
+ return createOrgId;
+ }
+ public void setUseOrgId(Long useOrgId)
+ {
+ this.useOrgId = useOrgId;
+ }
+
+ public Long getUseOrgId()
+ {
+ return useOrgId;
+ }
+ public void setProdlineId(String prodlineId)
+ {
+ this.prodlineId = prodlineId;
+ }
+
+ public String getProdlineId()
+ {
+ return prodlineId;
+ }
+ public void setActiveFlag(String activeFlag)
+ {
+ this.activeFlag = activeFlag;
+ }
+
+ public String getActiveFlag()
+ {
+ return activeFlag;
+ }
+ public void setDeletedFlag(String deletedFlag)
+ {
+ this.deletedFlag = deletedFlag;
+ }
+
+ public String getDeletedFlag()
+ {
+ return deletedFlag;
+ }
+ 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;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("materialId", getMaterialId())
+ .append("erpId", getErpId())
+ .append("materialCode", getMaterialCode())
+ .append("oldMaterialCode", getOldMaterialCode())
+ .append("materialName", getMaterialName())
+ .append("materialCategories", getMaterialCategories())
+ .append("materialSubclass", getMaterialSubclass())
+ .append("materialTypeId", getMaterialTypeId())
+ .append("batchFlag", getBatchFlag())
+ .append("materialUnitId", getMaterialUnitId())
+ .append("materialUnit", getMaterialUnit())
+ .append("materialMatkl", getMaterialMatkl())
+ .append("materialSpec", getMaterialSpec())
+ .append("netWeight", getNetWeight())
+ .append("grossWeight", getGrossWeight())
+ .append("factoryId", getFactoryId())
+ .append("createOrgId", getCreateOrgId())
+ .append("useOrgId", getUseOrgId())
+ .append("prodlineId", getProdlineId())
+ .append("activeFlag", getActiveFlag())
+ .append("deletedFlag", getDeletedFlag())
+ .append("remark", getRemark())
+ .append("createBy", getCreateBy())
+ .append("createTime", getCreateTime())
+ .append("updateBy", getUpdateBy())
+ .append("updateTime", getUpdateTime())
+ .append("approveDate", getApproveDate())
+ .append("erpModifyDate", getErpModifyDate())
+ .toString();
+ }
+}
diff --git a/hw-modules/hw-jindie/src/main/java/com/hw/jindie/mapper/MesBaseMaterialInfoMapper.java b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/mapper/MesBaseMaterialInfoMapper.java
new file mode 100644
index 00000000..fda2bef1
--- /dev/null
+++ b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/mapper/MesBaseMaterialInfoMapper.java
@@ -0,0 +1,75 @@
+package com.hw.jindie.mapper;
+
+
+import com.hw.jindie.domain.MesBaseMaterialInfo;
+
+import java.util.List;
+
+/**
+ * 物料信息Mapper接口
+ *
+ * @author xins
+ * @date 2023-12-21
+ */
+public interface MesBaseMaterialInfoMapper
+{
+ /**
+ * 查询物料信息
+ *
+ * @param materialId 物料信息主键
+ * @return 物料信息
+ */
+ public MesBaseMaterialInfo selectMesBaseMaterialInfoByMaterialId(Long materialId);
+
+ /**
+ * 查询物料信息列表
+ *
+ * @param mesBaseMaterialInfo 物料信息
+ * @return 物料信息集合
+ */
+ public List selectMesBaseMaterialInfoList(MesBaseMaterialInfo mesBaseMaterialInfo);
+
+ /**
+ * 新增物料信息
+ *
+ * @param mesBaseMaterialInfo 物料信息
+ * @return 结果
+ */
+ public int insertMesBaseMaterialInfo(MesBaseMaterialInfo mesBaseMaterialInfo);
+
+ /**
+ * 修改物料信息
+ *
+ * @param mesBaseMaterialInfo 物料信息
+ * @return 结果
+ */
+ public int updateMesBaseMaterialInfo(MesBaseMaterialInfo mesBaseMaterialInfo);
+
+ /**
+ * 删除物料信息
+ *
+ * @param materialId 物料信息主键
+ * @return 结果
+ */
+ public int deleteMesBaseMaterialInfoByMaterialId(Long materialId);
+
+ /**
+ * 批量删除物料信息
+ *
+ * @param materialIds 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteMesBaseMaterialInfoByMaterialIds(Long[] materialIds);
+
+
+
+
+ /**
+ * 查询物料信息列表
+ *
+ * @param materialIds 物料信息ID列表
+ * @return 物料信息集合
+ */
+ public List selectMesBaseMaterialInfoListByMaterialIds(Long[] materialIds);
+
+}
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
new file mode 100644
index 00000000..d7b5fc22
--- /dev/null
+++ b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/service/IKingdeeErpSyncService.java
@@ -0,0 +1,7 @@
+package com.hw.jindie.service;
+
+public interface IKingdeeErpSyncService {
+
+ public int syncMaterialInfoFromErp() 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
new file mode 100644
index 00000000..61fb86e1
--- /dev/null
+++ b/hw-modules/hw-jindie/src/main/java/com/hw/jindie/service/impl/KingdeeErpSyncServiceImpl.java
@@ -0,0 +1,279 @@
+package com.hw.jindie.service.impl;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.google.gson.Gson;
+import com.hw.common.core.utils.DateUtils;
+import com.hw.common.core.utils.StringUtils;
+import com.hw.jindie.domain.MesBaseMaterialInfo;
+import com.hw.jindie.mapper.MesBaseMaterialInfoMapper;
+import com.hw.jindie.service.IKingdeeErpSyncService;
+import com.kingdee.bos.webapi.entity.RepoRet;
+import com.kingdee.bos.webapi.sdk.K3CloudApi;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Description: 与金蝶ERP交互业务处理类
+ * @ClassName: KingdeeErpSyncServiceImpl
+ * @Author : xins
+ * @Date :2024-01-08 14:38
+ * @Version :1.0
+ */
+@Service
+public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
+ @Autowired
+ private MesBaseMaterialInfoMapper mesBaseMaterialInfoMapper;
+
+
+ /**
+ * @throws Exception
+ * @Description:从金蝶ERP同步供应商信息
+ */
+ public static void syncSupplierInfoFromErp() 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 orderString = "";
+ int topRowCount = 0;
+ int startRow = 0;
+ int limit = 2000;
+ queryJson.put("FormId", formId);
+ queryJson.put("FieldKeys", fieldKeys);
+ queryJson.put("OrderString", orderString);
+ queryJson.put("TopRowCount", topRowCount);
+ queryJson.put("StartRow", startRow);
+ queryJson.put("Limit", limit);
+ queryJson.put("SubSystemId", "");
+ 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')",
+
+
+ String result = api.billQuery(queryJson.toString());
+ JSONArray resultArray = JSONArray.parseArray(result);
+ System.out.println(resultArray.size());
+ System.out.println("供应商查询接口: " + result);
+ }
+
+
+ /**
+ * @throws Exception
+ * @Description:从金蝶ERP同步物料信息
+ */
+ @Override
+ public int syncMaterialInfoFromErp() throws Exception {
+ K3CloudApi api = new K3CloudApi();
+ String FDocumentStatus = "C";
+
+ JSONObject queryJson = new JSONObject();
+ String formId = "BD_Material";
+ String fieldKeys = "FMaterialId,FNumber,FName,FBaseUnitId,FSpecification,FNETWEIGHT,FGROSSWEIGHT," +
+ "FCreateDate,FModifyDate,FApproveDate,FCreateOrgId,FUseOrgId";
+// String filterString = "FNumber='98010102'";
+ String filterString = "";
+ String orderString = "";
+ int topRowCount = 0;
+ int startRow = 0;
+ int limit = 23;
+ 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", "");
+ System.out.println(queryJson.toString());
+
+
+ String result = api.billQuery(queryJson.toString());
+ JSONArray resultArray = JSONArray.parseArray(result);
+ System.out.println("物料单据查询接口: " + result);
+
+ for (int i = 0; i < resultArray.size(); i++) {
+ try {
+ JSONObject resultObject = (JSONObject) resultArray.get(i);
+ MesBaseMaterialInfo mesBaseMaterialInfo = new MesBaseMaterialInfo();
+ Integer erpId = (Integer) resultObject.get("FMaterialId");
+ String materialCode = (String) resultObject.get("FNumber");
+ String materialName = (String) resultObject.get("FName");
+ 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");
+ 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");
+
+
+// 2023-08-26T16:15:15.05
+
+ mesBaseMaterialInfo.setErpId(Long.valueOf(erpId));
+ mesBaseMaterialInfo.setMaterialCode(materialCode);
+ mesBaseMaterialInfo.setMaterialName(materialName);
+ mesBaseMaterialInfo.setMaterialUnitId(Long.valueOf(materaialUnitId));
+ mesBaseMaterialInfo.setMaterialSpec(materialSpec);
+ mesBaseMaterialInfo.setNetWeight(netWeight);
+ mesBaseMaterialInfo.setGrossWeight(grossWeight);
+ 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);
+ }
+
+ if (StringUtils.isNotEmpty(modifyDateStr)) {
+ modifyDateStr = modifyDateStr.replace("T", " ");
+ Date modifyDate = DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", modifyDateStr);
+ mesBaseMaterialInfo.setErpModifyDate(modifyDate);
+ }
+
+ if (StringUtils.isNotEmpty(approveDateStr)) {
+ approveDateStr = approveDateStr.replace("T", " ");
+ Date approveDate = DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", approveDateStr);
+ mesBaseMaterialInfo.setApproveDate(approveDate);
+ }
+
+ mesBaseMaterialInfoMapper.insertMesBaseMaterialInfo(mesBaseMaterialInfo);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+// System.out.println(resultArray.size());
+
+
+ return 1;
+ }
+
+
+ /**
+ * @throws Exception
+ * @Descrption:从金蝶ERP同步销售订单
+ */
+ public static void syncSaleOrderFromErp() throws Exception {
+ K3CloudApi api = new K3CloudApi();
+ String FDocumentStatus = "C";
+ String json = "{\n" +
+ " \"FormId\": \"SAL_SaleOrder\",\n" +
+ " \"FieldKeys\": \"FID,FBillNo,FApproveDate,FSaleOrderEntry_FEntryID,FMaterialId.FNumber,FMaterialName,FQty ,FMinPlanDeliveryDate,\",\n" +
+// " \"FilterString\": \"FDocumentStatus=\'" + FDocumentStatus + "\' and FMaterialGroup.FNUMBER IN ('28') \",\n" +
+ " \"OrderString\": \"\",\n" +
+ " \"TopRowCount\": 0,\n" +
+ " \"StartRow\": 0,\n" +
+ " \"Limit\": 2000,\n" +
+ " \"SubSystemId\": \"\"\n" +
+ "}";
+
+ JSONObject queryJson = new JSONObject();
+ String formId = "SAL_SaleOrder";
+ String fieldKeys = "FID,FBillNo,FApproveDate,FSaleOrderEntry_FEntryID,FMaterialId.FNumber,FMaterialName,FQty,FModifyDate,FMinPlanDeliveryDate";
+ String filterString = "FNumber='98010102'";
+ String orderString = "";
+ int topRowCount = 0;
+ int startRow = 0;
+ int limit = 2000;
+ 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", "");
+ System.out.println(queryJson.toString());
+
+ String result = api.billQuery(queryJson.toString());
+ JSONArray resultArray = JSONArray.parseArray(result);
+ System.out.println(resultArray.size());
+ System.out.println("销售订单单据查询接口: " + result);
+ }
+
+
+ /**
+ * @throws Exception
+ * @Descrption:从金蝶ERP同步项目信息
+ */
+ public static void syncProjectInfoFromErp() throws Exception {
+ K3CloudApi api = new K3CloudApi();
+ String FDocumentStatus = "C";
+
+
+ JSONObject queryJson = new JSONObject();
+ String formId = "TOND_ProjectFile";
+ String fieldKeys = "FID,FNumber,FName,FPlanDate,FDocumentStatus,FForbidStatus,FCreateDate,FModifyDate,FAuditDate";
+ String filterString = "";
+ String orderString = "";
+ int topRowCount = 0;
+ int startRow = 0;
+ int limit = 2;
+ 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", "");
+ System.out.println(queryJson.toString());
+
+ String result = api.billQuery(queryJson.toString());
+ JSONArray resultArray = JSONArray.parseArray(result);
+ System.out.println(resultArray.size());
+ System.out.println("项目信息单据查询接口: " + result);
+ }
+
+ /**
+ * @throws Exception
+ * @Descrption:从金蝶ERP同步采购订单
+ */
+ public static void syncPurchaseOrderFromErp() throws Exception {
+ K3CloudApi api = new K3CloudApi();
+ String FDocumentStatus = "C";
+
+
+ JSONObject queryJson = new JSONObject();
+ String formId = "PUR_PurchaseOrder";
+ String fieldKeys = "FID,FBillNo,FApproveDate,FDocumentStatus,FPOOrderEntry_FEntryID,FMaterialId.FNumber,FMaterialId.FName,FQty,FDeliveryDate";
+ String filterString = "";
+ String orderString = "";
+ int topRowCount = 0;
+ int startRow = 0;
+ int limit = 200;
+ 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", "");
+ System.out.println(queryJson.toString());
+
+ String result = api.billQuery(queryJson.toString());
+ JSONArray resultArray = JSONArray.parseArray(result);
+ System.out.println(resultArray.size());
+ System.out.println("采购订单单据查询接口: " + result);
+ }
+
+ public static void main(String[] args) throws Exception {
+// syncSupplierInfoFromErp();
+// syncMaterialInfoFromErp();
+// syncSaleOrderFromErp();
+// syncPurchaseOrderFromErp();
+// syncProjectInfoFromErp();
+ }
+
+}
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
new file mode 100644
index 00000000..43667458
--- /dev/null
+++ b/hw-modules/hw-jindie/src/main/resources/mapper/jindie/MesBaseMaterialInfoMapper.xml
@@ -0,0 +1,237 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select material_id,
+ erp_id,
+ material_code,
+ old_material_code,
+ material_name,
+ material_categories,
+ material_subclass,
+ material_type_id,
+ batch_flag,
+ material_unit_id,
+ material_unit,
+ material_matkl,
+ material_spec,
+ net_weight,
+ gross_weight,
+ factory_id,
+ create_org_id,
+ use_org_id,
+ prodline_id,
+ active_flag,
+ deleted_flag,
+ remark,
+ create_by,
+ create_time,
+ update_by,
+ update_time,
+ approve_date,
+ erp_modify_date
+ from mes_base_material_info
+
+
+
+
+
+
+
+ insert into mes_base_material_info
+
+ erp_id,
+ material_code,
+ old_material_code,
+ material_name,
+ material_categories,
+ material_subclass,
+ material_type_id,
+ batch_flag,
+ material_unit_id,
+ material_unit,
+ material_matkl,
+ material_spec,
+ net_weight,
+ gross_weight,
+ factory_id,
+ create_org_id,
+ use_org_id,
+ prodline_id,
+ active_flag,
+ deleted_flag,
+ remark,
+ create_by,
+ create_time,
+ update_by,
+ update_time,
+ approve_date,
+ erp_modify_date,
+
+
+ #{erpId},
+ #{materialCode},
+ #{oldMaterialCode},
+ #{materialName},
+ #{materialCategories},
+ #{materialSubclass},
+ #{materialTypeId},
+ #{batchFlag},
+ #{materialUnitId},
+ #{materialUnit},
+ #{materialMatkl},
+ #{materialSpec},
+ #{netWeight},
+ #{grossWeight},
+ #{factoryId},
+ #{createOrgId},
+ #{useOrgId},
+ #{prodlineId},
+ #{activeFlag},
+ #{deletedFlag},
+ #{remark},
+ #{createBy},
+ #{createTime},
+ #{updateBy},
+ #{updateTime},
+ #{approveDate},
+ #{erpModifyDate},
+
+
+
+
+ update mes_base_material_info
+
+ erp_id = #{erpId},
+ material_code = #{materialCode},
+ old_material_code = #{oldMaterialCode},
+ material_name = #{materialName},
+ material_categories =
+ #{materialCategories},
+
+ material_subclass = #{materialSubclass},
+ material_type_id = #{materialTypeId},
+ batch_flag = #{batchFlag},
+ material_unit_id = #{materialUnitId},
+ material_unit = #{materialUnit},
+ material_matkl = #{materialMatkl},
+ material_spec = #{materialSpec},
+ net_weight = #{netWeight},
+ gross_weight = #{grossWeight},
+ factory_id = #{factoryId},
+ create_org_id = #{createOrgId},
+ use_org_id = #{useOrgId},
+ prodline_id = #{prodlineId},
+ active_flag = #{activeFlag},
+ deleted_flag = #{deletedFlag},
+ remark = #{remark},
+ create_by = #{createBy},
+ create_time = #{createTime},
+ update_by = #{updateBy},
+ update_time = #{updateTime},
+ approve_date = #{approveDate},
+ erp_modify_date = #{erpModifyDate},
+
+ where material_id = #{materialId}
+
+
+
+ delete
+ from mes_base_material_info
+ where material_id = #{materialId}
+
+
+
+ delete from mes_base_material_info where material_id in
+
+ #{materialId}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseMaterialInfoController.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseMaterialInfoController.java
index bfd04e7b..49950367 100644
--- a/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseMaterialInfoController.java
+++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseMaterialInfoController.java
@@ -115,9 +115,22 @@ public class MesBaseMaterialInfoController extends BaseController
@PostMapping("/getMaterialsByMaterialIds")
public AjaxResult getMaterialsByMaterialIds(@RequestBody MesBaseMaterialInfoVo mesBaseMaterialInfo)
{
- startPage();
List list = mesBaseMaterialInfoService.selectMesBaseMaterialInfoListByMaterialIds(mesBaseMaterialInfo.getMaterialIds());
return success(list);
}
+
+ /**
+ * 查询物料信息列表
+ */
+ @RequiresPermissions("wms:wmswarehouse:materialallocate")
+ @GetMapping("/selectMaterialInfos4AllocationWarehouse")
+ public TableDataInfo selectMaterialInfos4AllocationWarehouse(MesBaseMaterialInfo mesBaseMaterialInfo)
+ {
+ startPage();
+ List list = mesBaseMaterialInfoService.selectMaterialInfos4AllocationWarehouse(mesBaseMaterialInfo);
+ return getDataTable(list);
+ }
+
+
}
diff --git a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseMaterialInfoMapper.xml b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseMaterialInfoMapper.xml
index 245ce645..33daedc2 100644
--- a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseMaterialInfoMapper.xml
+++ b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseMaterialInfoMapper.xml
@@ -1,51 +1,105 @@
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- select material_id, material_code, material_name, material_categories, material_subclass, material_type_id, material_unit, material_matkl, material_spec, factory_id, prodline_id, is_flag, erp_id, deleted_flag, remark, create_by, create_time, update_by, update_time from mes_base_material_info
+ select material_id,
+ erp_id,
+ material_code,
+ old_material_code,
+ material_name,
+ material_categories,
+ material_subclass,
+ material_type_id,
+ batch_flag,
+ material_unit_id,
+ material_unit,
+ material_matkl,
+ material_spec,
+ net_weight,
+ gross_weight,
+ factory_id,
+ create_org_id,
+ use_org_id,
+ prodline_id,
+ active_flag,
+ deleted_flag,
+ remark,
+ create_by,
+ create_time,
+ update_by,
+ update_time,
+ approve_date,
+ erp_modify_date
+ from mes_base_material_info
-
-
+
insert into mes_base_material_info
+ erp_id,
material_code,
+ old_material_code,
material_name,
material_categories,
material_subclass,
material_type_id,
+ batch_flag,
+ material_unit_id,
material_unit,
material_matkl,
material_spec,
+ net_weight,
+ gross_weight,
factory_id,
+ create_org_id,
+ use_org_id,
prodline_id,
- is_flag,
- erp_id,
+ active_flag,
deleted_flag,
remark,
create_by,
create_time,
update_by,
update_time,
-
+ approve_date,
+ erp_modify_date,
+
+ #{erpId},
#{materialCode},
+ #{oldMaterialCode},
#{materialName},
#{materialCategories},
#{materialSubclass},
#{materialTypeId},
+ #{batchFlag},
+ #{materialUnitId},
#{materialUnit},
#{materialMatkl},
#{materialSpec},
+ #{netWeight},
+ #{grossWeight},
#{factoryId},
+ #{createOrgId},
+ #{useOrgId},
#{prodlineId},
- #{isFlag},
- #{erpId},
+ #{activeFlag},
#{deletedFlag},
#{remark},
#{createBy},
#{createTime},
#{updateBy},
#{updateTime},
-
+ #{approveDate},
+ #{erpModifyDate},
+
update mes_base_material_info
+ erp_id = #{erpId},
material_code = #{materialCode},
+ old_material_code = #{oldMaterialCode},
material_name = #{materialName},
- material_categories = #{materialCategories},
+ material_categories =
+ #{materialCategories},
+
material_subclass = #{materialSubclass},
material_type_id = #{materialTypeId},
+ batch_flag = #{batchFlag},
+ material_unit_id = #{materialUnitId},
material_unit = #{materialUnit},
material_matkl = #{materialMatkl},
material_spec = #{materialSpec},
+ net_weight = #{netWeight},
+ gross_weight = #{grossWeight},
factory_id = #{factoryId},
+ create_org_id = #{createOrgId},
+ use_org_id = #{useOrgId},
prodline_id = #{prodlineId},
- is_flag = #{isFlag},
- erp_id = #{erpId},
+ active_flag = #{activeFlag},
deleted_flag = #{deletedFlag},
remark = #{remark},
create_by = #{createBy},
create_time = #{createTime},
update_by = #{updateBy},
update_time = #{updateTime},
+ approve_date = #{approveDate},
+ erp_modify_date = #{erpModifyDate},
where material_id = #{materialId}
- delete from mes_base_material_info where material_id = #{materialId}
+ delete
+ from mes_base_material_info
+ where material_id = #{materialId}
@@ -137,8 +223,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
-
+
where material_id in
@@ -147,4 +235,61 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
+
+
+
+ select material_id,
+ erp_id,
+ material_code,
+ old_material_code,
+ material_name,
+ material_categories,
+ material_subclass,
+ material_type_id,
+ batch_flag,
+ material_unit_id,
+ material_unit,
+ material_matkl,
+ material_spec,
+ net_weight,
+ gross_weight,
+ factory_id
+ from mes_base_material_info mbmi
+
+ and not exists (select 1 from wms_warehouse_material wwm where mbmi.material_id = wwm.storage_id and wwm.storage_type='1')
+ and erp_id = #{erpId}
+ and material_code = #{materialCode}
+ and old_material_code = #{oldMaterialCode}
+
+ and material_name like concat('%', #{materialName},
+ '%')
+
+ and material_categories =
+ #{materialCategories}
+
+ and material_subclass =
+ #{materialSubclass}
+
+ and material_type_id = #{materialTypeId}
+ and batch_flag = #{batchFlag}
+ and material_unit_id = #{materialUnitId}
+ and material_unit = #{materialUnit}
+ and material_matkl = #{materialMatkl}
+ and material_spec = #{materialSpec}
+ and net_weight = #{netWeight}
+ and gross_weight = #{grossWeight}
+ and factory_id = #{factoryId}
+ and create_org_id = #{createOrgId}
+ and use_org_id = #{useOrgId}
+ and prodline_id = #{prodlineId}
+ and active_flag = #{activeFlag}
+ and deleted_flag = #{deletedFlag}
+ and approve_date = #{approveDate}
+ and erp_modify_date = #{erpModifyDate}
+
+
+
+
diff --git a/hw-ui/src/api/mes/materialinfo.js b/hw-ui/src/api/mes/materialinfo.js
new file mode 100644
index 00000000..9750d550
--- /dev/null
+++ b/hw-ui/src/api/mes/materialinfo.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询物料信息列表
+export function listMaterialinfo(query) {
+ return request({
+ url: '/mes/materialinfo/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询物料信息详细
+export function getMaterialinfo(materialId) {
+ return request({
+ url: '/mes/materialinfo/' + materialId,
+ method: 'get'
+ })
+}
+
+// 新增物料信息
+export function addMaterialinfo(data) {
+ return request({
+ url: '/mes/materialinfo',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改物料信息
+export function updateMaterialinfo(data) {
+ return request({
+ url: '/mes/materialinfo',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除物料信息
+export function delMaterialinfo(materialId) {
+ return request({
+ url: '/mes/materialinfo/' + materialId,
+ method: 'delete'
+ })
+}
diff --git a/hw-ui/src/views/mes/materialinfo/index.vue b/hw-ui/src/views/mes/materialinfo/index.vue
new file mode 100644
index 00000000..832d8c85
--- /dev/null
+++ b/hw-ui/src/views/mes/materialinfo/index.vue
@@ -0,0 +1,433 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/hw-ui/src/views/system/role/index.vue b/hw-ui/src/views/system/role/index.vue
index fb3b5ef0..796743be 100644
--- a/hw-ui/src/views/system/role/index.vue
+++ b/hw-ui/src/views/system/role/index.vue
@@ -602,4 +602,4 @@ export default {
}
}
};
-
\ No newline at end of file
+
diff --git a/hw-ui/src/views/wms/base/wmswarehouse/allocateMaterial.vue b/hw-ui/src/views/wms/base/wmswarehouse/allocateMaterial.vue
new file mode 100644
index 00000000..62168345
--- /dev/null
+++ b/hw-ui/src/views/wms/base/wmswarehouse/allocateMaterial.vue
@@ -0,0 +1,316 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+ 保存
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+