ERP:同步物料信息接口完善
master
xins 1 year ago
parent a9655e548e
commit 7ac2b4256e

@ -20,9 +20,9 @@ public interface RemoteJindieService {
/** 同步供应商*/
@GetMapping("/jindie/ErpSupplierInfo")
R<Integer> ErpSupplierInfo(@RequestHeader(SecurityConstants.FROM_SOURCE) String source, @RequestParam("beginTime") String beginTime, @RequestParam("endTime") String endTime);
R<Integer> ErpSupplierInfo(@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/** 同步物料*/
@GetMapping("/jindie/syncMaterialInfo")
R<Integer> ErpMesMaterialInfo(@RequestHeader(SecurityConstants.FROM_SOURCE) String source, @RequestParam("beginTime") String beginTime, @RequestParam("endTime") String endTime);
R<Integer> ErpMesMaterialInfo(@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
}

@ -14,12 +14,12 @@ public class RemoteJindieFallbackFactory implements FallbackFactory<RemoteJindie
public RemoteJindieService create(Throwable throwable) {
return new RemoteJindieService() {
@Override
public R<Integer> ErpSupplierInfo(String source, String beginTime, String endTime) {
public R<Integer> ErpSupplierInfo(String source) {
return null;
}
@Override
public R<Integer> ErpMesMaterialInfo(String source, String beginTime, String endTime) {
public R<Integer> ErpMesMaterialInfo(String source) {
return null;
}
};

@ -30,9 +30,9 @@ public class KingdeeErpSyncController {
* erp
* */
@GetMapping("/ErpSupplierInfo")
public AjaxResult ErpSupplierInfo(String beginTime, String endTime){
public AjaxResult ErpSupplierInfo(){
try {
return AjaxResult.success(kingdeeErpSyncService.syncSupplierInfoFromErp(0,beginTime,endTime));
return AjaxResult.success(kingdeeErpSyncService.syncSupplierInfoFromErp(0));
} catch (Exception e){
e.printStackTrace();
return AjaxResult.error();
@ -45,9 +45,9 @@ public class KingdeeErpSyncController {
// @RequiresPermissions("wms:mobile:addrawinstock")
@Log(title = "物料信息", businessType = BusinessType.INSERT)
@GetMapping(("/syncMaterialInfo"))
public AjaxResult syncMaterialInfo(String beginTime, String endTime) {
public AjaxResult syncMaterialInfo() {
try {
return AjaxResult.success(kingdeeErpSyncService.syncMaterialInfoFromErp(beginTime,endTime));
return AjaxResult.success(kingdeeErpSyncService.syncMaterialInfoFromErp(0));
} catch (Exception e) {
e.printStackTrace();
return AjaxResult.error();

@ -0,0 +1,110 @@
package com.hw.jindie.enums;
import com.hw.common.core.enums.DataTypeEnums;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
*
*/
public enum SyncMaterialInfoEnums {
/**
* ID
*/
ERPID("Integer","FMaterialId"),
/**
*
*/
MATERIALCODE("String","FNumber"),
/**
*
*/
MATERIALNAME("String","FName"),
/**
* ID
*/
MATERIALUNITID("Integer","FBaseUnitId"),
/**
*
*/
MATERIALSPEC("String","FSpecification"),
/**
*
*/
NETWEIGHT("BigDecimal","FNETWEIGHT"),
/**
*
*/
GROSSWEIGHT("BigDecimal","FGROSSWEIGHT"),
/**
*
*/
CREATETIME("String","FCreateDate"),
/**
* ERP
*/
ERPMODIFYDATE("String","FModifyDate"),
/**
*
*/
APPROVEDATE("String","FApproveDate"),
/**
*
*/
CREATEORGID("Integer","FCreateOrgId"),
/**
* 使
*/
USEORGID("Integer","FUseOrgId"),
/**
* ID
*/
PURCHASEPRICEUNITID("Integer","FPurchasePriceUnitId");
// 参数类型
private final String dataType;
// 参数名称
private final String fieldKey;
SyncMaterialInfoEnums(String dataType, String fieldKey) {
this.dataType = dataType;
this.fieldKey = fieldKey;
}
public String getDataType() {
return dataType;
}
public String getFieldKey() {
return fieldKey;
}
public static final List<String> fieldKeyList = Arrays.stream(values()).map(SyncMaterialInfoEnums::getFieldKey).collect(Collectors.toList());
public static void main(String[] args) {
System.out.println(fieldKeyList.toString().replaceAll("\\[","").replaceAll("]",""));
for (SyncMaterialInfoEnums syncMaterialInfoEnums : SyncMaterialInfoEnums.values()) {
// System.out.println(syncMaterialInfoEnums + " - " + syncMaterialInfoEnums.getDataType());
}
}
}

@ -72,4 +72,28 @@ public interface MesBaseMaterialInfoMapper
*/
public List<MesBaseMaterialInfo> selectMesBaseMaterialInfoListByMaterialIds(Long[] materialIds);
/**
* ERP
* @return String
*/
public String getMaxErpModifyDate();
/**
*
*
* @param erpId ERP
* @return
*/
public MesBaseMaterialInfo selectMesBaseMaterialInfoByErpId(Long erpId);
/**
*
*
* @param mesBaseMaterialInfos
* @return
*/
public int batchMesBaseMaterialInfo(List<MesBaseMaterialInfo> mesBaseMaterialInfos);
}

@ -2,7 +2,6 @@ package com.hw.jindie.service;
public interface IKingdeeErpSyncService {
public int syncMaterialInfoFromErp(String beginTime,String endTime) throws Exception;
public int syncSupplierInfoFromErp(int startRow,String beginTime,String endTime) throws Exception;
public int syncSupplierInfoFromErp(int startRow) throws Exception;
public int syncMaterialInfoFromErp(int startRow) throws Exception;
}

@ -19,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -37,12 +38,11 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
private MesBaseSupplierInfoMapper mesBaseSupplierInfoMapper;
/**
* @throws Exception
* @Description:ERP
*/
public int syncSupplierInfoFromErp(int startRow,String beginTime,String endTime) throws Exception {
public int syncSupplierInfoFromErp(int startRow) throws Exception {
K3CloudApi api = new K3CloudApi();
// "FormId": "BD_Supplier",
// "FieldKeys": "FNumber ,FName,FCreateDate,FModifyDate,FAuditDate",
@ -62,10 +62,10 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
queryJson.put("Limit", limit);
queryJson.put("SubSystemId", "");
//条件查询
if (StringUtils.isNotEmpty(beginTime)&&StringUtils.isNotEmpty(endTime)){
String filterString = "FCreateDate >'"+beginTime+"' AND '"+endTime+"' >FCreateDate";
queryJson.put("FilterString",filterString);
}
// if (StringUtils.isNotEmpty(beginTime) && StringUtils.isNotEmpty(endTime)) {
// String filterString = "FCreateDate >'" + beginTime + "' AND '" + endTime + "' >FCreateDate";
// queryJson.put("FilterString", filterString);
// }
// System.out.println(queryJson.toString());
// "FieldKeys": "FNumber,FName,FBaseUnitId,FSpecification,FNETWEIGHT,FGROSSWEIGHT,FCreateDate,FModifyDate,FApproveDate",
@ -118,10 +118,9 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
System.out.println(mesBaseSupplierInfo);
//通过erp主键判断表中是否有重复的数据如果有则更新没有则插入
if (mesBaseSupplierInfos.size()==0){
if (mesBaseSupplierInfos.size() == 0) {
mesBaseSupplierInfoMapper.insertMesBaseSupplierInfo(mesBaseSupplierInfo);
}
else {
} else {
//todo 主键
mesBaseSupplierInfo.setSupplierId(mesBaseSupplierInfos.get(0).getSupplierId());
mesBaseSupplierInfoMapper.updateMesBaseSupplierInfo(mesBaseSupplierInfo);
@ -133,12 +132,12 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
if (resultArray.size() < limit) {
// System.out.println(startRow);
//通过递归同步所有供应商,测试先不用
int i = syncSupplierInfoFromErp(startRow + resultArray.size(),beginTime,endTime);
int i = syncSupplierInfoFromErp(startRow + resultArray.size());
// return i;
return 1;
} else {
//为空时的总行数
return startRow+resultArray.size();
return startRow + resultArray.size();
}
}
@ -148,7 +147,7 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
* @Description:ERP
*/
@Override
public int syncMaterialInfoFromErp(String beginTime,String endTime) throws Exception {
public int syncMaterialInfoFromErp(int startRow) throws Exception {
K3CloudApi api = new K3CloudApi();
String FDocumentStatus = "C";
@ -159,7 +158,7 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
// String filterString = "FNumber='98010102'";
String orderString = "";
int topRowCount = 0;
int startRow = 0;
// int startRow = 0;
int limit = 20;
queryJson.put("FormId", formId);
queryJson.put("FieldKeys", fieldKeys);
@ -169,91 +168,104 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
queryJson.put("Limit", limit);
queryJson.put("SubSystemId", "");
//条件查询
if (StringUtils.isNotEmpty(beginTime)&&StringUtils.isNotEmpty(endTime)){
String filterString = "FCreateDate >'"+beginTime+"' AND '"+endTime+"' >FCreateDate";
queryJson.put("FilterString",filterString);
String maxErpModifyDate = mesBaseMaterialInfoMapper.getMaxErpModifyDate();
if (StringUtils.isNotEmpty(maxErpModifyDate)) {
String filterString = "FModifyDate >'" + maxErpModifyDate + "'";
queryJson.put("FilterString", filterString);
}
System.out.println(queryJson.toString());
String result = api.billQuery(queryJson.toString());
JSONArray resultArray = JSONArray.parseArray(result);
System.out.println("物料单据查询接口: " + result);
List<MesBaseMaterialInfo> toInsertMaterialInfoList = new ArrayList<>();
List<MesBaseMaterialInfo> toUpdateMaterialInfoList = new ArrayList<>();
for (int i = 0; i < resultArray.size(); i++) {
try {
JSONObject resultObject = (JSONObject) resultArray.get(i);
MesBaseMaterialInfo mesBaseMaterialInfo = new MesBaseMaterialInfo();
//erp主键
Integer erpId = (Integer) resultObject.get("FMaterialId");
//物料编码
String materialCode = (String) resultObject.get("FNumber");
//物料名称
String materialName = (String) resultObject.get("FName");
//计量单位ID
Integer materaialUnitId = resultObject.get("FBaseUnitId") == null ? null : (Integer) resultObject.get("FBaseUnitId");
//物料规格
String materialSpec = resultObject.get("FSpecification") == null ? null : (String) resultObject.get("FSpecification");
//净重
BigDecimal netWeight = resultObject.get("FNETWEIGHT") == null ? null : (BigDecimal) resultObject.get("FNETWEIGHT");
//毛重
BigDecimal grossWeight = resultObject.get("FGROSSWEIGHT") == null ? null : (BigDecimal) resultObject.get("FGROSSWEIGHT");
//创建时间
String createDateStr = resultObject.get("FCreateDate") == null ? null : (String) resultObject.get("FCreateDate");
//erp最后更新日期
String modifyDateStr = resultObject.get("FModifyDate") == null ? null : (String) resultObject.get("FModifyDate");
//审核日期
String approveDateStr = resultObject.get("FApproveDate") == null ? null : (String) resultObject.get("FApproveDate");
//创建组织
Integer createOrgId = resultObject.get("FCreateOrgId") == null ? null : (Integer) resultObject.get("FCreateOrgId");
//使用组织
Integer useOrgId = resultObject.get("FUseOrgId") == null ? null : (Integer) resultObject.get("FUseOrgId");
//采购计量单价
Integer purchasePriceUnitId = resultObject.get("FPurchasePriceUnitId") == null ? null : (Integer) resultObject.get("FPurchasePriceUnit");
JSONObject resultObject = (JSONObject) resultArray.get(i);
MesBaseMaterialInfo mesBaseMaterialInfo = new MesBaseMaterialInfo();
//erp主键
Integer erpId = (Integer) resultObject.get("FMaterialId");
//物料编码
String materialCode = (String) resultObject.get("FNumber");
//物料名称
String materialName = (String) resultObject.get("FName");
//计量单位ID
Integer materaialUnitId = resultObject.get("FBaseUnitId") == null ? null : (Integer) resultObject.get("FBaseUnitId");
//物料规格
String materialSpec = resultObject.get("FSpecification") == null ? null : (String) resultObject.get("FSpecification");
//净重
BigDecimal netWeight = resultObject.get("FNETWEIGHT") == null ? null : (BigDecimal) resultObject.get("FNETWEIGHT");
//毛重
BigDecimal grossWeight = resultObject.get("FGROSSWEIGHT") == null ? null : (BigDecimal) resultObject.get("FGROSSWEIGHT");
//创建时间
String createDateStr = resultObject.get("FCreateDate") == null ? null : (String) resultObject.get("FCreateDate");
//erp最后更新日期
String modifyDateStr = resultObject.get("FModifyDate") == null ? null : (String) resultObject.get("FModifyDate");
//审核日期
String approveDateStr = resultObject.get("FApproveDate") == null ? null : (String) resultObject.get("FApproveDate");
//创建组织
Integer createOrgId = resultObject.get("FCreateOrgId") == null ? null : (Integer) resultObject.get("FCreateOrgId");
//使用组织
Integer useOrgId = resultObject.get("FUseOrgId") == null ? null : (Integer) resultObject.get("FUseOrgId");
//采购计量单价
Integer purchasePriceUnitId = resultObject.get("FPurchasePriceUnitId") == null ? null : (Integer) resultObject.get("FPurchasePriceUnit");
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));
mesBaseMaterialInfo.setPurchasePriceUnitId(Long.valueOf(purchasePriceUnitId));
if (StringUtils.isNotEmpty(createDateStr)) {
mesBaseMaterialInfo.setCreateTime(conversionERPTime(createDateStr));
}
if (StringUtils.isNotEmpty(modifyDateStr)) {
mesBaseMaterialInfo.setErpModifyDate(conversionERPTime(modifyDateStr));
}
if (StringUtils.isNotEmpty(approveDateStr)) {
mesBaseMaterialInfo.setApproveDate(conversionERPTime(approveDateStr));
}
// 2023-08-26T16:15:15.05
MesBaseMaterialInfo existedMesBaseMaterialInfo = mesBaseMaterialInfoMapper.selectMesBaseMaterialInfoByErpId(Long.valueOf(erpId));
mesBaseMaterialInfo.setErpId(Long.valueOf(erpId));
if (existedMesBaseMaterialInfo != null) {
mesBaseMaterialInfo.setMaterialId(existedMesBaseMaterialInfo.getMaterialId());
toUpdateMaterialInfoList.add(mesBaseMaterialInfo);
} else {
toInsertMaterialInfoList.add(mesBaseMaterialInfo);
}
List<MesBaseMaterialInfo> mesBaseMaterialInfos = mesBaseMaterialInfoMapper.selectMesBaseMaterialInfoList(mesBaseMaterialInfo);
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)) {
mesBaseMaterialInfo.setCreateTime(conversionERPTime(createDateStr));
}
if (StringUtils.isNotEmpty(modifyDateStr)) {
mesBaseMaterialInfo.setErpModifyDate(conversionERPTime(modifyDateStr));
}
if (StringUtils.isNotEmpty(approveDateStr)) {
mesBaseMaterialInfo.setApproveDate(conversionERPTime(approveDateStr));
}
System.out.println(mesBaseMaterialInfo);
if (mesBaseMaterialInfos.size()!=0){
mesBaseMaterialInfoMapper.updateMesBaseMaterialInfo(mesBaseMaterialInfo);
}
else {
mesBaseMaterialInfoMapper.insertMesBaseMaterialInfo(mesBaseMaterialInfo);
}
// mesBaseMaterialInfoMapper.insertMesBaseMaterialInfo(mesBaseMaterialInfo);
} catch (Exception e) {
e.printStackTrace();
if (!toInsertMaterialInfoList.isEmpty()) {
mesBaseMaterialInfoMapper.batchMesBaseMaterialInfo(toInsertMaterialInfoList);
}
if (!toUpdateMaterialInfoList.isEmpty()) {
for (MesBaseMaterialInfo toUpdatedMaterialInfo : toUpdateMaterialInfoList) {
mesBaseMaterialInfoMapper.updateMesBaseMaterialInfo(toUpdatedMaterialInfo);
}
}
// System.out.println(resultArray.size());
/**分页递归获取所有物料信息*/
if (resultArray.size() < limit) {
// System.out.println(startRow);
//通过递归同步所有物料信息,测试先不用
int i = syncMaterialInfoFromErp(startRow + resultArray.size());
// return i;
return 1;
} else {
//为空时的总行数
return startRow + resultArray.size();
}
return 1;
}
@ -335,19 +347,19 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
System.out.println(resultArray.size());
System.out.println("项目信息单据查询接口: " + result);
for (int i = 0; i < resultArray.size(); i++){
for (int i = 0; i < resultArray.size(); i++) {
try {
JSONObject resultObject = (JSONObject) resultArray.get(i);
MesProjectInfo mesProjectInfo = new MesProjectInfo();
Integer FID = resultObject.get("FID")==null ? 0 : (Integer)resultObject.get("FID");
String FNumber = resultObject.get("FNumber")==null ? null : (String)resultObject.get("FNumber");
String FName = resultObject.get("FName")==null ? null :(String)resultObject.get("FName");
Integer FID = resultObject.get("FID") == null ? 0 : (Integer) resultObject.get("FID");
String FNumber = resultObject.get("FNumber") == null ? null : (String) resultObject.get("FNumber");
String FName = resultObject.get("FName") == null ? null : (String) resultObject.get("FName");
// String FDocumentStatus = resultObject.get("FDocumentStatus")==null? null:(String)resultObject.get("FDocumentStatus");
String FForbidStatus = resultObject.get("FForbidStatus")==null? null:(String)resultObject.get("FForbidStatus");
String FAuditDate = resultObject.get("FAuditDate")==null?null:(String) resultObject.get("FAuditDate");
String FModifyDate = resultObject.get("FModifyDate")==null?null:(String) resultObject.get("FModifyDate");
String FCreateDate = resultObject.get("FCreateDate")==null?null:(String) resultObject.get("FCreateDate");
String FForbidStatus = resultObject.get("FForbidStatus") == null ? null : (String) resultObject.get("FForbidStatus");
String FAuditDate = resultObject.get("FAuditDate") == null ? null : (String) resultObject.get("FAuditDate");
String FModifyDate = resultObject.get("FModifyDate") == null ? null : (String) resultObject.get("FModifyDate");
String FCreateDate = resultObject.get("FCreateDate") == null ? null : (String) resultObject.get("FCreateDate");
mesProjectInfo.setErpId(Long.valueOf(FID));
@ -361,20 +373,20 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
Date date = DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", FAuditDate);
mesProjectInfo.setAuditDate(date);
}
if (StringUtils.isNotEmpty(FModifyDate)){
FModifyDate = FModifyDate.replace("T"," ");
Date date = DateUtils.dateTime("yyyy-MM-dd HH:mm:ss",FModifyDate);
if (StringUtils.isNotEmpty(FModifyDate)) {
FModifyDate = FModifyDate.replace("T", " ");
Date date = DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", FModifyDate);
mesProjectInfo.setErpModifyDate(date);
}
if (StringUtils.isNotEmpty(FCreateDate)){
FCreateDate = FCreateDate.replace("T"," ");
Date date = DateUtils.dateTime("yyyy-MM-dd HH:mm:ss",FCreateDate);
if (StringUtils.isNotEmpty(FCreateDate)) {
FCreateDate = FCreateDate.replace("T", " ");
Date date = DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", FCreateDate);
mesProjectInfo.setCreateTime(date);
}
System.out.println(mesProjectInfo);
}catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
}
}
@ -423,7 +435,7 @@ public class KingdeeErpSyncServiceImpl implements IKingdeeErpSyncService {
}
//将erp中获取的时间string转换为date类型
public Date conversionERPTime(String ERPTime){
public Date conversionERPTime(String ERPTime) {
ERPTime = ERPTime.replace("T", " ");
Date date = DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", ERPTime);
return date;

@ -4,6 +4,8 @@ import static org.junit.Assert.fail;
import java.util.*;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.JsonObject;
import com.kingdee.bos.webapi.entity.*;
import com.kingdee.bos.webapi.sdk.K3CloudApi;
@ -234,4 +236,47 @@ public class BdCustomerTest {
}
/*本接口用于获取销售订单信息*/
@Test
public void syncSaleOrderFromErp() throws Exception {
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);
}
}

@ -239,4 +239,25 @@
</foreach>
</select>
<select id="selectMaxErpModifyDate" resultMap="String">
<include refid="selectMesBaseMaterialInfoVo"/>
SELECT max(erp_modify_date) FROM mes_base_material_info order by erp_id
</select>
<select id="selectMesBaseMaterialInfoByErpId" parameterType="Long"
resultMap="MesBaseMaterialInfoResult">
select material_id from mes_base_material_info where erp_id = #{erpId} limit 1
</select>
<insert id="batchMesBaseMaterialInfo">
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, purchase_price_unit_id, create_by, create_time, approve_date, erp_modify_date) VALUES
<foreach item="item" index="index" collection="list" separator=",">
( #{item.erpId}, #{item.materialCode}, #{item.oldMaterialCode}, #{item.materialName}, #{item.materialCategories}, #{item.materialSubclass}, #{item.materialTypeId}, #{item.batchFlag}, #{item.materialUnifId}, #{item.materialUnit}, #{item.materialMatkl}, #{item.materialSpec}, #{item.netWeight}, #{item.grossWeight}, #{item.factoryId}, #{item.createOrgId}, #{item.useOrgId}, #{item.prodlineId}, #{item.activeFlag}, #{item.deletedFlag}, #{item.remark}, #{item.purchasePriceUnitId}, #{item.createBy}, #{item.createTime}, #{item.approveDate}, #{item.erpModifyDate})
</foreach>
</insert>
</mapper>

@ -69,11 +69,13 @@ public class RyTask
}
public void ERPSynMesSupplierInfo(String beginTime, String endTime){
System.out.println("++同步ERP中物料供应商++ErpSupplierInfo");
remoteJindieService.ErpSupplierInfo(SecurityConstants.INNER,beginTime,endTime);
remoteJindieService.ErpSupplierInfo(SecurityConstants.INNER);
}
public void ERPSynMesMaterialInfo(String beginTime, String endTime){
//todo 查询createtime>上次执行时间和updatetime>上次执行时间的,要区分是第一次查询还是后续查询
System.out.println("++同步ERP中物料信息++ErpMesMaterialInfo");
remoteJindieService.ErpMesMaterialInfo(SecurityConstants.INNER,beginTime,endTime);
remoteJindieService.ErpMesMaterialInfo(SecurityConstants.INNER);
}
}

Loading…
Cancel
Save