WMS:完成仓库配置物料信息
MES:物料信息显示
JINDIE:完成物料信息保存
master
xins 1 year ago
parent ab70c480dc
commit 3f29d0bb36

@ -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("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("isFlag", getIsFlag())
.append("erpId", getErpId())
.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();
}
}

@ -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";
}

@ -92,7 +92,6 @@
<artifactId>gson</artifactId>
</dependency>
</dependencies>
<build>

@ -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();
}
}
}

@ -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();
}
}

@ -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<MesBaseMaterialInfo> 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<MesBaseMaterialInfo> selectMesBaseMaterialInfoListByMaterialIds(Long[] materialIds);
}

@ -0,0 +1,7 @@
package com.hw.jindie.service;
public interface IKingdeeErpSyncService {
public int syncMaterialInfoFromErp() throws Exception;
}

@ -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
* @DescrptionERP
*/
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
* @DescrptionERP
*/
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
* @DescrptionERP
*/
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();
}
}

@ -0,0 +1,237 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hw.jindie.mapper.MesBaseMaterialInfoMapper">
<resultMap type="MesBaseMaterialInfo" id="MesBaseMaterialInfoResult">
<result property="materialId" column="material_id"/>
<result property="erpId" column="erp_id"/>
<result property="materialCode" column="material_code"/>
<result property="oldMaterialCode" column="old_material_code"/>
<result property="materialName" column="material_name"/>
<result property="materialCategories" column="material_categories"/>
<result property="materialSubclass" column="material_subclass"/>
<result property="materialTypeId" column="material_type_id"/>
<result property="batchFlag" column="batch_flag"/>
<result property="materialUnitId" column="material_unit_id"/>
<result property="materialUnit" column="material_unit"/>
<result property="materialMatkl" column="material_matkl"/>
<result property="materialSpec" column="material_spec"/>
<result property="netWeight" column="net_weight"/>
<result property="grossWeight" column="gross_weight"/>
<result property="factoryId" column="factory_id"/>
<result property="createOrgId" column="create_org_id"/>
<result property="useOrgId" column="use_org_id"/>
<result property="prodlineId" column="prodline_id"/>
<result property="activeFlag" column="active_flag"/>
<result property="deletedFlag" column="deleted_flag"/>
<result property="remark" column="remark"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="approveDate" column="approve_date"/>
<result property="erpModifyDate" column="erp_modify_date"/>
</resultMap>
<sql id="selectMesBaseMaterialInfoVo">
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
</sql>
<select id="selectMesBaseMaterialInfoList" parameterType="MesBaseMaterialInfo"
resultMap="MesBaseMaterialInfoResult">
<include refid="selectMesBaseMaterialInfoVo"/>
<where>
<if test="erpId != null ">and erp_id = #{erpId}</if>
<if test="materialCode != null and materialCode != ''">and material_code = #{materialCode}</if>
<if test="oldMaterialCode != null and oldMaterialCode != ''">and old_material_code = #{oldMaterialCode}
</if>
<if test="materialName != null and materialName != ''">and material_name like concat('%', #{materialName},
'%')
</if>
<if test="materialCategories != null and materialCategories != ''">and material_categories =
#{materialCategories}
</if>
<if test="materialSubclass != null and materialSubclass != ''">and material_subclass =
#{materialSubclass}
</if>
<if test="materialTypeId != null ">and material_type_id = #{materialTypeId}</if>
<if test="batchFlag != null and batchFlag != ''">and batch_flag = #{batchFlag}</if>
<if test="materialUnitId != null ">and material_unit_id = #{materialUnitId}</if>
<if test="materialUnit != null and materialUnit != ''">and material_unit = #{materialUnit}</if>
<if test="materialMatkl != null and materialMatkl != ''">and material_matkl = #{materialMatkl}</if>
<if test="materialSpec != null and materialSpec != ''">and material_spec = #{materialSpec}</if>
<if test="netWeight != null ">and net_weight = #{netWeight}</if>
<if test="grossWeight != null ">and gross_weight = #{grossWeight}</if>
<if test="factoryId != null ">and factory_id = #{factoryId}</if>
<if test="createOrgId != null ">and create_org_id = #{createOrgId}</if>
<if test="useOrgId != null ">and use_org_id = #{useOrgId}</if>
<if test="prodlineId != null and prodlineId != ''">and prodline_id = #{prodlineId}</if>
<if test="activeFlag != null and activeFlag != ''">and active_flag = #{activeFlag}</if>
<if test="deletedFlag != null and deletedFlag != ''">and deleted_flag = #{deletedFlag}</if>
<if test="approveDate != null ">and approve_date = #{approveDate}</if>
<if test="erpModifyDate != null ">and erp_modify_date = #{erpModifyDate}</if>
</where>
</select>
<select id="selectMesBaseMaterialInfoByMaterialId" parameterType="Long" resultMap="MesBaseMaterialInfoResult">
<include refid="selectMesBaseMaterialInfoVo"/>
where material_id = #{materialId}
</select>
<insert id="insertMesBaseMaterialInfo" parameterType="MesBaseMaterialInfo" useGeneratedKeys="true"
keyProperty="materialId">
insert into mes_base_material_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="erpId != null">erp_id,</if>
<if test="materialCode != null and materialCode != ''">material_code,</if>
<if test="oldMaterialCode != null">old_material_code,</if>
<if test="materialName != null and materialName != ''">material_name,</if>
<if test="materialCategories != null and materialCategories != ''">material_categories,</if>
<if test="materialSubclass != null">material_subclass,</if>
<if test="materialTypeId != null">material_type_id,</if>
<if test="batchFlag != null">batch_flag,</if>
<if test="materialUnitId != null">material_unit_id,</if>
<if test="materialUnit != null">material_unit,</if>
<if test="materialMatkl != null">material_matkl,</if>
<if test="materialSpec != null">material_spec,</if>
<if test="netWeight != null">net_weight,</if>
<if test="grossWeight != null">gross_weight,</if>
<if test="factoryId != null">factory_id,</if>
<if test="createOrgId != null">create_org_id,</if>
<if test="useOrgId != null">use_org_id,</if>
<if test="prodlineId != null">prodline_id,</if>
<if test="activeFlag != null">active_flag,</if>
<if test="deletedFlag != null">deleted_flag,</if>
<if test="remark != null">remark,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="approveDate != null">approve_date,</if>
<if test="erpModifyDate != null">erp_modify_date,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="erpId != null">#{erpId},</if>
<if test="materialCode != null and materialCode != ''">#{materialCode},</if>
<if test="oldMaterialCode != null">#{oldMaterialCode},</if>
<if test="materialName != null and materialName != ''">#{materialName},</if>
<if test="materialCategories != null and materialCategories != ''">#{materialCategories},</if>
<if test="materialSubclass != null">#{materialSubclass},</if>
<if test="materialTypeId != null">#{materialTypeId},</if>
<if test="batchFlag != null">#{batchFlag},</if>
<if test="materialUnitId != null">#{materialUnitId},</if>
<if test="materialUnit != null">#{materialUnit},</if>
<if test="materialMatkl != null">#{materialMatkl},</if>
<if test="materialSpec != null">#{materialSpec},</if>
<if test="netWeight != null">#{netWeight},</if>
<if test="grossWeight != null">#{grossWeight},</if>
<if test="factoryId != null">#{factoryId},</if>
<if test="createOrgId != null">#{createOrgId},</if>
<if test="useOrgId != null">#{useOrgId},</if>
<if test="prodlineId != null">#{prodlineId},</if>
<if test="activeFlag != null">#{activeFlag},</if>
<if test="deletedFlag != null">#{deletedFlag},</if>
<if test="remark != null">#{remark},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="approveDate != null">#{approveDate},</if>
<if test="erpModifyDate != null">#{erpModifyDate},</if>
</trim>
</insert>
<update id="updateMesBaseMaterialInfo" parameterType="MesBaseMaterialInfo">
update mes_base_material_info
<trim prefix="SET" suffixOverrides=",">
<if test="erpId != null">erp_id = #{erpId},</if>
<if test="materialCode != null and materialCode != ''">material_code = #{materialCode},</if>
<if test="oldMaterialCode != null">old_material_code = #{oldMaterialCode},</if>
<if test="materialName != null and materialName != ''">material_name = #{materialName},</if>
<if test="materialCategories != null and materialCategories != ''">material_categories =
#{materialCategories},
</if>
<if test="materialSubclass != null">material_subclass = #{materialSubclass},</if>
<if test="materialTypeId != null">material_type_id = #{materialTypeId},</if>
<if test="batchFlag != null">batch_flag = #{batchFlag},</if>
<if test="materialUnitId != null">material_unit_id = #{materialUnitId},</if>
<if test="materialUnit != null">material_unit = #{materialUnit},</if>
<if test="materialMatkl != null">material_matkl = #{materialMatkl},</if>
<if test="materialSpec != null">material_spec = #{materialSpec},</if>
<if test="netWeight != null">net_weight = #{netWeight},</if>
<if test="grossWeight != null">gross_weight = #{grossWeight},</if>
<if test="factoryId != null">factory_id = #{factoryId},</if>
<if test="createOrgId != null">create_org_id = #{createOrgId},</if>
<if test="useOrgId != null">use_org_id = #{useOrgId},</if>
<if test="prodlineId != null">prodline_id = #{prodlineId},</if>
<if test="activeFlag != null">active_flag = #{activeFlag},</if>
<if test="deletedFlag != null">deleted_flag = #{deletedFlag},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="approveDate != null">approve_date = #{approveDate},</if>
<if test="erpModifyDate != null">erp_modify_date = #{erpModifyDate},</if>
</trim>
where material_id = #{materialId}
</update>
<delete id="deleteMesBaseMaterialInfoByMaterialId" parameterType="Long">
delete
from mes_base_material_info
where material_id = #{materialId}
</delete>
<delete id="deleteMesBaseMaterialInfoByMaterialIds" parameterType="String">
delete from mes_base_material_info where material_id in
<foreach item="materialId" collection="array" open="(" separator="," close=")">
#{materialId}
</foreach>
</delete>
<!--新增以下-->
<select id="selectMesBaseMaterialInfoListByMaterialIds" parameterType="String"
resultMap="MesBaseMaterialInfoResult">
<include refid="selectMesBaseMaterialInfoVo"/>
where material_id in
<foreach item="materialId" collection="array" open="(" separator="," close=")">
#{materialId}
</foreach>
</select>
</mapper>

