diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/TemplateInstanceDataRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/TemplateInstanceDataRespVO.java index 9dd2a17..b5e3385 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/TemplateInstanceDataRespVO.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/TemplateInstanceDataRespVO.java @@ -29,6 +29,10 @@ public class TemplateInstanceDataRespVO { @ExcelProperty("字段标识;关联字段库") private String fldKy; + @Schema(description = "字段結構", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("字段結構;") + private String fldDoc; + @Schema(description = "用户填写的值", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("用户填写的值") private String fldVal; diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/tmpltp/TemplateInstanceDataDO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/tmpltp/TemplateInstanceDataDO.java index ca0b381..c188ed0 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/tmpltp/TemplateInstanceDataDO.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/tmpltp/TemplateInstanceDataDO.java @@ -48,4 +48,8 @@ public class TemplateInstanceDataDO extends BusinessBaseDO { @TableField(exist = false) private String fldName; + @TableField(exist = false) + private String fldDoc; + + } diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceServiceImpl.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceServiceImpl.java index c4c9ee5..97820d1 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceServiceImpl.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceServiceImpl.java @@ -417,6 +417,7 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService { tmplTpListByValKeys.forEach(tmplTpFldDO -> { if (templateInstanceDataRespVO.getFldKy().equals(tmplTpFldDO.getFldKy())) { templateInstanceDataRespVO.setFldName(tmplTpFldDO.getFldName()); + templateInstanceDataRespVO.setFldDoc(tmplTpFldDO.getFldDoc()); } }); }); diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/ContractApi.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/ContractApi.java index 2a289f9..217a20d 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/ContractApi.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/ContractApi.java @@ -65,4 +65,6 @@ public interface ContractApi { @GetMapping(PREFIX + "/po-order-detail-by-ids") @Operation(summary = "通过采购订单详情id批量获取消费订单详情") CommonResult> getPoOrderDetailByIds(@RequestParam("ids") List ids); + + //销售采购融合。主子表 } diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/order/OrdDtlDTO.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/order/OrdDtlDTO.java new file mode 100644 index 0000000..1473575 --- /dev/null +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/order/OrdDtlDTO.java @@ -0,0 +1,288 @@ +package com.zt.plat.module.contractorder.api.dto.order; + +import lombok.Data; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +public class OrdDtlDTO { + + // ========================== 公共属性(两个类均存在,统一保留)========================== + /** + * 主键 + */ + private Long id; + + /** + * 订单主键(PrchOrdDtlDTO.ordId / SalesOrdDtlDTO.orderId 统一命名) Y + */ + private Long orderId; + + /** + * 行项目;推送ERP(必须)(PrchOrdDtlDTO.lineNum / SalesOrdDtlDTO.lineNumber 统一命名)Y + */ + private Long lineNum; + + /** + * 物料名称(PrchOrdDtlDTO.mtrlName / SalesOrdDtlDTO.materialName 统一命名)Y + */ + private String mtrlName; + + /** + * 物料编码;推送ERP(必须)(PrchOrdDtlDTO.mtrlNum / SalesOrdDtlDTO.materialNumber 统一命名)Y + */ + private String mtrlNum; + + /** + * 工厂名称(PrchOrdDtlDTO.rcvFactName / SalesOrdDtlDTO.factoryName 统一命名) Y + */ + private String factoryName; + + /** + * 工厂编码;推送ERP(必须)(PrchOrdDtlDTO.rcvFactNum / SalesOrdDtlDTO.factoryNumber 统一命名)Y + */ + private String factoryNum; + + /** + * 库位名称(PrchOrdDtlDTO.rcvWrhName / SalesOrdDtlDTO.warehouseName 统一命名)Y + */ + private String warehouseName; + + /** + * 库位编码;推送ERP(PrchOrdDtlDTO.rcvWrhNum / SalesOrdDtlDTO.warehouseNumber 统一命名)Y + */ + private String warehouseNum; + + /** + * 计量单位;推送ERP(必须)(PrchOrdDtlDTO.unt / SalesOrdDtlDTO.unit 统一命名)Y + */ + private String unit; + + /** + * 暂估数量;推送ERP(必须)(PrchOrdDtlDTO.qty / SalesOrdDtlDTO.quantity 统一命名,类型统一为BigDecimal)Y + */ + private BigDecimal quantity; + + /** + * 项目类别;推送ERP(PrchOrdDtlDTO.prjCtgr / SalesOrdDtlDTO.projectCategory 统一命名) + */ + private String projectCategory; + + /** + * 小协议号(PrchOrdDtlDTO.agrNum / SalesOrdDtlDTO.agreementNumber 统一命名)Y + */ + private String agreementNumber; + + /** + * 金属元素缩写(PrchOrdDtlDTO.elemAbbr / SalesOrdDtlDTO.elementAbbreviation 统一命名)Y + */ + private String elementAbbreviation; + + /** + * 金属元素名称(PrchOrdDtlDTO.elemName / SalesOrdDtlDTO.elementName 统一命名)Y + */ + private String elementName; + + /** + * 金属元素编码(PrchOrdDtlDTO.elemCdg / SalesOrdDtlDTO.elementNumber 统一命名)Y + */ + private String elementCode; + + /** + * 是否启用(字典:ERP_CTRT_YN);处理明细中多个相同物料,只能允许一种物料启用(PrchOrdDtlDTO.isEnb / SalesOrdDtlDTO.isEnable 统一命名)Y + */ + private String isEnable; + + + /** + * 税码(字典: PRCH_TAX);推送ERP Y + */ + private String taxNum; + + // ========================== 采购订单特有属性(PrchOrdDtlDTO 独有)========================== + /** + * 含税单价;推送ERP(必须) + */ + private BigDecimal inTaxUprc; + + /** + * 价格单位;推送ERP + */ + private BigDecimal prcUnt; + + /** + * 是否基于GR的发票校验;推送ERP + */ + private String isGrInv; + + /** + * 是否允许无限制收货;推送ERP + */ + private String isUnlRcv; + + /** + * 批次;推送ERP + */ + private String bat; + + /** + * 科目分配类别(字典: PRCH_ACTS_CTGR);推送ERP:联动订单类型,固定资产订单A,服务订单S-销售服务费K-成本中心F-订单 + */ + private String actsCtgr; + + /** + * 物料组编码(字典: PRCH_MATERIAL_GROUP);推送ERP:联动订单类型,服务订单必传 Y + */ + private String mtrlCpntNum; + + /** + * 物料组描述;推送ERP:联动订单类型,服务订单必传 Y + */ + private String mtrlCpntDsp; + + /** + * 短文本 Y + */ + private String shrtTxt; + + /** + * 退货标识X标识退货;推送ERP + */ + private String isRlbkCgo; + + /** + * 是否免费收货标识X;推送ERP + */ + private String isFreeRcv; + + /** + * 外部行项目号;推送ERP + */ + private Long outLineNum; + + /** + * 备注信息-需求单位;推送ERP + */ + private String rmkUnt; + + /** + * 备注信息-物料详细;推送ERP + */ + private String rmkMtrl; + + /** + * 交货起始日期;推送ERP Y + */ + private LocalDateTime bgnDt; + + /** + * 交货截止日期;推送ERP Y + */ + private LocalDateTime ddlDt; + + /** + * 已收货量 + */ + private BigDecimal lstQty; + + /** + * 已移库量库;存针对该订单产生的移库量 + */ + private BigDecimal trfQty; + + /** + * 移库工厂名称 Y + */ + private String trfFactName; + + /** + * 移库工厂编码 Y + */ + private String trfFactNum; + + /** + * 移库库位名称 Y + */ + private String trfWrhName; + + /** + * 移库库位编码 Y + */ + private String trfWrhNum; + + /** + * 备注 Y + */ + private String rmk; + + /** + * 原料湿重;推送ERP + */ + private BigDecimal origWet; + + /** + * 销售物料号;推送ERP:科目分配类别为S时必填 + */ + private String saleMtrlNum; + + /** + * 统计型内部订单;推送ERP + */ + private String inOrd; + + /** + * 采购类别;推送ERP:0-生产性物资类1-项目投资类 + */ + private String prchCtgr; + + /** + * 科目分配详情;科目分配类别为K或P时使用(JSON) + */ + private String actsCtgrDtl; + + /** + * 委托加工详情;委托加工订单使用(JSON) + */ + private String enttDtl; + + // ========================== 销售订单特有属性(SalesOrdDtlDTO 独有)========================== + /** + * 开票类型;推送ERP(必须) + */ + private String invoiceType; + +// /** +// * 稅分类(字典:SALE_TAX);推送ERP(必须) +// */ +// private String taxAcctasscat; + + /** + * 装运地点;推送ERP + */ + private String shippingPlace; + + /** + * 物料科目分配组;推送ERP(必须) + */ + private String metalAcctasscatGroup; + + /** + * 总价 + */ + private BigDecimal gross; + + /** + * 税率 Y + */ + private BigDecimal taxRte; + + /** + * 价格条件详情;推送ERP(必须):JSON + */ + private String priceConditionDetail; + + /** + * 来料加工原料详情;推送ERP:订单类型(JSON) + */ + private String originDetail; +} diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/order/PurchaseOrderWithDetailsDTO.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/order/PurchaseOrderWithDetailsDTO.java index 020f5c0..a67db32 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/order/PurchaseOrderWithDetailsDTO.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/order/PurchaseOrderWithDetailsDTO.java @@ -109,6 +109,11 @@ public class PurchaseOrderWithDetailsDTO { * 物料编码 */ private String materialNumber; + + /** + * 单位 + */ + private String unt; /** * 物料名称 */ diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/salesorder/SalesOrderController.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/salesorder/SalesOrderController.java index 15467c3..2ee17b3 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/salesorder/SalesOrderController.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/salesorder/SalesOrderController.java @@ -100,6 +100,20 @@ public class SalesOrderController implements BusinessControllerMarker { return success(salesOrderRespVO); } + @GetMapping("/order-no") + @Operation(summary = "通过订单号获得销售订单") + @Parameter(name = "orderNo", description = "订单号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('base:sales-order:query')") + public CommonResult getSalesOrderByNo(@RequestParam("orderNo") String orderNo) { + SalesOrderDO purchaseOrder = salesOrderService.getSalesOrderByOrderNo(orderNo); + SalesOrderRespVO salesOrderRespVO = BeanUtils.toBean(purchaseOrder, SalesOrderRespVO.class); + if (salesOrderRespVO == null) { + return success(null); + } + salesOrderService.setSalesOrderDetail(salesOrderRespVO); + return success(salesOrderRespVO); + } + @GetMapping("/page") @Operation(summary = "获得销售订单分页") @PreAuthorize("@ss.hasPermission('base:sales-order:query')") diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/purchaseorder/PurchaseOrderDO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/purchaseorder/PurchaseOrderDO.java index 9d3b4f1..239e6eb 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/purchaseorder/PurchaseOrderDO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/purchaseorder/PurchaseOrderDO.java @@ -278,4 +278,9 @@ public class PurchaseOrderDO extends BusinessBaseDO { @TableField("SALE_ACS_NAME") private String saleAcsName; + /** + * 税率 + */ + @TableField("TAX_RTE") + private BigDecimal taxRte; } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderService.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderService.java index 50ba33f..84a7011 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderService.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderService.java @@ -121,4 +121,11 @@ public interface SalesOrderService { * */ void updateOrderStatusByIdOrOrderNo(OrderStsReqVO req); + /** + * 获取订单详情 + * + * @param orderNo 订单编号 + * + */ + SalesOrderDO getSalesOrderByOrderNo(String orderNo); } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderServiceImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderServiceImpl.java index 79be6c4..e47f6de 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderServiceImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderServiceImpl.java @@ -524,6 +524,8 @@ public class SalesOrderServiceImpl implements SalesOrderService { salesOrderMapper.update(new LambdaUpdateWrapper().in(reqVO.getOrderNos() != null, SalesOrderDO::getSystemOrderNumber, reqVO.getOrderNos()).in(reqVO.getIds() != null, SalesOrderDO::getId, reqVO.getIds()).set(SalesOrderDO::getStatus, reqVO.getSts())); } + + private void validateSalesOrderNosExists(List orderNos) { List list = salesOrderMapper.selectList(new LambdaQueryWrapper().in(SalesOrderDO::getSystemOrderNumber, orderNos)); if (CollUtil.isEmpty(list) || list.size() != orderNos.size()) { @@ -546,4 +548,9 @@ public class SalesOrderServiceImpl implements SalesOrderService { int number = (int) (Math.random() * 900000 + 100000); return String.valueOf(number); } + + @Override + public SalesOrderDO getSalesOrderByOrderNo(String orderNo) { + return salesOrderMapper.selectOne(SalesOrderDO::getSystemOrderNumber, orderNo); + } }