订单新增字段,元素实体类修改

This commit is contained in:
潘荣晟
2025-12-25 10:41:39 +08:00
parent cc5ba069b6
commit 80128e275d
8 changed files with 53 additions and 26 deletions

View File

@@ -14,7 +14,11 @@ public enum OrderStatusEnum {
IN_PROGRESS("IN_PROGRESS", "执行中"),
// 关闭状态
CLOSED("CLOSE", "关闭"),
REJECTED("REJECT", "驳回");
REJECTED("REJECT", "驳回"),
FIND("FIND", "ERP提交成功"),
RLBK("RLBK", "ERP提交失败"),
RCVG("RCVG", "ERP执行中"),
WAIT("WAIT", "ERP待上传");
/** 状态编码 */
private final String code;

View File

@@ -200,4 +200,6 @@ public class PurchaseOrderRespVO {
@ExcelProperty("货权转移类型(字典ASY_MTNG_TP)")
private String meteringType;
@Schema(description = "erp失败原因")
private String issueCause;
}

View File

@@ -224,4 +224,7 @@ public class SalesOrderRespVO {
@ExcelProperty("货权转移类型(字典ASY_MTNG_TP)")
private String meteringType;
@Schema(description = "erp失败原因")
private String issueCause;
}

View File

@@ -289,4 +289,11 @@ public class PurchaseOrderDO extends BusinessBaseDO {
*/
@TableField("MTNG_TP")
private String meteringType;
/**
* erp失败原因
*/
@TableField("ISS_CAUS")
private String issueCause;
}

View File

@@ -308,4 +308,7 @@ public class SalesOrderDO extends BusinessBaseDO {
*/
@TableField("MTNG_TP")
private String meteringType;
@TableField("ISS_CAUS")
private String issueCause;
}

View File

@@ -18,6 +18,7 @@ import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.*;
import com.zt.plat.module.contractorder.dal.dataobject.contract.SystemRelativityDO;
import com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PrchOrdDtlDO;
import com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PurchaseOrderDO;
import com.zt.plat.module.contractorder.dal.dataobject.salesorder.SalesOrderDO;
import com.zt.plat.module.contractorder.dal.mysql.contract.SystemRelativityMapper;
import com.zt.plat.module.contractorder.dal.mysql.purchaseorder.PrchOrdDtlMapper;
import com.zt.plat.module.contractorder.dal.mysql.purchaseorder.PurchaseOrderMapper;
@@ -90,11 +91,8 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
public PurchaseOrderRespVO createPurchaseOrder(PurchaseOrderSaveReqVO createReqVO) {
// 插入
PurchaseOrderDO purchaseOrder = BeanUtils.toBean(createReqVO, PurchaseOrderDO.class);
if (Objects.equals(createReqVO.getIsPush(), 1)) {
purchaseOrder.setStatus(OrderStatusEnum.DRAFT.getCode()); //设置初始状态
} else {
purchaseOrder.setStatus(OrderStatusEnum.TO_SUBMIT_ERP.getCode());
}
purchaseOrder.setIsPush(0);
purchaseOrder.setStatus(OrderStatusEnum.IN_PROGRESS.getCode());
//生成订单号
String orderNumber = generateOrderNumber(purchaseOrder.getMtrlTp());
purchaseOrder.setSystemOrderNumber(orderNumber);
@@ -348,28 +346,30 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
}
//todo 4. 推送ERP并处理返回结果
// String s = erpOrderService.submitOrderToErp061(erpOrderSaveReqVO);
// String result = erpOrderService.submitOrderToErp061(erpOrderSaveReqVO);
log.info("订单推送成功,订单id【{}】", order.getId());
String result="3333";
// 解析ERP返回的ID
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(Map.of("id",R())));
String erpId = jsonObject.getString("id");
if (erpId != null && !erpId.isEmpty()) {
// 更新订单的ERP编号
PurchaseOrderDO updateDO = new PurchaseOrderDO();
updateDO.setId(order.getId());
updateDO.setOrderSAPNumber(erpId);
updateDO.setStatus(OrderStatusEnum.IN_PROGRESS.getCode());
int updateCount = purchaseOrderMapper.updateById(updateDO);
if (updateCount > 0) {
log.info("更新订单ERPID成功,订单id【{}】", order.getId());
} else {
log.error("订单更新失败,订单id【{}】", order.getId());
throw new RuntimeException("订单更新失败");
if (result != null) { //todo 需要改为真实返回的数据
JSONObject job = JSONObject.parseObject(JSONObject.toJSONString(Map.of("salesdocument",R())));
String id = job.containsKey("id")?jsonObject.getString("id"):null;
if (id != null) {
PurchaseOrderDO upVo = new PurchaseOrderDO();
upVo.setId(purchaseOrderWithDetailsVO.getPurchaseOrder().getId());
upVo.setOrderSAPNumber(id);
upVo.setErpStatus(OrderStatusEnum.FIND.getCode());
purchaseOrderMapper.updateById(upVo);
}else {
PurchaseOrderDO upVo = new PurchaseOrderDO();
upVo.setId(purchaseOrderWithDetailsVO.getPurchaseOrder().getId());
upVo.setOrderSAPNumber(id);
upVo.setErpStatus(OrderStatusEnum.RLBK.getCode());
upVo.setCause("ERP返回结果为空");//TODO 这里先写死
purchaseOrderMapper.updateById(upVo);
}
} else {
log.error("ERP返回ID为空,订单id【{}】", order.getId());
throw new RuntimeException("ERP返回ID为空");
}
});
return "ERP推送成功";

View File

@@ -243,12 +243,19 @@ public class SalesOrderServiceImpl implements SalesOrderService {
String result="3333";
if (result != null) {
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(Map.of("salesdocument",R())));
String salesdocument = jsonObject.getString("salesdocument");
String salesdocument = jsonObject.containsKey("salesdocument")?jsonObject.getString("salesdocument"):null;
if (salesdocument != null) {
SalesOrderDO upVo = new SalesOrderDO();
upVo.setId(salesOrderDO.getId());
upVo.setOrderSAPNumber(salesdocument);
upVo.setStatus(OrderStatusEnum.IN_PROGRESS.getCode());
upVo.setErpStatus(OrderStatusEnum.FIND.getCode());
salesOrderMapper.updateById(upVo);
}else {
SalesOrderDO upVo = new SalesOrderDO();
upVo.setId(salesOrderDO.getId());
upVo.setOrderSAPNumber(salesdocument);
upVo.setErpStatus(OrderStatusEnum.RLBK.getCode());
upVo.setCause("ERP返回结果为空");//TODO 这里先写死
salesOrderMapper.updateById(upVo);
}