rev:修改合格证入库回传;
This commit is contained in:
@@ -27,11 +27,11 @@ public class SyncReceiptProcessHandler implements ClassProcess {
|
||||
ErpSec erpSec;
|
||||
|
||||
/**
|
||||
*
|
||||
* 回执单回传
|
||||
*/
|
||||
@Override
|
||||
public JSONObject process(JSONObject from, JSONObject param) {
|
||||
//执行回传
|
||||
//执行回传单
|
||||
String formType = from.getString("form_type");
|
||||
try {
|
||||
String code = from.getString("code");
|
||||
@@ -48,7 +48,9 @@ public class SyncReceiptProcessHandler implements ClassProcess {
|
||||
IdentifyInfo identifyInfo = new IdentifyInfo();
|
||||
BeanUtils.copyProperties(erpSec, identifyInfo);
|
||||
K3CloudApi cloudApi = new K3CloudApi(identifyInfo);
|
||||
String jsonData = formData.toJSONString();
|
||||
String result = cloudApi.save(formid, formData.toJSONString());
|
||||
String ex = result;
|
||||
} catch (Exception ex) {
|
||||
Log.error(ex.getMessage());
|
||||
}
|
||||
|
||||
@@ -2,6 +2,8 @@ package org.nl.wms.pda_manage.group.dto;
|
||||
|
||||
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 java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -43,12 +44,12 @@ public class PdaFormInMst implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* 对应明细:生产入库单,采购入库单-物料FMaterialID
|
||||
* 物料Id
|
||||
*/
|
||||
private String material_id;
|
||||
|
||||
/**
|
||||
* 物料code
|
||||
* 对应明细:生产入库单-关联物料编码FMaterialId/采购入库单-关联物料编码FMaterialId
|
||||
*/
|
||||
private String material_code;
|
||||
|
||||
@@ -95,13 +96,13 @@ public class PdaFormInMst implements Serializable {
|
||||
/**
|
||||
* 对应明细:生产入库单-入库数量FRealQty/采购入库单-采购数量FRealQty
|
||||
*/
|
||||
private Integer qty;
|
||||
private BigDecimal qty;
|
||||
|
||||
|
||||
/**
|
||||
* 对应明细:生产入库单-应收数量FMustQty
|
||||
*/
|
||||
private Integer mustQty;
|
||||
private BigDecimal mustQty;
|
||||
|
||||
|
||||
/**
|
||||
@@ -222,7 +223,6 @@ public class PdaFormInMst implements Serializable {
|
||||
private String taxPrice;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 对应明细:生产入库单-关联订单号Id-FMoId
|
||||
*/
|
||||
|
||||
@@ -24,6 +24,21 @@ public class ReceiveBillData implements Serializable {
|
||||
|
||||
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 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;
|
||||
|
||||
|
||||
// /**
|
||||
// * 自定义表单字段
|
||||
// */
|
||||
// @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.enums.StatusEnum;
|
||||
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.impl.MdMeMaterialbaseServiceImpl;
|
||||
import org.nl.wms.base_manage.measure.service.dao.BmMeasureUnit;
|
||||
@@ -54,6 +56,12 @@ public class PdaIOService {
|
||||
@Autowired
|
||||
BmMeasureUnitServiceImpl bmMeasureUnitServiceImpl;
|
||||
|
||||
|
||||
@Autowired
|
||||
StIvtBsrealstorattrServiceImpl stIvtBsrealstorattrServiceImpl;
|
||||
|
||||
|
||||
|
||||
@Autowired
|
||||
MdMeMaterialbaseServiceImpl mdMeMaterialbaseServiceImpl;
|
||||
|
||||
@@ -143,33 +151,31 @@ public class PdaIOService {
|
||||
PmFormData result = new PmFormData();
|
||||
try {
|
||||
if (id.contains("OP") || id.contains("op")) {
|
||||
//生产入库
|
||||
getOpBills(id, result);
|
||||
} else {
|
||||
//采购入库
|
||||
ReceiveBillData receiveBillData = pmFormDataMapper.queryReceiveBill(id);
|
||||
if (receiveBillData != null) {
|
||||
String form_data = receiveBillData.getForm_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);
|
||||
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.setMaterial_id(receiveBillData.getMaterial_id());
|
||||
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.setBusinessType(StringUtils.isBlank(pFormJson.getString("businessType")) ? "CG" : dFormJson.getString("businessType"));
|
||||
result.setSupplierId(pFormJson.getString("SupplierId_Id"));
|
||||
result.setMoNumber(formJson.getString("OrderBillNo"));
|
||||
result.setQty(new BigDecimal(formJson.getString("ActReceiveQty")));
|
||||
result.setOwnerIdHead_Id(StringUtils.isBlank(pFormJson.getString("OwnerIdHead_Id")) ? "750572" : pFormJson.getString("OwnerIdHead_Id"));
|
||||
result.setOwnerTypeIdHead(StringUtils.isBlank(pFormJson.getString("OwnerTypeIdHead")) ? "BD_OwnerOrg" : pFormJson.getString("OwnerTypeIdHead"));
|
||||
result.setOwnerId_Id(StringUtils.isBlank(formJson.getString("OwnerId_Id")) ? "750572" : formJson.getString("OwnerId_Id"));
|
||||
result.setOwnerTypeId(StringUtils.isBlank(formJson.getString("OwnerTypeId")) ? "BD_OwnerOrg" : formJson.getString("OwnerTypeId"));
|
||||
result.setRemainInStockUnitId(StringUtils.isBlank(formJson.getString("PriceUnitId_Id")) ? receiveBillData.getUnit_id() : formJson.getString("PriceUnitId_Id"));
|
||||
result.setMaterial_id(receiveBillData.getMaterial_id());
|
||||
result.setPcsn(receiveBillData.getPCode());
|
||||
result.setPurchaserId(dFormJson.getString("PurchaserId"));
|
||||
result.setUnit_id(receiveBillData.getUnit_id());
|
||||
result.setQty(new BigDecimal(dFormJson.getString("ActReceiveQty")));
|
||||
result.setTaxPrice(dFormJson.getString("taxPrice"));
|
||||
result.setMoNumber(receiveBillData.getPCode());
|
||||
result.setMoEntryId(receiveBillData.getDId());
|
||||
result.setSrcBillNo(dFormJson.getString("OrderBillNo"));
|
||||
} else {
|
||||
throw new BadRequestException("合格证信息有误!");
|
||||
throw new BadRequestException("查询合格证关联的收料通知单信息异常!");
|
||||
}
|
||||
} else {
|
||||
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()));
|
||||
if (ObjectUtils.isNotEmpty(bmMeasureUnitList)) {
|
||||
result.setUnit_name(bmMeasureUnitList.get(0).getUnit_name());
|
||||
result.setUnit_code(bmMeasureUnitList.get(0).getUnit_code());
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(result.getMaterial_id())) {
|
||||
@@ -192,6 +199,14 @@ public class PdaIOService {
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -212,27 +227,41 @@ public class PdaIOService {
|
||||
List<List<Object>> lists = cloudApi.executeBillQuery(jsonString);
|
||||
if (ObjectUtils.isNotEmpty(lists)) {
|
||||
List<Object> dataList = lists.get(0);
|
||||
if (dataList != null && !dataList.isEmpty()) {
|
||||
result.setBillNo(dataList.get(0).toString());
|
||||
result.setPrdOrgId(dataList.get(1).toString());
|
||||
result.setStockOrgId(dataList.get(2).toString());
|
||||
result.setMaterial_id(dataList.get(3).toString());
|
||||
result.setMaterial_name(dataList.get(4).toString());
|
||||
result.setMaterial_spec(dataList.get(5).toString());
|
||||
result.setQty(new BigDecimal(dataList.get(6).toString()));
|
||||
result.setUnit_id(dataList.get(7).toString());
|
||||
result.setOwnerId_Id(dataList.get(8).toString());
|
||||
result.setPcsn(dataList.get(9).toString());
|
||||
result.setProduct_area(dataList.get(10).toString());
|
||||
result.setMoNumber(dataList.get(11).toString());
|
||||
result.setMoEntrySeq(dataList.get(12).toString());
|
||||
result.setOwnerTypeId(StringUtils.isBlank(dataList.get(13).toString()) ? "BD_OwnerOrg" : dataList.get(13).toString());
|
||||
result.setKeeperId("750572");
|
||||
result.setKeeperTypeId("BD_KeeperOrg");
|
||||
result.setStockStatusId("10000");
|
||||
//查询仓库信息
|
||||
String stockId = pmFormDataMapper.queryOrderStockId(result.getMoNumber(), result.getMoEntrySeq());
|
||||
result.setStockId(stockId);
|
||||
if (ObjectUtils.isNotEmpty(dataList)) {
|
||||
//查询生产订单信息
|
||||
ReceiveBillData prdMoBillData = pmFormDataMapper.queryOrderStockId(dataList.get(11).toString(),dataList.get(12).toString());
|
||||
if (prdMoBillData == null) {
|
||||
throw new BadRequestException("查询合格证关联的生产订单信息异常!");
|
||||
}
|
||||
String pForm_data = prdMoBillData.getPForm_data();
|
||||
String dForm_data = prdMoBillData.getDForm_data();
|
||||
JSONObject pFormJson = JSONObject.parseObject(pForm_data);
|
||||
JSONObject dFormJson = JSONObject.parseObject(dForm_data);
|
||||
if (ObjectUtils.isNotEmpty(dFormJson) && ObjectUtils.isNotEmpty(pFormJson)) {
|
||||
result.setBillNo(dataList.get(0).toString());
|
||||
result.setPrdOrgId((pFormJson.getString("PrdOrgId")));
|
||||
result.setStockOrgId((dFormJson.getString("StockOrgId")));
|
||||
result.setOwnerIdHead_Id((dFormJson.getString("InStockOwnerId")));
|
||||
result.setMoNumber(dataList.get(11).toString());
|
||||
result.setMoId(prdMoBillData.getPId());
|
||||
result.setMoEntryId(prdMoBillData.getDId());
|
||||
result.setSrcBillNo(dFormJson.getString("saleOrderEntryId"));
|
||||
result.setMaterial_id(dataList.get(3).toString());
|
||||
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 {
|
||||
throw new BadRequestException("未查询到该合格证信息!");
|
||||
|
||||
@@ -39,11 +39,12 @@ public interface IPmFormDataService extends IService<PmFormData> {
|
||||
|
||||
/**
|
||||
* 一对多同步改成一对一同步
|
||||
* @param formMapping
|
||||
* @param mappingJson
|
||||
* @param formType
|
||||
* @param sourceString
|
||||
* @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;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
* 对应明细:生产入库单-入库数量FRealQty/采购入库单-采购数量FRealQty
|
||||
*/
|
||||
private BigDecimal qty;
|
||||
/**
|
||||
@@ -158,20 +158,6 @@ public class PmFormData implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String stockOrgId;
|
||||
|
||||
/**
|
||||
* 货主
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String ownerId_Id;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 货主1
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String ownerIdHead_Id;
|
||||
|
||||
|
||||
/**
|
||||
* 货主类型1
|
||||
@@ -179,7 +165,11 @@ public class PmFormData implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String ownerTypeIdHead;
|
||||
|
||||
|
||||
/**
|
||||
* 对应表头:生产入库单-货主FOwnerId0
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String ownerIdHead_Id;
|
||||
|
||||
/**
|
||||
* 物料名称
|
||||
@@ -202,30 +192,19 @@ public class PmFormData implements Serializable {
|
||||
private String material_spec;
|
||||
|
||||
/**
|
||||
* 物料编码
|
||||
* 对应明细:生产入库单-关联物料编码FMaterialId/采购入库单-关联物料编码FMaterialId
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String material_code;
|
||||
|
||||
/**
|
||||
* 生产车间
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String product_area;
|
||||
|
||||
/**
|
||||
* ERP仓库
|
||||
* 对应明细:生产入库单,采购入库单-单位FUnitCode
|
||||
*/
|
||||
@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)
|
||||
private String unit_name;
|
||||
|
||||
|
||||
/**
|
||||
* 货主类型
|
||||
* 对应明细:生产入库单-货主类型FOwnerTypeId,默认(BD_OwnerOrg)
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
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)
|
||||
private String keeperTypeId;
|
||||
|
||||
|
||||
/**
|
||||
* 保管者
|
||||
* 对应明细:生产入库单-保管者FKeeperId
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String keeperId;
|
||||
|
||||
|
||||
/**
|
||||
* 库存状态
|
||||
* 对应表头:采购入库单-业务类型FBusinessType:默认(CG)
|
||||
*/
|
||||
@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);
|
||||
|
||||
|
||||
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);
|
||||
|
||||
|
||||
@@ -159,8 +159,18 @@
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="queryOrderStockId" resultType="java.lang.String">
|
||||
SELECT d.bar_code
|
||||
<select id="queryOrderStockId" resultType="org.nl.wms.pda_manage.iostorage.server.dto.ReceiveBillData">
|
||||
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
|
||||
JOIN pm_form_data p ON d.parent_id = p.id
|
||||
WHERE p.CODE = #{code}
|
||||
@@ -168,10 +178,13 @@
|
||||
</select>
|
||||
<select id="queryReceiveBill" resultType="org.nl.wms.pda_manage.iostorage.server.dto.ReceiveBillData">
|
||||
SELECT d.unit_id,
|
||||
d.id AS dId,
|
||||
d.pcsn,
|
||||
d.form_data,
|
||||
d.material_id,
|
||||
d.bar_code,
|
||||
d.form_data AS dForm_data,
|
||||
p.id AS pId,
|
||||
p.code AS pCode,
|
||||
p.form_data AS pForm_data
|
||||
FROM pm_form_data d
|
||||
|
||||
@@ -70,7 +70,7 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
||||
if (syncFormMapping == null) {
|
||||
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);
|
||||
return pmFormDatas.size();
|
||||
}
|
||||
@@ -80,14 +80,13 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
||||
*
|
||||
*/
|
||||
@Override
|
||||
public List<PmFormData> syncAnalyse(SyncFormMapping formMapping, String sourceString) {
|
||||
public List<PmFormData> syncAnalyse(JSONArray mappingJson, String formType,Boolean dtlSplit,String sourceString) {
|
||||
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) {
|
||||
throw new BadRequestException("当前表单无配置信息" + formMapping.getForm_type());
|
||||
throw new BadRequestException("当前表单无配置信息" + formType);
|
||||
}
|
||||
List<PmFormData> result = new ArrayList<>();
|
||||
Boolean dtlSplit = formMapping.getDtl_split();
|
||||
//直接取
|
||||
JSONObject sourceData = JSONObject.parseObject(sourceString);
|
||||
// if (StringUtils.isNotEmpty(convertJson)){
|
||||
@@ -95,27 +94,27 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
||||
// }else {
|
||||
// sourceData = JSONObject.parseObject(sourceString);
|
||||
// }
|
||||
JSONArray mappingJson = formMapping.getMapping_json();
|
||||
JSONArray newMappingJson =mappingJson;
|
||||
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++) {
|
||||
JSONObject itemTarget = items_arr.get(i);
|
||||
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_name", SecurityUtils.getCurrentNickName());
|
||||
PmFormData dtl = itemTarget.toJavaObject(PmFormData.class);
|
||||
result.add(dtl);
|
||||
}
|
||||
} else {
|
||||
JSONObject target = mappingParse(mappingJson, one, sourceData);
|
||||
JSONObject target = mappingParse(newMappingJson, one, sourceData);
|
||||
Object items = target.remove("item");
|
||||
target.put("id",
|
||||
StringUtils.isEmpty(target.getString("biz_id"))
|
||||
? IdUtil.getStringId() : target.getString("biz_id"));
|
||||
target.put("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_name", SecurityUtils.getCurrentNickName());
|
||||
PmFormData mst = target.toJavaObject(PmFormData.class);
|
||||
|
||||
@@ -104,7 +104,9 @@ public class SyncFormMappingController {
|
||||
if (analyseData == null){
|
||||
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){
|
||||
formDataService.saveBatch(pmFormDatas);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.nl.wms.system_manage.service.quartz.task;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
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.QueryWrapper;
|
||||
import com.kingdee.bos.webapi.entity.*;
|
||||
@@ -54,18 +55,22 @@ public class SyncErpBillsScheduleService {
|
||||
MDC.put("requestIp", "127.0.0.1");
|
||||
MDC.put("requestTime", DateUtil.now());
|
||||
LuceneAppender.traceIdTL.set(BaseCode.intToChars(IdUtil.getLongId()));
|
||||
List<SyncFormMapping> list = syncFormMappingServiceImpl.list(new LambdaQueryWrapper<SyncFormMapping>().eq(SyncFormMapping::getForm_type, "PUR_ReceiveBill"));
|
||||
list.forEach(this::syncData);
|
||||
List<SyncFormMapping> list = syncFormMappingServiceImpl.list(new LambdaQueryWrapper<SyncFormMapping>().in(SyncFormMapping::getForm_type, "PRD_MO"));
|
||||
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 {
|
||||
LuceneAppender.traceIdTL.remove();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void syncData(SyncFormMapping syncFormMapping) {
|
||||
public void syncData(String mappingJson, String formType, Boolean dtlSplit) {
|
||||
boolean islock = lock.tryLock();
|
||||
try {
|
||||
if (islock) {
|
||||
@@ -74,10 +79,11 @@ public class SyncErpBillsScheduleService {
|
||||
BeanUtils.copyProperties(erpSec, identifyInfo);
|
||||
K3CloudApi cloudApi = new K3CloudApi(identifyInfo);
|
||||
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();
|
||||
query.setFilterString(filterString);
|
||||
query.setFormId(syncFormMapping.getForm_type());
|
||||
query.setFormId(formType);
|
||||
query.setFieldKeys("FID");
|
||||
query.setLimit(0);
|
||||
String jsonString = JSON.toJSONString(query);
|
||||
@@ -98,7 +104,7 @@ public class SyncErpBillsScheduleService {
|
||||
Map<String, String> error = new HashMap<>();
|
||||
for (String id : ids) {
|
||||
param.setId(id);
|
||||
OperatorResult view = cloudApi.view(syncFormMapping.getForm_type(), param);
|
||||
OperatorResult view = cloudApi.view(formType, param);
|
||||
RepoStatus status = view.getResult().getResponseStatus();
|
||||
if (status.isIsSuccess()) {
|
||||
result.add(view.getResult().getResult());
|
||||
@@ -114,7 +120,8 @@ public class SyncErpBillsScheduleService {
|
||||
List<PmFormData> pmFormDataAll = new ArrayList<>();
|
||||
for (Object r : result) {
|
||||
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(
|
||||
|
||||
Reference in New Issue
Block a user