rev:修改合格证入库回传;
This commit is contained in:
@@ -27,11 +27,11 @@ public class SyncReceiptProcessHandler implements ClassProcess {
|
|||||||
ErpSec erpSec;
|
ErpSec erpSec;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* 回执单回传
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public JSONObject process(JSONObject from, JSONObject param) {
|
public JSONObject process(JSONObject from, JSONObject param) {
|
||||||
//执行回传
|
//执行回传单
|
||||||
String formType = from.getString("form_type");
|
String formType = from.getString("form_type");
|
||||||
try {
|
try {
|
||||||
String code = from.getString("code");
|
String code = from.getString("code");
|
||||||
@@ -48,7 +48,9 @@ public class SyncReceiptProcessHandler implements ClassProcess {
|
|||||||
IdentifyInfo identifyInfo = new IdentifyInfo();
|
IdentifyInfo identifyInfo = new IdentifyInfo();
|
||||||
BeanUtils.copyProperties(erpSec, identifyInfo);
|
BeanUtils.copyProperties(erpSec, identifyInfo);
|
||||||
K3CloudApi cloudApi = new K3CloudApi(identifyInfo);
|
K3CloudApi cloudApi = new K3CloudApi(identifyInfo);
|
||||||
|
String jsonData = formData.toJSONString();
|
||||||
String result = cloudApi.save(formid, formData.toJSONString());
|
String result = cloudApi.save(formid, formData.toJSONString());
|
||||||
|
String ex = result;
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
Log.error(ex.getMessage());
|
Log.error(ex.getMessage());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ package org.nl.wms.pda_manage.group.dto;
|
|||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 组盘入库物料明细数据
|
* 组盘入库物料明细数据
|
||||||
*/
|
*/
|
||||||
@@ -38,7 +40,7 @@ public class MaterItem {
|
|||||||
/**
|
/**
|
||||||
* 物料数量
|
* 物料数量
|
||||||
*/
|
*/
|
||||||
private Integer qty;
|
private BigDecimal qty;
|
||||||
/**
|
/**
|
||||||
* 载具编码
|
* 载具编码
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package org.nl.wms.pda_manage.iostorage.server.dto;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -43,12 +44,12 @@ public class PdaFormInMst implements Serializable {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 对应明细:生产入库单,采购入库单-物料FMaterialID
|
* 物料Id
|
||||||
*/
|
*/
|
||||||
private String material_id;
|
private String material_id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 物料code
|
* 对应明细:生产入库单-关联物料编码FMaterialId/采购入库单-关联物料编码FMaterialId
|
||||||
*/
|
*/
|
||||||
private String material_code;
|
private String material_code;
|
||||||
|
|
||||||
@@ -95,13 +96,13 @@ public class PdaFormInMst implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 对应明细:生产入库单-入库数量FRealQty/采购入库单-采购数量FRealQty
|
* 对应明细:生产入库单-入库数量FRealQty/采购入库单-采购数量FRealQty
|
||||||
*/
|
*/
|
||||||
private Integer qty;
|
private BigDecimal qty;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 对应明细:生产入库单-应收数量FMustQty
|
* 对应明细:生产入库单-应收数量FMustQty
|
||||||
*/
|
*/
|
||||||
private Integer mustQty;
|
private BigDecimal mustQty;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -222,7 +223,6 @@ public class PdaFormInMst implements Serializable {
|
|||||||
private String taxPrice;
|
private String taxPrice;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 对应明细:生产入库单-关联订单号Id-FMoId
|
* 对应明细:生产入库单-关联订单号Id-FMoId
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -24,6 +24,21 @@ public class ReceiveBillData implements Serializable {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* FMoId
|
||||||
|
*/
|
||||||
|
private String pId;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* FMoEntryId
|
||||||
|
*/
|
||||||
|
private String dId;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 单据编码
|
* 单据编码
|
||||||
*/
|
*/
|
||||||
@@ -34,10 +49,12 @@ public class ReceiveBillData implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private String material_id;
|
private String material_id;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 数量
|
* 数量
|
||||||
*/
|
*/
|
||||||
private BigDecimal ActReceiveQty;
|
private BigDecimal qty;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -54,7 +71,7 @@ public class ReceiveBillData implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 自定义表单字段
|
* 自定义表单字段
|
||||||
*/
|
*/
|
||||||
private String form_data;
|
private String dForm_data;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 自定义表单字段父级
|
* 自定义表单字段父级
|
||||||
@@ -62,17 +79,6 @@ public class ReceiveBillData implements Serializable {
|
|||||||
private String pForm_data;
|
private String pForm_data;
|
||||||
|
|
||||||
|
|
||||||
// /**
|
|
||||||
// * 自定义表单字段
|
|
||||||
// */
|
|
||||||
// @TableField(typeHandler = FastjsonTypeHandler.class)
|
|
||||||
// private JSONObject form_data = new JSONObject();
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 自定义表单字段父级
|
|
||||||
// */
|
|
||||||
// @TableField(typeHandler = FastjsonTypeHandler.class)
|
|
||||||
// private JSONObject pForm_data = new JSONObject();
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
import org.nl.common.domain.exception.BadRequestException;
|
import org.nl.common.domain.exception.BadRequestException;
|
||||||
import org.nl.common.enums.StatusEnum;
|
import org.nl.common.enums.StatusEnum;
|
||||||
import org.nl.common.utils.*;
|
import org.nl.common.utils.*;
|
||||||
|
import org.nl.wms.base_manage.bsrealstorattr.service.dao.StIvtBsrealstorattr;
|
||||||
|
import org.nl.wms.base_manage.bsrealstorattr.service.impl.StIvtBsrealstorattrServiceImpl;
|
||||||
import org.nl.wms.base_manage.material.service.dao.MdMeMaterialbase;
|
import org.nl.wms.base_manage.material.service.dao.MdMeMaterialbase;
|
||||||
import org.nl.wms.base_manage.material.service.impl.MdMeMaterialbaseServiceImpl;
|
import org.nl.wms.base_manage.material.service.impl.MdMeMaterialbaseServiceImpl;
|
||||||
import org.nl.wms.base_manage.measure.service.dao.BmMeasureUnit;
|
import org.nl.wms.base_manage.measure.service.dao.BmMeasureUnit;
|
||||||
@@ -54,6 +56,12 @@ public class PdaIOService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
BmMeasureUnitServiceImpl bmMeasureUnitServiceImpl;
|
BmMeasureUnitServiceImpl bmMeasureUnitServiceImpl;
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
StIvtBsrealstorattrServiceImpl stIvtBsrealstorattrServiceImpl;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
MdMeMaterialbaseServiceImpl mdMeMaterialbaseServiceImpl;
|
MdMeMaterialbaseServiceImpl mdMeMaterialbaseServiceImpl;
|
||||||
|
|
||||||
@@ -143,33 +151,31 @@ public class PdaIOService {
|
|||||||
PmFormData result = new PmFormData();
|
PmFormData result = new PmFormData();
|
||||||
try {
|
try {
|
||||||
if (id.contains("OP") || id.contains("op")) {
|
if (id.contains("OP") || id.contains("op")) {
|
||||||
|
//生产入库
|
||||||
getOpBills(id, result);
|
getOpBills(id, result);
|
||||||
} else {
|
} else {
|
||||||
|
//采购入库
|
||||||
ReceiveBillData receiveBillData = pmFormDataMapper.queryReceiveBill(id);
|
ReceiveBillData receiveBillData = pmFormDataMapper.queryReceiveBill(id);
|
||||||
if (receiveBillData != null) {
|
if (receiveBillData != null) {
|
||||||
String form_data = receiveBillData.getForm_data();
|
|
||||||
String pForm_data = receiveBillData.getPForm_data();
|
String pForm_data = receiveBillData.getPForm_data();
|
||||||
JSONObject formJson = JSONObject.parseObject(form_data);
|
String dForm_data = receiveBillData.getDForm_data();
|
||||||
JSONObject pFormJson = JSONObject.parseObject(pForm_data);
|
JSONObject pFormJson = JSONObject.parseObject(pForm_data);
|
||||||
if (ObjectUtils.isNotEmpty(formJson) && ObjectUtils.isNotEmpty(pFormJson)) {
|
JSONObject dFormJson = JSONObject.parseObject(dForm_data);
|
||||||
|
if (ObjectUtils.isNotEmpty(dFormJson) && ObjectUtils.isNotEmpty(pFormJson)) {
|
||||||
result.setBillNo(receiveBillData.getPCode());
|
result.setBillNo(receiveBillData.getPCode());
|
||||||
result.setMaterial_id(receiveBillData.getMaterial_id());
|
result.setBusinessType(StringUtils.isBlank(pFormJson.getString("businessType")) ? "CG" : dFormJson.getString("businessType"));
|
||||||
result.setUnit_id(receiveBillData.getUnit_id());
|
|
||||||
result.setPcsn(receiveBillData.getPcsn());
|
|
||||||
result.setPrdOrgId(pFormJson.getString("PurOrgId_Id"));
|
|
||||||
result.setStockOrgId(pFormJson.getString("DemandOrgId_Id"));
|
|
||||||
result.setOwnerIdHead_Id(pFormJson.getString("OwnerIdHead_Id"));
|
|
||||||
result.setOwnerTypeIdHead(pFormJson.getString("OwnerTypeIdHead"));
|
|
||||||
result.setSupplierId(pFormJson.getString("SupplierId_Id"));
|
result.setSupplierId(pFormJson.getString("SupplierId_Id"));
|
||||||
result.setMoNumber(formJson.getString("OrderBillNo"));
|
result.setMaterial_id(receiveBillData.getMaterial_id());
|
||||||
result.setQty(new BigDecimal(formJson.getString("ActReceiveQty")));
|
result.setPcsn(receiveBillData.getPCode());
|
||||||
result.setOwnerIdHead_Id(StringUtils.isBlank(pFormJson.getString("OwnerIdHead_Id")) ? "750572" : pFormJson.getString("OwnerIdHead_Id"));
|
result.setPurchaserId(dFormJson.getString("PurchaserId"));
|
||||||
result.setOwnerTypeIdHead(StringUtils.isBlank(pFormJson.getString("OwnerTypeIdHead")) ? "BD_OwnerOrg" : pFormJson.getString("OwnerTypeIdHead"));
|
result.setUnit_id(receiveBillData.getUnit_id());
|
||||||
result.setOwnerId_Id(StringUtils.isBlank(formJson.getString("OwnerId_Id")) ? "750572" : formJson.getString("OwnerId_Id"));
|
result.setQty(new BigDecimal(dFormJson.getString("ActReceiveQty")));
|
||||||
result.setOwnerTypeId(StringUtils.isBlank(formJson.getString("OwnerTypeId")) ? "BD_OwnerOrg" : formJson.getString("OwnerTypeId"));
|
result.setTaxPrice(dFormJson.getString("taxPrice"));
|
||||||
result.setRemainInStockUnitId(StringUtils.isBlank(formJson.getString("PriceUnitId_Id")) ? receiveBillData.getUnit_id() : formJson.getString("PriceUnitId_Id"));
|
result.setMoNumber(receiveBillData.getPCode());
|
||||||
|
result.setMoEntryId(receiveBillData.getDId());
|
||||||
|
result.setSrcBillNo(dFormJson.getString("OrderBillNo"));
|
||||||
} else {
|
} else {
|
||||||
throw new BadRequestException("合格证信息有误!");
|
throw new BadRequestException("查询合格证关联的收料通知单信息异常!");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new BadRequestException("未查询到该合格证信息!");
|
throw new BadRequestException("未查询到该合格证信息!");
|
||||||
@@ -182,6 +188,7 @@ public class PdaIOService {
|
|||||||
List<BmMeasureUnit> bmMeasureUnitList = bmMeasureUnitServiceImpl.list(new LambdaQueryWrapper<BmMeasureUnit>().eq(BmMeasureUnit::getUnit_id, result.getUnit_id()));
|
List<BmMeasureUnit> bmMeasureUnitList = bmMeasureUnitServiceImpl.list(new LambdaQueryWrapper<BmMeasureUnit>().eq(BmMeasureUnit::getUnit_id, result.getUnit_id()));
|
||||||
if (ObjectUtils.isNotEmpty(bmMeasureUnitList)) {
|
if (ObjectUtils.isNotEmpty(bmMeasureUnitList)) {
|
||||||
result.setUnit_name(bmMeasureUnitList.get(0).getUnit_name());
|
result.setUnit_name(bmMeasureUnitList.get(0).getUnit_name());
|
||||||
|
result.setUnit_code(bmMeasureUnitList.get(0).getUnit_code());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotBlank(result.getMaterial_id())) {
|
if (StringUtils.isNotBlank(result.getMaterial_id())) {
|
||||||
@@ -192,6 +199,14 @@ public class PdaIOService {
|
|||||||
result.setMaterial_name(materialbaseList.get(0).getMaterial_name());
|
result.setMaterial_name(materialbaseList.get(0).getMaterial_name());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (StringUtils.isNotBlank(result.getStockId())) {
|
||||||
|
List<StIvtBsrealstorattr> storattrList = stIvtBsrealstorattrServiceImpl.list(new LambdaQueryWrapper<StIvtBsrealstorattr>().eq(StIvtBsrealstorattr::getId, result.getStockId()));
|
||||||
|
if (ObjectUtils.isNotEmpty(storattrList)) {
|
||||||
|
result.setStockId(storattrList.get(0).getStor_code());
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
result.setStockId("0");
|
||||||
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -212,27 +227,41 @@ public class PdaIOService {
|
|||||||
List<List<Object>> lists = cloudApi.executeBillQuery(jsonString);
|
List<List<Object>> lists = cloudApi.executeBillQuery(jsonString);
|
||||||
if (ObjectUtils.isNotEmpty(lists)) {
|
if (ObjectUtils.isNotEmpty(lists)) {
|
||||||
List<Object> dataList = lists.get(0);
|
List<Object> dataList = lists.get(0);
|
||||||
if (dataList != null && !dataList.isEmpty()) {
|
if (ObjectUtils.isNotEmpty(dataList)) {
|
||||||
result.setBillNo(dataList.get(0).toString());
|
//查询生产订单信息
|
||||||
result.setPrdOrgId(dataList.get(1).toString());
|
ReceiveBillData prdMoBillData = pmFormDataMapper.queryOrderStockId(dataList.get(11).toString(),dataList.get(12).toString());
|
||||||
result.setStockOrgId(dataList.get(2).toString());
|
if (prdMoBillData == null) {
|
||||||
result.setMaterial_id(dataList.get(3).toString());
|
throw new BadRequestException("查询合格证关联的生产订单信息异常!");
|
||||||
result.setMaterial_name(dataList.get(4).toString());
|
}
|
||||||
result.setMaterial_spec(dataList.get(5).toString());
|
String pForm_data = prdMoBillData.getPForm_data();
|
||||||
result.setQty(new BigDecimal(dataList.get(6).toString()));
|
String dForm_data = prdMoBillData.getDForm_data();
|
||||||
result.setUnit_id(dataList.get(7).toString());
|
JSONObject pFormJson = JSONObject.parseObject(pForm_data);
|
||||||
result.setOwnerId_Id(dataList.get(8).toString());
|
JSONObject dFormJson = JSONObject.parseObject(dForm_data);
|
||||||
result.setPcsn(dataList.get(9).toString());
|
if (ObjectUtils.isNotEmpty(dFormJson) && ObjectUtils.isNotEmpty(pFormJson)) {
|
||||||
result.setProduct_area(dataList.get(10).toString());
|
result.setBillNo(dataList.get(0).toString());
|
||||||
result.setMoNumber(dataList.get(11).toString());
|
result.setPrdOrgId((pFormJson.getString("PrdOrgId")));
|
||||||
result.setMoEntrySeq(dataList.get(12).toString());
|
result.setStockOrgId((dFormJson.getString("StockOrgId")));
|
||||||
result.setOwnerTypeId(StringUtils.isBlank(dataList.get(13).toString()) ? "BD_OwnerOrg" : dataList.get(13).toString());
|
result.setOwnerIdHead_Id((dFormJson.getString("InStockOwnerId")));
|
||||||
result.setKeeperId("750572");
|
result.setMoNumber(dataList.get(11).toString());
|
||||||
result.setKeeperTypeId("BD_KeeperOrg");
|
result.setMoId(prdMoBillData.getPId());
|
||||||
result.setStockStatusId("10000");
|
result.setMoEntryId(prdMoBillData.getDId());
|
||||||
//查询仓库信息
|
result.setSrcBillNo(dFormJson.getString("saleOrderEntryId"));
|
||||||
String stockId = pmFormDataMapper.queryOrderStockId(result.getMoNumber(), result.getMoEntrySeq());
|
result.setMaterial_id(dataList.get(3).toString());
|
||||||
result.setStockId(stockId);
|
result.setPcsn(dataList.get(11).toString());
|
||||||
|
result.setUnit_id(dataList.get(7).toString());
|
||||||
|
result.setWorkShopId1(dFormJson.getString("product_code"));
|
||||||
|
result.setQty(prdMoBillData.getQty());
|
||||||
|
result.setMustQty(prdMoBillData.getQty());
|
||||||
|
result.setInStockType("1");
|
||||||
|
result.setOwnerTypeId(StringUtils.isBlank(dataList.get(13).toString()) ? "BD_OwnerOrg" : dataList.get(13).toString());
|
||||||
|
result.setOwnerId_Id(dFormJson.getString("InStockOwnerId"));
|
||||||
|
result.setStockStatusId("10000");
|
||||||
|
result.setStockId(dFormJson.getString("stockId"));
|
||||||
|
result.setKeeperId((dFormJson.getString("StockOrgId")));
|
||||||
|
result.setKeeperTypeId("BD_KeeperOrg");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
throw new BadRequestException("查询合格证关联的生产订单信息异常!");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new BadRequestException("未查询到该合格证信息!");
|
throw new BadRequestException("未查询到该合格证信息!");
|
||||||
|
|||||||
@@ -39,11 +39,12 @@ public interface IPmFormDataService extends IService<PmFormData> {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 一对多同步改成一对一同步
|
* 一对多同步改成一对一同步
|
||||||
* @param formMapping
|
* @param mappingJson
|
||||||
|
* @param formType
|
||||||
* @param sourceString
|
* @param sourceString
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<PmFormData> syncAnalyse(SyncFormMapping formMapping, String sourceString);
|
List<PmFormData> syncAnalyse(JSONArray mappingJson, String formType,Boolean dtlSplit,String sourceString);
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ public class PmFormData implements Serializable {
|
|||||||
private String material_id;
|
private String material_id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 数量
|
* 对应明细:生产入库单-入库数量FRealQty/采购入库单-采购数量FRealQty
|
||||||
*/
|
*/
|
||||||
private BigDecimal qty;
|
private BigDecimal qty;
|
||||||
/**
|
/**
|
||||||
@@ -158,20 +158,6 @@ public class PmFormData implements Serializable {
|
|||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String stockOrgId;
|
private String stockOrgId;
|
||||||
|
|
||||||
/**
|
|
||||||
* 货主
|
|
||||||
*/
|
|
||||||
@TableField(exist = false)
|
|
||||||
private String ownerId_Id;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 货主1
|
|
||||||
*/
|
|
||||||
@TableField(exist = false)
|
|
||||||
private String ownerIdHead_Id;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 货主类型1
|
* 货主类型1
|
||||||
@@ -179,7 +165,11 @@ public class PmFormData implements Serializable {
|
|||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String ownerTypeIdHead;
|
private String ownerTypeIdHead;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对应表头:生产入库单-货主FOwnerId0
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String ownerIdHead_Id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 物料名称
|
* 物料名称
|
||||||
@@ -202,30 +192,19 @@ public class PmFormData implements Serializable {
|
|||||||
private String material_spec;
|
private String material_spec;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 物料编码
|
* 对应明细:生产入库单-关联物料编码FMaterialId/采购入库单-关联物料编码FMaterialId
|
||||||
*/
|
*/
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String material_code;
|
private String material_code;
|
||||||
|
|
||||||
/**
|
|
||||||
* 生产车间
|
|
||||||
*/
|
|
||||||
@TableField(exist = false)
|
|
||||||
private String product_area;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ERP仓库
|
* 对应明细:生产入库单,采购入库单-单位FUnitCode
|
||||||
*/
|
*/
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String stockId;
|
private String unit_code;
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 生产订单编号
|
|
||||||
*/
|
|
||||||
@TableField(exist = false)
|
|
||||||
private String moNumber;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生产订单行号
|
* 生产订单行号
|
||||||
*/
|
*/
|
||||||
@@ -245,12 +224,18 @@ public class PmFormData implements Serializable {
|
|||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String unit_name;
|
private String unit_name;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 货主类型
|
* 对应明细:生产入库单-货主类型FOwnerTypeId,默认(BD_OwnerOrg)
|
||||||
*/
|
*/
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String ownerTypeId;
|
private String ownerTypeId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对应明细:生产入库单-货主FOwnerId
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String ownerId_Id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 供应商
|
* 供应商
|
||||||
@@ -266,25 +251,100 @@ public class PmFormData implements Serializable {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保管者类型
|
* 对应明细:生产入库单-关联订单号FMoBillNo/采购入库单-关联订单号FPoOrderNo
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String moNumber;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对应明细:生产入库单-关联订单号Id-FMoId
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String moId;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对应明细:生产入库单-关联订单号明细Id-FMoEntryId/采购入库单-关联订单号明细FPoOrderEntryId
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String moEntryId;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对应明细:生产入库单-关联源头订单号明细Id-FSrcEntryId/采购入库单-关联源头订单号编号FSrcBillNo
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String srcBillNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对应明细:生产入库单-生产车间FWorkShopId1
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String workShopId1;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对应明细:生产入库单-应收数量FMustQty
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private BigDecimal mustQty;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对应明细:生产入库单-入库类型FInStockType,默认: 1
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String inStockType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对应明细:生产入库单-库存状态FStockStatusId,默认: 10000
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String stockStatusId;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对应明细:生产入库单-ERP仓库FStockId
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String stockId;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对应明细:生产入库单-保管者类型FKeeperTypeId,默认(BD_KeeperOrg)
|
||||||
*/
|
*/
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String keeperTypeId;
|
private String keeperTypeId;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保管者
|
* 对应明细:生产入库单-保管者FKeeperId
|
||||||
*/
|
*/
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String keeperId;
|
private String keeperId;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 库存状态
|
* 对应表头:采购入库单-业务类型FBusinessType:默认(CG)
|
||||||
*/
|
*/
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String stockStatusId;
|
private String businessType;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对应明细:采购入库单-采购员FPurchaserId
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String purchaserId;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对应明细:生产入库单-含税价FTaxPrice
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String taxPrice;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ public interface PmFormDataMapper extends BaseMapper<PmFormData> {
|
|||||||
void dynamicSql(@Param("sql")String sql);
|
void dynamicSql(@Param("sql")String sql);
|
||||||
|
|
||||||
|
|
||||||
String queryOrderStockId(@Param("code")String code,@Param("seq")String seq);
|
ReceiveBillData queryOrderStockId(@Param("code")String code,@Param("seq")String seq);
|
||||||
|
|
||||||
ReceiveBillData queryReceiveBill(@Param("bar_code")String bar_code);
|
ReceiveBillData queryReceiveBill(@Param("bar_code")String bar_code);
|
||||||
|
|
||||||
|
|||||||
@@ -159,8 +159,18 @@
|
|||||||
</foreach>
|
</foreach>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="queryOrderStockId" resultType="java.lang.String">
|
<select id="queryOrderStockId" resultType="org.nl.wms.pda_manage.iostorage.server.dto.ReceiveBillData">
|
||||||
SELECT d.bar_code
|
SELECT d.unit_id,
|
||||||
|
d.id AS dId,
|
||||||
|
d.pcsn,
|
||||||
|
d.qty,
|
||||||
|
d.form_data,
|
||||||
|
d.material_id,
|
||||||
|
d.bar_code,
|
||||||
|
d.form_data AS dForm_data,
|
||||||
|
p.form_data AS pForm_data,
|
||||||
|
p.id AS pId,
|
||||||
|
p.code AS pCode
|
||||||
FROM pm_form_data d
|
FROM pm_form_data d
|
||||||
JOIN pm_form_data p ON d.parent_id = p.id
|
JOIN pm_form_data p ON d.parent_id = p.id
|
||||||
WHERE p.CODE = #{code}
|
WHERE p.CODE = #{code}
|
||||||
@@ -168,10 +178,13 @@
|
|||||||
</select>
|
</select>
|
||||||
<select id="queryReceiveBill" resultType="org.nl.wms.pda_manage.iostorage.server.dto.ReceiveBillData">
|
<select id="queryReceiveBill" resultType="org.nl.wms.pda_manage.iostorage.server.dto.ReceiveBillData">
|
||||||
SELECT d.unit_id,
|
SELECT d.unit_id,
|
||||||
|
d.id AS dId,
|
||||||
d.pcsn,
|
d.pcsn,
|
||||||
d.form_data,
|
d.form_data,
|
||||||
d.material_id,
|
d.material_id,
|
||||||
d.bar_code,
|
d.bar_code,
|
||||||
|
d.form_data AS dForm_data,
|
||||||
|
p.id AS pId,
|
||||||
p.code AS pCode,
|
p.code AS pCode,
|
||||||
p.form_data AS pForm_data
|
p.form_data AS pForm_data
|
||||||
FROM pm_form_data d
|
FROM pm_form_data d
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
|||||||
if (syncFormMapping == null) {
|
if (syncFormMapping == null) {
|
||||||
throw new BadRequestException("当前表单无同步配置信息");
|
throw new BadRequestException("当前表单无同步配置信息");
|
||||||
}
|
}
|
||||||
List<PmFormData> pmFormDatas = this.syncAnalyse(syncFormMapping, dataString);
|
List<PmFormData> pmFormDatas = this.syncAnalyse(syncFormMapping.getMapping_json(),syncFormMapping.getForm_type(), syncFormMapping.getDtl_split(),dataString);
|
||||||
this.saveBatch(pmFormDatas);
|
this.saveBatch(pmFormDatas);
|
||||||
return pmFormDatas.size();
|
return pmFormDatas.size();
|
||||||
}
|
}
|
||||||
@@ -80,14 +80,13 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<PmFormData> syncAnalyse(SyncFormMapping formMapping, String sourceString) {
|
public List<PmFormData> syncAnalyse(JSONArray mappingJson, String formType,Boolean dtlSplit,String sourceString) {
|
||||||
try {
|
try {
|
||||||
BmFormStruc one = formStrucService.getOne(new QueryWrapper<BmFormStruc>().eq("form_type", formMapping.getForm_type()));
|
BmFormStruc one = formStrucService.getOne(new QueryWrapper<BmFormStruc>().eq("form_type",formType));
|
||||||
if (one == null) {
|
if (one == null) {
|
||||||
throw new BadRequestException("当前表单无配置信息" + formMapping.getForm_type());
|
throw new BadRequestException("当前表单无配置信息" + formType);
|
||||||
}
|
}
|
||||||
List<PmFormData> result = new ArrayList<>();
|
List<PmFormData> result = new ArrayList<>();
|
||||||
Boolean dtlSplit = formMapping.getDtl_split();
|
|
||||||
//直接取
|
//直接取
|
||||||
JSONObject sourceData = JSONObject.parseObject(sourceString);
|
JSONObject sourceData = JSONObject.parseObject(sourceString);
|
||||||
// if (StringUtils.isNotEmpty(convertJson)){
|
// if (StringUtils.isNotEmpty(convertJson)){
|
||||||
@@ -95,27 +94,27 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
|||||||
// }else {
|
// }else {
|
||||||
// sourceData = JSONObject.parseObject(sourceString);
|
// sourceData = JSONObject.parseObject(sourceString);
|
||||||
// }
|
// }
|
||||||
JSONArray mappingJson = formMapping.getMapping_json();
|
JSONArray newMappingJson =mappingJson;
|
||||||
if (dtlSplit) {
|
if (dtlSplit) {
|
||||||
List<JSONObject> items_arr = mappingParseList(mappingJson, one, sourceData);
|
List<JSONObject> items_arr = mappingParseList(newMappingJson, one, sourceData);
|
||||||
for (int i = 0; i < items_arr.size(); i++) {
|
for (int i = 0; i < items_arr.size(); i++) {
|
||||||
JSONObject itemTarget = items_arr.get(i);
|
JSONObject itemTarget = items_arr.get(i);
|
||||||
itemTarget.put("id", IdUtil.getStringId());
|
itemTarget.put("id", IdUtil.getStringId());
|
||||||
itemTarget.put("code", CodeUtil.getNewCode(formMapping.getForm_type()));
|
itemTarget.put("code", CodeUtil.getNewCode(formType));
|
||||||
itemTarget.put("create_time", DateUtil.now());
|
itemTarget.put("create_time", DateUtil.now());
|
||||||
itemTarget.put("create_name", SecurityUtils.getCurrentNickName());
|
itemTarget.put("create_name", SecurityUtils.getCurrentNickName());
|
||||||
PmFormData dtl = itemTarget.toJavaObject(PmFormData.class);
|
PmFormData dtl = itemTarget.toJavaObject(PmFormData.class);
|
||||||
result.add(dtl);
|
result.add(dtl);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
JSONObject target = mappingParse(mappingJson, one, sourceData);
|
JSONObject target = mappingParse(newMappingJson, one, sourceData);
|
||||||
Object items = target.remove("item");
|
Object items = target.remove("item");
|
||||||
target.put("id",
|
target.put("id",
|
||||||
StringUtils.isEmpty(target.getString("biz_id"))
|
StringUtils.isEmpty(target.getString("biz_id"))
|
||||||
? IdUtil.getStringId() : target.getString("biz_id"));
|
? IdUtil.getStringId() : target.getString("biz_id"));
|
||||||
target.put("code",
|
target.put("code",
|
||||||
StringUtils.isEmpty(target.getString("biz_code"))
|
StringUtils.isEmpty(target.getString("biz_code"))
|
||||||
? CodeUtil.getNewCode(formMapping.getForm_type()) : target.getString("biz_code"));
|
? CodeUtil.getNewCode(formType) : target.getString("biz_code"));
|
||||||
target.put("create_time", DateUtil.now());
|
target.put("create_time", DateUtil.now());
|
||||||
target.put("create_name", SecurityUtils.getCurrentNickName());
|
target.put("create_name", SecurityUtils.getCurrentNickName());
|
||||||
PmFormData mst = target.toJavaObject(PmFormData.class);
|
PmFormData mst = target.toJavaObject(PmFormData.class);
|
||||||
|
|||||||
@@ -104,7 +104,9 @@ public class SyncFormMappingController {
|
|||||||
if (analyseData == null){
|
if (analyseData == null){
|
||||||
throw new BadRequestException("解析数据不能为空");
|
throw new BadRequestException("解析数据不能为空");
|
||||||
}
|
}
|
||||||
List<PmFormData> pmFormDatas = formDataService.syncAnalyse(form.toJavaObject(SyncFormMapping.class), (String) analyseData);
|
JSONArray jsonArray = JSONArray.parseArray(form.getString("mapping_json"));
|
||||||
|
boolean dtlSplit =Boolean.parseBoolean(form.getString("mapping_json"));
|
||||||
|
List<PmFormData> pmFormDatas = formDataService.syncAnalyse(jsonArray,form.getString("form_type"),dtlSplit,(String) analyseData);
|
||||||
if (needSave!=null && (Boolean)needSave){
|
if (needSave!=null && (Boolean)needSave){
|
||||||
formDataService.saveBatch(pmFormDatas);
|
formDataService.saveBatch(pmFormDatas);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package org.nl.wms.system_manage.service.quartz.task;
|
|||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.kingdee.bos.webapi.entity.*;
|
import com.kingdee.bos.webapi.entity.*;
|
||||||
@@ -54,18 +55,22 @@ public class SyncErpBillsScheduleService {
|
|||||||
MDC.put("requestIp", "127.0.0.1");
|
MDC.put("requestIp", "127.0.0.1");
|
||||||
MDC.put("requestTime", DateUtil.now());
|
MDC.put("requestTime", DateUtil.now());
|
||||||
LuceneAppender.traceIdTL.set(BaseCode.intToChars(IdUtil.getLongId()));
|
LuceneAppender.traceIdTL.set(BaseCode.intToChars(IdUtil.getLongId()));
|
||||||
List<SyncFormMapping> list = syncFormMappingServiceImpl.list(new LambdaQueryWrapper<SyncFormMapping>().eq(SyncFormMapping::getForm_type, "PUR_ReceiveBill"));
|
List<SyncFormMapping> list = syncFormMappingServiceImpl.list(new LambdaQueryWrapper<SyncFormMapping>().in(SyncFormMapping::getForm_type, "PRD_MO"));
|
||||||
list.forEach(this::syncData);
|
for (SyncFormMapping m : list) {
|
||||||
|
JSONArray mappingJson = m.getMapping_json();
|
||||||
|
String mappingString = JSON.toJSONString(mappingJson);
|
||||||
|
syncData(mappingString, m.getForm_type(), m.getDtl_split());
|
||||||
|
}
|
||||||
|
// list.forEach(this::syncData);
|
||||||
} finally {
|
} finally {
|
||||||
LuceneAppender.traceIdTL.remove();
|
LuceneAppender.traceIdTL.remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public void syncData(SyncFormMapping syncFormMapping) {
|
public void syncData(String mappingJson, String formType, Boolean dtlSplit) {
|
||||||
boolean islock = lock.tryLock();
|
boolean islock = lock.tryLock();
|
||||||
try {
|
try {
|
||||||
if (islock) {
|
if (islock) {
|
||||||
@@ -74,10 +79,11 @@ public class SyncErpBillsScheduleService {
|
|||||||
BeanUtils.copyProperties(erpSec, identifyInfo);
|
BeanUtils.copyProperties(erpSec, identifyInfo);
|
||||||
K3CloudApi cloudApi = new K3CloudApi(identifyInfo);
|
K3CloudApi cloudApi = new K3CloudApi(identifyInfo);
|
||||||
String today = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
|
String today = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
|
||||||
String filterString = "FCreateDate >= '" + "2024-11-27" + " 00:00:00' and FCreateDate <= '" + today + " 23:59:59'";
|
//String filterString = "FCreateDate >= '" + "2024-11-01" + " 00:00:00' and FCreateDate <= '" + today + " 23:59:59'";
|
||||||
|
String filterString = "FCreateDate >= '2024-11-22 00:00:00' and FCreateDate <= '2024-11-22 23:59:59'";
|
||||||
ErpQuery query = new ErpQuery();
|
ErpQuery query = new ErpQuery();
|
||||||
query.setFilterString(filterString);
|
query.setFilterString(filterString);
|
||||||
query.setFormId(syncFormMapping.getForm_type());
|
query.setFormId(formType);
|
||||||
query.setFieldKeys("FID");
|
query.setFieldKeys("FID");
|
||||||
query.setLimit(0);
|
query.setLimit(0);
|
||||||
String jsonString = JSON.toJSONString(query);
|
String jsonString = JSON.toJSONString(query);
|
||||||
@@ -98,7 +104,7 @@ public class SyncErpBillsScheduleService {
|
|||||||
Map<String, String> error = new HashMap<>();
|
Map<String, String> error = new HashMap<>();
|
||||||
for (String id : ids) {
|
for (String id : ids) {
|
||||||
param.setId(id);
|
param.setId(id);
|
||||||
OperatorResult view = cloudApi.view(syncFormMapping.getForm_type(), param);
|
OperatorResult view = cloudApi.view(formType, param);
|
||||||
RepoStatus status = view.getResult().getResponseStatus();
|
RepoStatus status = view.getResult().getResponseStatus();
|
||||||
if (status.isIsSuccess()) {
|
if (status.isIsSuccess()) {
|
||||||
result.add(view.getResult().getResult());
|
result.add(view.getResult().getResult());
|
||||||
@@ -114,7 +120,8 @@ public class SyncErpBillsScheduleService {
|
|||||||
List<PmFormData> pmFormDataAll = new ArrayList<>();
|
List<PmFormData> pmFormDataAll = new ArrayList<>();
|
||||||
for (Object r : result) {
|
for (Object r : result) {
|
||||||
log.info(JSON.toJSONString(r));
|
log.info(JSON.toJSONString(r));
|
||||||
pmFormDataAll.addAll(formDataService.syncAnalyse(syncFormMapping, JSON.toJSONString(r)));
|
JSONArray mappingJsonArray = JSONArray.parseArray(mappingJson);
|
||||||
|
pmFormDataAll.addAll(formDataService.syncAnalyse(mappingJsonArray, formType, dtlSplit, JSON.toJSONString(r)));
|
||||||
}
|
}
|
||||||
//今天已同步单据
|
//今天已同步单据
|
||||||
List<PmFormData> existFormDataList = formDataService.list(
|
List<PmFormData> existFormDataList = formDataService.list(
|
||||||
|
|||||||
Reference in New Issue
Block a user