@ -115,9 +115,22 @@ public class MesBaseMaterialInfoController extends BaseController
@PostMapping("/getMaterialsByMaterialIds")
public AjaxResult getMaterialsByMaterialIds(@RequestBody MesBaseMaterialInfoVo mesBaseMaterialInfo)
{
startPage();
List<MesBaseMaterialInfo> list = mesBaseMaterialInfoService.selectMesBaseMaterialInfoListByMaterialIds(mesBaseMaterialInfo.getMaterialIds());
return success(list);
}
/**
*
*/
@RequiresPermissions("wms:wmswarehouse:materialallocate")
@GetMapping("/selectMaterialInfos4AllocationWarehouse")
public TableDataInfo selectMaterialInfos4AllocationWarehouse(MesBaseMaterialInfo mesBaseMaterialInfo)
{
startPage();
List<MesBaseMaterialInfo> list = mesBaseMaterialInfoService.selectMaterialInfos4AllocationWarehouse(mesBaseMaterialInfo);
return getDataTable(list);
}
}

@ -1,51 +1,105 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hw.mes.mapper.MesBaseMaterialInfoMapper">
<resultMap type="MesBaseMaterialInfo" id="MesBaseMaterialInfoResult">
<result property="materialId" column="material_id" />
<result property="materialCode" column="material_code" />
<result property="materialName" column="material_name" />
<result property="materialCategories" column="material_categories" />
<result property="materialSubclass" column="material_subclass" />
<result property="materialTypeId" column="material_type_id" />
<result property="materialUnit" column="material_unit" />
<result property="materialMatkl" column="material_matkl" />
<result property="materialSpec" column="material_spec" />
<result property="factoryId" column="factory_id" />
<result property="prodlineId" column="prodline_id" />
<result property="isFlag" column="is_flag" />
<result property="erpId" column="erp_id" />
<result property="deletedFlag" column="deleted_flag" />
<result property="remark" column="remark" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="materialId" column="material_id"/>
<result property="erpId" column="erp_id"/>
<result property="materialCode" column="material_code"/>
<result property="oldMaterialCode" column="old_material_code"/>
<result property="materialName" column="material_name"/>
<result property="materialCategories" column="material_categories"/>
<result property="materialSubclass" column="material_subclass"/>
<result property="materialTypeId" column="material_type_id"/>
<result property="batchFlag" column="batch_flag"/>
<result property="materialUnitId" column="material_unit_id"/>
<result property="materialUnit" column="material_unit"/>
<result property="materialMatkl" column="material_matkl"/>
<result property="materialSpec" column="material_spec"/>
<result property="netWeight" column="net_weight"/>
<result property="grossWeight" column="gross_weight"/>
<result property="factoryId" column="factory_id"/>
<result property="createOrgId" column="create_org_id"/>
<result property="useOrgId" column="use_org_id"/>
<result property="prodlineId" column="prodline_id"/>
<result property="activeFlag" column="active_flag"/>
<result property="deletedFlag" column="deleted_flag"/>
<result property="remark" column="remark"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="approveDate" column="approve_date"/>
<result property="erpModifyDate" column="erp_modify_date"/>
</resultMap>
<sql id="selectMesBaseMaterialInfoVo">
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
</sql>
<select id="selectMesBaseMaterialInfoList" parameterType="MesBaseMaterialInfo" resultMap="MesBaseMaterialInfoResult">
<select id="selectMesBaseMaterialInfoList" parameterType="MesBaseMaterialInfo"
resultMap="MesBaseMaterialInfoResult">
<include refid="selectMesBaseMaterialInfoVo"/>
<where>
<if test="materialCode != null and materialCode != ''"> and material_code = #{materialCode}</if>
<if test="materialName != null and materialName != ''"> and material_name like concat('%', #{materialName}, '%')</if>
<if test="materialCategories != null and materialCategories != ''"> and material_categories = #{materialCategories}</if>
<if test="materialSubclass != null and materialSubclass != ''"> and material_subclass = #{materialSubclass}</if>
<if test="materialTypeId != null "> and material_type_id = #{materialTypeId}</if>
<if test="materialUnit != null and materialUnit != ''"> and material_unit = #{materialUnit}</if>
<if test="materialMatkl != null and materialMatkl != ''"> and material_matkl = #{materialMatkl}</if>
<if test="materialSpec != null and materialSpec != ''"> and material_spec = #{materialSpec}</if>
<if test="factoryId != null "> and factory_id = #{factoryId}</if>
<if test="prodlineId != null and prodlineId != ''"> and prodline_id = #{prodlineId}</if>
<if test="isFlag != null "> and is_flag = #{isFlag}</if>
<if test="erpId != null "> and erp_id = #{erpId}</if>
<if test="deletedFlag != null and deletedFlag != ''"> and deleted_flag = #{deletedFlag}</if>
<if test="erpId != null ">and erp_id = #{erpId}</if>
<if test="materialCode != null and materialCode != ''">and material_code = #{materialCode}</if>
<if test="oldMaterialCode != null and oldMaterialCode != ''">and old_material_code = #{oldMaterialCode}
</if>
<if test="materialName != null and materialName != ''">and material_name like concat('%', #{materialName},
'%')
</if>
<if test="materialCategories != null and materialCategories != ''">and material_categories =
#{materialCategories}
</if>
<if test="materialSubclass != null and materialSubclass != ''">and material_subclass =
#{materialSubclass}
</if>
<if test="materialTypeId != null ">and material_type_id = #{materialTypeId}</if>
<if test="batchFlag != null and batchFlag != ''">and batch_flag = #{batchFlag}</if>
<if test="materialUnitId != null ">and material_unit_id = #{materialUnitId}</if>
<if test="materialUnit != null and materialUnit != ''">and material_unit = #{materialUnit}</if>
<if test="materialMatkl != null and materialMatkl != ''">and material_matkl = #{materialMatkl}</if>
<if test="materialSpec != null and materialSpec != ''">and material_spec = #{materialSpec}</if>
<if test="netWeight != null ">and net_weight = #{netWeight}</if>
<if test="grossWeight != null ">and gross_weight = #{grossWeight}</if>
<if test="factoryId != null ">and factory_id = #{factoryId}</if>
<if test="createOrgId != null ">and create_org_id = #{createOrgId}</if>
<if test="useOrgId != null ">and use_org_id = #{useOrgId}</if>
<if test="prodlineId != null and prodlineId != ''">and prodline_id = #{prodlineId}</if>
<if test="activeFlag != null and activeFlag != ''">and active_flag = #{activeFlag}</if>
<if test="deletedFlag != null and deletedFlag != ''">and deleted_flag = #{deletedFlag}</if>
<if test="approveDate != null ">and approve_date = #{approveDate}</if>
<if test="erpModifyDate != null ">and erp_modify_date = #{erpModifyDate}</if>
</where>
</select>
@ -54,77 +108,109 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where material_id = #{materialId}
</select>
<insert id="insertMesBaseMaterialInfo" parameterType="MesBaseMaterialInfo" useGeneratedKeys="true" keyProperty="materialId">
<insert id="insertMesBaseMaterialInfo" parameterType="MesBaseMaterialInfo" useGeneratedKeys="true"
keyProperty="materialId">
insert into mes_base_material_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="erpId != null">erp_id,</if>
<if test="materialCode != null and materialCode != ''">material_code,</if>
<if test="oldMaterialCode != null">old_material_code,</if>
<if test="materialName != null and materialName != ''">material_name,</if>
<if test="materialCategories != null and materialCategories != ''">material_categories,</if>
<if test="materialSubclass != null">material_subclass,</if>
<if test="materialTypeId != null">material_type_id,</if>
<if test="batchFlag != null">batch_flag,</if>
<if test="materialUnitId != null">material_unit_id,</if>
<if test="materialUnit != null">material_unit,</if>
<if test="materialMatkl != null">material_matkl,</if>
<if test="materialSpec != null">material_spec,</if>
<if test="netWeight != null">net_weight,</if>
<if test="grossWeight != null">gross_weight,</if>
<if test="factoryId != null">factory_id,</if>
<if test="createOrgId != null">create_org_id,</if>
<if test="useOrgId != null">use_org_id,</if>
<if test="prodlineId != null">prodline_id,</if>
<if test="isFlag != null">is_flag,</if>
<if test="erpId != null">erp_id,</if>
<if test="activeFlag != null">active_flag,</if>
<if test="deletedFlag != null">deleted_flag,</if>
<if test="remark != null">remark,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="approveDate != null">approve_date,</if>
<if test="erpModifyDate != null">erp_modify_date,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="erpId != null">#{erpId},</if>
<if test="materialCode != null and materialCode != ''">#{materialCode},</if>
<if test="oldMaterialCode != null">#{oldMaterialCode},</if>
<if test="materialName != null and materialName != ''">#{materialName},</if>
<if test="materialCategories != null and materialCategories != ''">#{materialCategories},</if>
<if test="materialSubclass != null">#{materialSubclass},</if>
<if test="materialTypeId != null">#{materialTypeId},</if>
<if test="batchFlag != null">#{batchFlag},</if>
<if test="materialUnitId != null">#{materialUnitId},</if>
<if test="materialUnit != null">#{materialUnit},</if>
<if test="materialMatkl != null">#{materialMatkl},</if>
<if test="materialSpec != null">#{materialSpec},</if>
<if test="netWeight != null">#{netWeight},</if>
<if test="grossWeight != null">#{grossWeight},</if>
<if test="factoryId != null">#{factoryId},</if>
<if test="createOrgId != null">#{createOrgId},</if>
<if test="useOrgId != null">#{useOrgId},</if>
<if test="prodlineId != null">#{prodlineId},</if>
<if test="isFlag != null">#{isFlag},</if>
<if test="erpId != null">#{erpId},</if>
<if test="activeFlag != null">#{activeFlag},</if>
<if test="deletedFlag != null">#{deletedFlag},</if>
<if test="remark != null">#{remark},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="approveDate != null">#{approveDate},</if>
<if test="erpModifyDate != null">#{erpModifyDate},</if>
</trim>
</insert>
<update id="updateMesBaseMaterialInfo" parameterType="MesBaseMaterialInfo">
update mes_base_material_info
<trim prefix="SET" suffixOverrides=",">
<if test="erpId != null">erp_id = #{erpId},</if>
<if test="materialCode != null and materialCode != ''">material_code = #{materialCode},</if>
<if test="oldMaterialCode != null">old_material_code = #{oldMaterialCode},</if>
<if test="materialName != null and materialName != ''">material_name = #{materialName},</if>
<if test="materialCategories != null and materialCategories != ''">material_categories = #{materialCategories},</if>
<if test="materialCategories != null and materialCategories != ''">material_categories =
#{materialCategories},
</if>
<if test="materialSubclass != null">material_subclass = #{materialSubclass},</if>
<if test="materialTypeId != null">material_type_id = #{materialTypeId},</if>
<if test="batchFlag != null">batch_flag = #{batchFlag},</if>
<if test="materialUnitId != null">material_unit_id = #{materialUnitId},</if>
<if test="materialUnit != null">material_unit = #{materialUnit},</if>
<if test="materialMatkl != null">material_matkl = #{materialMatkl},</if>
<if test="materialSpec != null">material_spec = #{materialSpec},</if>
<if test="netWeight != null">net_weight = #{netWeight},</if>
<if test="grossWeight != null">gross_weight = #{grossWeight},</if>
<if test="factoryId != null">factory_id = #{factoryId},</if>
<if test="createOrgId != null">create_org_id = #{createOrgId},</if>
<if test="useOrgId != null">use_org_id = #{useOrgId},</if>
<if test="prodlineId != null">prodline_id = #{prodlineId},</if>
<if test="isFlag != null">is_flag = #{isFlag},</if>
<if test="erpId != null">erp_id = #{erpId},</if>
<if test="activeFlag != null">active_flag = #{activeFlag},</if>
<if test="deletedFlag != null">deleted_flag = #{deletedFlag},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="approveDate != null">approve_date = #{approveDate},</if>
<if test="erpModifyDate != null">erp_modify_date = #{erpModifyDate},</if>
</trim>
where material_id = #{materialId}
</update>
<delete id="deleteMesBaseMaterialInfoByMaterialId" parameterType="Long">
delete from mes_base_material_info where material_id = #{materialId}
delete
from mes_base_material_info
where material_id = #{materialId}
</delete>
<delete id="deleteMesBaseMaterialInfoByMaterialIds" parameterType="String">
@ -137,8 +223,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!--新增以下-->
<select id="selectMesBaseMaterialInfoListByMaterialIds" parameterType="String" resultMap="MesBaseMaterialInfoResult">
<select id="selectMesBaseMaterialInfoListByMaterialIds" parameterType="String"
resultMap="MesBaseMaterialInfoResult">
<include refid="selectMesBaseMaterialInfoVo"/>
where material_id in
<foreach item="materialId" collection="array" open="(" separator="," close=")">
@ -147,4 +235,61 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<select id="selectMaterialInfos4AllocationWarehouse" parameterType="MesBaseMaterialInfo"
resultMap="MesBaseMaterialInfoResult">
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
<where>
and not exists (select 1 from wms_warehouse_material wwm where mbmi.material_id = wwm.storage_id and wwm.storage_type='1')
<if test="erpId != null ">and erp_id = #{erpId}</if>
<if test="materialCode != null and materialCode != ''">and material_code = #{materialCode}</if>
<if test="oldMaterialCode != null and oldMaterialCode != ''">and old_material_code = #{oldMaterialCode}
</if>
<if test="materialName != null and materialName != ''">and material_name like concat('%', #{materialName},
'%')
</if>
<if test="materialCategories != null and materialCategories != ''">and material_categories =
#{materialCategories}
</if>
<if test="materialSubclass != null and materialSubclass != ''">and material_subclass =
#{materialSubclass}
</if>
<if test="materialTypeId != null ">and material_type_id = #{materialTypeId}</if>
<if test="batchFlag != null and batchFlag != ''">and batch_flag = #{batchFlag}</if>
<if test="materialUnitId != null ">and material_unit_id = #{materialUnitId}</if>
<if test="materialUnit != null and materialUnit != ''">and material_unit = #{materialUnit}</if>
<if test="materialMatkl != null and materialMatkl != ''">and material_matkl = #{materialMatkl}</if>
<if test="materialSpec != null and materialSpec != ''">and material_spec = #{materialSpec}</if>
<if test="netWeight != null ">and net_weight = #{netWeight}</if>
<if test="grossWeight != null ">and gross_weight = #{grossWeight}</if>
<if test="factoryId != null ">and factory_id = #{factoryId}</if>
<if test="createOrgId != null ">and create_org_id = #{createOrgId}</if>
<if test="useOrgId != null ">and use_org_id = #{useOrgId}</if>
<if test="prodlineId != null and prodlineId != ''">and prodline_id = #{prodlineId}</if>
<if test="activeFlag != null and activeFlag != ''">and active_flag = #{activeFlag}</if>
<if test="deletedFlag != null and deletedFlag != ''">and deleted_flag = #{deletedFlag}</if>
<if test="approveDate != null ">and approve_date = #{approveDate}</if>
<if test="erpModifyDate != null ">and erp_modify_date = #{erpModifyDate}</if>
</where>
</select>
</mapper>

@ -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'
})
}

