diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/mysql/base/CompanyRelativityMapper.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/mysql/base/CompanyRelativityMapper.java index c5be9735..330f4ccf 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/mysql/base/CompanyRelativityMapper.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/mysql/base/CompanyRelativityMapper.java @@ -29,5 +29,5 @@ public interface CompanyRelativityMapper extends BaseMapperX getPageByReq(CompanyRelativityPageReqVO pageReqVO); - void removeByIds(@Param("ids")List ids); + void removeByIds(@Param("ids") List ids); } \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/resources/mapper/base/CompanyRelativityMapper.xml b/zt-module-base/zt-module-base-server/src/main/resources/mapper/base/CompanyRelativityMapper.xml index b1a1c069..7a1a3b84 100644 --- a/zt-module-base/zt-module-base-server/src/main/resources/mapper/base/CompanyRelativityMapper.xml +++ b/zt-module-base/zt-module-base-server/src/main/resources/mapper/base/CompanyRelativityMapper.xml @@ -46,7 +46,7 @@ delete from SPLY_CPN_REL where ID in - + #{item} diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/purchaseorder/ErrorCodeConstants.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/purchaseorder/ErrorCodeConstants.java index faf5d2d3..24b95d08 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/purchaseorder/ErrorCodeConstants.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/purchaseorder/ErrorCodeConstants.java @@ -14,5 +14,5 @@ public interface ErrorCodeConstants { ErrorCode PURCHASE_ORDER_NOT_EXISTS = new ErrorCode(1_008_000_001, "采购订单不存在"); ErrorCode ORDER_ID_NOT_EXISTS = new ErrorCode(1_008_000_010, "订单id不能为空"); ErrorCode PRCH_ORD_DTL_NOT_EXISTS = new ErrorCode(1_008_001_001, "采购订单明细不存在"); - ErrorCode PURCHASE_ORDER_STATUS_ERROR = new ErrorCode(1_008_001_020, "订单状态不存在"); + ErrorCode PURCHASE_ORDER_STATUS_ERROR = new ErrorCode(1_008_001_020, "非法的订单状态"); } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/ContractController.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/ContractController.java index 2509b20d..cf602dbf 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/ContractController.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/ContractController.java @@ -98,11 +98,11 @@ public class ContractController implements BusinessControllerMarker { return success(contractService.delete(ids)); } - // TODO @PostMapping("/download") - @Operation(summary = "下载文件 TODO") + @Operation(summary = "下载文件") @PreAuthorize("@ss.hasPermission('base:contract:download')") - public void download() { + public void download(@RequestBody List ids) { + contractService.download(ids); } // TODO diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/ContractSaveReqVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/ContractSaveReqVO.java index 0555c4be..738d3b9b 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/ContractSaveReqVO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/ContractSaveReqVO.java @@ -32,7 +32,7 @@ public class ContractSaveReqVO { // 基础信息 @Schema(description = "附件对象存储") - private String fileObject; + private JSONArray fileObject; @Schema(description = "其它附件对象存储") private JSONArray fileObjectOther; diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/PurchaseOrderController.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/PurchaseOrderController.java index eeaadc32..c26e67db 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/PurchaseOrderController.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/PurchaseOrderController.java @@ -5,6 +5,7 @@ import com.zt.plat.module.contractorder.api.dto.PurchaseOrderWithDetailsDTO; import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.*; import com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PurchaseOrderDO; import com.zt.plat.module.contractorder.service.purchaseorder.PurchaseOrderService; +import io.swagger.v3.oas.annotations.media.Schema; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -127,7 +128,7 @@ public class PurchaseOrderController implements BusinessControllerMarker { @PostMapping("/submit-erp061") @Operation(summary = "推送ERP订单", description = "061')") @PreAuthorize("@ss.hasPermission('bse:purchase-order:update')") - public CommonResult submitErp061(@RequestBody @Validated @NotNull(message = "采购订单id不能为空") List ids) { + public CommonResult submitErp061(@RequestBody @Validated @NotEmpty(message = "采购订单id不能为空") List ids) { return success( purchaseOrderService.submitErp061(ids)); } @PostMapping("/submit-erp062") @@ -145,9 +146,21 @@ public class PurchaseOrderController implements BusinessControllerMarker { } //根据订单id修改订单状态 @PutMapping("/update-order-status") - @Operation(summary = "根据订单id修改订单状态", description = "sts取值于字典名称'采购订单状态',字典类型'PRCH_ORD_STS'`") - public CommonResult updateOrderStatus(@RequestParam("orderId") Long orderId, @RequestParam("sts") String sts){ - return success(purchaseOrderService.updateOrderStatus(orderId,sts)); + @Operation(summary = "批量修改订单状态", description = "sts取值于字典名称'采购订单状态',字典类型'PRCH_ORD_STS' 可以根据订单号和订单id修改") + public CommonResult updateOrderStatus(@RequestBody @Validated PurchaseOrderStsReqVO req){ + purchaseOrderService.updateOrderStatusByIdOrOrderNo(req); + return success(true); + } + + //查询物料接口 + @GetMapping("/material") + @Operation(summary = "查询物料接口") + public CommonResult getMaterialList(@RequestParam + @Schema(description = "采购订单号") + @Validated + @NotEmpty(message = "采购订单号不能为空") + String orderNo){ + return purchaseOrderService.getMaterial(orderNo); } } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/MaterialRespVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/MaterialRespVO.java new file mode 100644 index 00000000..f0b562ea --- /dev/null +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/MaterialRespVO.java @@ -0,0 +1,34 @@ +package com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@Schema(description = "管理后台 - 物料响应 VO") +public class MaterialRespVO { + @Schema(description = "订单号") + private String orderNo; + @Schema(description = "订单id") + private String id; + @Schema(description = "物料类型") + private String materialType; + @Schema(description = "物料单位") + private String materialUnit; + @Schema(description = "物料明细") + private List materialDetails; + + @Data + public static class MaterialDetails { + @Schema(description = "物料名称") + private String materialName; + @Schema(description = "物料编码") + private String materialCode; + @Schema(description = "物料类型") + private String materialType; + @Schema(description = "物料单位") + private String materialUnit; + } +} diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PrchOrdDtlPageReqVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PrchOrdDtlPageReqVO.java index 4e367d63..6bd27870 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PrchOrdDtlPageReqVO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PrchOrdDtlPageReqVO.java @@ -42,7 +42,7 @@ public class PrchOrdDtlPageReqVO extends PageParam { private String qty; @Schema(description = "计量单位;推送ERP(必须)") - private BigDecimal unt; + private String unt; @Schema(description = "含税单价;推送ERP(必须)") private BigDecimal inTaxUprc; diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PrchOrdDtlRespVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PrchOrdDtlRespVO.java index 84208bf5..71b0f983 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PrchOrdDtlRespVO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PrchOrdDtlRespVO.java @@ -55,7 +55,7 @@ public class PrchOrdDtlRespVO { @Schema(description = "计量单位;推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("计量单位;推送ERP(必须)") - private BigDecimal unt; + private String unt; @Schema(description = "含税单价;推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("含税单价;推送ERP(必须)") diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PrchOrdDtlSaveReqVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PrchOrdDtlSaveReqVO.java index 29533ab3..a9c5e28c 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PrchOrdDtlSaveReqVO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PrchOrdDtlSaveReqVO.java @@ -51,8 +51,8 @@ public class PrchOrdDtlSaveReqVO { private String qty; @Schema(description = "计量单位;推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "计量单位;推送ERP(必须)不能为空") - private BigDecimal unt; + @NotEmpty(message = "计量单位;推送ERP(必须)不能为空") + private String unt; @Schema(description = "含税单价;推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "含税单价;推送ERP(必须)不能为空") diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PurchaseOrderPageReqVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PurchaseOrderPageReqVO.java index 9a916173..34df2ce2 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PurchaseOrderPageReqVO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PurchaseOrderPageReqVO.java @@ -54,6 +54,9 @@ public class PurchaseOrderPageReqVO extends PageParam { @Schema(description = "采购组编码(字典:PRCH_GRP_TP);推送ERP(必须)") private String purchaseGroup; + @Schema(description = "计量单位") + private String unt; + @Schema(description = "货币码(字典:CUR);推送ERP(必须)") private String currencyNumber; diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PurchaseOrderRespVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PurchaseOrderRespVO.java index 6264d862..069cc2b8 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PurchaseOrderRespVO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PurchaseOrderRespVO.java @@ -65,6 +65,9 @@ public class PurchaseOrderRespVO { @ExcelProperty("收货库位编码;推送ERP") private String receiveWarehouseNumber; + @Schema(description = "计量单位") + private String unt; + @Schema(description = "采购组编码(字典:PRCH_GRP_TP);推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("采购组编码(字典:PRCH_GRP_TP);推送ERP(必须)") private String purchaseGroup; diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PurchaseOrderSaveReqVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PurchaseOrderSaveReqVO.java index bd3ceea1..7592715e 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PurchaseOrderSaveReqVO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PurchaseOrderSaveReqVO.java @@ -99,6 +99,11 @@ public class PurchaseOrderSaveReqVO { // @NotEmpty(message = "订单编码不能为空") // private String orderNumber; + + @Schema(description = "计量单位") + @NotEmpty(message = "计量单位(unt)不能为空") + private String unt; + @Schema(description = "系统合同编号", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "系统合同编号不能为空") private String contractNumber; diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PurchaseOrderStsReqVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PurchaseOrderStsReqVO.java new file mode 100644 index 00000000..84c56053 --- /dev/null +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/PurchaseOrderStsReqVO.java @@ -0,0 +1,23 @@ +package com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import lombok.Data; + + +import java.util.List; + + +@Schema(description = "管理后台 - 采购订单状态 Request VO") +@Data +@ExcelIgnoreUnannotated +public class PurchaseOrderStsReqVO { + @Schema(description = "采购订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "26419") + private List ids; + @Schema(description = "采购订单状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotEmpty(message = "采购订单状态不能为空") + private String sts; + @Schema(description = "采购订单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private List orderNos; +} diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/purchaseorder/PrchOrdDtlDO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/purchaseorder/PrchOrdDtlDO.java index 8aab3f91..4810f44d 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/purchaseorder/PrchOrdDtlDO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/purchaseorder/PrchOrdDtlDO.java @@ -89,7 +89,7 @@ public class PrchOrdDtlDO extends BusinessBaseDO { * 计量单位;推送ERP(必须) */ @TableField("UNT") - private BigDecimal unt; + private String unt; /** * 含税单价;推送ERP(必须) */ 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 a68f1f6e..334fbbd6 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 @@ -238,6 +238,11 @@ public class PurchaseOrderDO extends BusinessBaseDO { @TableField("IS_PUSH") private int isPush; + /** + * 计量单位 + */ + @TableField("UNT") + private String unt; /** * 物料字典 diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractService.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractService.java index bae6e202..74b74e9e 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractService.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractService.java @@ -159,4 +159,11 @@ public interface ContractService { * @return 关联结果 */ Boolean relation(RelationReqVo reqVo); + + /** + * 下载文件 + * + * @param ids 合同ID集合 + */ + void download(List ids); } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java index a363f61b..6b6c639e 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java @@ -1,7 +1,9 @@ package com.zt.plat.module.contractorder.service.contract; +import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; @@ -29,6 +31,8 @@ import com.zt.plat.module.erp.controller.admin.erp.vo.ErpContractSaveReqVO; import com.zt.plat.module.erp.dal.dataobject.erp.ErpContractDO; import com.zt.plat.module.erp.service.erp.ErpCompanyService; import com.zt.plat.module.erp.service.erp.ErpContractService; +import com.zt.plat.module.infra.api.file.FileApi; +import com.zt.plat.module.infra.api.file.dto.FileRespDTO; import com.zt.plat.module.system.api.user.AdminUserApi; import com.zt.plat.module.system.api.user.dto.AdminUserRespDTO; import jakarta.annotation.Resource; @@ -96,6 +100,8 @@ public class ContractServiceImpl implements ContractService { private ErpContractService erpContractService; @Resource private SystemRelativityMapper systemRelativityMapper; + @Resource + private FileApi fileApi; @Override public PageResult getContractPage(ContractPageReqVO pageReqVO) { @@ -1352,6 +1358,24 @@ public class ContractServiceImpl implements ContractService { return insert > 0; } + @Override + public void download(List ids) { + try { + // 遍历合同ID集合 + ids.forEach(id -> { + + // 查询合同信息 + ContractMainDO contractMainDO = contractMainMapper.selectById(id); + JSONArray fileObjectOther = new JSONArray(contractMainDO.getFileObjectOther()); + System.out.println(fileObjectOther); + CommonResult fileRespDTOResult = fileApi + .getFile(fileObjectOther.getJSONObject(0).getLong("id")); + }); + } catch (Exception e) { + e.printStackTrace(); + } + } + /** * 校验合同内容 * diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PrchOrdDtlService.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PrchOrdDtlService.java index d3804bec..0454f86d 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PrchOrdDtlService.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PrchOrdDtlService.java @@ -75,4 +75,6 @@ public interface PrchOrdDtlService { * @param ordIds 编号 */ void deletePrchOrdDtlListByOrdIds(List ordIds); + + List getDetailsByOrderId(Long ordId); } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PrchOrdDtlServiceImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PrchOrdDtlServiceImpl.java index 308f59a7..03840137 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PrchOrdDtlServiceImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PrchOrdDtlServiceImpl.java @@ -113,4 +113,10 @@ public class PrchOrdDtlServiceImpl implements PrchOrdDtlService { deletePrchOrdDtlListByIds(convertList(prchOrdDtlDOS, PrchOrdDtlDO::getId)); } + @Override + public List getDetailsByOrderId(Long ordId) { + + return prchOrdDtlMapper.selectList(new LambdaQueryWrapper<>(PrchOrdDtlDO.class).eq(PrchOrdDtlDO::getOrdId, ordId)); + } + } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderService.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderService.java index e6506a3a..69edf059 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderService.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderService.java @@ -2,6 +2,7 @@ package com.zt.plat.module.contractorder.service.purchaseorder; import java.util.*; +import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.*; import com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PurchaseOrderDO; import jakarta.validation.*; @@ -83,4 +84,7 @@ public interface PurchaseOrderService { List getOrderByOrderNo(List orderNo); void setOrderDetails(PurchaseOrderRespVO purchaseOrderRespVO); + void updateOrderStatusByIdOrOrderNo(PurchaseOrderStsReqVO reqVO); + + CommonResult getMaterial(String orderNo); } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderServiceImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderServiceImpl.java index fe7f6535..1d823452 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderServiceImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderServiceImpl.java @@ -4,6 +4,8 @@ import cn.hutool.core.collection.CollUtil; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; import com.zt.plat.module.bpm.api.task.BpmProcessInstanceApi; import com.zt.plat.module.bpm.api.task.BpmTaskApi; @@ -125,6 +127,12 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService { prchOrdDtlService.deletePrchOrdDtlListByOrdIds(ids); } + private void validatePurchaseOrderNosExists(List orderNos){ + List list = purchaseOrderMapper.selectList(new LambdaQueryWrapper().in(PurchaseOrderDO::getSystemOrderNumber, orderNos)); + if (CollUtil.isEmpty(list) || list.size() != orderNos.size()) { + throw exception(PURCHASE_ORDER_NOT_EXISTS); + } + } private void validatePurchaseOrderExists(List ids) { List list = purchaseOrderMapper.selectByIds(ids); @@ -317,6 +325,62 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService { purchaseOrderRespVO.setPrchOrdDtlRespVOS(BeanUtils.toBean(prchOrdDtlDOS, PrchOrdDtlRespVO.class)); } + @Override + public void updateOrderStatusByIdOrOrderNo(PurchaseOrderStsReqVO reqVO) { + // 校验存在 + if (reqVO.getIds()!=null){ + validatePurchaseOrderExists(reqVO.getIds()); + } + if (reqVO.getOrderNos()!=null){ + validatePurchaseOrderNosExists(reqVO.getOrderNos()); + } + PurchaseOrderStatusEnum byCode = PurchaseOrderStatusEnum.getByCode(reqVO.getSts()); + if (byCode == null) { + throw exception(PURCHASE_ORDER_STATUS_ERROR); + } + purchaseOrderMapper.update(new LambdaUpdateWrapper().in(reqVO.getOrderNos()!=null,PurchaseOrderDO::getSystemOrderNumber, reqVO.getOrderNos()).in(reqVO.getIds()!=null,PurchaseOrderDO::getId, reqVO.getIds()).set(PurchaseOrderDO::getStatus, reqVO.getSts())); + } + + @Override + public CommonResult getMaterial(String orderNo) { + PurchaseOrderDO purchaseOrderDO = purchaseOrderMapper.selectOne(new LambdaQueryWrapper().eq(PurchaseOrderDO::getSystemOrderNumber, orderNo)); + if (purchaseOrderDO == null){ + throw exception(PURCHASE_ORDER_NOT_EXISTS); + } + String mtrlTp = purchaseOrderDO.getMtrlTp(); + if ("RAW".equals(mtrlTp)){ + //原料 + MaterialRespVO materialRespVO = new MaterialRespVO(); + materialRespVO.setMaterialType(mtrlTp); + materialRespVO.setMaterialUnit(purchaseOrderDO.getUnt()); + materialRespVO.setOrderNo(purchaseOrderDO.getSystemOrderNumber()); + MaterialRespVO.MaterialDetails materialDetails = new MaterialRespVO.MaterialDetails(); + materialDetails.setMaterialCode(purchaseOrderDO.getMaterialNumber()); + materialDetails.setMaterialName(purchaseOrderDO.getMaterialName()); + materialDetails.setMaterialUnit(purchaseOrderDO.getUnt()); + materialDetails.setMaterialType(purchaseOrderDO.getMtrlTp()); + materialRespVO.setMaterialDetails(List.of(materialDetails)); + return CommonResult.success(materialRespVO); + }else { + List detailsByOrderIds = prchOrdDtlService.getDetailsByOrderId(purchaseOrderDO.getId()); + MaterialRespVO materialRespVO = new MaterialRespVO(); + materialRespVO.setMaterialType(mtrlTp); + materialRespVO.setMaterialUnit(purchaseOrderDO.getUnt()); + materialRespVO.setId(String.valueOf(purchaseOrderDO.getId())); + materialRespVO.setOrderNo(purchaseOrderDO.getSystemOrderNumber()); + materialRespVO.setMaterialDetails(detailsByOrderIds.stream().map(prchOrdDtlDO -> { + MaterialRespVO.MaterialDetails materialDetails = new MaterialRespVO.MaterialDetails(); + materialDetails.setMaterialCode(prchOrdDtlDO.getMtrlNum()); + materialDetails.setMaterialName(prchOrdDtlDO.getMtrlName()); + materialDetails.setMaterialUnit(prchOrdDtlDO.getUnt()); + materialDetails.setMaterialType(purchaseOrderDO.getMtrlTp()); + return materialDetails; + }).toList()); + return CommonResult.success(materialRespVO); + } + + } + private void setValue(ErpOrderUpdateReqVO erpOrderUpdateReqVO, PurchaseOrderWithDetailsVO purchaseOrderWithDetailsVO) { //head PurchaseOrderDO purchaseOrderDO = purchaseOrderMapper.selectById(purchaseOrderWithDetailsVO.getPurchaseOrder().getId()); @@ -328,13 +392,9 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService { //itex setItex(erpOrderUpdateReqVO, purchaseOrderWithDetailsVO); //acct - // 使用FastJSON2直接将List转换为JSONArray - // acct部分:转换List为JSONArray List actsCtgrDtlList = purchaseOrderWithDetailsVO.getOrderDetails().stream() .map(PrchOrdDtlDO::getActsCtgrDtl).map(JSONObject::parseObject) .toList(); - - // 直接使用FastJSON2将List转换为JSONArray(关键优化点) JSONArray jsonArray = JSONArray.from(actsCtgrDtlList); // 设置到对象中 @@ -374,7 +434,6 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService { }); erpOrderUpdateReqVO.setItexs(itexs); } - private String generateOrderNumber(String materialType) { return sequenceApi.getNextSequence("PURCHASE_ORDER_NUMBER", null, null).getData(); } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/resources/mapper/purchaseorder/PurchaseOrderMapper.xml b/zt-module-contract-order/zt-module-contract-order-server/src/main/resources/mapper/purchaseorder/PurchaseOrderMapper.xml index 82ba488f..d2934fd5 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/resources/mapper/purchaseorder/PurchaseOrderMapper.xml +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/resources/mapper/purchaseorder/PurchaseOrderMapper.xml @@ -56,6 +56,7 @@ po.UPDATE_TIME, po.CREATOR, po.UPDATER, + po.UNT, po.DELETED, pod.ID as pod_id, pod.ORD_ID, @@ -137,6 +138,7 @@ po.PPR_CTRT_NUM, po.AGR_NUM, po.RMK, + po.UNT, po.AGT_NUM, po.AGT_NAME, po.CTRT_NUM, @@ -221,7 +223,7 @@ diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpOrderSaveReqVO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpOrderSaveReqVO.java index 5ddee76e..473d7b80 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpOrderSaveReqVO.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpOrderSaveReqVO.java @@ -78,7 +78,7 @@ public class ErpOrderSaveReqVO { @Schema(description = "计量单位") @NotNull(message = "计量单位不能为空") - private BigDecimal poUnit; // MEINS UNIT3 + private String poUnit; // MEINS UNIT3 @Schema(description = "含税单价") @NotNull(message = "含税单价不能为空") diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpOrderUpdateReqVO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpOrderUpdateReqVO.java index 30031587..444acde0 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpOrderUpdateReqVO.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpOrderUpdateReqVO.java @@ -97,7 +97,7 @@ public class ErpOrderUpdateReqVO { @Schema(description = "计量单位(MEINS),必须与该物料基本计量单位一致", requiredMode = Schema.RequiredMode.REQUIRED, example = "PC") @NotEmpty(message = "计量单位不能为空") @ExcelProperty("计量单位") - private BigDecimal po_unit; + private String po_unit; @Schema(description = "含税单价(NETPR),保留2位小数", requiredMode = Schema.RequiredMode.REQUIRED, example = "199.99") @NotNull(message = "含税单价不能为空")