@ -0,0 +1,433 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="物料编码" prop="materialCode">
<el-input
v-model="queryParams.materialCode"
placeholder="请输入物料编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料名称" prop="materialName">
<el-input
v-model="queryParams.materialName"
placeholder="请输入物料名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料大类" prop="materialCategories">
<el-input
v-model="queryParams.materialCategories"
placeholder="请输入物料大类"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料类型" prop="materialTypeId">
<el-input
v-model="queryParams.materialTypeId"
placeholder="请输入物料类型"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="批次标识" prop="batchFlag">
<el-input
v-model="queryParams.batchFlag"
placeholder="请输入批次标识"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料规格" prop="materialSpec">
<el-input
v-model="queryParams.materialSpec"
placeholder="请输入物料规格"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['mes:materialinfo:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['mes:materialinfo:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['mes:materialinfo:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['mes:materialinfo:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="materialinfoList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="物料编码" align="center" prop="materialCode" />
<el-table-column label="物料名称" align="center" prop="materialName" />
<el-table-column label="物料大类" align="center" prop="materialCategories" />
<el-table-column label="物料类型" align="center" prop="materialTypeId" />
<el-table-column label="批次标识" align="center" prop="batchFlag" />
<el-table-column label="计量单位" align="center" prop="materialUnit" />
<el-table-column label="物料规格" align="center" prop="materialSpec" />
<el-table-column label="净重" align="center" prop="netWeight" />
<el-table-column label="毛重" align="center" prop="grossWeight" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['mes:materialinfo:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['mes:materialinfo:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改物料信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="ERP的主键;对应FMATERIALID" prop="erpId">
<el-input v-model="form.erpId" placeholder="请输入ERP的主键;对应FMATERIALID" />
</el-form-item>
<el-form-item label="物料编码;对应ERP的FNumber" prop="materialCode">
<el-input v-model="form.materialCode" placeholder="请输入物料编码;对应ERP的FNumber" />
</el-form-item>
<el-form-item label="旧物料编码" prop="oldMaterialCode">
<el-input v-model="form.oldMaterialCode" placeholder="请输入旧物料编码" />
</el-form-item>
<el-form-item label="物料名称;对应ERP的FName" prop="materialName">
<el-input v-model="form.materialName" placeholder="请输入物料名称;对应ERP的FName" />
</el-form-item>
<el-form-item label="物料大类(1,原材料 2,半成品 3,成品)" prop="materialCategories">
<el-input v-model="form.materialCategories" placeholder="请输入物料大类(1,原材料 2,半成品 3,成品)" />
</el-form-item>
<el-form-item label="物料小类;暂时不使用,预留" prop="materialSubclass">
<el-input v-model="form.materialSubclass" placeholder="请输入物料小类;暂时不使用,预留" />
</el-form-item>
<el-form-item label="物料类型关联mes_base_material_type的material_type_id" prop="materialTypeId">
<el-input v-model="form.materialTypeId" placeholder="请输入物料类型关联mes_base_material_type的material_type_id" />
</el-form-item>
<el-form-item label="批次标识,(0否1是)" prop="batchFlag">
<el-input v-model="form.batchFlag" placeholder="请输入批次标识,(0否1是)" />
</el-form-item>
<el-form-item label="计量单位ID;对应FBaseUnitId" prop="materialUnitId">
<el-input v-model="form.materialUnitId" placeholder="请输入计量单位ID;对应FBaseUnitId" />
</el-form-item>
<el-form-item label="计量单位名称" prop="materialUnit">
<el-input v-model="form.materialUnit" placeholder="请输入计量单位名称" />
</el-form-item>
<el-form-item label="物料组" prop="materialMatkl">
<el-input v-model="form.materialMatkl" placeholder="请输入物料组" />
</el-form-item>
<el-form-item label="物料规格;对应FSpecification" prop="materialSpec">
<el-input v-model="form.materialSpec" placeholder="请输入物料规格;对应FSpecification" />
</el-form-item>
<el-form-item label="净重;FNETWEIGHT" prop="netWeight">
<el-input v-model="form.netWeight" placeholder="请输入净重;FNETWEIGHT" />
</el-form-item>
<el-form-item label="毛重;FGROSSWEIGHT" prop="grossWeight">
<el-input v-model="form.grossWeight" placeholder="请输入毛重;FGROSSWEIGHT" />
</el-form-item>
<el-form-item label="所属工厂关联mes_base_factory_info的factory_id" prop="factoryId">
<el-input v-model="form.factoryId" placeholder="请输入所属工厂关联mes_base_factory_info的factory_id" />
</el-form-item>
<el-form-item label="创建组织;对应FCreateOrgId" prop="createOrgId">
<el-input v-model="form.createOrgId" placeholder="请输入创建组织;对应FCreateOrgId" />
</el-form-item>
<el-form-item label="使用组织;对应FUseOrgId" prop="useOrgId">
<el-input v-model="form.useOrgId" placeholder="请输入使用组织;对应FUseOrgId" />
</el-form-item>
<el-form-item label="所属产线;多个用,隔开" prop="prodlineId">
<el-input v-model="form.prodlineId" placeholder="请输入所属产线;多个用,隔开" />
</el-form-item>
<el-form-item label="激活标识1-是0-否" prop="activeFlag">
<el-input v-model="form.activeFlag" placeholder="请输入激活标识1-是0-否" />
</el-form-item>
<el-form-item label="删除标识(0否1是)" prop="deletedFlag">
<el-input v-model="form.deletedFlag" placeholder="请输入删除标识(0否1是)" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="审核日期;对应FApproveDate" prop="approveDate">
<el-date-picker clearable
v-model="form.approveDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择审核日期;对应FApproveDate">
</el-date-picker>
</el-form-item>
<el-form-item label="erp最后更新日期;对应FModifyDate" prop="erpModifyDate">
<el-date-picker clearable
v-model="form.erpModifyDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择erp最后更新日期;对应FModifyDate">
</el-date-picker>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listMaterialinfo, getMaterialinfo, delMaterialinfo, addMaterialinfo, updateMaterialinfo } from "@/api/mes/materialinfo";
export default {
name: "Materialinfo",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
materialinfoList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
erpId: null,
materialCode: null,
oldMaterialCode: null,
materialName: null,
materialCategories: null,
materialSubclass: null,
materialTypeId: null,
batchFlag: null,
materialUnitId: null,
materialUnit: null,
materialMatkl: null,
materialSpec: null,
netWeight: null,
grossWeight: null,
factoryId: null,
createOrgId: null,
useOrgId: null,
prodlineId: null,
activeFlag: null,
deletedFlag: null,
approveDate: null,
erpModifyDate: null
},
//
form: {},
//
rules: {
erpId: [
{ required: true, message: "ERP的主键;对应FMATERIALID不能为空", trigger: "blur" }
],
materialCode: [
{ required: true, message: "物料编码;对应ERP的FNumber不能为空", trigger: "blur" }
],
materialName: [
{ required: true, message: "物料名称;对应ERP的FName不能为空", trigger: "blur" }
],
materialCategories: [
{ required: true, message: "物料大类(1,原材料 2,半成品 3,成品)不能为空", trigger: "blur" }
],
materialTypeId: [
{ required: true, message: "物料类型关联mes_base_material_type的material_type_id不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询物料信息列表 */
getList() {
this.loading = true;
listMaterialinfo(this.queryParams).then(response => {
this.materialinfoList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
materialId: null,
erpId: null,
materialCode: null,
oldMaterialCode: null,
materialName: null,
materialCategories: null,
materialSubclass: null,
materialTypeId: null,
batchFlag: null,
materialUnitId: null,
materialUnit: null,
materialMatkl: null,
materialSpec: null,
netWeight: null,
grossWeight: null,
factoryId: null,
createOrgId: null,
useOrgId: null,
prodlineId: null,
activeFlag: null,
deletedFlag: null,
remark: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
approveDate: null,
erpModifyDate: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.materialId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加物料信息";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const materialId = row.materialId || this.ids
getMaterialinfo(materialId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改物料信息";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.materialId != null) {
updateMaterialinfo(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addMaterialinfo(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const materialIds = row.materialId || this.ids;
this.$modal.confirm('是否确认删除物料信息编号为"' + materialIds + '"的数据项?').then(function() {
return delMaterialinfo(materialIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('mes/materialinfo/export', {
...this.queryParams
}, `materialinfo_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -0,0 +1,316 @@
<template>
<div class="app-container">
<h4 class="form-header h4">仓库信息</h4>
<el-form ref="warehouseInfoForm" :model="warehouseInfoForm" label-width="80px">
<el-row>
<el-col :span="8" :offset="2">
<el-form-item label="仓库编号" prop="warehouseCode">
<el-input v-model="warehouseInfoForm.warehouseCode" disabled/>
</el-form-item>
</el-col>
<el-col :span="8" :offset="2">
<el-form-item label="仓库名称" prop="warehouseName">
<el-input v-model="warehouseInfoForm.warehouseName" disabled/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-row>
<el-col :span="11">
<h4 class="form-header h4">已选物料</h4>
<el-form :model="allocateMaterialQueryParams" ref="allocateMaterialQueryForm" size="small" :inline="true" v-show="showSearch"
label-width="68px">
<el-form-item label="物料编码" prop="materialCode">
<el-input
v-model="allocateMaterialQueryParams.materialCode"
placeholder="请输入物料编码"
style="width:140px;"
clearable
@keyup.enter.native="handleAllocateMaterialQuery"
/>
</el-form-item>
<el-form-item label="物料名称" prop="materialName">
<el-input
v-model="allocateMaterialQueryParams.materialName"
placeholder="请输入物料名称"
style="width:140px;"
clearable
@keyup.enter.native="handleAllocateMaterialQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleAllocateMaterialQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetAllocateMaterialQuery"></el-button>
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
@click="handleUnallocateMaterials"
v-hasPermi="['wms:wmswarehouse:add']"
>删除
</el-button>
</el-form-item>
</el-form>
<el-table v-loading="allocateMaterialLoading" :data="allocateMaterialList" @selection-change="handleAllocateMaterialSelectionChange">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="物料编码" align="center" prop="materialCode"/>
<el-table-column label="物料名称" align="center" prop="materialName"/>
</el-table>
<pagination
v-show="allocateMaterialTotal>0"
:total="allocateMaterialTotal"
:page.sync="allocateMaterialQueryParams.pageNum"
:limit.sync="allocateMaterialQueryParams.pageSize"
@pagination="getAllocateMaterialList"
/>
</el-col>
<el-col :span="11" style="margin-left:10px;">
<h4 class="form-header h4">可选物料</h4>
<el-form :model="materialQueryParams" ref="materialQueryForm" size="small" :inline="true" v-show="showSearch"
label-width="68px">
<el-form-item label="物料编码" prop="materialCode">
<el-input
v-model="materialQueryParams.materialCode"
placeholder="请输入物料编码"
style="width:140px;"
clearable
@keyup.enter.native="handleMaterialQuery"
/>
</el-form-item>
<el-form-item label="物料名称" prop="materialName">
<el-input
v-model="materialQueryParams.materialName"
placeholder="请输入物料名称"
style="width:140px;"
clearable
@keyup.enter.native="handleMaterialQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleMaterialQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetMaterialQuery"></el-button>
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
:disabled = "allocateMaterialBtnDisable"
@click="submitForm"
v-hasPermi="['wms:wmswarehouse:add']"
>保存
</el-button>
</el-form-item>
</el-form>
<el-table v-loading="materialLoading" :data="materialinfoList" @selection-change="handleMaterialSelectionChange">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="物料编码" align="center" prop="materialCode"/>
<el-table-column label="物料名称" align="center" prop="materialName"/>
</el-table>
<pagination
v-show="materialTotal>0"
:total="materialTotal"
:page.sync="materialQueryParams.pageNum"
:limit.sync="materialQueryParams.pageSize"
@pagination="getMaterialList"
/>
</el-col>
</el-row>
</div>
</template>
<script>
import {
selectWmsWarehouseMaterialList,
selectMaterialInfos4AllocationWarehouse,
allocateMaterials, unallocateMaterials
} from "@/api/wms/wmswarehouse";
export default {
name: "AllocateMaterialinfo",
data() {
return {
//
allocateMaterialLoading: true,
//
materialLoading: true,
//
allocateMaterialIds: [],
//
materialIds:[],
//
allocateMaterialSingle: true,
//
allocateMaterialMultiple: true,
//
materialSingle: true,
//
materialMultiple: true,
//
showSearch: true,
//
allocateMaterialTotal: 0,
//
materialTotal:0,
//
allocateMaterialList: [],
//
materialinfoList: [],
//
warehouseInfoForm: {},
allocateMaterialBtnDisable:true,
//
allocateMaterialQueryParams: {
pageNum: 1,
pageSize: 10,
materialCode: null,
materialName: null,
materialCategories: null,
materialSubclass: null,
materialTypeId: null,
batchFlag: null,
materialUnitId: null,
materialUnit: null,
warehouseId: null
},
//
materialQueryParams: {
pageNum: 1,
pageSize: 10,
materialCode: null,
materialName: null,
materialCategories: null,
materialSubclass: null,
materialTypeId: null,
batchFlag: null,
materialUnitId: null,
materialUnit: null,
warehouseId: null
},
};
},
created() {
this.allocateMaterialBtnDisable = false;
const warehouseId = this.$route.params && this.$route.params.warehouseId;
this.allocateMaterialQueryParams.warehouseId = warehouseId;
this.materialQueryParams.warehouseId = warehouseId;
this.warehouseInfoForm.warehouseCode = this.$route.query && this.$route.query.warehouseCode;
this.warehouseInfoForm.warehouseName = this.$route.query && this.$route.query.warehouseName;
this.getAllocateMaterialList();
this.getMaterialList();
},
methods: {
/** 查询已选物料信息列表 */
getAllocateMaterialList() {
this.allocateMaterialLoading = true;
selectWmsWarehouseMaterialList(this.allocateMaterialQueryParams).then(response => {
this.allocateMaterialList = response.rows;
this.allocateMaterialTotal = response.total;
this.allocateMaterialLoading = false;
});
},
/** 查询可选物料信息列表 */
getMaterialList() {
this.materialLoading = true;
selectMaterialInfos4AllocationWarehouse(this.materialQueryParams).then(response => {
this.materialinfoList = response.rows;
this.materialTotal = response.total;
this.materialLoading = false;
});
},
/** 已选物料搜索按钮操作 */
handleAllocateMaterialQuery() {
this.allocateMaterialQueryParams.pageNum = 1;
this.getAllocateMaterialList();
},
/** 已选物料重置按钮操作 */
resetAllocateMaterialQuery() {
this.resetForm("allocateMaterialQueryForm");
this.handleAllocateMaterialQuery();
},
//
handleAllocateMaterialSelectionChange(selection) {
this.allocateMaterialIds = selection.map(item => item.warehouseMaterialId)
this.allocateMaterialCodes = selection.map(item => item.materialCode)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 可选物料搜索按钮操作 */
handleMaterialQuery() {
this.materialQueryParams.pageNum = 1;
this.getMaterialList();
},
/** 可选物料重置按钮操作 */
resetMaterialQuery() {
this.resetForm("materialQueryForm");
this.handleMaterialQuery();
},
//
handleMaterialSelectionChange(selection) {
this.materialIds = selection.map(item => item.materialId)
this.single = selection.length !== 1
this.multiple = !selection.length
},
handleUnallocateMaterials(){
const warehouseMaterialIds = this.allocateMaterialIds.join(",");
const allocateMaterialCodes = this.allocateMaterialCodes;
const params = {
warehouseMaterialIds:warehouseMaterialIds
}
this.$modal.confirm('是否确认删除物料编码为"' + allocateMaterialCodes + '"的数据项?').then(function() {
return unallocateMaterials(params);
}).then(() => {
this.getAllocateMaterialList();
this.getMaterialList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 提交按钮 */
submitForm() {
this.allocateMaterialBtnDisable = true;
const warehouseId = this.allocateMaterialQueryParams.warehouseId;
const materialIds = this.materialIds.join(",");
allocateMaterials({ warehouseId: warehouseId, materialIds: materialIds }).then((response) => {
this.$modal.msgSuccess("保存成功");
this.getAllocateMaterialList();
this.getMaterialList();
this.allocateMaterialBtnDisable = false;
}).catch(() => {
this.getAllocateMaterialList();
this.getMaterialList();
this.allocateMaterialBtnDisable = false;
});
},
/** 关闭按钮 */
close() {
const obj = { path: "/system/user" };
this.$tab.closeOpenPage(obj);
},
}
};
</script>
Loading…
Cancel
Save